From 5c1d5c8b2920b1bf6dde86abe24fcf3f53546b31 Mon Sep 17 00:00:00 2001 From: fanjunyang Date: Fri, 22 Nov 2024 16:11:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=95=9C=E5=83=8F=E7=AB=99=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=AF=86=E7=A0=81=E8=AE=BF=E9=97=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++- gateway/login.py | 8 ++++++-- templates/login.html | 17 +++++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 68f5db1..8ac1c3d 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ curl --location 'http://127.0.0.1:5005/v1/chat/completions' \ ## 官网原生镜像 -1. 配置环境变量 `ENABLE_GATEWAY` 为 `true`,然后运行程序, 注意开启后别人也可以直接通过域名访问你的网关。 +1. 配置环境变量 `ENABLE_GATEWAY` 为 `true`,然后运行程序, 注意开启后别人也可以直接通过域名访问你的网关,镜像站可以设置 SITE_PASSWORD 参数进行密码访问。 2. 在 Tokens 管理页面上传 `RefreshToken` 或 `AccessToken` @@ -127,6 +127,7 @@ curl --location 'http://127.0.0.1:5005/v1/chat/completions' \ | 安全相关 | API_PREFIX | `your_prefix` | `None` | API 前缀密码,不设置容易被人访问,设置后需请求 `/your_prefix/v1/chat/completions` | | | AUTHORIZATION | `your_first_authorization`,
`your_second_authorization` | `[]` | 你自己为使用多账号轮询 Tokens 设置的授权码,英文逗号分隔 | | | AUTH_KEY | `your_auth_key` | `None` | 私人网关需要加`auth_key`请求头才设置该项 | +| | SITE_PASSWORD | `your_site_password` | `None` | 镜像站可以设置密码访问 | | 请求相关 | CHATGPT_BASE_URL | `https://chatgpt.com` | `https://chatgpt.com` | ChatGPT 网关地址,设置后会改变请求的网站,多个网关用逗号分隔 | | | PROXY_URL | `http://ip:port`,
`http://username:password@ip:port` | `[]` | 全局代理 URL,出 403 时启用,多个代理用逗号分隔 | | | EXPORT_PROXY_URL | `http://ip:port`或
`http://username:password@ip:port` | `None` | 出口代理 URL,防止请求图片和文件时泄漏源站 ip | diff --git a/gateway/login.py b/gateway/login.py index 1decce0..59fa4bc 100644 --- a/gateway/login.py +++ b/gateway/login.py @@ -1,3 +1,4 @@ +import os from fastapi import Request from fastapi.responses import HTMLResponse @@ -6,5 +7,8 @@ @app.get("/login", response_class=HTMLResponse) async def login_html(request: Request): - response = templates.TemplateResponse("login.html", {"request": request}) - return response + site_password = os.environ.get('SITE_PASSWORD', '') + return templates.TemplateResponse("login.html", { + "request": request, + "site_password": site_password + }) diff --git a/templates/login.html b/templates/login.html index 5f16ca8..ab751b9 100644 --- a/templates/login.html +++ b/templates/login.html @@ -5,15 +5,22 @@ 登录 + +

登录

+ +