From c5492d8d7f112dec1c9433c4df4b59d4d0875f02 Mon Sep 17 00:00:00 2001 From: lanqian528 <5499636+lanqian528@users.noreply.github.com> Date: Thu, 31 Oct 2024 15:09:58 +0800 Subject: [PATCH] v1.6.3-beta2 x-sign --- gateway/share.py | 10 +++++----- utils/config.py | 5 ++--- version.txt | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/gateway/share.py b/gateway/share.py index 38a3c3c..6b48089 100644 --- a/gateway/share.py +++ b/gateway/share.py @@ -13,7 +13,7 @@ from chatgpt.proofofWork import get_config, get_requirements_token, get_answer_t from gateway.reverseProxy import get_real_req_token, content_generator from utils.Client import Client from utils.Logger import logger -from utils.config import proxy_url_list, chatgpt_base_url_list, turnstile_solver_url, ark0se_token_url +from utils.config import proxy_url_list, chatgpt_base_url_list, turnstile_solver_url, x_sign base_headers = { 'accept': '*/*', @@ -130,7 +130,6 @@ async def chat_conversations(request: Request): user_agent = ua.get("user-agent", "") proxy_url = random.choice(proxy_url_list) if proxy_url_list else None host_url = random.choice(chatgpt_base_url_list) if chatgpt_base_url_list else "https://chatgpt.com" - chat_token = None proof_token = None turnstile_token = None @@ -180,7 +179,8 @@ async def chat_conversations(request: Request): request_cookies = dict(request.cookies) background = BackgroundTask(client.close) r = await client.post_stream(f"{host_url}/backend-api/conversation", params=params, headers=headers, cookies=request_cookies, data=data, stream=True, allow_redirects=False) - if 'stream' in r.headers.get("content-type", ""): - return StreamingResponse(content_generator(r, token), media_type=r.headers.get("content-type"), background=background) + rheaders = r.headers.update({"x-sign": x_sign}) if x_sign else r.headers + if 'stream' in rheaders.get("content-type", ""): + return StreamingResponse(content_generator(r, token), media_type=rheaders.get("content-type"), background=background) else: - return Response(content=(await r.atext()), media_type=r.headers.get("content-type"), status_code=r.status_code, background=background) + return Response(content=(await r.atext()), media_type=rheaders.get("content-type"), status_code=r.status_code, background=background) diff --git a/utils/config.py b/utils/config.py index 986afd4..f64748d 100644 --- a/utils/config.py +++ b/utils/config.py @@ -24,8 +24,7 @@ api_prefix = os.getenv('API_PREFIX', None) authorization = os.getenv('AUTHORIZATION', '').replace(' ', '') chatgpt_base_url = os.getenv('CHATGPT_BASE_URL', 'https://chatgpt.com').replace(' ', '') auth_key = os.getenv('AUTH_KEY', None) -user_agents = os.getenv('USER_AGENTS', '[]') -random_token = is_true(os.getenv('RANDOM_TOKEN', True)) +x_sign = os.getenv('X_SIGN', None) ark0se_token_url = os.getenv('ARK' + 'OSE_TOKEN_URL', '').replace(' ', '') if not ark0se_token_url: @@ -45,12 +44,12 @@ enable_limit = is_true(os.getenv('ENABLE_LIMIT', True)) upload_by_url = is_true(os.getenv('UPLOAD_BY_URL', False)) check_model = is_true(os.getenv('CHECK_MODEL', False)) scheduled_refresh = is_true(os.getenv('SCHEDULED_REFRESH', False)) +random_token = is_true(os.getenv('RANDOM_TOKEN', True)) authorization_list = authorization.split(',') if authorization else [] chatgpt_base_url_list = chatgpt_base_url.split(',') if chatgpt_base_url else [] ark0se_token_url_list = ark0se_token_url.split(',') if ark0se_token_url else [] proxy_url_list = proxy_url.split(',') if proxy_url else [] -user_agents_list = ast.literal_eval(user_agents) with open('version.txt') as f: version = f.read().strip() diff --git a/version.txt b/version.txt index 18d8ebc..02375f4 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.6.3-beta1 \ No newline at end of file +1.6.3-beta2 \ No newline at end of file