V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
richiewu
V2EX  ›  问与答

clash 的路由配置如何同时管理好订阅和自定义规则

  •  
  •   richiewu · 62 天前 · 1094 次点击
    这是一个创建于 62 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有两个订阅地址需要自动更新,订阅的规则默认有 192.168.0.0/16 走直连模式 需要添加一个 192.168.0.0/16 走指定代理的节点用于回家访问局域网,这就和订阅的冲突了

    配置文件好像只能激活一个,不是冲突了吗,如何管理?

    14 条回复    2024-07-17 18:16:48 +08:00
    adrianzhang
        1
    adrianzhang  
       62 天前   ❤️ 1
    用 Provider ,只拿订阅里的节点,不拿其他配置。
    icaolei
        2
    icaolei  
       62 天前
    规则是从上往下读取的,前面的优先生效。
    78786381
        3
    78786381  
       62 天前
    78786381
        4
    78786381  
       62 天前
    这个的规则大于订阅规则
    Goooooos
        5
    Goooooos  
       62 天前   ❤️ 1
    方法有
    1. 用有 merge/mixin 功能的 ui 工具:
    append-proxy:
    -name: "home"
    prepend-rules:
    - IP-CIDR,192.168.0.0/16,home,no-resolve

    2. 不用 ui 工具,就直接用 proxy-providers, 然后增加自己的回家 proxy 节点,其他 rules 自己手搓,不用机场的,参考 https://gist.github.com/liuran001/5ca84f7def53c70b554d3f765ff86a33
    pkuxkxqiu
        6
    pkuxkxqiu  
       62 天前
    用"规则附加",里面可以指定附加规则是"优先(覆盖)"还是"拓展(补充)"
    SenLief
        7
    SenLief  
       61 天前
    如果你用的是 mihomo ,你应该采用自己维护配置文件的方式来使用,也就是机场订阅只用来拉取节点,而路由规则自定义。
    richiewu
        8
    richiewu  
    OP
       54 天前
    @Goooooos

    mixin: # object
    append-proxy:
    -name: "V2Fly"
    prepend-rules:
    - IP-CIDR,192.168.0.0/24,V2Fly,no-resolve

    我这样配置的,如何指定用哪个节点代理呢,name 后的名称匹配?
    richiewu
        9
    richiewu  
    OP
       54 天前
    @78786381
    我用的 clash for win ,哪里有这个配置界面?
    Goooooos
        10
    Goooooos  
       54 天前
    @richiewu #8 https://wiki.metacubex.one/config/rules/

    参考路由规则。另外你 append-proxy 要填完整,我给的只是例子,缩减了
    Goooooos
        11
    Goooooos  
       54 天前
    append-proxies:
    - name: homess
    type: ss
    server:
    port:
    cipher:
    password:
    - name: home6ss
    type: ss
    server:
    port:
    cipher:
    password:
    - name: homewg
    type: wireguard
    server:
    port:
    ip:
    private-key:
    public-key:
    pre-shared-key:
    udb: true
    prepend-proxy-groups:
    - name: home
    type: select
    proxies:
    - homess
    - homewg
    - home6ss
    prepend-rules:
    - IP-CIDR,192.168.0.0/16,home,no-resolve


    这是完整的配置
    78786381
        12
    78786381  
       54 天前
    @richiewu #9 openclash ,路由器上的,不一样
    richiewu
        13
    richiewu  
    OP
       53 天前
    我订阅规则里有 192.168.0.0/16 DIRECT


    cfw 开启了 mixin ,这样配置:
    mixin: # object
    append-proxies:
    - name: V2Fly
    type: vmess
    server: xxx
    port: "9999"
    uuid: xxx
    alterId: "0"
    cipher: auto
    prepend-rules:
    - IP-CIDR,192.168.0.0/24,V2Fly,no-resolve

    但是看日志还是用的订阅规则,mixin 不生效,哪里有问题
    @Goooooos
    richiewu
        14
    richiewu  
    OP
       52 天前
    cfw 死活不生效,clash verge 又之支持脚本模式,好不容易搞通了

    // Define main function (script entry)
    const prependRules = [
    'IP-CIDR,192.168.0.0/24,V2Fly',
    ];

    const appendProxies = [
    {
    name: 'V2Fly',
    type: 'vmess',
    server: 'domain',
    port: 'port',
    uuid: 'xxx',
    alterId: '0',
    cipher: 'auto',
    }
    ];

    function main(config) {
    config['rules'] = [...prependRules,...config['rules']];
    config['proxies'] = [...appendProxies,...config['proxies']];
    return config;
    }
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2234 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 01:59 · PVG 09:59 · LAX 18:59 · JFK 21:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.