⚠️ Note: This project was created through vibe coding (AI-assisted development). Tested and verified on macOS.
A lightweight desktop GUI (Electron + React + Vite) for managing Cloudflare Tunnel (cloudflared) runtime and editing your local ~/.cloudflared/config.yml ingress rules.
| Dashboard | Configuration | Settings |
|---|---|---|
![]() |
![]() |
![]() |
- Start/stop
cloudflared tunnel runand view logs - Read/edit your
~/.cloudflared/config.yml(YAML) - Manage ingress rules via a simple form UI (writes to
ingress) - Cloudflare authentication: trigger
cloudflared tunnel loginand show auth status - Language switch (English/中文) and theme switch
- Node.js (recommended: modern LTS)
- pnpm
cloudflaredinstalled and available in yourPATH- macOS (Homebrew):
brew install cloudflare/cloudflare/cloudflared - Or download from Cloudflare and ensure
cloudflaredis executable
- macOS (Homebrew):
pnpm install
pnpm electron:devThis starts Vite and then launches Electron after the dev server is ready.
pnpm install
pnpm electron:buildArtifacts are produced under release/ (configured by electron-builder).
- Config file path:
~/.cloudflared/config.yml - The app reads the config on startup.
- When you add/edit/delete rules in the UI, the app updates
ingressand saves the file. - The app creates
~/.cloudflared/if it does not exist and backs up existing config before saving.
-
"cloudflared not found"
- Ensure
cloudflaredis installed and available inPATH. - Restart the app after installing.
- Ensure
-
Tunnel fails to start
- Check the log panel in Dashboard.
- Validate your
config.ymlis valid YAML andingressrules are correct.


