标签 Clash 下的文章

0X01 将Clash客户端配置为Linux服务

  1. 在/lib/systemd/system/目录下创建Clash服务配置文件
    (注意配置CLASH_URL环境变量为你的订阅地址)
nano /lib/systemd/system/clash.service

[Unit]
Description=A rule based proxy in Go for %i.
After=network.target

[Service]
Type=simple
User=kawa
ExecStart=/home/kawa/.config/clash/start-clash.sh     #clash启动脚本 在这里写自动下载配置的代码
ExecStop=/home/kawa/.config/clash/stop-clash.sh
Environment="HOME=/home/kawa/"
Environment="CLASH_URL=https://xxx.com/123njnvdfnaso"   #这里输入你的订阅地址
Restart=on-abort
#ExecStart=/usr/local/bin/clash/clash -d /usr/local/bin/clash/ -ext-ctl "192.168.88.114:9090"

[Install]
WantedBy=multi-user.target

0X02 制作自动更新配置文件脚本

可以看到上面我们配置了服务启动脚本,我们在启动脚本中加入自动下载订阅配置文件的代码即可.
顺便开启RestfulAPI 进行远程管理

#!/bin/bash
# save this file to ${HOME}/.config/clash/start-clash.sh

# save pid file
echo $$ > ${HOME}/.config/clash/clash.pid
echo $CLASH_URL
diff ${HOME}/.config/clash/config.yaml <(curl -s ${CLASH_URL})
if [ "$?" == 0 ]
then
    /usr/local/bin/clash/clash -d ${HOME}/.config/clash/ -ext-ctl "192.168.88.114:9090"
else
    curl -L -o ${HOME}/.config/clash/config.yaml ${CLASH_URL}
    /usr/local/bin/clash/clash -d ${HOME}/.config/clash/ -ext-ctl "192.168.88.114:9090"
fi