Multi-account management, cross-zone bulk operations, one-click orange-cloud proxy.
Do what the official CF dashboard cannot.
✓ Data only on your server · ✓ API token never via third parties · ✓ MIT License
Core features
Built for multi-site owners, global teams, and large-scale DNS operations
Keep multiple Cloudflare accounts in one dashboard—same session, no logging out to switch.
Sync all zones from Cloudflare in one click, with fast search—hundreds of zones in seconds.
Apply the same DNS record to many zones at once—bulk work in seconds.
Clean DNS records by type or name across zones—ops efficiency doubled.
Turn Cloudflare proxy (orange cloud) on or off for many zones in one go.
Save common record sets and apply them to many zones—faster launches.
Manage DNS in natural language from Claude, Cursor, and more. No panel deploy—just npx flaredesk-mcp and your API token.
All data on your server; API tokens never pass through any third party.
Compare
Everything the official UI can do, we can too—and more that it cannot
| Feature | CF official | Flaredesk ✦ |
|---|---|---|
| Single-zone DNS | ✓ | ✓ |
| All accounts in one panel (same session) | ✗ | ✓ |
| Cross-zone bulk add | ✗ | ✓ |
| Cross-zone bulk delete | ✗ | ✓ |
| Bulk orange cloud | ✗ | ✓ |
| DNS templates | ✗ | ✓ |
| AI natural language (MCP) | ✗ | ✓ |
| Fully self-hosted | ✗ | ✓ |
AI integration
Works with Claude Desktop, Cursor, Windsurf, and any MCP client
🧑 Set www A for example.com to 1.2.3.4 and enable orange cloud
🔧 update_dns_record({ zone_id: "xxx", record_id: "yyy", content: "1.2.3.4", proxied: true })
✅ Done. www A for example.com is 1.2.3.4, orange cloud on.
🧑 List all zones under my accounts
🔧 list_zones({})
Returned 47 zones: example.com, yourdomain.io, shop.site ...
One command to install—no server deploy required
Quick deploy
Go 1.21+, Vue 3; SQLite + embedded Redis (no separate MySQL/Redis), or classic MySQL + Redis
git clone https://github.com/urbanu619/flaredesk.git
SQLite path (try)Copy magic_admin/conf.d/config.sqlite.embedded.json.example to config.json for SQLite + embedded Redis—no separate MySQL/Redis services, and no CREATE DATABASE step.
MySQL path (production)Fill in MySQL and Redis in config.json (embedded Redis is still optional). For MySQL, create the database first: CREATE DATABASE flaredesk DEFAULT CHARACTER SET utf8mb4;
cd magic_admin && go run main.go api
First run creates tables, menus, and the admin account.
Node.js 18+ required: cd magic_admin_web && npm install && npm run build
Output in dist/ (e.g. Nginx); or embed the UI in the binary with API same-origin (serve-web: true)—see README (English) or README.zh-CN.md.
Log in with default superman / 666666, change password, open Account management, add your Cloudflare API token. Step-by-step guides: docs/完全新手安装指南.md (中文) · docs/beginner-install.md (English).
If Flaredesk helps you, a ⭐ Star helps others find it