# cloudflare-workers-proxy **Repository Path**: await29/cloudflare-workers-proxy ## Basic Information - **Project Name**: cloudflare-workers-proxy - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-27 - **Last Updated**: 2025-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cloudflare Workers 代理服务 一个基于Cloudflare Pages + Functions的动态代理转发服务,包含独立的客户端和服务端。客户端负责代理转发,服务端提供配置管理和Web界面。 ## 🚀 项目特点 - **Pages + Functions架构**:基于Cloudflare Pages和Functions部署,享受全球CDN加速 - **独立部署**:客户端和服务端可独立部署和扩展 - **动态配置**:支持实时更新代理配置,无需重新部署 - **安全可靠**:加密存储配置数据,多层认证机制 - **易于管理**:现代化Web管理界面 - **零配置部署**:完全通过环境变量配置,无需修改代码文件 - **高可用性**:基于Cloudflare的全球网络 ## 📋 系统架构 ``` ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │ │ │ │ │ │ 客户端请求 │───▶│ 客户端Pages │───▶│ 目标服务器 │ │ │ │ (代理转发) │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ ▼ 获取配置 ┌─────────────────┐ │ │ │ 服务端Pages │ │ (配置管理) │ │ │ └─────────────────┘ ``` ## 📁 项目结构 ``` cloudflare-workers-proxy/ ├── functions/ # 客户端Pages Functions │ └── [[catchall]].js # 代理转发入口 ├── public/ # 客户端静态资源 │ └── index.html # 客户端首页 ├── server/ # 服务端代码(独立部署) │ ├── admin/ # 管理界面 │ ├── config.js # 配置管理 │ └── auth.js # 认证模块 ├── .github/workflows/ # 自动部署工作流 ├── _routes.json # 客户端路由配置 └── 📋 完整部署文档 # 详见下方链接 ``` ## 🛠️ 快速部署 > 💡 **零配置部署**:本项目支持完全通过环境变量配置,无需修改任何代码文件! ### 📋 部署文档 - [📘 完整部署指南](./DEPLOYMENT.md) - 客户端+服务端一站式部署 - [🔧 故障排除指南](./TROUBLESHOOTING.md) - 问题解决和手动部署 - [📋 项目设计文档](./docs/design.md) - 开发者技术文档 ### 🎯 部署概览 1. **客户端**:处理代理转发请求 - 项目名:`cf-workers-proxy-new` - 根目录:`/` 2. **服务端**:提供配置管理界面 - 项目名:`cf-workers-proxy-server` - 根目录:`server` ## ⚙️ 配置方式 ### 客户端环境变量 | 配置方式 | 环境变量 | 说明 | |---------|----------|------| | **连接服务端(推荐)** | `SERVER_URL`
`SECRET_KEY`
`SERVICE_KEY` | 从服务端动态获取配置 | | **直接代理** | `PROXY_URL`
`UPDATE_INTERVAL` | 直接配置代理目标 | | **可选配置** | `DEBUG_MODE`
`PROXY_CACHE_KV_ID` | 调试模式和KV缓存 | ### 服务端环境变量 | 变量名 | 说明 | |-------|------| | `SECRET_KEYS` | 客户端访问密钥(逗号分隔) | | `ADMIN_KEY` | 管理员登录密钥 | | `ENCRYPTION_KEY` | 配置数据加密密钥 | | `MAX_REQUESTS_PER_MINUTE` | 请求频率限制 | ## 🎯 使用示例 ### 1. 访问管理界面 ``` https://cf-workers-proxy-server.pages.dev/admin ``` ### 2. 配置代理规则 - 服务标识:`my-service` - 代理目标:`https://api.example.com` ### 3. 使用代理服务 ``` # 所有请求自动转发到目标API curl https://cf-workers-proxy-new.pages.dev/path/to/api ``` ### 4. 健康检查 ``` https://cf-workers-proxy-new.pages.dev/api/health ``` ## 🔧 高级功能 - **动态配置**:无需重启即可更新代理规则 - **负载均衡**:支持多个后端服务器 - **请求限流**:防止滥用和攻击 - **访问日志**:详细的请求记录和分析 - **自定义域名**:支持绑定自己的域名 ## 🔒 安全特性 - **加密存储**:所有配置数据加密保存 - **多层认证**:API密钥 + 管理员密钥 - **CORS支持**:灵活的跨域配置 - **请求验证**:防止恶意请求 - **自动HTTPS**:强制SSL/TLS加密 ## 📊 性能优势 - **全球CDN**:基于Cloudflare的全球网络 - **边缘计算**:就近处理用户请求 - **智能缓存**:自动缓存优化 - **零冷启动**:Pages Functions即时响应 ## 🆚 与传统方案对比 | 特性 | 本项目 | 传统反向代理 | |------|-------|-------------| | 部署复杂度 | ⭐ 极简 | ⭐⭐⭐ 复杂 | | 运维成本 | ⭐ 免费额度 | ⭐⭐⭐ 需要服务器 | | 性能 | ⭐⭐⭐ 全球CDN | ⭐⭐ 单点服务 | | 扩展性 | ⭐⭐⭐ 自动扩容 | ⭐⭐ 手动扩容 | | 稳定性 | ⭐⭐⭐ 99.9%+ | ⭐⭐ 依赖运维 | ## 📚 文档导航 - [📘 完整部署指南](./DEPLOYMENT.md) - 客户端+服务端一站式部署 - [🔧 故障排除指南](./TROUBLESHOOTING.md) - 问题解决和手动部署 - [📋 项目设计文档](./docs/design.md) - 开发者技术文档 ## 🤝 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 📄 许可证 基于 MIT 许可证开源 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 🔗 相关链接 - [Cloudflare Pages 文档](https://developers.cloudflare.com/pages/) - [Cloudflare Functions 文档](https://developers.cloudflare.com/pages/platform/functions/) - [项目在线演示](https://cf-workers-proxy-new.pages.dev) - [GitHub 仓库](https://github.com/Await-d/cloudflare-workers-proxy) --- ## 🎉 从传统Workers迁移 如果您之前使用传统Workers部署,可以很容易迁移到Pages+Functions: 1. 代码无需大幅修改,现有的服务端逻辑可以直接复用 2. 将环境变量和KV绑定迁移到Pages项目 3. 使用GitHub Actions实现自动部署 迁移后您将获得更好的开发体验和部署流程!