Skip to content

Commit 97f9d06

Browse files
authored
增加cf_clearance变量
1 parent a2d2739 commit 97f9d06

1 file changed

Lines changed: 19 additions & 14 deletions

File tree

app.py

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ async def request_logger(self, request):
104104
"PROXY": os.environ.get("PROXY") or None
105105
},
106106
"SERVER": {
107+
"COOKIE": None,
108+
"CF_CLEARANCE":os.environ.get("CF_CLEARANCE") or None,
107109
"PORT": int(os.environ.get("PORT", 5200))
108110
},
109111
"RETRY": {
@@ -443,6 +445,7 @@ def get_proxy_options():
443445

444446
if proxy:
445447
logger.info(f"使用代理: {proxy}", "Server")
448+
446449
if proxy.startswith("socks5://"):
447450
proxy_options["proxy"] = proxy
448451

@@ -510,7 +513,7 @@ def upload_base64_image(self, base64_data, url):
510513
url,
511514
headers={
512515
**DEFAULT_HEADERS,
513-
"Cookie": CONFIG["API"]["SIGNATURE_COOKIE"]
516+
"Cookie":CONFIG["SERVER"]['COOKIE']
514517
},
515518
json=upload_data,
516519
impersonate="chrome133a",
@@ -724,7 +727,7 @@ def handle_image_response(image_url):
724727
f"https://assets.grok.com/{image_url}",
725728
headers={
726729
**DEFAULT_HEADERS,
727-
"Cookie": CONFIG["API"]["SIGNATURE_COOKIE"]
730+
"Cookie":CONFIG["SERVER"]['COOKIE']
728731
},
729732
impersonate="chrome120",
730733
**proxy_options
@@ -974,6 +977,7 @@ def get_models():
974977

975978
@app.route('/v1/chat/completions', methods=['POST'])
976979
def chat_completions():
980+
response_status_code = 500
977981
try:
978982
auth_token = request.headers.get('Authorization',
979983
'').replace('Bearer ', '')
@@ -993,35 +997,36 @@ def chat_completions():
993997
retry_count = 0
994998
grok_client = GrokApiClient(model)
995999
request_payload = grok_client.prepare_chat_request(data)
996-
response_status_code = 500
1000+
9971001

9981002
while retry_count < CONFIG["RETRY"]["MAX_ATTEMPTS"]:
9991003
retry_count += 1
1000-
CONFIG["API"]["SIGNATURE_COOKIE"] = Utils.create_auth_headers(
1001-
model)
1004+
CONFIG["API"]["SIGNATURE_COOKIE"] = Utils.create_auth_headers(model)
10021005

10031006
if not CONFIG["API"]["SIGNATURE_COOKIE"]:
10041007
raise ValueError('该模型无可用令牌')
10051008

10061009
logger.info(
1007-
f"当前令牌: {json.dumps(CONFIG['API']['SIGNATURE_COOKIE'], indent=2)}",
1008-
"Server")
1010+
f"当前令牌: {json.dumps(CONFIG['API']['SIGNATURE_COOKIE'], indent=2)}","Server")
10091011
logger.info(
1010-
f"当前可用模型的全部可用数量: {json.dumps(token_manager.get_remaining_token_request_capacity(), indent=2)}",
1011-
"Server")
1012-
1012+
f"当前可用模型的全部可用数量: {json.dumps(token_manager.get_remaining_token_request_capacity(), indent=2)}","Server")
1013+
if CONFIG['SERVER']['CF_CLEARANCE']:
1014+
CONFIG["SERVER"]['COOKIE'] = f"{CONFIG['API']['SIGNATURE_COOKIE']};{CONFIG['SERVER']['CF_CLEARANCE']}"
1015+
else:
1016+
CONFIG["SERVER"]['COOKIE'] = CONFIG['API']['SIGNATURE_COOKIE']
10131017
try:
10141018
proxy_options = Utils.get_proxy_options()
10151019
response = curl_requests.post(
10161020
f"{CONFIG['API']['BASE_URL']}/rest/app-chat/conversations/new",
10171021
headers={
1018-
**DEFAULT_HEADERS, "Cookie":
1019-
CONFIG["API"]["SIGNATURE_COOKIE"]
1022+
**DEFAULT_HEADERS,
1023+
"Cookie":CONFIG["SERVER"]['COOKIE']
10201024
},
10211025
data=json.dumps(request_payload),
10221026
impersonate="chrome133a",
10231027
stream=True,
10241028
**proxy_options)
1029+
print(CONFIG["SERVER"]['COOKIE'])
10251030
if response.status_code == 200:
10261031
response_status_code = 200
10271032
logger.info("请求成功", "Server")
@@ -1055,7 +1060,7 @@ def chat_completions():
10551060
token_manager.reduce_token_request_count(model,1)#重置去除当前因为错误未成功请求的次数,确保不会因为错误未成功请求的次数导致次数上限
10561061
if token_manager.get_token_count_for_model(model) == 0:
10571062
raise ValueError(f"{model} 次数已达上限,请切换其他模型或者重新对话")
1058-
raise ValueError(f"IP暂时被封黑无法破盾,请稍后重试或者更换ip")
1063+
raise ValueError(f"IP暂时被封无法破盾,请稍后重试或者更换ip")
10591064
elif response.status_code == 429:
10601065
response_status_code = 429
10611066
token_manager.reduce_token_request_count(model,1)
@@ -1085,7 +1090,7 @@ def chat_completions():
10851090
raise
10861091
continue
10871092
if response_status_code == 403:
1088-
raise ValueError('IP暂时被封黑无法破盾,请稍后重试或者更换ip')
1093+
raise ValueError('IP暂时被封无法破盾,请稍后重试或者更换ip')
10891094
elif response_status_code == 500:
10901095
raise ValueError('当前模型所有令牌暂无可用,请稍后重试')
10911096

0 commit comments

Comments
 (0)