XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 1
返回提交历史

XFEstudio/gpt4free

refactor(g4f/Provider/LiteIcoding.py): encode bearer tokens and add decoding

9b5f9921
kqlio67 <kqlio67@users.noreply.github.com>
提交于

代码差异

1 个文件 +12 -9
Modified g4f/Provider/LiteIcoding.py +12 -9
@@ -1,12 +1,11 @@
1 1 from __future__ import annotations
2
3 from aiohttp import ClientSession, ClientResponseError
2 import base64
4 3 import re
4 from aiohttp import ClientSession, ClientResponseError
5 5 from ..typing import AsyncResult, Messages
6 6 from .base_provider import AsyncGeneratorProvider, ProviderModelMixin
7 7 from .helper import format_prompt
8 8
9
10 9 class LiteIcoding(AsyncGeneratorProvider, ProviderModelMixin):
11 10 url = "https://lite.icoding.ink"
12 11 api_endpoint = "/api/v1/gpt/message"
@@ -27,18 +26,20 @@ class LiteIcoding(AsyncGeneratorProvider, ProviderModelMixin):
27 26 }
28 27
29 28 bearer_tokens = [
30 "aa3020ee873e40cb8b3f515a0708ebc4",
31 "5d69cd271b144226ac1199b3c849a566",
32 "62977f48a95844f8853a953679401850",
33 "d815b091959e42dd8b7871dfaf879485"
29 "NWQ2OWNkMjcxYjE0NDIyNmFjMTE5OWIzYzg0OWE1NjY=",
30 "ZDgxNWIwOTU5NTk0ZTRkZDhiNzg3MWRmYWY4Nzk0ODU="
34 31 ]
35 32 current_token_index = 0
36 33
34 @classmethod
35 def decode_token(cls, encoded_token: str) -> str:
36 return base64.b64decode(encoded_token).decode('utf-8')
37
37 38 @classmethod
38 39 def get_next_bearer_token(cls):
39 token = cls.bearer_tokens[cls.current_token_index]
40 encoded_token = cls.bearer_tokens[cls.current_token_index]
40 41 cls.current_token_index = (cls.current_token_index + 1) % len(cls.bearer_tokens)
41 return token
42 return cls.decode_token(encoded_token)
42 43
43 44 @classmethod
44 45 async def create_async_generator(
@@ -95,9 +96,11 @@ class LiteIcoding(AsyncGeneratorProvider, ProviderModelMixin):
95 96 response.raise_for_status()
96 97 buffer = ""
97 98 full_response = ""
99
98 100 def decode_content(data):
99 101 bytes_array = bytes([int(b, 16) ^ 255 for b in data.split()])
100 102 return bytes_array.decode('utf-8')
103
101 104 async for chunk in response.content.iter_any():
102 105 if chunk:
103 106 buffer += chunk.decode()