Upload app.py
Browse files
app.py
CHANGED
@@ -26,6 +26,29 @@ def refresh_access_token(refresh_token):
|
|
26 |
|
27 |
return None
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
class RedirectHandler(http.server.SimpleHTTPRequestHandler):
|
30 |
def do_GET(self):
|
31 |
refresh_tokens = get_refresh_tokens()
|
@@ -36,8 +59,7 @@ class RedirectHandler(http.server.SimpleHTTPRequestHandler):
|
|
36 |
refresh_token = random.choice(refresh_tokens)
|
37 |
access_token = refresh_access_token(refresh_token)
|
38 |
if access_token:
|
39 |
-
|
40 |
-
target_url = f"https://meet.livekit.io/custom?liveKitUrl=wss://webrtc.oaifree.com/rtc?access_token={access_token}&auto_subscribe=1&sdk=js&version=2.5.4&protocol=15"
|
41 |
self.send_response(302)
|
42 |
self.send_header('Location', target_url)
|
43 |
self.end_headers()
|
|
|
26 |
|
27 |
return None
|
28 |
|
29 |
+
def get_livekit_url(access_token):
|
30 |
+
headers = {
|
31 |
+
"content-type": "application/json",
|
32 |
+
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
|
33 |
+
"authorization": f"Bearer {access_token}",
|
34 |
+
}
|
35 |
+
|
36 |
+
res = requests.post("https://chatgpt.com/voice/get_token", headers=headers, cookies={'__cf_bm': ''}, json={
|
37 |
+
"voice": "cove",
|
38 |
+
"voice_mode": "standard",
|
39 |
+
"parent_message_id": str(uuid.uuid4()),
|
40 |
+
"model_slug": "auto",
|
41 |
+
"voice_training_allowed": False,
|
42 |
+
"enable_message_streaming": False,
|
43 |
+
"language": "zh",
|
44 |
+
"video_training_allowed": False,
|
45 |
+
"voice_session_id": str(uuid.uuid4())
|
46 |
+
}).json()
|
47 |
+
|
48 |
+
livekit_url = "https://meet.livekit.io"
|
49 |
+
url = f"{livekit_url}/custom?liveKitUrl={res['url']}&token={res['token']}#{res['e2ee_key']}"
|
50 |
+
return url
|
51 |
+
|
52 |
class RedirectHandler(http.server.SimpleHTTPRequestHandler):
|
53 |
def do_GET(self):
|
54 |
refresh_tokens = get_refresh_tokens()
|
|
|
59 |
refresh_token = random.choice(refresh_tokens)
|
60 |
access_token = refresh_access_token(refresh_token)
|
61 |
if access_token:
|
62 |
+
target_url = get_livekit_url(access_token)
|
|
|
63 |
self.send_response(302)
|
64 |
self.send_header('Location', target_url)
|
65 |
self.end_headers()
|