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

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

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

41253 次点击
所在节点    分享创造
166 条回复
vitovan
2023-06-14 17:41:04 +08:00
Jirajine
2023-06-14 18:04:25 +08:00
@vitovan #100 像这样的问题不止一处,DNS 和 UDP 的处理你可以翻一下。

看到这样的行为,为什么不使用原因显而易见了,更不用说什么 premium 核心、闭源的 GUI (这是一个无法商业化的程序)之类的 drama 了。
Marinaaaa
2023-06-14 18:11:19 +08:00
问一下 这样是不是受限于机场的带宽?
比如我机场的带宽只有 10M, 自建的带宽有 100M 。 这样的话,实际上限就是 10M ?
aptupdate
2023-06-14 18:17:53 +08:00
@20210610204811 #84 按照你的例子我这边 warp 节点没问题,但是 warp➡️机场 不通。能截个完整点的例子吗?
storyxc
2023-06-14 18:33:20 +08:00
收藏了 有空学习下
guanzhangzhang
2023-06-14 19:15:48 +08:00
为啥我的 clash 订阅更新的配置文件经常被截断,然后导致配置文件错误起不来
hanguofu
2023-06-14 19:20:43 +08:00
谢谢分享!请问能不能用这种技术访问自己家里的 nas 小主机(没有公网 IP)?
ysicing
2023-06-14 23:18:14 +08:00
vitaminx
2023-06-15 00:25:00 +08:00
哇 一直想这么用,无奈没有搞定后置代理,最后用 Proxifier 转发解决!常常需要调整,很累!
请问 xray 支持 tunnel 功能吗?
clash 的 tunnel 模式可不可以用其他代理客户端做后置代理,实现三重代理:
本地请求 → 代理 1 (由代理客户端 1 指定)→ 代理 2 (由代理客户端 2 指定)→ 代理 3 (由代理客户端 3 指定)→ 目标服务器
eg:Chrome → Shadowrocket → tor → clash → google.com
dogfight
2023-06-15 01:27:29 +08:00
clash 用了一段时间。搞不好 DNS 泄漏,放弃了
1423
2023-06-15 01:35:56 +08:00
几年前就这么玩了。。udp mux + 服务端转发 是现在的方案,一路 0rtt
但很多人连 ttfb 都不会自己测量,还是不科普了
1423
2023-06-15 01:37:42 +08:00
之前有个 rixcloud 体验为什么好,原因之一就是他们国内中转节点跟海外节点是 mux 的
Lightbright
2023-06-15 01:52:00 +08:00
@dogfight 这个问题 clash 认为不是一个问题,哈哈。不过可以通过自己写 script 模式规则来避免泄露
cat9life
2023-06-15 09:50:16 +08:00
@1423 #111 大佬详细说说?
retanoj
2023-06-15 09:59:33 +08:00
@dogfight ipfake 模式 + doh/dot 不可以吗
20210610204811
2023-06-15 10:10:23 +08:00
@aptupdate #104 你把 proxies 跟 rules 去掉,发出来看下。
aptupdate
2023-06-15 10:34:24 +08:00
aptupdate
2023-06-15 10:36:05 +08:00
@20210610204811 #117 主要是这些配置,然后选择 READY BOOST 节点
aptupdate
2023-06-15 10:42:31 +08:00
jianzhao123
2023-06-15 10:43:14 +08:00
这个添加 tunnels 的能不能用 subconverter 自动添加上?找了一下 subconverter 的文档没有发现

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

https://tanronggui.xyz/t/948499

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

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

© 2021 V2EX