参考:
ClashForLinux自动更新订阅配置
Clash For Linux自动更新订阅配置
配置
通过systemctl来管理Clash的进程,对应clash.service
文件,通过两个脚本start-clash.sh
和stop-clash.sh
来管理Clash的启停,具体配置如下。
clash.service
置于/lib/systemd/system/clash.service
,注意修改用户名和订阅链接。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| [Unit] Description=clash daemon After=network.target
[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
置于${HOME}/.config/clash/start-clash.sh
,注意修改用户名。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #!/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
置于${HOME}/.config/clash/stop-clash.sh
。
1 2 3 4 5 6 7
| #!/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
|
赋予执行权限
运行:
1 2
| chmod +x ${HOME}/.config/clash/start-clash.sh chmod +x ${HOME}/.config/clash/stop-clash.sh
|
最后
运行:
1 2
| systemctl enable clash systemctl start clash
|
ps -ef | grep clash
验证下clash是否已在运行,Setting - Network中配置Network Proxy,然后访问网页测试。没问题的话,clash将开机自动启动,并自动更新配置。
Tips
- clash二进制文件放在
/usr/local/bin/
- 注意文件路径
- .sh记得加执行权限