mirror of
https://github.com/lanqian528/chat2api.git
synced 2026-06-05 21:03:53 +08:00
v1.8.5-beta1
This commit is contained in:
parent
c63d9308aa
commit
d2f2fde0ac
@ -1,4 +1,5 @@
|
||||
import asyncio
|
||||
import hashlib
|
||||
import json
|
||||
import random
|
||||
import uuid
|
||||
@ -86,9 +87,12 @@ class ChatService:
|
||||
self.host_url = random.choice(chatgpt_base_url_list) if chatgpt_base_url_list else "https://chatgpt.com"
|
||||
self.ark0se_token_url = random.choice(ark0se_token_url_list) if ark0se_token_url_list else None
|
||||
|
||||
self.s = Client(proxy=self.proxy_url, impersonate=self.impersonate)
|
||||
session_id = hashlib.md5(self.req_token.encode()).hexdigest()
|
||||
proxy_url = self.proxy_url.replace("{}", session_id) if self.proxy_url else None
|
||||
self.s = Client(proxy=proxy_url, impersonate=self.impersonate)
|
||||
if sentinel_proxy_url_list:
|
||||
self.ss = Client(proxy=random.choice(sentinel_proxy_url_list), impersonate=self.impersonate)
|
||||
sentinel_proxy_url = (random.choice(sentinel_proxy_url_list)).replace("{}", session_id) if sentinel_proxy_url_list else None
|
||||
self.ss = Client(proxy=sentinel_proxy_url, impersonate=self.impersonate)
|
||||
else:
|
||||
self.ss = self.s
|
||||
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import hashlib
|
||||
import json
|
||||
import random
|
||||
import time
|
||||
@ -34,7 +35,9 @@ async def chat_refresh(refresh_token):
|
||||
"redirect_uri": "com.openai.chat://auth0.openai.com/ios/com.openai.chat/callback",
|
||||
"refresh_token": refresh_token
|
||||
}
|
||||
client = Client(proxy=random.choice(proxy_url_list) if proxy_url_list else None)
|
||||
session_id = hashlib.md5(refresh_token.encode()).hexdigest()
|
||||
proxy_url = random.choice(proxy_url_list).replace("{}", session_id) if proxy_url_list else None
|
||||
client = Client(proxy=proxy_url)
|
||||
try:
|
||||
r = await client.post("https://auth0.openai.com/oauth/token", json=data, timeout=15)
|
||||
if r.status_code == 200:
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import hashlib
|
||||
import json
|
||||
import random
|
||||
import re
|
||||
@ -295,9 +296,12 @@ if no_sentinel:
|
||||
}
|
||||
headers.update(fp)
|
||||
headers.update({"authorization": f"Bearer {access_token}"})
|
||||
session_id = hashlib.md5(req_token.encode()).hexdigest()
|
||||
proxy_url = proxy_url.replace("{}", session_id) if proxy_url else None
|
||||
client = Client(proxy=proxy_url, impersonate=impersonate)
|
||||
if sentinel_proxy_url_list:
|
||||
clients = Client(proxy=random.choice(sentinel_proxy_url_list), impersonate=impersonate)
|
||||
sentinel_proxy_url = random.choice(sentinel_proxy_url_list).replace("{}", session_id) if sentinel_proxy_url_list else None
|
||||
clients = Client(proxy=sentinel_proxy_url, impersonate=impersonate)
|
||||
else:
|
||||
clients = client
|
||||
|
||||
@ -390,9 +394,12 @@ if no_sentinel:
|
||||
headers.update({"authorization": f"Bearer {access_token}"})
|
||||
|
||||
try:
|
||||
session_id = hashlib.md5(req_token.encode()).hexdigest()
|
||||
proxy_url = proxy_url.replace("{}", session_id) if proxy_url else None
|
||||
client = Client(proxy=proxy_url, impersonate=impersonate)
|
||||
if sentinel_proxy_url_list:
|
||||
clients = Client(proxy=random.choice(sentinel_proxy_url_list), impersonate=impersonate)
|
||||
sentinel_proxy_url = random.choice(sentinel_proxy_url_list).replace("{}", session_id) if sentinel_proxy_url_list else None
|
||||
clients = Client(proxy=sentinel_proxy_url, impersonate=impersonate)
|
||||
else:
|
||||
clients = client
|
||||
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import hashlib
|
||||
import json
|
||||
import random
|
||||
import time
|
||||
@ -211,6 +212,8 @@ async def chatgpt_reverse_proxy(request: Request, path: str):
|
||||
req_token = await get_real_req_token(cookie_token)
|
||||
fp = get_fp(req_token).copy()
|
||||
|
||||
session_id = hashlib.md5(req_token.encode()).hexdigest()
|
||||
|
||||
proxy_url = fp.pop("proxy_url", None)
|
||||
impersonate = fp.pop("impersonate", "safari15_3")
|
||||
user_agent = fp.get("user-agent")
|
||||
@ -248,9 +251,11 @@ async def chatgpt_reverse_proxy(request: Request, path: str):
|
||||
data = json.dumps(req_json).encode("utf-8")
|
||||
|
||||
|
||||
if sentinel_proxy_url_list and "backend-api/sentinel/chat-requirements" in path:
|
||||
client = Client(proxy=random.choice(sentinel_proxy_url_list))
|
||||
if "backend-api/sentinel/chat-requirements" in path and sentinel_proxy_url_list:
|
||||
sentinel_proxy_url = random.choice(sentinel_proxy_url_list).replace("{}", session_id) if sentinel_proxy_url_list else None
|
||||
client = Client(proxy=sentinel_proxy_url)
|
||||
else:
|
||||
proxy_url = proxy_url.replace("{}", session_id) if proxy_url else None
|
||||
client = Client(proxy=proxy_url, impersonate=impersonate)
|
||||
try:
|
||||
background = BackgroundTask(client.close)
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import hashlib
|
||||
import json
|
||||
import random
|
||||
import time
|
||||
@ -136,6 +137,8 @@ async def chatgpt_account_check(access_token):
|
||||
headers.update(fp)
|
||||
headers.update({"authorization": f"Bearer {access_token}"})
|
||||
|
||||
session_id = hashlib.md5(access_token.encode()).hexdigest()
|
||||
proxy_url = random.choice(proxy_url_list).replace("{}", session_id) if proxy_url_list else None
|
||||
client = Client(proxy=proxy_url, impersonate=impersonate)
|
||||
r = await client.get(f"{host_url}/backend-api/models?history_and_training_disabled=false", headers=headers,
|
||||
timeout=10)
|
||||
@ -182,7 +185,9 @@ async def chatgpt_account_check(access_token):
|
||||
|
||||
|
||||
async def chatgpt_refresh(refresh_token):
|
||||
client = Client(proxy=random.choice(proxy_url_list) if proxy_url_list else None)
|
||||
session_id = hashlib.md5(refresh_token.encode()).hexdigest()
|
||||
proxy_url = random.choice(proxy_url_list).replace("{}", session_id) if proxy_url_list else None
|
||||
client = Client(proxy=proxy_url)
|
||||
try:
|
||||
data = {
|
||||
"client_id": "pdlLIX2Y72MIl2rhLhTE9VV9bN905kBh",
|
||||
|
||||
@ -13,15 +13,15 @@ with open("templates/initialize.json", "r") as f:
|
||||
|
||||
@app.post("/v1/initialize")
|
||||
async def initialize(request: Request):
|
||||
# initialize_response = (await chatgpt_reverse_proxy(request, f"v1/initialize"))
|
||||
# if not initialize_response:
|
||||
# return Response(status_code=204)
|
||||
# initialize_str = initialize_response.body.decode('utf-8')
|
||||
# if not initialize_str:
|
||||
# return Response(status_code=204)
|
||||
# initialize_json = json.loads(initialize_str)
|
||||
# set_value_for_key_dict(initialize_json, "ip", "8.8.8.8")
|
||||
# set_value_for_key_dict(initialize_json, "country", "US")
|
||||
initialize_response = (await chatgpt_reverse_proxy(request, f"v1/initialize"))
|
||||
if not initialize_response:
|
||||
return Response(status_code=204)
|
||||
initialize_str = initialize_response.body.decode('utf-8')
|
||||
if not initialize_str:
|
||||
return Response(status_code=204)
|
||||
initialize_json = json.loads(initialize_str)
|
||||
set_value_for_key_dict(initialize_json, "ip", "8.8.8.8")
|
||||
set_value_for_key_dict(initialize_json, "country", "US")
|
||||
return Response(content=json.dumps(initialize_json, indent=4), media_type="application/json")
|
||||
|
||||
|
||||
|
||||
@ -1 +1 @@
|
||||
1.8.4
|
||||
1.8.5-beta1
|
||||
Loading…
Reference in New Issue
Block a user