# cf-manager
**Repository Path**: hefy27/cf-manager
## Basic Information
- **Project Name**: cf-manager
- **Description**: An all-in-one multi-account dashboard for Cloudflare. Manage Workers, DNS, KV/D1/R2 storage, AI inference & browser rendering visually, with an OpenAI-compatible API for external integration.
- **Primary Language**: TypeScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://mgrcf.pages.dev/admin/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-07-30
- **Last Updated**: 2026-07-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[English](README.md) | [简体中文](README.zh-CN.md)
# CF Manager
> ## ⚠️ 免责声明与合规提示
>
> 本工具仅供**学习、技术研究与已授权账户的自有运维管理**使用。使用本项目产生的任何账号封禁、IP 封禁、费用或其他后果,均由使用者自行承担,与本开源项目及作者无关。
>
> - 请严格遵守 [Cloudflare 服务条款(含 Acceptable Use)](https://www.cloudflare.com/terms/),**禁止**将本项目用于对外提供公共 AI / 渲染中转服务、转售或分摊算力等违反条款的行为。
> - 仅添加你本人或已明确授权的 Cloudflare 账户,不使用任何未授权账户。
> - 多账户切换、自动配额切换等能力**仅限本人合法授权的多个自有账户**使用;批量挂载账号以自动分摊 AI 配额可能违反 Cloudflare 服务协议,不建议开启。
> - 控制调用频率,避免批量、自动化过量请求触发风控或封号。
> - 浏览器渲染等涉及外部 URL 的功能,请仅用于可信来源,防范 SSRF 与内网探测。
> - 如对相关功能是否符合 Cloudflare 服务条款存疑,请优先参考官方条款并咨询法律意见。
## 项目定位
> CF Manager 是面向开发者 / 运维的**一站式 Cloudflare 多账户统一运维管理平台**,解决多账号频繁切换后台、资源批量运维繁琐的问题。
- **是什么**:基于 Cloudflare 官方 API 构建的私有化运维面板,将分散在多个账户、多种产品(DNS / Workers / Pages / 存储 / AI / 渲染)的管理入口统一到一个界面。
- **给谁用**:拥有多个 Cloudflare 账户的个人开发者、站长与运维人员;希望本地自托管、完全掌控凭证与数据的用户。
- **解决什么痛点**:多账户后台频繁切换、资源批量运维繁琐、AI 推理与浏览器渲染缺乏统一本地调试入口。
- **核心能力**:可视化管理域名 DNS、Workers、Pages 与 KV/D1/R2 存储;内置 AI 推理与网页渲染的本地调试能力;提供**仅限内网本地使用**的 OpenAI 兼容适配接口。
- **不是什么**:不是对外提供公共 AI / 渲染中转的服务;OpenAI 兼容接口仅限本人内网本地调试,严禁用于转售或违反 Cloudflare 服务条款的场景。
## 在线演示
| | |
|---|---|
| 地址 | [https://mgrcf.pages.dev/admin/](https://mgrcf.pages.dev/admin/) |
| 密码 | `cfmgrbest` |
> 演示站部署在 Cloudflare Pages + D1,无需 Docker。根路径显示伪装的 nginx 欢迎页,管理界面通过 `/admin/` 访问。
>
> ⚠️ 演示站绑定的是**专用演示账户**,所有功能均可体验但配额有限,仅供界面与功能演示,**请勿用于真实业务或批量调用**;该账户为公开共享演示账号,滥用可能导致其被 Cloudflare 限流或封禁。
## 功能特性
| 模块 | 核心能力 |
|---|---|
| **多账户管理** | API Token / Global API Key 双认证 · 凭证 AES 加密 · 多账户统一切换 ([认证文档](docs/account-auth.md)) |
| **仪表盘** | 各账户配额用量实时展示(Workers、AI、渲染)· 可视化进度条 · 操作审计 |
| **Workers / Pages** | 脚本/项目 CRUD · 单/跨账户批量部署 · 绑定/环境变量/路由/自定义域名 · Pages 回滚 |
| **DNS 管理** | A/AAAA/CNAME/MX/TXT 记录管理 · 一键代理开关 · 批量操作 |
| **隧道管理** | Tunnel 创建/删除 · Ingress 可视化编辑(域名↔服务映射)· 一键回源向导(DNS CNAME + ingress 自动配置) |
| **规则引擎** | 8 种规则类型(回源、URL 重写、请求/响应头转换、缓存、防火墙、限速、重定向)· 结构化表单+高级模式 · 表达式生成器 |
| **存储管理** | KV 键值 CRUD · D1 数据库 SQL 查询 + 表结构变更 · R2 文件上传/下载/预览 |
| **AI 推理** | Workers AI 全模型 · Prompt Caching 感知计费 · 流式对话 + Reasoning 可视化 · 历史上下文 · 多账户调度 |
| **浏览器渲染** | 截图 / HTML / Markdown / PDF / 链接提取 5 种模式 · 限速+配额管理 · SSRF 防护 |
| **OpenAI 兼容 API** | `/v1/chat/completions`、`/v1/models`、浏览器渲染接口 · 流式+非流式 · 仅限内网本地调试 ([API 文档](docs/api-v1.md)) |
| **应用商店** | 内置 Catalog 模板市场 · 第三方源扩展 · 一键部署 Workers/Pages |
| **系统设置** | HTTP/SOCKS5 代理 · 缓存清除 · 定时任务扩展 |
| **安全特性** | API Token AES 加密 · 可选登录密码 · `/admin/` 路径隐藏 + nginx 伪装 · 审计日志 |
---
## 快速开始
> 三种部署方式可选,详见 [部署文档](docs/deploy.md)
方式一:Fork 一键部署(最简单)
无需安装任何工具,全程在浏览器中完成。
**推荐:使用 Secrets 版本(敏感信息不泄露到日志)**
1. **Fork 本仓库** → 点击右上角 Fork
2. 进入 Fork 仓库 → **Settings** → **Environments** → **New environment**,创建环境(如 `production`),在环境内添加 4 个 secret:
- `CF_API_KEY`:Cloudflare Global API Key(高权限密钥,建议改用细粒度 API Token,见 [账户认证文档](docs/account-auth.md))
- `CF_EMAIL`:Cloudflare 账号邮箱
- `ENCRYPTION_KEY`:加密密钥(请填写高强度随机字符串,至少 16 位)
- `API_SECRET`:管理界面访问密码(请填写高强度随机字符串,不要使用弱密码)
3. 进入 **Actions** → 选择 **Deploy to Cloudflare Pages (Secrets)** → **Run workflow**,输入环境名如 `production`
4. 等待部署完成,访问 `https://cfmgr.pages.dev/admin/`
> ⚠️ 重要提醒:仅建议绑定本人独立业务 / 测试账号分开管理,请勿批量挂载账号用于自动分摊 AI 配额,该用法违反 Cloudflare 服务协议。
> 多账户可建多个 Environment 分别配密钥,部署时输入对应环境名即可。
> Cloudflare Global API Key 获取:[Cloudflare Dashboard](https://dash.cloudflare.com/profile/api-tokens) → API Keys → Global API Key → View
方式二:Cloudflare Pages 手动部署(零成本)
下载预构建包上传到 Cloudflare Dashboard。
**1. 下载部署包:**
👉 [下载最新版 cf-manager.zip](https://github.com/hefy2027/cf-manager/releases/latest/download/cf-manager.zip)
或本地构建:`cd worker && npm install && npm run build`
**2. 创建 D1 数据库:**
Cloudflare Dashboard → Workers & Pages → D1 → Create → 名称填 `cf-manager` → 在 Console 中执行 `worker/src/db/schema.sql`
**3. 上传部署:**
Workers & Pages → Create → Pages → Upload assets → 上传 `cf-manager.zip`
**4. 配置 Bindings:**
Settings → Bindings → Add D1 Database → Variable name: `DB` → 选择你的数据库
Settings → Bindings → Add KV Namespace → Variable name: `KV` → 创建或选择已有的命名空间
Settings → Environment variables → 添加 `ENCRYPTION_KEY` 和 `API_SECRET`(可选)
**5. 重新部署后访问** `https://your-project.pages.dev/admin/`
方式三:Docker 部署(自建服务器)
```bash
# 1. 克隆项目
git clone https://github.com/hefy2027/cf-manager.git
cd cf-manager
# 2. 创建配置文件
cp .env.example .env
# 3. 编辑 .env,至少设置 ENCRYPTION_KEY
# 可选设置 API_SECRET(管理界面登录密码)、PROXY_URL(代理地址)
# 可选设置 BASE_URL(前端访问路径,如 /admin/)
# 4. 一键部署
chmod +x deploy.sh
./deploy.sh
# 5. 访问 http://localhost:3000(或 http://localhost:3000/admin/ 如果设置了 BASE_URL)
```
本地开发
```bash
# 后端(http://localhost:3001)
cd backend
npm install
ENCRYPTION_KEY="dev-key" npm run dev
# 前端(http://localhost:5173,自动代理 /api 到后端)
cd frontend
npm install
npm run dev
```
![]() 仪表盘 |
![]() 账号管理 |
![]() Workers / Pages |
![]() DNS 管理 |
![]() 存储管理(KV / D1 / R2) |
![]() AI 推理 |
![]() 浏览器渲染 |
![]() 系统设置 |
![]() 应用商店 |
![]() 隧道管理 |
![]() 规则引擎 |