如果有高度自定义需求,请学习yaml语法(教程1、教程2、教程3)、并阅读config.yaml教材。
模块默认接管所有应用流量。
你如果并不想某些应用的流量通过Clash服务, 则可以打开模块默认配置目录, 将clash.config文件里的mode值改为blacklist(黑名单且为默认值)并在packages.list文件里写入相应应用的包名, 一行一个。
如果想仅部分应用的流量通过Clash服务处理, 则更改mode值为whitelist(白名单)且packages.list文件里一行一个写入包名. 在此之外, 你还可以仅启动Clash内核, 更改mode值为core即可。
fake-ip模式并不支持黑白名单,不走代理的应用可能会没网。
不知道fake-ip是啥请看config.yaml教材。
有两个选项fake-ip和redir-host,具体参见config.yaml教材。
fake-ip原理
若更改enhanced-mode为fake-ip(可配置fake-ip-filter以期解决WiFi验证问题), 请将clash.config文件reserved_ip字符串中的198.18.0.0/15删除!!!!!
同理更改enhanced-mode为redir-host就把198.18.0.0/15加回
- 本订阅方式主要用于自己DIY分流规则,如图省事,想直接用机场提供的规则可以使用下方的单机场订阅****
直接在/data/clash/config.yaml中填入自己的订阅地址即可
如果需要增减机场请参考config.yaml教材。
请打开模块默认配置目录下的clash.config文件, 将auto_subscription(魔改2为auto_updateSubcript)的值改为true并在subscription_url后填写你的clash订阅地址. 模块默认每天凌晨两点更新订阅, 你可以通过查看Clash配置目录下的run文件夹里的run.logs日志文件查看订阅是否更新成功(或查看相关文件时间戳), 如需更改自动订阅的时间, 可更改update_interval的值, 请自行学习Crontab相关内容。
- 注意:首次使用需要自己下载一份配置文件替换config.yaml
原版更新指令为/data/adb/modules/Clash_For_Magisk/scripts/clash.tool -s
魔改版1指令为/data/clash/scripts/clash.tool -s
魔改版2指令
- 更新订阅:
/data/clash/scripts/clash.tool -s - 更新GeoX:
/data/clash/scripts/clash.tool -u
更改模块工作模式为core, 类Adguard应用设置代理(socks5或http均可)
可以借助termux搭建或者封装成Magisk模块, 配置本地生成模式, 修改clash.tool里关于订阅更新的函数
Termux搭建示例, 不使用root权限可能无法解压和启动:
su -c 'wget https://github.com/tindy2013/subconverter/releases/latest/download/subconverter_aarch64.tar.gz && tar -zxvf subconverter_aarch64.tar.gz'
#启动示例
su -c './subconverter/subconverter'
#如果需要常驻后台, 请了解&或者nohup相关命令.
#如果需要开机自启, 请了解Magisk模块开发, 开发者指南:https://topjohnwu.github.io/Magisk/guides.htmlclash.tool脚本subscription函数改动示例:
subscription() {
if [ "${auto_subscription}" = "true" ] ; then
${subconverter_path}/subconverter -g > /dev/null 2>&1
if [ $? -eq 0 ] ; then
cp -f ${subconverter_path}/config.yaml ${Clash_config_file}
${scripts_dir}/clash.service -k && ${scripts_dir}/clash.tproxy -k
sleep 5
${scripts_dir}/clash.service -s && ${scripts_dir}/clash.tproxy -s
if [ "$?" = "0" ] ; then
echo "info: 订阅更新成功,CFM已成功重启." >> ${CFM_logs_file}
else
echo "err: 订阅更新成功,CFM重启失败." >> ${CFM_logs_file}
fi
else
echo "wro: 订阅更新失败,配置文件未发生变化." >> ${CFM_logs_file}
fi
else
exit 0
fi
}
##subconverter_path变量为subconverter文件夹路径, 更新订阅后可以考虑利用Clash RESTful API重载配置而不是重启clash服务