Rain-kl/OpenFlare

GitHub: Rain-kl/OpenFlare

OpenFlare:开源CDN编排与边缘安全平台,构建安全边缘计算环境。

Stars: 162 | Forks: 43

# OpenFlare **[📖 中文](./README.md) | [English](./README.en.md)** OpenFlare 是开源 CDN 编排与边缘安全平台。它支持反向代理、集中式配置同步、内网穿透(Tunnels)、动态 WAF 防护以及防 CC 挑战。

license release ghcr

## 文档 **https://open-flare.pages.dev** 常用入口: * [快速开始](https://open-flare.pages.dev/guide/quick-start) * [部署说明](https://open-flare.pages.dev/deployment/deployment) * [配置项参考](https://open-flare.pages.dev/reference/configuration) * [系统设计](https://open-flare.pages.dev/design/) ## 核心能力 * **反代配置管理**:以网站规则为聚合边界,支持多域名绑定与多上游负载均衡,统一管理所有 OpenResty 节点的反代配置。 * **安全内网穿透(Tunnels)**:开源版的 Cloudflare Tunnels。无须公网 IP 或暴露入向端口,通过 Relay 中继节点与 OpenFlared 客户端安全反向穿透内网 Web 服务至公网。 * **边缘 WAF 安全防护**:提供全局与自定义规则组,支持手动/自动/订阅型 IP 组、MaxMind GeoIP 国家级地域准入、IP 组成员 Checksum 差分同步(无需 Nginx 重载)以及自定义拦截响应。 * **防 CC 与人机挑战(PoW)**:内置高性能客户端密码学 Proof of Work 挑战(类似 Turnstile),在网关边缘秒级拦截并阻断僵尸网络与爬虫。 * **Pages 静态托管**:直接上传预构建 ZIP 包,由边缘 Agent 拉取并通过 OpenResty 本地提供服务,支持 SPA Fallback 与内置 API 反向代理配置。 * **TLS 证书自动化**:支持证书动态上传、多域名证书自动匹配绑定,以及通过 ACME 协议向 Let's Encrypt 自动申请与续期证书。 * **Uptime Kuma 监控同步**:与 Uptime Kuma 集成,自动差分同步监控站点列表,实时感知节点存活与服务可用状态。 * **SSO 单点登录**:支持 GitHub OAuth 与标准 OIDC 协议,无缝接入企业身份提供商实现统一登录。 * **统一观测**:聚合节点请求指标、实时访问日志明细、宿主机与 Nginx 资源快照、健康事件以及网络波动补传缓冲。 ## 快速开始 ### 1. 启动 Server services: postgres: image: postgres:17-alpine restart: unless-stopped environment: POSTGRES_DB: openflare POSTGRES_USER: openflare POSTGRES_PASSWORD: replace-with-strong-password volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U openflare -d openflare"] interval: 10s timeout: 5s retries: 5 openflare: image: ghcr.io/rain-kl/openflare:latest restart: unless-stopped depends_on: postgres: condition: service_healthy ports: - "3000:3000" environment: SESSION_SECRET: replace-with-random-string DSN: postgres://openflare:replace-with-strong-password@postgres:5432/openflare?sslmode=disable GIN_MODE: release LOG_LEVEL: info volumes: postgres-data: docker compose up -d 访问地址:`http://localhost:3000` 默认账号: * 用户名:`root` * 密码:`123456` ### 2. 安装 Agent 安装 Agent 前请先在节点上安装 OpenResty,或改用内置 OpenResty 的 Agent Docker 镜像。 你可以在控制面板的节点管理->详情->节点信息->节点标识与部署复制安装命令,或直接使用下面的脚本: #### Docker 部署 Docker 部署可直接运行 Agent 镜像: docker pull ghcr.io/rain-kl/openflare-agent:latest docker rm -f openflare-agent 2>/dev/null || true docker run -d --name openflare-agent --restart unless-stopped \ -p 80:80 -p 443:443/tcp -p 443:443/udp \ -e OPENFLARE_SERVER_URL=http://your-server:3000 \ -e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \ ghcr.io/rain-kl/openflare-agent:latest #### 本地部署 使用 `discovery_token` 接入: curl -fsSL https://raw.githubusercontent.com/Rain-kl/OpenFlare/main/scripts/install-agent.sh | bash -s -- \ --server-url http://your-server:3000 \ --discovery-token YOUR_DISCOVERY_TOKEN 使用节点专属 `agent_token`: curl -fsSL https://raw.githubusercontent.com/Rain-kl/OpenFlare/main/scripts/install-agent.sh | bash -s -- \ --server-url http://your-server:3000 \ --agent-token YOUR_AGENT_TOKEN 安装脚本默认写入 `/opt/openflare-agent`,创建 `openflare-agent.service`,自动查找 `openresty`,并可重复执行以重装或升级 Agent。 ### 3. 卸载 Agent 如需彻底卸载 Agent 并清空本地数据,可执行: curl -fsSL https://raw.githubusercontent.com/Rain-kl/OpenFlare/main/scripts/uninstall-agent.sh | bash 卸载脚本会先停止并移除 `openflare-agent.service`、删除整个 `/opt/openflare-agent` 目录,不会删除本机 OpenResty。 ### 4. 发布第一份配置 1. 登录管理端并新增反代规则 2. 在发布前查看预览或变更摘要 3. 激活新版本 4. Agent 通过 WebSocket 通知或后续 heartbeat 拉取并应用配置 版本号格式固定为 `YYYYMMDD-NNN`,历史版本不可变,回滚通过重新激活旧版本完成。 ## 界面预览 ### 仪表盘总览 ![OpenFlare dashboard overview](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f3c19e7c74101346.png) ### 节点详情 ![OpenFlare node detail](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/873bf7da99101347.png) ### 配置新增 ![OpenFlare version release](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/03c661554b101348.png) ## 管理端与接口 管理端当前覆盖: * 反代规则 * 配置版本 * 节点管理 * 应用记录 * TLS 证书 * 域名管理 * Pages 静态托管 * WAF 规则组 * 内网穿透(Tunnels) * Uptime Kuma 监控同步 * SSO 登录配置 * 用户管理 * 设置 * 版本更新 * PoW 规则 登录管理端后,可访问 Swagger UI:`/swagger/index.html` ## 开源协议 本项目采用 [Apache License 2.0](./LICENSE) 开源。 ## Star History Star History Chart
标签:CDN编排, Checksum同步, EVTX分析, Nginx, OpenResty, Proof of Work, 全球访问, 内网穿透, 动态WAF, 反向代理, 地域准入, 多域名管理, 安全防护, 安全隧道, 客户端密码学, 快速部署, 拦截响应, 文档齐全, 日志审计, 测试用例, 系统设计, 网络安全, 请求拦截, 负载均衡, 边缘安全, 边缘计算, 配置同步, 防CC攻击, 隐私保护