# proxy_server **Repository Path**: li125986374/proxy_server ## Basic Information - **Project Name**: proxy_server - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-09 - **Last Updated**: 2025-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Porton Proxy Server 多路大模型代理服务,统一向外提供 OpenAI、Grok、Google Gemini 等 API 的转发入口,并内置管理员后台以维护 IP 白名单、测试连通性。 ## 特性 - FastAPI 实现,支持异步流式转发,透传 SSE/流响应。 - `/api/admin/*` 管理接口:白名单增删、管理员登录、上游连通性检测。 - 三个代理入口: - `POST https:///gpt/v1/...` → OpenAI/Vercel 兼容接口 - `POST https:///grok/v1/...` → xAI Grok - `POST https:///gemini/v1/...` → Google Gemini(可用 `Authorization: Bearer` 或 `X-Goog-Api-Key`) - 可随时通过环境变量启用/关闭 IP 白名单。 ## 快速开始 ```bash uv sync # 安装依赖(或使用 pip/uv 自选方案) uv run main.py # 开发调试,默认端口 8002 ``` 启动后访问 `http://localhost:8002/` 即可进入管理界面。 ## 主要环境变量 | 变量 | 默认值 | 说明 | | --- | --- | --- | | `ADMIN_PASSWORD` | `Porton2025` | 管理员登录密码,强烈建议部署时重写 | | `OPENAI_BASE_URL` | `https://api.openai.com/v1` | OpenAI 上游 API | | `GROK_BASE_URL` | `https://api.x.ai/v1` | Grok 上游 API | | `GEMINI_BASE_URL` | `https://generativelanguage.googleapis.com/v1beta` | Gemini 上游 API | | `DISABLE_IP_WHITELIST` | `1` | 是否关闭 IP 白名单(`0` 为启用拦截) | ## 目录结构 ``` app/ __init__.py # FastAPI 应用工厂,挂载静态资源与路由 settings.py # 环境变量与常量定义 auth.py # 管理员登录态、Token 守卫 whitelist.py # 白名单存储/校验逻辑 routes/ admin.py # 管理后台 API proxy.py # OpenAI/Grok/Gemini 转发逻辑 static/ # 管理界面前端 scripts/ # 脚本示例(如连通性测试) ``` ## 管理接口说明 - `POST /api/admin/login`:body `{ "password": "" }`,返回 `token`,后续放在 `X-Admin-Token` 头中。 - `GET|POST|DELETE /api/admin/whitelist`:获取/添加/删除 IP 白名单。 - `POST /api/admin/test-proxy`:使用 OpenAI API Key 做连通性测试。 ## 部署提示 1. **务必重置默认密码**,并启用 HTTPS。 2. 需要配合 Nginx 等网关时,可参考根目录 `nginx-gpt.conf`。 3. 若部署多实例,请改造 `app/auth.py` 中的 Session 逻辑(例如使用 Redis/JWT)。 4. 监控/日志:建议在上层反向代理记录访问日志与速率限制,防止滥用。