- 安装最新稳定版
mihomo内核。 - Web 控制台支持 metacubexd 和 zashboard。
- 支持使用 subconverter 进行本地订阅转换。
- 多架构支持,适配主流
Linux发行版。
本项目来自clash-for-linux-install,根据个人需要重新进行了修改,修改地方如下:
-
Web 控制台支持在安装时选择 metacubexd 或 zashboard,安装后也可随时切换。
-
修复了上游项目兼顾 普通用户 与
sudo用户 而造成的命令混乱。 -
mixin.yaml中添加了更为详细的DNS覆写规则和tun规则,支持ipv6,开箱即用。
-
由我最喜欢的一版代码修改而来,clashstatus命令可以方便查看运行状态。
-
2026.1.20修改:适配linux主流桌面环境,为桌面环境添加系统代理,通过
clashon、clashoff一键控制桌面环境、终端环境代理
- 用户权限:
root或sudo用户。 shell支持:bash、zsh、fish。
下述命令适用于 x86_64 架构
git clone --branch master --depth 1 https://github.com/Hit-Mickey/clash-for-linux.git clash \
&& cd clash \
&& sudo bash install.sh安装开始时会提示选择 GitHub 下载方式:
- 输入
1:所有 GitHub API 和资源下载均使用官方链接。 - 输入
2或直接回车:使用默认加速地址https://gh-proxy.org。 - 输入
3:自定义一个或多个加速地址,多个地址使用分号(;)或空格隔开;下载时严格按照填写顺序逐个尝试,不再尝试官方链接。 - 加速配置保存在
/opt/clash/github-proxy,安装后可通过ghproxy查看、通过ghproxy -e编辑。
安装时还会提示选择 Web 控制面板:输入 1 或直接回车选择 metacubexd,输入 2 选择 zashboard。安装完成后,mixin.yaml 和 runtime.yaml 中的 external-ui 会明确写入当前面板名称。
每次安装都会下载最新版 mihomo、yq、subconverter、所选面板和 Country.mmdb(即 country.mmdb)。所有配置的下载地址均失败或文件校验失败时,才使用 resources 中随仓库提供的对应官方稳定版离线资源。安装后的 Mihomo 与面板均只提供稳定版升级:通过 clashupgrade 更新 Mihomo,通过 clashui upgrade 更新当前面板。
安装完后请通过clashui和clashsecret查看端口和初始密码
- 上述克隆命令使用 GitHub 官方地址;安装脚本内的资源下载方式由安装前输入的 GitHub 加速配置决定。
- 默认通过远程订阅获取配置进行安装,本地配置安装详见:在
resources目录中新建config.yaml,将配置粘贴进去再执行安装脚本。 - 没有订阅?click me。
可以根据需要提前修改 mixin.yaml 中的配置,其中留空的变量名不要随意删除,也可以在安装完成后修改。安装程序会根据选择明确设置 external-ui。
执行 clashctl 列出开箱即用的快捷命令。
$ clashctl
Usage:
clashctl COMMAND [OPTION]
Commands:
on 开启代理
off 关闭代理
restart 重启 Mihomo 服务
ui [upgrade|change] 面板地址/更新/切换面板
ghproxy [-e] 查看/编辑 GitHub 加速地址
status 内核状况
proxy [on|off|status] 系统代理
tun [on|off] Tun 模式
mixin [-e|-r] Mixin 配置
secret [SECRET] Web 密钥
update [URL|auto|log] 更新订阅
upgrade 更新 Mihomo 稳定版内核每个子命令也有对应的独立快捷命令:
clashctl 用法 |
快捷命令 | 作用 |
|---|---|---|
clashctl on |
clashon |
启动 Mihomo 并设置终端/桌面代理 |
clashctl off |
clashoff |
停止 Mihomo 并清除当前代理环境 |
clashctl restart |
clashrestart |
重启 Mihomo 服务 |
clashctl status |
clashstatus |
查看 systemd 服务状态和日志 |
clashctl proxy on|off|status |
clashproxy on|off|status |
单独管理系统代理 |
clashctl ui [upgrade|change] |
clashui [upgrade|change] |
查看、升级或切换 Web 面板 |
clashctl secret [密码] |
clashsecret [密码] |
查看或修改 Web 密钥 |
clashctl update [URL|auto|log] |
clashupdate [URL|auto|log] |
更新订阅、设置自动更新或查看日志 |
clashctl mixin [-e|-r] |
clashmixin [-e|-r] |
查看/编辑 Mixin 或查看运行配置 |
clashctl tun [on|off] |
clashtun [on|off] |
查看或切换 TUN 模式 |
clashctl upgrade |
clashupgrade |
升级 Mihomo 最新稳定版 |
clashctl ghproxy [-e] |
ghproxy [-e] |
查看或编辑 GitHub 加速地址 |
快捷命令适合日常使用,clashctl 形式便于统一记忆,两者效果相同。
$ clashon
🖥️ 检测到桌面环境,正在设置系统 GUI 代理...
😼 已开启代理环境$ clashoff
😼 已关闭代理环境- 启停代理内核的同时,设置系统代理。
- 亦可通过
clashproxy单独控制系统代理。
服务管理常用命令:
clashstatus # 查看 Mihomo systemd 状态
clashrestart # 重启 Mihomo
clashproxy status # 查看系统代理状态
clashproxy on # 只开启系统代理,不改变服务状态
clashproxy off # 只关闭系统代理,不停止 Mihomo$ clashui
╔═══════════════════════════════════════════════╗
║ 😼 Web 控制台 ║
║═══════════════════════════════════════════════║
║ ║
║ 🔓 注意放行端口:9090 ║
║ 🏠 内网:http://192.168.0.1:9090/ui ║
║ 🌏 公网:http://255.255.255.255:9090/ui ║
║ ☁️ 公共:http://board.zash.run.place ║
║ ║
╚═══════════════════════════════════════════════╝
$ clashsecret 666
😼 密钥更新成功,已重启生效
$ clashsecret
😼 当前密钥:666
$ clashui upgrade
✅ metacubexd 已准备为稳定版 v1.270.6
$ clashui change
当前 Web 控制面板:metacubexd
当前支持的面板:
1. metacubexd
2. zashboard
请选择面板 [1/2]:- 通过浏览器打开 Web 控制台,实现可视化操作:切换节点、查看日志等。
clashui upgrade会识别当前选择的面板并检测版本,仅在存在更新时下载对应面板的最新稳定版。clashui change会显示当前面板并直接要求选择。选择相同面板时执行版本检测和升级,选择不同面板时下载并切换,同时更新external-ui并重启 Mihomo。- 面板切换或更新后请强制刷新浏览器缓存。
- 若暴露到公网使用建议定期更换密钥。
$ ghproxy
😼 GitHub 加速地址(按顺序尝试):
https://gh-proxy.org
$ ghproxy -e- 配置文件每行填写一个 GitHub 加速地址;也支持使用分号或空格分隔;空文件表示只使用 GitHub 官方链接。
- 配置多个地址后,下载和更新会依次尝试这些地址,不再回退到官方链接。
ghproxy -e固定使用vim编辑/opt/clash/github-proxy,保存后立即生效,适用于clashupgrade和clashui upgrade等后续下载。- 编辑时每行写一个地址;清空文件并保存即可改为只使用 GitHub 官方链接。
$ clashupdate https://example.com
👌 正在下载:原配置已备份...
🍃 下载成功:内核验证配置...
🍃 订阅更新成功
$ clashupdate auto [url]
😼 已设置定时更新订阅
$ clashupdate log
✅ [2025-02-23 22:45:23] 订阅更新成功:https://example.comclashupdate会记住上次更新成功的订阅链接,后续执行无需再指定。clashupdate URL立即使用新链接更新;clashupdate不带参数时沿用上次成功的链接。clashupdate auto [URL]创建每天0点执行一次的定时任务;不提供 URL 时使用当前保存的链接。clashupdate log查看最近的订阅更新记录。- 可通过
crontab -e修改定时更新频率及订阅链接。 - 通过配置文件进行更新:pr#24
$ clashtun
😾 Tun 状态:关闭
$ clashtun on
😼 Tun 模式已开启- 作用:实现本机及
Docker等容器的所有流量路由到clash代理、DNS 劫持等。 - 原理:clash-verge-rev、 clash.wiki。
- 注意事项:#100
$ clashmixin
😼 less 查看 mixin 配置
$ clashmixin -e
😼 vim 编辑 mixin 配置
$ clashmixin -r
😼 less 查看 运行时 配置- 持久化:将自定义配置项写入
Mixin(mixin.yaml),而非原订阅配置(config.yaml),可避免更新订阅后丢失。 - 配置加载:代理内核启动时使用
runtime.yaml,它是订阅配置与Mixin配置的合并结果集,相同配置项以Mixin为准。 - 注意:因此直接修改
config.yaml并不会生效。
clashmixin 默认通过 less 查看 /opt/clash/mixin.yaml;clashmixin -e 固定调用 vim 编辑。保存成功后会自动合并配置、验证并重启 Mihomo。clashmixin -r 只读查看最终生效的 /opt/clash/runtime.yaml。
clashsecret # 查看当前密钥
clashsecret 123456 # 设置新密钥并重启 MihomoWeb 控制台连接 Mihomo 时需要使用该密钥。修改成功后会自动更新运行配置并重启服务。
clashupgrade- 只读取官方 latest Release,即只暴露稳定版升级渠道。
- 会比较当前版本;已经是最新版时不会重复下载。
- 新内核会先验证可执行性并备份旧内核;重启失败时自动恢复。
- GitHub API 和内核下载遵循
ghproxy中保存的地址顺序。
sudo bash uninstall.sh卸载脚本会清除 Mihomo 服务、/opt/clash(包括 GitHub 加速配置)、安装时生成的 resources/bin、订阅定时任务、Shell/Fish 配置、桌面代理以及 Fish 代理环境临时文件(也会兼容清理旧版 /var/proxy)。仓库内自带的离线资源和用户预先放入 resources/config.yaml 的配置不会删除。



