我花了一周准备,想和你分享 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 的各位来说并不难。

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

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

41214 次点击
所在节点    分享创造
166 条回复
taylorsellie
2023-06-14 14:03:17 +08:00
@Hilong 我一开始是替换后面的 url 使用点击的时候会失败,后面我直接拼到后面可以成功但是好像默认是那个新加坡的节点,感觉是死的不能用自己的节点加上延迟
qinfengge
2023-06-14 14:03:20 +08:00
这是神马情况
taylorsellie
2023-06-14 14:07:06 +08:00
@qinfengge 直接加上链接吧,不要去掉原来的,我去掉替换自己的也这样
molezznet
2023-06-14 14:07:32 +08:00
@qinfengge 那个节点被删掉了吧
ncepuzs
2023-06-14 14:08:49 +08:00
@Robertwhite 在托管平台(如 GitHub )上建两个文件(一个代理一个不代理),然后通过像上面的 rule-set 之类的远程引用,建好相应的策略组
ncepuzs
2023-06-14 14:10:53 +08:00
@ncepuzs 如果跟其他规则有冲突的,应该将你自定义的这两个放在规则列表最上面
qinfengge
2023-06-14 14:11:08 +08:00
@taylorsellie #63 确实是要直接拼接,我以为要替换 url🧐
studyingss
2023-06-14 14:13:51 +08:00
@Huelse 为了防止被滥用做了一些安全措施,自己配置的话不会有这个问题。
@superzzy 是的,主要是有被滥用风险。
Caratpine
2023-06-14 14:15:14 +08:00
示意图是用什么工具制作的呀?
superzzy
2023-06-14 14:18:43 +08:00
@studyingss OP 你好 如果想继续使用该如何做呢
SmiteChow
2023-06-14 14:21:38 +08:00
ss 又不是不能用
TrembleBeforeMe
2023-06-14 14:24:33 +08:00
试了下确实反应变快了,等楼主详解文章自建了
theohateonion
2023-06-14 14:24:55 +08:00
Smilencer
2023-06-14 14:26:47 +08:00
不知所云,感觉很吊的样子
shalingye
2023-06-14 14:29:59 +08:00
用不了呢,使用 ready boost 只能谷歌搜索,其他页面全部 reset 。
StevenQAQ
2023-06-14 14:41:30 +08:00
想得到楼主的回复,关于"把编码后的内容拼接到下面这一大串链接的末尾"这段话下面的 url ,我可以替换成我 encode 后的链接吗?需要替换哪几个请求参数? config+url?还是仅 url
jiekeop
2023-06-14 14:42:33 +08:00
感谢感谢,继续输出
totoro625
2023-06-14 14:44:51 +08:00
测试后发现 Clash for Android 不能使用 tunnels 功能
tunnels 功能只支持一个一个配置自建节点,不支持订阅组

我还是用回了 relay
lqfxz520
2023-06-14 14:53:08 +08:00
不知道怎么用但感觉很厉害👍
Bichat
2023-06-14 14:55:19 +08:00
试了几个订阅链接,READY BOOST 都超时了。不知道为啥

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

https://tanronggui.xyz/t/948499

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

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

© 2021 V2EX