# gh-proxy **Repository Path**: cym919/gh-proxy ## Basic Information - **Project Name**: gh-proxy - **Description**: Github仓库镜像服务(自用) - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-18 - **Last Updated**: 2026-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gh-proxy GitHub 仓库镜像代理服务 ## 功能特点 - 支持 HTTP/HTTPS 目标地址代理 - 自动处理 CORS 跨域请求 - 支持 GET、POST、PUT、DELETE、OPTIONS 请求方法 - 自动处理 gzip 压缩响应 - **访问限制**:仅允许登录用户访问代理服务 - **登录保持**:一次登录保持 30 天有效 - 简单易用,无需配置 ## 快速开始 ### 启动服务 ```bash node proxy.js ``` 服务默认运行在端口 `8000` ```bash PORT=3000 node proxy.js ``` ## 使用方法 ### 代理 GitHub 页面 ``` http://localhost:8000/https://github.com/用户名/仓库名/blob/main/文件名 ``` ### 代理原始文件内容 获取原始文件内容应使用 `raw.githubusercontent.com`: ``` http://localhost:8000/https://raw.githubusercontent.com/用户名/仓库名/main/文件名 ``` ### 示例 ```bash # 访问 GitHub 文件页面 curl http://localhost:8000/https://github.com/cym919/astrbot2github/blob/main/deno_index.ts # 获取原始文件内容 curl http://localhost:8000/https://raw.githubusercontent.com/cym919/astrbot2github/main/deno_index.ts ``` ## API | 方法 | 路径 | 描述 | |------|------|------| | GET | `/` | 代理 GET 请求到目标地址 | | POST | `/` | 代理 POST 请求到目标地址 | | PUT | `/` | 代理 PUT 请求到目标地址 | | DELETE | `/` | 代理 DELETE 请求到目标地址 | | OPTIONS | `/` | CORS 预检请求 | ## 环境变量 | 变量名 | 默认值 | 描述 | |--------|--------|------| | `PORT` | `8000` | 服务监听端口 | | `PROXY_USERS` | 无 | 多用户配置,格式:`user1:pass1,user2:pass2` | | `PROXY_USERNAME` | `admin` | 单用户模式用户名(当 PROXY_USERS 未设置时生效) | | `PROXY_PASSWORD` | `password123` | 单用户模式密码(当 PROXY_USERS 未设置时生效) | ### 多用户配置 在 `.env` 文件中使用 `PROXY_USERS` 配置多个用户: ``` PROXY_USERS=admin:password123,user1:pass123,user2:abc123 ``` 格式:`用户名1:密码1,用户名2:密码2,用户名3:密码3` ## 注意事项 1. 服务运行时会禁用 TLS 证书验证,适用于开发环境和网络受限环境 2. 建议仅作为本地开发工具使用,生产环境请使用正规的代理服务 3. 获取 GitHub 文件原始内容时请使用 `raw.githubusercontent.com` 域名 ## 技术栈 - Node.js 18+ - 原生 HTTP 模块 - 原生 fetch API ## 许可证 Apache 2.0