序言
关于代理,一直以来分成两派:自建&机场,但是各有优缺点:
自建:保护隐私、可以⾃⼰折腾,但⼀遇到被阻断,就得深夜焦头烂额地换新配置、换 ip 、换端口,或者某天路由变了速度就突然变很慢!
机场:看⽚记录被公开挂出来、访问某网站访问不了。
那么有没有一种可以⼜快⼜稳⼜保护隐私⽆审计的办法呢?
有的!答案就是 Clash Relay Group + Prxoy Provider + LoadBlance/Fallback。
原理
Clash 的 relay 分组会把组内节点串成一个代理链,只需要将机场节点作为前置节点,⾃建节点作为后置节点,相当于只把机场作为跨境隧道,最终落地解密出真实流量的还是我们的⾃建节点。
你的电脑机场⾃建节点交友⽹站
这样⼀来,机场不知道我们实际访问的⽹站,⽽我们的⾃建节点通过机场过境,也不怕被封了!还可以买很便宜的落地机,因为不⽤关⼼线路了!
这样就既能享受机场的便捷、⼜能保护⾃⼰的隐私了!
⾃建节点那边就算服务商有记录、也不知道我们的实际 ip 、只能看到机场的 ip ,
是不是和 iCloud Private Relay ⼀样!那我们就把这种⽅法叫做 iRimo Private Relay 吧!
好!怎么实现呢?
因为有⼈表⽰还是看不懂,所以我正在写⼀个超级简单版教程,请等⼀下下!
⾸先了解⼀下 Clash 的配置⽂件,主要有这么些字段:
proxies:
proxy-providers:
proxy-groups:
rules:
我们主要关注这四个就可以,如果你不知道怎么写其余部分,完整的配置可以去 github 的 wiki ⾥边看,或者直接找⼀份来⾃⼰改,⽐如直接⽤机场的配置⽂件改!
第⼀步,我们要把机场的节点放进去!
随便找⼀个订阅转换的⽹站,⽐如说 sublink.dev ,把订阅链接放进去,客户端选 Clash ,然后点进阶选项,在左下⾓找到“转换为 NodeList”勾选上,最后点⽣成订阅链接。
然后把链接复制出来这样填:
proxy-providers:
jichang:
type: http
path: ./jichang.yaml
url: # ⽣成的订阅链接填在这⾥!
interval: 3600
health-check:
enable: true
url: https://www.gstatic.com/generate_204
# 使⽤https 避免⽆良⽼板伪造延迟!
interval: 300
有些机场有好多地⽅的节点,为了我们⽅便写负载均衡和故障转移,可以把我们⾃建节点所在地区的节点单独过滤出来。
⽐如我⾃建的节点在美国,就像这样写( Clash ⽂档⾥没写这个,独家的!):
美国的节点:
type: file # 这⾥是 file了!因为不需要再从⽹络获取
path: ./jichang.yaml #这⾥路径就填和上⾯⼀样的
filter: “US|美国” #正则表达式
health-check:
enable: true
url: https://www.gstatic.com/generate_204
# 使⽤https 防⽌⽆良⽼板伪造延迟!
interval: 300
最后还需要⽤⼀个分组来包含这些节点,在 groups 下⾯这样写:
proxy-groups:
– name: 机场的分组
type: select
use: # provider 的节点要放在 use 下⾯
– jichang
proxies:
– DIRECT # use 是可以和普通的节点混⽤的!
第⼆步,把我们⾃建的节点放进去
接下来把⾃建节点的配置写到 proxies ⾥⾯,这个就不需要多说了吧。
proxies:
– name: “⾃建的节点”
type: ss
server: server
port: 443
cipher: chacha20-ietf-poly1305
password: “password”
⼩提⽰:因为跨境段是通过机场,所以⾃建节点可以不需要再搞什么 Vmess+websocket+tls了,什么混淆啊伪装啊统统丢掉,直接原版 SS 就够了!
最后⼀步!编写 Relay Group !
终于来了!
其实铺垫了这么多,我们只需要把 group 的 type 写成 relay ,然后把机场分组和⾃建节点放进去就可以了!(注意有先后顺序的!)
– name: Relay
type: relay
proxies:
– 机场的分组 #写机场分组的名字
– ⾃建的节点
(如果是第⼀次接触 Clash ,有同学可能想问:那我怎么样让流量⾛这⾥呢?这是 rule 控制的,例如在 rule ⾥写 DOMAIN,google.com,Relay ,google 就会⾛这个代理分组了。不过这个不是本篇的重点,看⽂档就好! https://lancellc.gitbook.io/clash/clash-config-file/rules )
当然可能还有同学想问,那我偶尔想直连⾃建节点,或者只⽤机场怎么办?
这个问题有两个解决办法:
1 、Clash 的 group 是可以嵌套的(除了relay group⾥⾯不能套 relay group )。
2 、relay group 中 DIRECT 节点就相当于跳过这个节点。
还要更稳定!
Clash 还有三种分组:负载均衡、故障转移、⾃动选择
负载均衡:随机使⽤组内的节点。
故障转移:定时测试节点的连通性,当当前节点不通的时候就会⾃动切到可⽤的节点。
⾃动选择:定时切换到延迟最低的节点。
众所周知,这种⾃动切换的功能都会带来⼀个问题:在⽹站看来你的 ip 在不断变化,于是让你重新登陆 /怀疑你是机器⼈。
但!
我们现在使⽤的是链式代理,这个问题⾃动被解决了!我们随便换前置!⼀秒换⼀个都可以!
proxy-groups:
– name: “最低延迟”
type: url-test
use:
– 美国的节点 #我们前⾯过滤出来的!忘记了就滑上去看!
url: ‘https://www.gstatic.com/generate_204’
interval: 300
tolerance: 50 #延迟相差 50ms 以内就不⽤切换
– name: Relay
type: relay
proxies:
– 最低延迟
– ⾃建的节点
或者负载均衡:
proxy-groups:
– name: “随机选!”
type: load-balance
use:
– 美国的节点
url: ‘http://www.gstatic.com/generate_204’
interval: 300
#lazy: true
#disable-udp: true
strategy: round-robin #作为前置节点⽤这个⽐较好
– name: Relay
type: relay
proxies:
– 随机选!
– ⾃建的节点
还可以买好多个机场来做故障转移 balabala……,唔,再说下去就没意思了,⼤家都是很厉害的⼈,肯定能想到的!
结尾
其实已经看到很多人这样用了,但一直没有一个完整的体系化的教程,也没有把负载均衡和故障转移这些分组和 relay 结合起来,所以就写了这个帖子,⼀共花了两个⼩时!希望能帮到你们!
辽宁省网友说:前排广告位出租…
吉林省网友说:支持
云南省网友说:原理都还没写完?
福建省网友说:看不懂,太复杂了,大佬上
海南省网友说:感谢大佬分享
收藏了
黑龙江省网友说:技术好文
感谢分享
河南省网友说:绑定
河南省网友说:非常感谢。适合我这样的小白学习。
浙江省网友说:大佬,我没有看完你的教程,有一个疑问,都自建了,为什么还要用机场的? 我可以理解为有钱任性吗?
安徽省网友说:好思路,就是要出两份钱
广东省网友说:写得非常的乱,看的头疼
江苏省网友说:建议出一个一键脚本 我只要输入机场订阅和自建节点的信息 就可以自动生成一个配置文件 我直接导入clash就可以用了
青海省网友说:看不懂,希望有大佬上后再简单分享
陕西省网友说:不懂帮顶
感谢分享,论坛有你更精彩
贵州省网友说:建议代码部分用代码框包起来 或者直接 发markdown
贵州省网友说:”你的电脑机场⾃建节点交友⽹站
这样⼀来,机场不知道我们实际访问的⽹站”
想请教一下 楼主是怎么知道机场不知道客户端访问的是什么呀?我并没有在配置文档中看到较为详细的说明 也没有那个能力去读懂代码
广东省网友说:有点意思,帮顶了
四川省网友说:技术帖 帮顶一下
很早前用过 个人建议是能自建就自建
辽宁省网友说:收藏了,来个超级便宜鸡场吧
江西省网友说:有没有一键脚本
安徽省网友说:woc,我之前就想过能不能这样,还真有现成的方案啊
海南省网友说:牛,大佬