A terminal user interface for managing Cloudflare DNS zones and records, inspired by k9s and gitui.
- View all DNS zones in your Cloudflare account
- List DNS records for any zone
- Add, edit, and delete DNS records
- Filter zones and records with
/ - Keyboard-driven interface
go install github.com/shyim/cloudflare-tui@latestOr build from source:
git clone https://github.com/shyim/cloudflare-tui
cd cloudflare-tui
go build -o cloudflare-tui .Create a Cloudflare API token at https://dash.cloudflare.com/profile/api-tokens
Required permissions:
- Zone - DNS - Edit
- Zone - Zone - Read
Profiles allow you to store multiple Cloudflare accounts and switch between them easily.
# Add a new profile
cloudflare-tui -add-profile personal
# You'll be prompted for the API token
# Add another profile
cloudflare-tui -add-profile work
# List all profiles (* marks default)
cloudflare-tui -list-profiles
# Set default profile
cloudflare-tui -set-default work
# Use a specific profile
cloudflare-tui -profile personal
# Remove a profile
cloudflare-tui -remove-profile old-accountConfig file location: ~/.config/cloudflare-tui/config.yaml
Set the token as an environment variable:
export CLOUDFLARE_API_TOKEN=your_token_hereOr create a .env file:
CLOUDFLARE_API_TOKEN=your_token_here
-profileflag (if specified)CLOUDFLARE_API_TOKENenvironment variable- Default profile from config file
cloudflare-tui| Key | Action |
|---|---|
Enter |
Select zone / Edit record |
Esc |
Go back to zones |
j / Down |
Move down |
k / Up |
Move up |
g |
Go to top |
G |
Go to bottom |
| Key | Action |
|---|---|
a |
Add new DNS record |
d |
Delete selected record |
e / Enter |
Edit selected record |
r |
Refresh current view |
| Key | Action |
|---|---|
/ |
Filter items |
? |
Show help |
q |
Quit application |
MIT