侧边栏壁纸
博主头像
luoxx博主等级

只要思想不滑坡,办法总比困难多

  • 累计撰写 53 篇文章
  • 累计创建 58 个标签
  • 累计收到 982 条评论

目 录CONTENT

文章目录

mac定时任务更新clash订阅后的yml文件

luoxx
2022-09-19 / 1 评论 / 2 点赞 / 2,963 阅读 / 826 字
温馨提示:
本文最后更新于 2022-10-17,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

使用clash的时候经常使用订阅功能来订阅节点,一个订阅地址订阅成功之后就会在本地生成一个yml后缀的配置文件,这里面的配置有一些地方我们需要修改,但是每次更新订阅的时候,这个文件又会被覆盖,所以只能更新后再一次修改该文件,这么繁琐且固定的工作当然要交给定时任务来做了,所以写了这一篇博客。

ps:本教程针对mac系统,如果是windows或者linux的话,只能参考一下思路。

博主的需求

激活pd18后,配置了host防止访问pd官方网址,不过启动pd之后,host又被pd程序篡改,注释掉了我们加上的配置。后面结果排查发现原来开启clash代理后,host配置完全不生效了,通过host屏蔽网址完全没效果。

后面发现只需要在clash的yml配置文件中修改dns: enable: true选项,改成false即可正常使用系统配置的host。

dns:
    enable: false

自动化修改配置文件

设置了自动更新订阅的话,每次订阅更新了之后都会要手动再去修改文件,很麻烦,所以这边写了个修改文件的脚本,然后使用系统自带的定时任务来定时执行。

  • 创建定时任务脚本,博主这边把脚本放在了用户目录下的scripts文件夹内,脚本命名为changeClash.sh
#bin/sh

isenable=`cat ~/.config/clash/小强Cloud.yaml |grep 'enable: true' |wc -l`
isenable=`echo $isenable`

if [ "$isenable" = "1" ];then
	sed -i '' 's/enable: true/enable: false/' ~/.config/clash/小强Cloud.yaml
fi

ps:脚本中~/.config/clash/小强Cloud.yaml为yml配置文件的路径,替换为你自己的配置文件路径。
ps2:脚本名称,存放路径随便你自己定义,只要创建定时任务的时候你自己知道路径就行。

  • 创建cron定时任务自动执行脚本
  1. 执行 crontab -e 命令
  2. 输入法英文模式下按i按键进入编辑模式
  3. 移动光标到最后,在文件最后面添加一行 * * * * * sh ~/scripts/changeClash.sh
  4. 按esc按钮之后输入:wq保存编辑
    第三步的脚本路径不能输错,改成你自己创建的脚本的路径。第三步的cron表达式为每分钟检测更新一次,如果觉得太频繁了的话也可以自己修改cron表达式。

其他

上文只是给了个思路而已,其实能修改的东西多了,比如订阅的节点里面有一些高倍率的节点,比如五倍十倍流量的节点,在clash里面使用自动选择模式的情况下,经常会用到这些高倍率节点,要是从yml文件里面删掉这些节点,那自动选择就不会用到这些高倍率节点了。这样的逻辑也是能够通过定时脚本实现的。

2

评论区