进阶配置

如果有高度自定义需求,请学习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教材

enhanced-mod

有两个选项fake-ipredir-host,具体参见config.yaml教材

fake-ip原理

若更改enhanced-modefake-ip(可配置fake-ip-filter以期解决WiFi验证问题), 请将clash.config文件reserved_ip字符串中的198.18.0.0/15删除!!!!!

同理更改enhanced-moderedir-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

配合类Adguard应用使用

更改模块工作模式为core, 类Adguard应用设置代理(socks5或http均可)

配置本地subconverter

可以借助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.html

clash.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服务

最后更新于