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