🌋利用 clash tunnels 代替 relay 构建链式代理
2023-6-9
| 2023-6-10
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password

前言

这是关于 clash relay 链式代理的第二篇, 编写这篇文章的原因是 clash 推出了 tunnels 功能,使用它取代 relay 可以得到更多好处。
关于链式代理,简单的说,利用链式代理功能,将机场节点作为前置节点,自建节点作为后置节点,可以得到兼具隐私、速度和稳定性的优质线路
如果你想了解更多关于链式代理的知识以及使用它的理由,可以查看上一篇 clash relay 教程

为什么要使用 tunnels 取代 relay group

相比于使用 relay group,利用 tunnels 实现链式代理有以下优点:
  • 在原版 clash 中得到 udp 支持 原版 clash 的 relay 功能不能代理 udp 流量
  • 更好的兼容性 在实际使用中,我们发现某些协议在 relay 中会出现无法连接的问题,使用 tunnel 可以提高对于内层协议的宽容度
  • 更加简洁的配置

如何实现

如果你看过上一篇文章,那么可以跳到第三步。

第⼀步,用 proxy provider 将机场节点加入到配置中

随便找⼀个订阅转换的⽹站,⽐如说 sublink.dev ,把订阅链接放进去,客户端选 Clash ,然后点进阶选项,在左下⾓找到“转换为 NodeList”勾选上,最后点⽣成订阅链接。
然后把链接复制出来这样填:
proxy-providers: jichang: type: http path: ./jichang.yaml url: # ⽣成的订阅链接填在这⾥! interval: 3600 health-check: enable: trueurl: https://www.gstatic.com/generate_204 # 使⽤https 避免⽆良⽼板伪造延迟! interval: 300
还需要⽤⼀个分组来包含这些节点,在 groups 下⾯这样写:
proxy-groups: - name: 机场的分组 type: select use: # provider 的节点要放在 use 下⾯ - jichang proxies: - DIRECT # use 是可以和普通的节点混⽤的!

第二步,添加 tunnels

假设你的自建节点如下:
proxies: - name: "⾃建的节点" type: ss server: 4.35.111.2 port: 443 cipher: chacha20-ietf-poly1305 password: "password"
那么你应该修改为:
proxies: - name: "⾃建的节点" type: ss server: 127.0.0.1 # ip 变了,和下面对应 port: 7777 # 端口变了,和下面对应 cipher: chacha20-ietf-poly1305 password: "password"
并添加下面的配置(tunnels 于 proxies 处于同一级):
tunnels: - network: [tcp, udp] address: 127.0.0.1:7777 #这里不要改 target: 4.35.111.2:443 #这里写自建节点实际的ip和端口 proxy: 机场的分组

最后一步

tunnels的配置简洁许多,只需要将规则指向自建节点即可。
作为示范,下面一个完整可用的配置,按照注释修改即可使用(点击展开)
port: 7890 socks-port: 7891 allow-lan: false mode: Rule log-level: info external-controller: :9090 proxies: # 把你的⾃建节点填到这⾥ # 像下⾯这样 - name: "⾃建节点" type: ss server: 127.0.0.1 #这个不需要改 port: 7777 #这里也不需要改 cipher: aes-256-gcm password: 3afjadljfalfaeasdfga tunnels: - network: [tcp, udp] address: 127.0.0.1:7777 #这里也不需要改 target: target.com #这里改成自建节点的ip和端口号 proxy: 机场的分组 proxy-providers: jichang: type: http url: #把转换后的链接贴在这里 path: ./Proxy/Jichang.yml interval: 86400 health-check: enable: false interval: 600 url: https://www.gstatic.com/generate_204 proxy-groups: - name: PROXY type: select proxies: - ⾃建节点 - DIRECT - name: 机场的分组 type: select use: # provider 的节点要放在 use 下⾯ - jichang rules: - GEOIP,LAN,DIRECT - GEOIP,CN,DIRECT - MATCH,PROXY
完成之后,udp应该可以连接了。
为Clash添加自定义代理规则,这是你需要的最后一篇教程利用clash relay将机场线路作为跨境传输层
目录