星期三, 七月 19, 2023

169 clash meta 使用 url-test 进行节点择优, 并使用此节点组成隧道

此前我在博文中写了 167 clash内核/clash meta内核, 机场tunnels隧道 实现绕过机场审计 这篇文章, 利用 clash 的 tunnels 功能, 实现了 自己的宽带网络 <-> 机场 <-> 自己搭的服务器 这种类似简单 tor 网络的功能. 

自己手上有几个机场, 来回选节点有点麻烦, 于是就用 proxy-groups.type: url-test 这个功能来进行择优, url-test组其实机场订阅里经常会看到, "自动选择"就是 url-test, 这个组的选择结果必定是延迟最低的节点, 再用这个延迟最低的节点去和"自己搭的服务器"对接, 形成隧道. 

写法如下: 

proxy-providers:

  1:

  #第一个机场

    type: http

    url: "https://订阅链接"

    path: 1.yaml

    interval: 21600


  2:

  #第二个机场

    type: http

    url: "https://订阅链接"

    path: 2.yaml

    interval: 21600


proxy-groups:

  - name: Tunnels

    type: select

    proxies:

      - 出口1

      - 出口2

      - Proxy


  - name: Proxy

    type: select

    proxies:

      - 机场1-自动选择

      - 机场2-自动选择

      - 机场1

      - 机场2


  - name: 机场1-自动选择

    type: url-test

    use:

      - 1

    tolerance: 0 #这是一个差值, 如果设置成50, 举个例子: 现在内核自动选择的节点延迟100ms, 新一轮测速中有一个节点是50ms, 那将会切换到50ms的节点. 再举个例子, 现在内核自动选择的节点延迟100ms, 新一轮测速中有一个节点是52ms, 那将不会切换到52ms的那个节点. 这个值设置为0和不写这项 其实是没有区别的, 我习惯写上. 

    lazy: true #只测选择相关的, 不会整个机场节点都测速. 比如你在下面用filter筛选出了美国节点, 那url-test就只测这些select相关的, 以及美国节点. 

    url: https://www.gstatic.com/generate_204

    interval: 300

    disable-udp: false

    #这个正则是排除这些节点名的意思, 留作备用 ^((?!(群组|直连|官网|群组|套餐|剩余|更新订阅)).)*$

    filter: 美国 #这里重点提一下, 有时候择优的节点是日本, 延迟很低, 但我的落地服务器在美国, 按照 家宽-国内中转日本的机场-美国落地服务器 的链路来走, 最高速度没变, 但doh这种dns请求, 延迟会高出好多, 所以我filter选出了美国节点, 延迟会少一点. 


  - name: 机场2-自动选择

    type: url-test

    use:

      - 2

    tolerance: 0

    lazy: true

    url: https://www.gstatic.com/generate_204

    interval: 300

    disable-udp: false

    filter: 美国


  - name: 机场1

    type: select

    use:

      - 1

    filter: ^((?!(群组|直连|官网|群组|套餐|剩余|更新订阅)).)*$


  - name: 机场2

    type: select

    use:

      - 2

    filter: ^((?!(群组|直连|官网|群组|套餐|剩余|更新订阅)).)*$


rules:
  #- PROCESS-NAME,com.kiwibrowser.browser,DIRECT
  - IP-CIDR,255.255.255.255/32,REJECT
  - IP-CIDR6,ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128,REJECT
  - GEOIP,PRIVATE,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,Tunnels #注意这里是最终的select

0 条评论: