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 @@