Loading... # 项目背景 Cloudflare 作为全球最大的 CDN 与网络安全平台之一,其免费版在大陆的访问效果却实在感人——不开橙云的话,5 秒盾、Tunnel、WAF 等核心功能都无法使用。对于拥有自己线路服务器的站长来说,有没有一个开箱即用的自建 CDN 方案? **OpenFlare** 正是为此而生——一个开源的 CDN 编排与边缘安全平台,目标是成为 Cloudflare 的开源平替。通过使用自己的线路机器,达到加速访问的目的,同时兼顾安全性和性能。 > 项目地址:[https://github.com/Rain-kl/OpenFlare](https://github.com/Rain-kl/OpenFlare) > 官方文档:[https://open-flare.pages.dev](https://open-flare.pages.dev) > 许可证:Apache 2.0 > 最新版本:v3.5.1(2026-08-09) --- ## 核心能力一览 OpenFlare 的功能覆盖了 CDN 管理的方方面面,堪称"开源版 Cloudflare 控制台": | 功能模块 | 说明 | Cloudflare 对应 | | ---------------- | --------------------------------------------------- | ------------------ | | 反向代理 | 多域名绑定、多上游负载均衡、统一管理 OpenResty 节点 | CDN 代理 | | 安全内网穿透 | 基于 FRP 的 Relay + OpenFlared 客户端,无需公网 IP | Cloudflare Tunnels | | 边缘 WAF | 可编排规则引擎、IP 组管理、GeoIP 地域准入 | WAF + 防火墙规则 | | 防 CC 挑战 | PoW 密码学挑战,类似 Turnstile | Turnstile / 5 秒盾 | | Pages 静态托管 | 上传/远程 URL/GitHub Release 同步,边缘节点分发 | Cloudflare Pages | | TLS 证书自动化 | ACME 协议自动申请与续期 Let's Encrypt 证书 | SSL/TLS | | Uptime Kuma 集成 | 自动差分同步监控站点 | 无直接对应 | | SSO 单点登录 | GitHub OAuth + OIDC 协议 | Zero Trust | | 统一观测 | 请求聚合、访问日志、资源快照、健康事件 | Analytics | --- ## 技术栈 OpenFlare 的技术选型非常现代化: - **后端**:Go 语言开发,全平台支持,内存占用极低 - **Web 服务器**:OpenResty(Nginx + Lua)作为 Agent 数据面 - **数据库**:PostgreSQL 17(主库)/ SQLite(备选) - **日志存储**:ClickHouse(可选,v3.5.1 起支持 PostgreSQL/SQLite 替代) - **缓存/队列**:Valkey 8.0(Redis 兼容替代) - **前端**:现代框架 + React Flow 规则编辑器 - **内网穿透**:基于 FRP 项目实现 - **容器化**:Docker + Docker Compose 一键部署 --- ## 部署指南 ### 硬件配置推荐 | 组件 | 最低配置 | 推荐配置 | | ----------------- | -------------- | -------------- | | Server 控制面 | 1C / 2G / 20G | 2C / 4G / 50G+ | | Agent 数据面 | 1C / 512M / 2G | 2C / 2G / 10G+ | | Relay 中继节点 | 1C / 1G / 5G | 2C / 2G / 20G | | OpenFlared 客户端 | 1C / 256M / 1G | 1C / 512M / 5G | ### Server 部署(Docker Compose) ```bash # 下载环境变量模板 curl -o .env.example https://raw.githubusercontent.com/Rain-kl/OpenFlare/refs/heads/main/.env.example cp .env.example .env # 启动服务 docker compose up -d ``` 默认端口 `3000`,默认账号 `admin` / `12345678`(**首次登录后务必修改**)。 ### Agent 部署 ```bash docker pull ghcr.io/rain-kl/openflare-agent:latest docker run -d --name openflare-agent --restart unless-stopped \ -p 80:80 -p 443:443/tcp -p 443:443/udp \ -v openflare-agent-pages:/data/var/lib/openflare/pages \ -e OPENFLARE_SERVER_URL=http://your-server:3000 \ -e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \ ghcr.io/rain-kl/openflare-agent:latest ``` --- ## WAF 与安全防护 OpenFlare 的 WAF 模块是其核心亮点之一: - **可编排规则引擎**:基于 React Flow 可视化编辑器,支持 DAG 执行流程,自由组合防护链路 - **IP 组管理**:支持手动/自动/订阅型 IP 组,Checksum 差分同步(无需 Nginx 重载) - **GeoIP 地域准入**:集成 MaxMind GeoIP,支持国家级访问控制 - **POW 防护**:内置高性能客户端密码学 Proof of Work 挑战,相当于 Cloudflare 的 5 秒盾,保护网站不被爬虫攻击 - **自定义拦截页面**:可自定义拦截返回界面 防护能力覆盖:UA 检查、IP 检查、路径穿越防护、SQL 注入防护等常见攻击手段。 --- ## 与 GoEdge 的对比 提到自建 CDN,很多人会想到 GoEdge。OpenFlare 作者明确了几点区别: | 对比项 | OpenFlare | GoEdge | | ---------- | ------------------------------- | ---------------------- | | 安全性 | Apache 2.0 开源,无投毒风险 | 曾被曝投毒事件 | | 维护状态 | 活跃开发(950+ commits) | 破解版缺少后续维护 | | 二开难度 | Go 语言,结构清晰,易于二次开发 | 几乎无法进行功能性二开 | | 数据迁移 | Docker 容器化,干净无痕 | 数据迁移繁琐 | | 部署复杂度 | Docker Compose 一键部署 | 安装流程较复杂 | --- ## v3.5.1 最新更新 2026 年 8 月 9 日发布的 v3.5.1 带来了多项重要改进: **新功能:** - 日志存储解耦:ClickHouse 变为可选项,不启用时由 PostgreSQL/SQLite 承担全部日志功能 - 新增「切换日志数据库」任务,支持数据迁移 - 性能指标与访问日志保留时长解耦,新增 `metric_retention_days` 配置 **修复:** - 修复 UptimeKuma 同步调试日志泄露凭据问题 - 修复日志保留天数配置继承旧键导致的误删风险 **优化:** - 系统定期垃圾清理由每 2 小时改为每日凌晨 3 点执行 - Service Worker 注入挑战页改为前台无感 --- ## 项目展望 3X 版本历经几个月的打磨,几乎将整个前端和后端完成了一遍重构,着重优化了 UI 设计、日志分析和 WAF 增强。后续的开发计划主要围绕: - **高可用**:多节点容灾与故障转移 - **Cloudflare 对接**:与 CF 生态的深度集成 作者也坦诚表示,项目首要目的是快速落地,功能大部分由 AI 开发实现,后续会进行大量重构。项目没有技术含量,核心就是将各类优秀的开源软件做一个集成化管控。 --- ## 总结 OpenFlare 是一个非常有前景的开源 CDN 项目。对于以下用户来说值得尝试: - **拥有自有线路 VPS 的站长**,希望自建 CDN 加速国内访问 - **需要 WAF 和安全防护**,但不想付费给 Cloudflare Pro 的团队 - **需要内网穿透**,但不信任第三方服务的开发者 - **对 GoEdge 投毒事件有顾虑**,寻找安全替代方案的用户 项目目前处于 BETA 阶段,不建议直接用于生产环境,但作为自建 CDN 的技术选型,值得关注和提前体验。 --- > 本文由 WorkBuddy 整合 NodeSeek 帖子内容与公开资料撰写。 > 原帖地址:[NodeSeek](https://www.nodeseek.com/post-760916-1) > 项目地址:[GitHub - Rain-kl/OpenFlare](https://github.com/Rain-kl/OpenFlare) > 发布时间:2026-08-09 12:06:16 Last modification:August 9, 2026 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏