diff --git a/app.py b/app.py index 64cae82..f252431 100644 --- a/app.py +++ b/app.py @@ -28,7 +28,7 @@ app.add_middleware( templates = Jinja2Templates(directory="templates") oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token", auto_error=False) -import mirror.backend +import gateway.backend import api.chat2api if __name__ == "__main__": diff --git a/mirror/backend.py b/gateway/backend.py similarity index 92% rename from mirror/backend.py rename to gateway/backend.py index 490479b..5bbe81b 100644 --- a/mirror/backend.py +++ b/gateway/backend.py @@ -1,4 +1,5 @@ import json +import random import re import time @@ -7,8 +8,9 @@ from fastapi.responses import HTMLResponse, RedirectResponse, Response import utils.globals as globals from app import app, templates -from mirror.reverseProxy import chatgpt_reverse_proxy -from utils.config import enable_gateway +from gateway.reverseProxy import chatgpt_reverse_proxy +from utils.Client import Client +from utils.config import enable_gateway, proxy_url_list if enable_gateway: @app.get("/", response_class=HTMLResponse) @@ -24,6 +26,20 @@ if enable_gateway: return response + @app.post("/auth/refresh") + async def refresh(request: Request): + res = await request.json() + refresh_token = res.get("refresh_token", "") + data = { + "client_id": "pdlLIX2Y72MIl2rhLhTE9VV9bN905kBh", + "grant_type": "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) + r = (await client.post("https://auth0.openai.com/oauth/token", json=data, timeout=5)).json() + return r + @app.get("/login", response_class=HTMLResponse) async def login_html(request: Request): response = templates.TemplateResponse("login.html", {"request": request}) diff --git a/mirror/reverseProxy.py b/gateway/reverseProxy.py similarity index 100% rename from mirror/reverseProxy.py rename to gateway/reverseProxy.py diff --git a/version.txt b/version.txt index 7b98f10..39e929a 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.6.2-beta2 \ No newline at end of file +1.6.2-beta3 \ No newline at end of file