本文最后更新于 608 天前,其中的信息可能已经有所发展或是发生改变。
声明:科学上网仅为了更好使用国外文献库,查询科研资料。爱我中国!!!
鸣谢: ClashForLinux 自动更新订阅配置,任何对文章的转载请直接转载原作者!
配置
本文通过 systemctl 来管理 Clash 的进程,对应 clash.service
文件,通过两个脚本 start-clash.sh
和 stop-clash.sh
来管理 Clash 的启停,具体配置如下。
clash.service
[Unit]
Description=clash daemon
[Service]
Type=simple
User=tangger
ExecStart=/home/<用户名>/.config/clash/start-clash.sh
ExecStop=/home/<用户名>/.config/clash/stop-clash.sh
Environment="HOME=/home/<用户名>/"
Environment="CLASH_URL=<填入您的订阅链接>"
[Install]
WantedBy=multi-user.target
start-clash.sh
#!/bin/bash
# save this file to ${HOME}/.config/clash/start-clash.sh
# save pid file
echo $$ > ${HOME}/.config/clash/clash.pid
diff ${HOME}/.config/clash/config.yaml <(curl -s ${CLASH_URL})
if [ "$?" == 0 ]
then
/usr/local/bin/clash -d /home/<用户名>/.config/clash/
else
curl -L -o ${HOME}/.config/clash/config.yaml ${CLASH_URL}
/usr/local/bin/clash -d /home/<用户名>/.config/clash/
fi
stop-clash.sh
#!/bin/bash
# save this file to ${HOME}/.config/clash/stop-clash.sh
# read pid file
PID=`cat ${HOME}/.config/clash/clash.pid`
kill -9 ${PID}
rm ${HOME}/.config/clash/clash.pid
配置添加完成后,执行以下代码就可以启动 Clash 并设置为开机自启动。
sudo systemctl enable clash
sudo systemctl start clash
Tips
您需要注意,Clash For Linux 的安装方法,特别注意 clash 二进制文件应该复制到 /usr/local/bin/
中,以及需要注意您的 yaml 配置文件的路径。如果您的路径有所改变,请自己对应修改代码。