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

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

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

41272 次点击
所在节点    分享创造
166 条回复
molezznet
2023-06-25 10:00:28 +08:00
楼主的 relay 原帖和 tunnels 新帖都看了下,终于好了,同样 CF 的 warp+的前置下,tunnels 可以比 relay 平均块一倍,不过我是用 VMess grpc 的

https://img1.imgtp.com/2023/06/25/gh0VUK8B.png

tunnels 配置见 139 楼上贴
relay 方式就是 blog 中的默认
```
- name: ♻️ iRimo Private Relay
type: relay
proxies:
- warp
- vmess-grpc
molezznet
2023-06-25 10:02:48 +08:00
@aptupdate 我是有个 CF warp 的,用的 socks 模式, 会启动一个 socks5 代理的那个模式
Lunser
2023-06-25 14:20:41 +08:00
@jamosLi #51 应该是 excalidraw
jamosLi
2023-06-25 15:40:07 +08:00
@Lunser 感谢
kangkag0231
2023-06-26 19:15:57 +08:00
6666
vruzo
2023-07-03 14:15:31 +08:00
@aptupdate 请问下这个自建节点是什么意思?机场的节点不行吗
ksdd521lr
2023-07-04 12:56:33 +08:00
我的出口也是用的 warp ,开启后用几分钟会断开不知道为什么,断开一会后又会连上,就这样循环。同样的配置使用 wireguard 客户端就不会。有没有了解的前辈解惑下吖
[![8b0d50de88d66ed7f60b36afc7fdd83c.th.png]( https://s1.imgcap.xyz/8b0d50de88d66ed7f60b36afc7fdd83c.th.png)]( https://cap2box.com/i/WdfFi)
gofe2008
2023-07-14 18:57:12 +08:00
@20210610204811 大佬,求个去掉节点信息的完整配置文件。
xzm1006
2023-08-06 11:56:55 +08:00
感谢 OP 主,第一次尝试在自用配置文件加入机场订阅以及 tunnel 配置,如果 tunnel 能支持类似 Group 组选择自建就好了
aaaachen
2023-08-06 12:13:14 +08:00
折腾了半天,还是做不到通过 WARP 落地,搞不懂为什么,有没有大佬看一眼配置文件? https://shorturl.at/jADHX


配置文件调来调去 WARP 都是超时,Clash for Windows 版本是 v0.20.31 ,内核版本是 2023.07.22 Premium (59154)
totoro625
2023-09-17 12:48:25 +08:00
tunnels 非常好用,但是发现了问题:
直接使用二进制文件运行的时候 tunnels 正常工作
通过 shellclash 、clashforAndroid 的时候,tunnels 无法正常工作
studyingss
2023-09-17 14:32:02 +08:00
@totoro625
参见 #95 ,clash for android 很久没有更新了,tunnels 是去年年底加入的特性
totoro625
2023-09-17 16:13:19 +08:00
@studyingss #152 我想说的是通过一些第三方软件启动最新的内核也是不能用 tunnels
官方放出来的二进制包直接命令行运行是支持的,丢入 shellclash 、openclash 等第三方实现,
可能是哪里需要额外设置一下,目前是无法使用的
日志是:error:127.0.0.1:7777 connect error:connect failed:dial tcp 127.0.0.1:7777:connect:connection refused
直接用命令行运行又能直接运行,有时间还得研究一下
Thymolblue
2023-09-18 07:50:15 +08:00
请问 Clash for Android 支持 tunnels 吗。我尝试了一下,发现电脑端能完美运行,但手机端不通。
Thymolblue
2023-09-18 07:52:01 +08:00
抱歉,没有看到上面的评论,看来 CFA 还需要多套一层国内节点。
studyingss
2023-09-18 11:46:55 +08:00
@Thymolblue 有两个选择,要么换成 clash meta for Android ,要么用 relay 。其实 relay 也不错的
mdgwmt0
2023-09-24 17:23:36 +08:00
用了你的配置文件( https://gist.github.com/miaomiaoclub/d59f24ed7d86cc83e757df8353948a11)改成了自己的节点和机场订阅转换,导入 clash 以后,机场节点测速全是超时,不知道哪里出问题了。
Liniretus
2023-09-26 11:45:54 +08:00
@popzuk Clash.Meta 的 Dialer-Proxy 似乎不支持 UDP ,甚至不如 Relay Group

只使用 Tunnels -> clash core/clash premium/clash.meta udp 根据内层协议决定,可以原生 udp 也可以 udp over tcp ,支持 fullcone
只使用 Relay Group --> clash core/clash premium udpblocked ; clash meta udp over tcp (支持 fullcone )
只使用 dialer proxy(clash.meta) --> udpblocked
Liniretus
2023-09-26 12:01:07 +08:00
@popzuk
抱歉,武断下结论了,Dialer Proxy 个人测试完全支持 UDP (还可以 Fullcone )

在 Clash.meta 中用起来体验实际跟 Relay Group 差不多,只是不清楚如何处理 UDP 的。Tunnels 可以原生 UDP ,Relay Group 只能 UDP over TCP ,Dialer Proxy 如何实现我不清楚。
elliothe
2023-10-08 06:03:37 +08:00
配置完成用了很长一段时间,今天开 cloudflare 测试( https://www.cloudflare.com/cdn-cgi/trace )了一下,页面显示 warp=off ,同样在手机上打开,warp=plus ,那说明 pc 上落地并没有用 warp 节点。看 clash 日志,tunnel listening 状态也是正常的,有点奇怪了🤔

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

https://tanronggui.xyz/t/948499

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

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

© 2021 V2EX