我花了一周准备,想和你分享 Clash 所有特性运用到极致之后的体验

2023-06-13 23:49:02 +08:00
 studyingss

前言

去年我发布了一篇关于 clash relay 的教程,在 V2EX 引发了一些讨论。

比如 https://tanronggui.xyz/t/894700 还有一些其他的帖子。

当初随便拿来放临时配置的 gist 也有了 50 多个 star https://gist.github.com/miaomiaoclub/6947f7cb93846301f1658da0edcd61bf

时隔半年多,这套方案在和朋友 @ RADE 的共同学习中有了不少改进,tunnels 功能的加入更是让整套方案如虎添翼,不少体验让我自己都有种“wow”的感觉,例如 延迟降低 100%

最终的效果让我到现在都非常兴奋,所以我花了一周时间再来写一篇文章和大家分享。

快速体验

这是我目前使用的配置的示意图,为了美观简化了不少内容。

因为所有东西要讲完真的很复杂,为了让大家快点感受我的激动,我花了一周时间写了一个模版让你可以在 30 秒内开始体验这一切。

你只需要去 https://www.urlencoder.org/ 或者其他什么网站把你的订阅链接进行 url 编码。

然后把编码后的内容拼接到下面这一大串链接的末尾,再把它放到 Clash 里面订阅就可以了。

https://api.sublink.dev/sub?target=clash&insert=false&config=https%3A%2F%2Fgist.githubusercontent.com%2Fmiaomiaoclub%2F2178a7dd7fbbf4b7774ad6f7ad2000c5%2Fraw&emoji=true&list=false&tfo=false&scv=true&fdn=false&sort=false&new_name=true&url=https%3A%2F%2Fgist.githubusercontent.com%2Fmiaomiaoclub%2F92fc5af76ede047810a7a51af86089ee%2Fraw%7C

完成之后你应该可以看到这样的分组,其中的 READY BOOST 就是使用了 tunnel + grpc 的连接,你可以把左右两边的延迟进行对比。

然后你可以在节点选择列表的末尾找到 READY BOOST ,选中它,然后打开几个网页,另外,它应该是可以解锁 ChatGPT 的。

顺带一提,当你自行实现的时候,它是 udp fullcone 的,我在这里禁用了 udp 。

这套体验配置会在 1 天后失效,取决于这个帖子的回复情况延长或缩短。

实现原理是什么?

基于 grpc 的连接复用。

关于 proxy chain 的优点,可以查看下面这篇文章

https://luxirty.com/article/01815b7d-073d-48ef-9528-7b4ad033f8d0

这里主要讲讲 grpc ,众所周知,连接复用可以节省握手时间,http/2 就拥有连接复用的特性。

然而 clash 只为 grpc 实现了连接复用,http/2 在 clash 中并不具备连接复用。

基于 tunnel 的 proxy chain

在实际测试中,我们(@RADE )发现 relay 实际上导致了非常多的问题,例如 udp 无法通过、grpc 奇怪的高延迟等。

因此我们使用 tunnels 替换了 relay ,它的表现相比于 relay 优秀了很多。

你可以到 clash 的官方 wiki 来学习 tunnel 的用法 https://dreamacro.github.io/clash/configuration/configuration-reference.html

也可以看看我的博客,有稍微容易看懂的讲解 https://luxirty.com/article/chain-proxy-powered-by-clash-tunnels

负载均衡、故障转移、最短延迟

在上面的体验配置中我并没有把所有这些特性都加上。因为写起来太麻烦了。但我相信对 V2EX 的各位来说并不难。

实际上还有更多的内容可以讲:

唔…好啦,大概就这些!……希望这贴不要沉🥹

41029 次点击
所在节点    分享创造
166 条回复
zcf0508
2023-06-14 09:29:07 +08:00
@crazychang excalidraw
crazychang
2023-06-14 09:32:31 +08:00
@zcf0508 多谢
studyingss
2023-06-14 09:35:46 +08:00
@totoro625 是的,tunnels 的一大好处就是解决了原版内核 relay 不支持 udp 的痛点,并且如果是使用支持 uot 的协议的话,就算外层不支持 udp 也可以实现 fullcone 。

实际上 relay 还有很多奇奇怪怪的问题,比如说如 grpc 和 relay 搭配会造成延迟变高,还有内层协议是 http ,tls ,socks 的话有可能会无法连接(我收到不少人询问这个事)。

tunnel 目前看起来没有这些问题,兼容性最佳,又支持 udp 。

(上面这段话与 t.me/R_A_D_E 共同编写)
studyingss
2023-06-14 09:39:58 +08:00
@A01514035 可以考虑使用 grpc ,就像示例一样,这样就会只有一条 tunnel 连接。
grpc 的主要缺点是在高丢包线路上表现不佳,tunnel 基本上解决了这个问题,因此可以无成本享受 grpc 连接复用的好处。
Cursor1st
2023-06-14 09:47:06 +08:00
反馈,系统代理和 tun 模式均无法使用,延迟测试 READY BOOST 超时,原因未知
Anybfans
2023-06-14 09:57:57 +08:00
请问一下。自己搭建的番茄。怎么做成订阅链接呢。。每次换配置 要所有地方都同步一下
676529483
2023-06-14 09:58:53 +08:00
厉害,确实快了些
toan
2023-06-14 10:02:28 +08:00
@lpfzmmlhhlhy 这是 OP 的 trojan 节点?
aptupdate
2023-06-14 10:22:49 +08:00
@Anybfans 把配置文件放到 iCloud/WebDAV 等等可以远程访问的地方,然后引用这个文件地址。
Anybfans
2023-06-14 10:27:17 +08:00
@aptupdate 请问是 ymal 文件的链接么
zpaeng
2023-06-14 10:27:21 +08:00
好评
Anybfans
2023-06-14 10:46:45 +08:00
@Anybfans #30 用 icloud 分享试了一下。好像不能直接访问到文件本身

😱
aptupdate
2023-06-14 10:51:02 +08:00
@Anybfans 就是你配置文件 xxx.yaml 的链接。
或者放到私有 gist 上,但有个缺点就是如果访问不了 gist 就无法更新。
话说自建搞好之后很少会再改配置啊,我一年也改不一次。
Anybfans
2023-06-14 10:53:42 +08:00
@aptupdate #33 感谢。icloud 好像不太行。我换个方案。谢谢
aptupdate
2023-06-14 10:53:55 +08:00
@Anybfans #32 用 iCloud 不是分享,是 Apple 设备直接引用 iCloud 里这个配置文件。
Anybfans
2023-06-14 10:55:10 +08:00
@aptupdate #35 明白了。想给非 apple 设备使用。例如路由器啥的。非常感谢
StevenQAQ
2023-06-14 10:58:51 +08:00
请问体验配置中我该替换哪些参数?仅替换 Url 吗?
molezznet
2023-06-14 11:01:12 +08:00
使用自己的番茄节点怎么导入这个能完善下教程呗,不是订阅链接,而是单独的几个链接?
tcpdump
2023-06-14 11:05:24 +08:00
这不是可以收集一波机场链接了?
studyingss
2023-06-14 11:31:56 +08:00
@Anybfans 使用 secret gist ,然后自建一个 ghproxy 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/948499

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX