分端版Clash Verge RevLinux
Linux 上用 Clash:有桌面装 Clash Verge Rev,没界面的服务器跑 mihomo
消息头有图形桌面的 Linux 装 Clash Verge Rev:Debian、Ubuntu 用 deb,Fedora、openSUSE 用 rpm,Arch 走 AUR。
分步
- 在 MetaCubeX/mihomo 的 GitHub Releases 下载对应架构的包(写作时为 v1.19.32),x86_64 服务器选 mihomo-linux-amd64 开头的 .gz。
- 解压后用 install -m 755 把它装成 /usr/local/bin/mihomo,运行 mihomo -v 确认版本。
- 新建 /etc/mihomo/config.yaml,用 proxy-providers 写入 Clash 订阅链接、代理组和规则,并给 external-controller 设好 secret。
- 写一个 systemd 服务单元,ExecStart 指向 /usr/local/bin/mihomo -d /etc/mihomo,执行 daemon-reload 后 enable --now。
- 用 systemctl status mihomo 和 journalctl 看运行情况,需要出网的程序把代理指向配置里的 mixed-port。
10 月 17 日讯 没有图形桌面的 Linux 服务器装不了 Clash Verge Rev,改为下载 mihomo 内核、把 Clash 订阅写进 /etc/mihomo/config.yaml,再交给 systemd 开机常驻。
先分清:机器上有没有图形桌面
Linux 上的 Clash 有两条路,取决于机器有没有桌面环境。
- 有桌面(Ubuntu、Fedora、Deepin、Arch 装了 GNOME、KDE 之类):装 Clash Verge Rev,和 Windows、Mac 上的用法一样,有订阅页、代理页和系统代理开关。
- 没桌面(云服务器、家里的无头小主机、只有 SSH 的机器):Clash Verge Rev 是基于 WebView 的图形程序,它的文档明确说无图形界面不能用。这种机器直接跑 mihomo 内核,配置写在文件里,由 systemd 管着开机启动。
两条路共用同一条 Clash 订阅,节点和机场完全一样,只是操作入口不同。下面先讲桌面,再讲服务器。
桌面:Clash Verge Rev 装哪个包
先在终端里运行 uname -m 看 CPU 架构:x86_64 是常见的 Intel / AMD 电脑,aarch64 是 ARM64,armv7l 对应 32 位 ARM。然后按发行版挑包,Clash Verge Rev 的正式版是 v2.5.8(信源:GitHub Releases,10 月 17 日):
| 发行版 | 下载哪个文件 | 安装命令 |
|---|---|---|
| Debian、Ubuntu、Deepin、Linux Mint | Clash.Verge_2.5.8_amd64.deb(另有 arm64、armhf) | sudo apt install -y ./Clash.Verge_2.5.8_amd64.deb |
| Fedora、RHEL、openSUSE | Clash.Verge-2.5.8-1.x86_64.rpm(另有 aarch64、armhfp) | sudo dnf install ./Clash.Verge-2.5.8-1.x86_64.rpm |
| Arch、Manjaro | 不下文件,走 AUR | yay -S clash-verge-rev-bin |
几点补充:
- v2.5.8 的 Releases 里没有 AppImage。想要免安装的单文件,可以改用 FlClash,它的 Linux 版提供 deb、rpm 和 AppImage 三种,用法见 FlClash 怎么用。
- Ubuntu 20.04 缺 WebKit 相关依赖,文档建议升到 24.04。
- 只从官方仓库的 Releases 下载,项目文档写明 Clash Verge Rev 目前只通过 GitHub Release 发布。
装好后从应用菜单打开,导入订阅、选节点的步骤和其他系统没有区别,订阅卡片的管理方法见 Clash Verge 订阅管理。
桌面上要留意的三个开关
系统代理。 在 Linux 上,这个开关改的是桌面环境自己的网络代理设置。浏览器这类读取桌面代理的图形程序会跟着走,命令行里的 apt、curl、git 一般不读它。需要让某个命令行程序临时走代理,可以在「设置 → Verge 基础设置」把「复制环境变量类型」选成 Bash,再从托盘图标的菜单里点「复制环境变量」,粘到终端执行。托盘图标在部分桌面环境里默认不显示,需要装对应的托盘扩展。
虚拟网卡模式(TUN)。 想让所有程序都走代理,就开 TUN。和 Windows、Mac 一样,它要先装 Clash Verge 系统服务,安装时会要求输入管理员密码。具体步骤和开不起来时查哪里,见 Clash Verge TUN 模式怎么开。
开机自启。 在「设置 → 系统设置」打开「开机自启」,配合「静默启动」可以开机后只在托盘里运行,不弹窗口。
桌面版的数据放在两个地方:订阅文件在 ~/.local/share/io.github.clash-verge-rev.clash-verge-rev/profiles/,主配置 verge.yaml 在 ~/.config/io.github.clash-verge-rev.clash-verge-rev/。重装系统或换电脑之前把这两处备份,装好新版后放回原处,一般就能找回订阅和设置。卸载服务可以在设置页虚拟网卡模式旁点删除图标,也可以在终端执行 Clash Verge Rev 文档给出的 sudo /bin/uninstall-service。
没有图形界面:mihomo 加 systemd
服务器上分四步:放好内核、写配置、交给 systemd、让程序用上代理。
1. 下载并安装内核。 到 MetaCubeX/mihomo 的 GitHub Releases 页,写作时的正式版是 v1.19.32。x86_64 机器选 mihomo-linux-amd64-v1.19.32.gz,ARM64 机器选 mihomo-linux-arm64-v1.19.32.gz;amd64 还细分出带 v1、v2、v3 和 compatible 字样的版本,对应不同的 x86-64 指令集等级,CPU 比较老、运行报非法指令时,换带 v1 或 compatible 的那个。服务器访问 GitHub 慢的话,在自己电脑上下载好,再用 scp 传上去。
gunzip mihomo-linux-amd64-v1.19.32.gz
sudo install -m 755 mihomo-linux-amd64-v1.19.32 /usr/local/bin/mihomo
mihomo -v
Releases 里也有同版本的 deb 和 rpm,喜欢用包管理器装的可以下那个。
2. 写配置。 新建 /etc/mihomo/config.yaml。用 proxy-providers 引入订阅,好处是 mihomo 会按 interval 定时重新拉取,机场换了节点不用手动处理:
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
secret: "换成一串只有你知道的字符"
proxy-providers:
jichang:
type: http
url: "你的 Clash 订阅链接"
path: ./providers/jichang.yaml
interval: 86400
health-check:
enable: true
url: https://www.gstatic.com/generate_204
interval: 300
proxy-groups:
- name: PROXY
type: select
proxies: [Auto]
use: [jichang]
- name: Auto
type: url-test
use: [jichang]
url: https://www.gstatic.com/generate_204
interval: 300
rules:
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
- GEOIP,CN,DIRECT
- MATCH,PROXY
代理组名用英文,后面用命令切换节点时不必处理 URL 编码。GEOIP 规则需要 IP 数据库,mihomo 首次启动会自己去下载;服务器连不上下载地址时,先删掉 GEOIP 那一行跑起来再说。
另一种做法是把机场下发的完整配置直接存成 config.yaml,机场写好的分组和规则都能用上,代价是它不会自己更新,要定期重新下载一遍。下载时要带上 Clash 系客户端的 User-Agent,机场才会返回 YAML 格式,Clash Verge Rev 文档里验证订阅的示例用的是 clash-verge/v2.4.0。
3. 交给 systemd。 新建 /etc/systemd/system/mihomo.service:
[Unit]
Description=mihomo
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now mihomo
systemctl status mihomo
journalctl -u mihomo -f
status 显示 active (running)、日志里没有报错,就说明内核在跑了。改完配置执行 sudo systemctl reload mihomo 让它重新读取。
4. 让程序用上代理。 服务器上没有系统代理开关,程序要自己指定。临时在当前会话里生效:
export http_proxy=http://127.0.0.1:7890 https_proxy=http://127.0.0.1:7890
curl -I https://www.google.com
能返回 HTTP 状态行就通了。想对整台服务器生效,就在配置里加 tun 段落,这部分写法和桌面 TUN 相同,这里不展开。
服务器上怎么换节点
配置里打开了 external-controller,就能用 REST 接口查看和切换。先列出 PROXY 组里有哪些节点,再指定其中一个:
curl -s -H "Authorization: Bearer 你设的secret" http://127.0.0.1:9090/proxies/PROXY
curl -X PUT -H "Authorization: Bearer 你设的secret" -H "Content-Type: application/json" \
-d '{"name":"节点的完整名称"}' http://127.0.0.1:9090/proxies/PROXY
更习惯点鼠标的话,在本机执行 ssh -L 9090:127.0.0.1:9090 用户名@服务器,把控制端口转发到本地,然后打开 metacubexd 或 zashboard,把后端地址填成 127.0.0.1:9090、密钥填 secret。控制端口只监听 127.0.0.1、并且设了 secret,就不会被公网扫到。
先准备一条 Clash 订阅
服务器和桌面用的是同一条订阅。没有现成订阅时,一翻云轻享版 ¥20 一个月、含 150GB 流量(信源:一翻云价目页,10 月 9 日);它的订阅链接要向客服索取,账号注册好以后不会自己冒出来。首次下单的新账号可以用 1FLYYUN,价格打九折。注意一条订阅同时挂在服务器和几台电脑上时,流量是合并计算的。其余机场哪些在面板里就给 Clash 链接,机场总表的订阅给法一栏写着。
其他能在 Linux 桌面用的 Clash 客户端
Clash Verge Rev 之外,FlClash 和 Clash Party 也有 Linux 版:FlClash 提供 deb、rpm、AppImage,Clash Party 提供 deb、rpm 和 Arch 用的 pkg.tar.zst。三者底下都是 mihomo,订阅通用,挑界面顺手的那个即可。Clash Party 的覆写功能和虚拟网卡授权方式与 Verge 不同,见 Clash Party 使用教程。
文中提到的机场
一翻云
报眼轻享版 ¥20/月 150GB,7 月 12 日自己测过
- 起步价
- ¥20/月每月 150GB
- 订阅
- 找客服要
- 优惠码
1FLYYUN