Simple TUI controller for Clash via the External Controller API.
- Manage proxy groups and nodes from the terminal
- Batch speed test with async UI (no freeze; hidden in Work preset)
- Simple/Expert modes with quick navigation
- Subscription update (proxy-providers, Mihomo Party)
- View connections and logs
- Rust (for building)
- A running Clash-compatible core with External Controller enabled
- Prebuilt releases are provided for macOS (Apple Silicon / Intel)
cargo build --release
./run.sh
# or run directly
./target/release/clashctl --api-url http://127.0.0.1:9090 --secret your_secretcurl -fsSL https://raw.githubusercontent.com/kadaliao/clashctl/master/install.sh | sh- Download the matching release asset from GitHub Releases.
arm64for Apple Siliconx86_64for Intel
- Unpack and move the binary into your PATH.
tar -xzf clashctl-<version>-macos-<arch>.tar.gz
chmod +x clashctl
sudo mv clashctl /usr/local/bin/gRoutes,mmode (Rule/Global/Direct)tspeed test (Routes)Enterswitch nodeq/Escquit (with confirmation)
- Default API:
http://127.0.0.1:9090 - CLI flags:
--api-url,--secret,--help,--version - Update page reads subscriptions from:
- Clash config
proxy-providers - Mihomo Party
profile.yaml+profiles/<id>.yaml
- Clash config
- Override paths via
CLASH_CONFIG_PATHandCLASH_PARTY_DIR - Priority: CLI > defaults
USAGE.md
MIT