# 在 Linux 通过 cli 使用 Clash

# 安装 {#installation}

下载对应的二进制,比如默认放到 ~/Downloads 目录,在终端进入该目录。

gunzip clash-linux-amd64-v0.18.0.gz
sudo mv clash-linux-amd64-v1.4.2 /usr/local/bin/clash
sudo chmod +x /usr/local/bin/clash
./clash

clash 启动后会在 ~/.config/clash 目录生成配置文件。

ls -al ~/.config/clash
.rw-r--r--   10 user 23 Mar 19:30 config.yaml
.rw-r--r-- 4.0M user 23 Mar 19:30 Country.mmdb

# 修改配置 {#config}

比如说对于我使用的GTK PW 代理 (opens new window),在后台复制地址之后,在网址的后面增加 &flag=clash 获取 clash 的配置文件,右击网页 Save as,选择仅网页内容,下载到本地, sub.html

然后将查看 sub.html 内容,应该是一个 yaml 格式的文件。将此格式的文件替换默认的配置。

cat ~/Downloads/sub.html > ~/.config/clash/config.yaml

然后重新执行 /usr/local/bin/clash

此时检查一下配置中的 socks 端口,我一般用本地的 1080,修改一下:

socks-port: 1080

然后再运行。去浏览器中,访问 youtube.com 检查一下。

如果正常访问即完成了配置。

# 配置开机启动

在配置开机启动之前,将配置文件移动到 /etc 目录:

sudo mv ~/.config/clash /etc

以后修改配置都记住修改 /etc/clash 目录下的这个配置文件。

然后使用 vi 增加 systemd 配置 sudo vi /etc/systemd/system/clash.service 放入如下内容:

[Unit]
Description=Clash Daemon

[Service]
ExecStart=/usr/local/bin/clash -d /etc/clash/
Restart=on-failure

[Install]
WantedBy=multi-user.target

启用 clash service:

sudo systemctl enable clash.service

手动启动 clash.service:

sudo systemctl start clash.service

可以使用 systemd 提供的 disable, stop 等等命令来管理。

如果要查看 Clash service 的日志可以使用:

journalctl -e -u clash.service

如果想要将日志单独记录到文件,可以使用 systemd 的 StandardOutputStandardError 将日志定向到文件中。这部分可以参考 systemd 的文档 (opens new window)

# Works only in systemd v240 and newer!
StandardOutput=append:/var/log/clash/log.log
StandardError=append:/var/log/clash/error.log
上次更新: 8/19/2024, 12:39:47 PM