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

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

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

41284 次点击
所在节点    分享创造
166 条回复
molezznet
2023-10-10 15:46:20 +08:00
@Liniretus 试了下,meta1.15 中 relay 和 dialer 都可以,好像 tunnels 就是不通 ……
b1t
300 天前
时隔近一年想问一下,我自建落地机 ss 随机设置了一个端口,机场只有部分节点可以转发到落地成功联网,当我将落地机 ss 的端口设置为 443 反而都可以成功上网了,这是什么原因造成的?
VisualStudioCode
223 天前
你出现在被我 at 的名单中,是因为我想邀请你们回答我的提问 https://v2ex.com/t/1054374
我选择在此处 at ,即本帖第二页的评论中,是想尽力减少污染板面

@fortynine @asche910 @danbai @orangie @kkocdko @miaosl @lianxiaoyi @tyrantZhao @allplay @paopjian @LWFF @pkoukk @soukiya @dobelee @Masoud2023 @shuxhan @c2const @FrankAdler @likooo125802023 @Drumming @xiaomoxian @Aloento @christin @1423 @goodryb @faceair @cssk @SenLief @Kinnice @gujigujij @bitkuang8 @2000wcw @vueli @macy @824020994 @yufeng0681 @Jzdoxc @marvincible @kaiger @Royal22 @vituralfuture @likeme @ciki @cnsdytedison @jesky @serafin @ddvswgg @JensenQian @ztm0929 @YsHaNg @popzuk @GabrielleBellamy @Janyd @sickoo @dethan @vislins @LzNOHentai @israinbow @studyingss @lpfzmmlhhlhy @toan @CuteKitten @Jirajine @leo97 @vitovan @totoro625 @M5tuA @0o0O0o0O0o @Cursor1st @A01514035 @crazychang @zcf0508 @Anybfans @aptupdate @676529483 @zpaeng @StevenQAQ @molezznet @tcpdump @renyijiu @yanyumihuang @pC0oc4EbCSsJUy4W @dragontx4g @hang333 @Peikon @jamosLi @superzzy @Robertwhite @ncepuzs @wangccddaa @KaliZ @cat9life @Huelse @theprimone @AltairT @Hilong @taylorsellie @qinfengge @Caratpine @theohateonion @SmiteChow @TrembleBeforeMe @Smilencer @shalingye @jiekeop @lqfxz520 @Bichat @RageBubble @cubarco @27149 @20210610204811 @Nile20 @gabkfivyfbst @Giftina @f6x @Liniretus @stonefaker11 @Cambra1n @Marinaaaa @noqwerty @zhinianyuxin0 @vruzo @gofe2008 @storyxc @guanzhangzhang @hanguofu @ysicing @vitaminx @dogfight @Lightbright @retanoj @jianzhao123 @wr516516 @rayray314 @EthanOean @captainm @Ccf @Lunser @kangkag0231 @ksdd521lr @xzm1006 @aaaachen @Thymolblue @mdgwmt0 @elliothe @b1t
Kinnice
223 天前
@livid 这样的 @使用不太合理吧
stephCurry
221 天前
@b1t 很简单,机场屏蔽了其他端口
b1t
221 天前
@stephCurry 感谢解答,很早之前已经定位到是这个问题了

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

https://tanronggui.xyz/t/948499

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

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

© 2021 V2EX