Clash For Linux自动更新订阅配置
本文最后更新于 608 天前,其中的信息可能已经有所发展或是发生改变。

声明:科学上网仅为了更好使用国外文献库,查询科研资料。爱我中国!!!

鸣谢: ClashForLinux 自动更新订阅配置,任何对文章的转载请直接转载原作者!

配置

本文通过 systemctl 来管理 Clash 的进程,对应 clash.service 文件,通过两个脚本 start-clash.shstop-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 配置文件的路径。如果您的路径有所改变,请自己对应修改代码。

上一篇
下一篇