ClashTui is a terminal-based user interface (TUI) tool designed to manage and interact with Mihomo (Clash.Meta) proxy services. It provides a cross-platform solution for configuring, monitoring, and automating tasks related to proxy management.
Key Features:
Cross-platform support for Linux and Windows.
User-friendly TUI interface for easy navigation and interaction.
Integration with Mihomo service for managing proxies and configurations.
Profile import functionality to add new proxy links or resources.
Scheduled updates via cronie for automated profile refreshes.
Configuration templates to streamline setup and customization.
Audience & Benefit:
Ideal for users familiar with Clash configurations who seek a terminal-based solution for efficient proxy management. ClashTui allows seamless interaction with Mihomo, enabling automation, configuration, and monitoring directly from the command line. It is particularly beneficial for users preferring TUI applications or those seeking to simplify their workflow in managing proxies.
This software can be installed via winget, ensuring easy setup across supported platforms.
ClashTui is a terminal user interface (TUI) proxy management tool supporting both Mihomo (Clash.Meta) and sing-box proxy cores. Switch nodes, update subscriptions, manage connections, and control services — all from the terminal.
Features
Dual Core Support — Compatible with both Mihomo and sing-box; switch anytime in the UI
Proxy Switching — Switch by group or by node, with latency testing
Connection Monitoring — View all active connections in real time; close individual or all connections
Service Control — Manage core start, stop, and restart via systemd
Log Viewing — View core logs in real time within the interface
CLI Mode — Supports profile, mode, service, update subcommands for scripting and automation
Config Override — Override final config via core_override_config without modifying original subscription files
Template System — Auto-generate config files using templates + proxy node groups, with variable expansion (recommended for sing-box to avoid configuration version issues)
Custom Key Bindings — Customize shortcuts for each tab via keymap.yaml
Custom themes - user-definable via theme.yaml
which panel - convenient for user operations
Supports fzf - users can use fzf for selection
Supported Platforms
Linux
macOs
Windows
Installation
Requirements
Linux and macOS:
sudo
fzf
Windows:
nssm
With root access (for TUN mode)
Linux
[Optional] Install mihomo and clashtui from your package repository:
sudo pacman -S mihomo sing-box clashtui # ArchLinux. (Note: the latest clashtui may not be uploaded yet — please build and install it manually)
This step ensures mihomo, sing-box, and clashtui are available in your environment so the install script will skip downloading them. You can also download them manually and run which mihomo sing-box clashtui to verify they are correctly configured.
Run the install script:
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all
Tip: The install script downloads resources from GitHub. If downloads keep failing, try enabling a proxy before running the script.
[Optional] Enable clashtui_mihomo.service / clashtui_singbox.service on boot:
sudo systemctl enable clashtui_mihomo.service
# OR
sudo systemctl enable clashtui_singbox.service
macOS
[Optional] Install mihomo and clashtui from Homebrew:
brew install mihomo sing-box clashtui # Note: the latest clashtui may not be uploaded yet — please build and install it manually
Run the install script (same as Linux):
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all
[Optional] Enable clashtui_mihomo / clashtui_singbox launchd plists on boot:
[Optional] Install mihomo and clashtui from Scoop:
scoop install mihomo sing-box clashtui # Note: the latest clashtui may not be uploaded yet — please build and install it manually
# Verify
Get-Command mihomo sing-box clashtui
This step ensures mihomo, sing-box, and clashtui are in PATH so the install script will skip downloading them.
Run the install script (as Administrator):
# Default install to D:\ClashTui
irm https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install.ps1 | iex
# Custom directory (no spaces allowed)
iex "& {$(irm https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install.ps1)} -Core all -InstallDir 'D:\MyTools\ClashTui'"
# Only install mihomo core
iex "& {$(irm https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install.ps1)} -Core mihomo"
Start clashtui, then use CoreSrvCtl to install and start core services:
The install script does NOT register Windows Services. Launch clashtui and use the built-in CoreSrvCtl to manage services. Enable only one core service at boot (do not enable both simultaneously).
Without root access (no TUN)
Linux
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all --is-user
Enable on boot:
systemctl --user enable clashtui_mihomo.service
# OR
systemctl --user enable clashtui_singbox.service
macOS
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all --is-user
Enable on boot:
launchctl load -w ~/Library/LaunchAgents/clashtui_mihomo.plist
# OR
launchctl load -w ~/Library/LaunchAgents/clashtui_singbox.plist