Skip to content

Commit 1ad32ca

Browse files
committed
refactor: 完全移除 Vercel/Docker 代理功能以修复 SSRF 安全漏洞
修复 #179 ## 变更内容 ### 核心代码清理 (-2473行) - 删除 api/proxy.js、api/stream.js、api/vercel-status.js 端点 - 删除 node-proxy/ 服务器实现 - 移除 environment.ts 中的代理检测逻辑 - 简化所有图像适配器和 LLM 服务,直接使用 baseURL - 移除模型配置中的 useVercelProxy/useDockerProxy 字段 ### 基础设施更新 - 更新 Dockerfile 移除 node-proxy 构建 - 更新 nginx.conf 移除代理路由 - 更新 supervisord.conf 移除 node-proxy 进程 ### UI 优化 - 移除模型管理界面中的代理选项 - 清理国际化文件中的代理相关翻译 - 删除备份文件 ModelManager.bak.vue ### 文档同步 - 更新技术开发指南,说明功能移除原因 - 更新 Vercel 部署文档,移除代理相关说明 - 更新图像模式文档 ## 安全说明 由于内置代理存在 SSRF (服务端请求伪造) 安全风险,完全移除相关功能。 推荐用户使用: 1. 桌面版应用 (无跨域限制) 2. 自建反向代理 (完全控制) 3. LLM 提供商的 CORS 友好端点 ## 向后兼容性 历史数据中的 useVercelProxy/useDockerProxy 字段为可选,不会导致破坏性变更。
1 parent 6dc151d commit 1ad32ca

34 files changed

+78
-2551
lines changed

Dockerfile

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ RUN pnpm run build
1111
RUN pnpm mcp:build
1212

1313
FROM nginx:stable-alpine
14-
# 安装Node.js、htpasswd工具、dos2unix和supervisor
14+
# 安装htpasswd工具、dos2unix和supervisor
1515
RUN apk add --no-cache apache2-utils dos2unix supervisor nodejs npm gettext curl
1616

1717
# 安装pnpm
@@ -29,9 +29,7 @@ COPY --from=build /app/packages/mcp-server/package.json /app/mcp-server/
2929
COPY --from=build /app/packages/mcp-server/preload-env.js /app/mcp-server/
3030
COPY --from=build /app/packages/mcp-server/preload-env.cjs /app/mcp-server/
3131

32-
# 复制Node Proxy服务
33-
COPY --from=build /app/node-proxy /app/node-proxy
34-
# 复制构建后的包到正确位置
32+
# 复制构建后的包到正确位置(MCP服务器依赖)
3533
COPY --from=build /app/packages /app/packages
3634
# 复制必要的node_modules
3735
COPY --from=build /app/node_modules /app/node_modules

api/proxy.js

Lines changed: 0 additions & 95 deletions
This file was deleted.

api/stream.js

Lines changed: 0 additions & 155 deletions
This file was deleted.

api/vercel-status.js

Lines changed: 0 additions & 23 deletions
This file was deleted.

docker-compose.dev.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ services:
88
container_name: prompt-optimizer-dev
99
restart: unless-stopped
1010
ports:
11-
- "8082:${NGINX_PORT:-80}" # Web应用端口(包含MCP服务器,通过/mcp路径访问)
11+
- "28082:${NGINX_PORT:-80}" # Web应用端口(包含MCP服务器,通过/mcp路径访问)
1212
extra_hosts:
1313
- "host.docker.internal:host-gateway" # 允许容器访问宿主机
1414
env_file:
@@ -32,5 +32,5 @@ services:
3232

3333
# Basic认证配置(可选)
3434
- ACCESS_USERNAME=${ACCESS_USERNAME:-admin}
35-
- ACCESS_PASSWORD=${ACCESS_PASSWORD:-}
35+
- ACCESS_PASSWORD=${ACCESS_PASSWORD:-123456}
3636

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ services:
88
container_name: prompt-optimizer
99
restart: unless-stopped
1010
ports:
11-
- "8081:${NGINX_PORT:-80}" # Web应用端口(包含MCP服务器,通过/mcp路径访问)
11+
- "28081:${NGINX_PORT:-80}" # Web应用端口(包含MCP服务器,通过/mcp路径访问)
1212
healthcheck:
1313
test: ["CMD", "sh", "-c", "curl -f http://localhost:${NGINX_PORT:-80}/ && curl -f http://localhost:${NGINX_PORT:-80}/mcp"]
1414
interval: 30s
@@ -38,6 +38,6 @@ services:
3838

3939
# Basic认证配置(可选)
4040
- ACCESS_USERNAME=${ACCESS_USERNAME:-admin}
41-
- ACCESS_PASSWORD=${ACCESS_PASSWORD:-}
41+
- ACCESS_PASSWORD=${ACCESS_PASSWORD:-123456}
4242
security_opt:
4343
- no-new-privileges:true

0 commit comments

Comments
 (0)