1 个不稳定版本
0.1.0 | 2023年12月29日 |
---|
#282 in 配置
1MB
3K SLoC
ClashTui
目录
支持的平台
- Windows
- Linux
目标受众
- 熟悉 clash 配置
- 偏好 TUI 软件
安装 Mihomo 服务(启用调优模式)
Linux
例如: ArchLinux。
# cat /etc/pacman.d/hooks/mihomo.hook (Systems without hooks may need manual setcap or use mihomo@root service)
[Trigger]
Operation = Install
Operation = Upgrade
Type = Path
Target = usr/bin/mihomo
[Action]
When = PostTransaction
Exec = /usr/bin/setcap 'cap_net_admin,cap_net_bind_service=+ep' /usr/bin/mihomo
# ---
paru -S mihomo
# systemctl edit mihomo
[Service]
# Remove the original ExecStart
ExecStart=
ExecStart=/usr/bin/mihomo -d /srv/mihomo -f /srv/mihomo/config.yaml
# ---
mkdir /srv/mihomo
cd /srv/mihomo
chown -R mihomo:mihomo /srv/mihomo
usermod -a -G mihomo <user>
groups <user> # Check if the user is in the mihomo group
chmod g+w /srv/mihomo # Required for clashtui to create files.
chmod g+w /srv/mihomo/config.yaml # Required for clashtui to have write permissions.
systemctl enable mihomo # Enable at boot
systemctl restart mihomo # Start the service
建议使用功能正常的 mihomo 配置来测试 mihomo 服务以验证其成功。检查是否有缺失的 meta-rules-dat 文件。
Windows
安装 scoop(可选)
irm get.scoop.sh -outfile 'install.ps1'
.\install.ps1 -ScoopDir 'D:\Scoop' -ScoopGlobalDir 'D:\ScoopGlobal' -NoProxy # I chose to install it in the D drive.
例如
- 使用
scoop install mihomo
安装 mihomo。或者,下载适合您系统的 mihomo 并将其放置在D:/PortableProgramFiles/mihomo/mihomo.exe
。 - 创建目录
D:/MyAppData/mihomo
和文件D:/MyAppData/mihomo/config.yaml
。 - 安装 clashtui 后执行的操作
如果 mihomo 客户端(例如,metacubexd)可以访问但需要代理访问某些网站
- 对于通过 Scoop 安装的 mihomo:允许
D:\Scoop\apps\mihomo\1.17.0\mihomo.exe
而不是当前路径。更新 mihomo 后,重复此过程。 - 对于手动下载的 mihomo 安装:允许
D:/PortableProgramFiles/mihomo/mihomo.exe
。
安装 clashtui
Linux
例如:ArchLinux
# Check for the latest [PKGBUILD](https://github.com/JohanChane/clashtui/blob/main/PKGBUILD).
paru -S clashtui # For other Linux distributions, manually download and place clashtui in the PATH.
clashtui # Initial run generates default files in ~/.config/clashtui.
# nvim ~/.config/clashtui/config.toml
[default]
# Parameters correspond to the command <clash_core_path> -d <clash_cfg_dir> -f <clash_cfg_path>
clash_core_path = "mihomo"
clash_cfg_dir = "/srv/mihomo"
clash_cfg_path = "/srv/mihomo/config.yaml"
clash_srv_name = "mihomo" # systemctl {restart | stop} <clash_srv_name>
# ---
如果您有 cargo,您可以使用 cargo install clashtui
安装 clashtui。
Windows
手动下载并安装 clashtui 或通过以下命令安装:scoop bucket add extras; scoop install clashtui
。之后,文件 clashtui.json 将被添加到 scoop extras 仓库。如果没有添加到 scoop extras,可以将 clashtui.json 文件放在 D:\Scoop\buckets\extras\bucket\clashtui.json
,以便 scoop install clashtui
正常工作。
首次运行 clashtui 会在 %APPDATA%/clashtui
生成默认文件。
修改 %APPDATA%/clashtui/config.toml
[default]
# Parameters correspond to the command <clash_core_path> -d <clash_cfg_dir> -f <clash_cfg_path>
#clash_core_path = "D:/PortableProgramFiles/mihomo/mihomo.exe"
clash_core_path = "D:/Scoop/shims/mihomo.exe" # `Get-Command mihomo`
clash_cfg_dir = "D:/MyAppData/mihomo"
clash_cfg_path = "D:/MyAppData/mihomo/config.yaml"
clash_srv_name = "mihomo" # nssm {install | remove | restart | stop | edit} <clash_srv_name>
编辑后,将 clashtui 和 nssm 添加到 PATH
- 对于通过 scoop 安装的 clashtui:
scoop install nssm
- 对于手动下载的 clashtui:将
D:/PortableProgramFiles/clashtui
添加到 PATH。
运行 clashtui。在 ClashSrvCtl
中选择 InstallSrv
。程序将根据配置的设置安装基于 mihomo
的核心服务。该服务将在启动时自动启动。安装后,启动核心服务,并输入 R
继续操作。
配置 basic_clash_config.yaml
手动配置 {~/.config | %APPDATA%}/clashtui/basic_clash_config.yaml
。此文件中的某些基本字段合并到 clash_cfg_path
中。有关配置 tun 模式的说明,请参阅 此处。
启动
Windows
选择以下方法之一
- 将
clashtui
命令添加到 PATH。在终端中输入clashtui
,按下win + r
,或在文件资源管理器的地址栏中。 - 双击
clashtui
。
clashtui 使用 crossterm 和 ratatui 进行实现。为了在 Windows 上获得最佳使用效果,请考虑使用 Windows Terminal。将 Windows Terminal 的命令启动方法设置为使用 Windows Terminal
来执行 clashtui
命令。
便携模式
在 clashtui 程序目录中创建一个名为 data
的文件夹。此文件夹将数据存储在 data
中,而不是在 ~/.config/clashtui
或 %APPDATA%/clashtui
中。
用法
按 ?
显示帮助。
导入链接
- 在配置文件区域,按
i
输入名称(尝试避免使用后缀)和 Uri。 - 按
U
更新配置文件的依赖项。它默认使用其代理进行更新。如果使用 tun 模式或系统代理且没有可用节点,更新前请停止 mihomo 服务(按S
)。 - 按
Enter
选择配置文件。 - 在浏览器中输入
http://127.0.0.1:9090/ui
。
如果 Windows 平台无法打开 http://127.0.0.1:9090/ui
- 在
ClashSrvCtl
中选择TestClashConfig
以检查语法和自动下载的地理文件。 - 按下
L
查看日志。(按下H
打开 clashtui 配置目录。按下G
打开 clash 配置目录。检查相关文件是否正确。) - 使用
netstat -aon | findstr "9090"
检查端口是否存在。如果不存在,考虑使用与 mihomo 兼容的版本。 - 如果可以打开但不能访问需要代理的网站,请允许
mihomo
通过防火墙。
支持导入文件配置。输入文件路径作为 Uri
。
使用配置模板
- 按下
t
切换到模板。 - 选择
template_proxy_providers
,按下e
编辑,并根据需要输入订阅链接(无需修改)。
例如
https://....
https://....
# Supports comments
#https://....
- 按下
Enter
在Profile
中生成配置。按下p
切换回配置文件,再按下Enter
选择配置。
下载的 clashtui 版本通常包含模板。如果没有,最新的模板可以在 这里 获取。
高级用法
配置打开文件和目录的命令
在 ./data/config.toml
中进行配置。%s
将自动替换为所选文件的路径。
对于 Linux
[default]
edit_cmd = "alacritty -e nvim %s"
opendir_cmd = "alacritty -e ranger %s"
对于 Windows
[default]
edit_cmd = "notepad %s"
自定义配置模板
模板功能是 clashtui 的独特之处。请参考提供的示例模板以获取使用说明。
定义重复使用的字段
pp: &pp {interval: 3600, intehealth-check: {enable: true, url: https://www.gstatic.com/generate_204, interval: 300}}
delay_test: &delay_test {url: https://www.gstatic.com/generate_204, interval: 300}
为 template_proxy_providers
中的每个链接生成一个 proxy-provider
proxy-providers:
provider:
tpl_param:
type: http # The type field should be placed here, not in pp, as it's used for updating resources.
<<: *pp
为每个代理提供者生成一个 Select, Auto
proxy-group
proxy-groups:
- name: "Select"
tpl_param:
providers: ["provider"]
type: select
- name: "Auto"
tpl_param:
providers: ["provider"]
type: url-test
<<: *delay_test
使用 Select, Auto
代理组
proxy-groups:
- name: "Entry"
type: select
proxies:
- <Auto>
- <Select>
clashtui 的文件结构
basic_clash_config.yaml
:包含 mihomo 配置的基本字段,将被合并到clash_cfg_path
中。config.yaml
:clashtui 的配置文件。
项目免责声明
本项目仅用于教育和研究目的。作者不保证本项目代码的准确性、完整性和适用性。用户应自行承担使用代码的风险。
作者不对因使用本项目代码而造成的任何直接或间接损失负责,包括但不限于数据丢失、计算机损坏或业务中断。
在使用本项目代码之前,用户应充分了解其功能及其潜在风险。如有必要,请寻求专业意见。作者对使用本项目代码产生的任何后果概不负责。
在使用本项目代码时,请遵守相关法律法规。不要将其用于非法活动或侵犯他人权利的行为。
作者保留对本免责声明的解释权,并可随时修改和更新。
依赖项
~12–24MB
~372K SLoC