⽤Clash relay拯救被封⼩鸡

原文链接:https://hostloc.com/forum.php?mod=viewthread&tid=1097176

作者:sakichenan

序言

关于代理,一直以来分成两派:自建&机场,但是各有优缺点:

自建:保护隐私、可以⾃⼰折腾,但⼀遇到被阻断,就得深夜焦头烂额地换新配置、换 ip 、换端口,或者某天路由变了速度就突然变很慢!

机场:看⽚记录被公开挂出来、访问某网站访问不了。

那么有没有一种可以⼜快⼜稳⼜保护隐私⽆审计的办法呢?

有的!答案就是 Clash Relay Group + Prxoy Provider + LoadBlance/Fallback。

因为不知道为什么我传不上图,所以借⽤⼀下这个⽤了relay的帖⼦⾥的测速图!

Clash relay 拯救被封⼩鸡原理

Clash 的 relay 分组会把组内节点串成一个代理链,只需要将机场节点作为前置节点,⾃建节点作为后置节点,相当于只把机场作为跨境隧道,最终落地解密出真实流量的还是我们的⾃建节点。

你的电脑<->机场<->⾃建节点<->交友⽹站

这样⼀来,机场不知道我们实际访问的⽹站,⽽我们的⾃建节点通过机场过境,也不怕被封了!
还可以购买很便宜的落地机,因为不⽤关⼼线路了!

这样就既能享受机场的便捷、⼜能保护⾃⼰的隐私了!

⾃建节点那边就算服务商有记录、也不知道我们的实际 ip 、只能看到机场的 ip ,

是不是和 iCloud Private Relay ⼀样厉害!那我们就把这种⽅法叫做 iRimo Private Relay 吧!

好!怎么实现呢?

Clash relay 拯救被封⼩鸡教程

超级简洁版教程

我准备了⼀份写好的配置⽂件:https://gist.github.com/miaomiaoclub/6947f7cb93846301f1658da0edcd61bf

下载下来、把机场节点塞进去、把⾃建节点塞进去就可以⽤了!

随便找⼀个订阅转换的⽹站,⽐如说 sublink.dev ,把订阅链接放进去,客户端选 Clash ,然后点进阶选项,在左下⾓找到“转换为 NodeList”勾选上,最后点⽣成订阅链接,复制粘贴到第 19 ⾏。

然后在第 7 ⾏的 proxies 下⾯填上你⾃建的节点(不要改- name: “你的⾃建节点” 这⼀⾏!如果改了的话要把第36⾏也改成新名字!)

最后把改好的配置⽂件导⼊Clash就可以⽤了!

完整版教程

⾸先了解⼀下 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 结合起来,所以就写了这个帖子,⼀共花了两个⼩时,但是因为⼀直被猫猫骚扰所以⽤了⼀天才写完!希望能帮到你们!

回复⾥⼤家提了很多问题!但 Knna 酱⼜在催我陪她了,所以今天先不写 QA 了!你们这么聪明⼀定可以⾃⼰想到答案!

疑问解答

速度和延迟爆炸,还出两份钱,是不是傻?

请参考:
https://hostloc.com/forum.php?mod=viewthread&tid=1096161
https://hostloc.com/forum.php?mod=viewthread&tid=986143

我想了下,总结了几点:
1、能避免自己的小鸡被墙

对!

2、机场太多人用了会造成运算拥堵,把它作为中转,流量的解密放在自己的小小鸡上,能大大提高效率

错!机场依然需要解密流量,但解密出来的流量还是是加密的,我们的⾃建节点会做第⼆次解密!
这也是为什么这个⽅案可以保护隐私,因为机场看到的是Shadowsocks/Vmess的加密流量!

3、机场和小鸡都必须要稳定,两者缺一都会造成稳定性问题,好在机场能自动筛选最低延迟,小鸡的话尽可能买好的线路

4、这样就造成了小鸡必须高贵,且流量要多

错!⽤了这个⽅案就不⽤关⼼服务器的线路了!三⽹优化什么的统统忘掉!
机场好坏也⽆所谓,因为做了故障转移和负载均衡!

5、能避免谷歌验证码
6、能长期保持访问的ip是固定的,不会乱跳

对!因为⽹站看到的ip只有你⼀个⼈⽤!⾮常⼲净!

好啦!今天的问答环节就到这⾥!

其他

补充一个v2ray的同类方案:https://hostloc.com/forum.php?mod=viewthread&tid=986143

《⽤Clash relay拯救被封⼩鸡》上有5条评论

  1. 有意思,自己搭建个isp级别的ip但是被墙了没法直连,这个方法就可以套层代理使用它了而不需要两个代理软件实现了/强

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注