更新:
2023.05.27 增加 ‘使用鸡场动态订阅加速自建节点’
前言
链式代理可以实现通过机场节点来优化线路差的代理,类似于中转机,相当于为落地鸡提供前置代理
支持socks
http
vmess
vless
trojan
Shadowsocks
主流代理协议
链式代理无需更改服务端配置,只需要在客户端进行配置即可
演示
本文以clash演示,v2rayN可以参考官方文档
clash relay:Configuration Reference | Clash)
可以看到有两个代理 “az_hk1”和”ddp-us”,假设我落地鸡为”ddp-us”(IP干净,但是线路不好移动丢包率达到一半以上),”az_hk1”为公益不限速节点 但是万人骑
1 | socks-port: 7891 |
“proxy-groups”更改为如下配置即可通过az-hk1加速ddp-us,链式代理网络为:大陆境内客户端>>az-hk1>>ddp-us
1 | proxy-groups: |
过程:数据包先通过ddp-vmess协议加密再经过azhk-vmess协议加密,加密后的双重vmess数据包发送到公益节点服务器az-hk1 服务器将最外层vmess解密后的数据包发送到ddp落地机,ddp将vmess解密
单独使用公益节点是否可以查看隐私数据?
答:访问https站点服务器可以看到你访问的网站域名,但不知道其他信息;访问http未加密站点,服务器可以看到全部隐私数据
使用链式代理时 公益节点是否可以查看隐私数据?
答:取决于你的其他代理协议是否为明文,例如如果ddp-us为http代理(明文),则可以看到
只要不是明文协议,公益节点都不会看到数据,只有落地机可以看到你访问的网站
落地鸡是否会被防火墙封锁?
一般中转节点在境外,被封锁也是中转节点。中转节点与落地鸡交互并不经过防火墙(中转节点在国内的除外)
动态节点配置
上节内容已经可以实现加速效果,但通常情况下 作为中转用途的加速节点往往是动态的机场节点,落地节点一般是我们自己建的静态节点。
这里会有一个问题就是:机场节点的配置往往是经常变动的,比如上午我们下载的机场配置文件中某个节点是1479端口 中午这个端口被墙了,这时机场主会将端口改为14799 ,而你的配置却仍然是1479这个端口,这时就需要手动在配置文件中将端口更改为14799,或者更新订阅链接然后重新配置落地鸡创建链式代理
参考了 这篇文章 后,我才知道clash对这种情况有解决办法的,即可以直接relay链式代理模式嵌套 自动选择
自动选择是clash最常见的一种规则,小白一般都选这个,因为自动选择会默认每5分钟测试所有节点的延时,选择延时最低的节点,这样基本就可以保证任何时候都可以正常使用。当然坏处就是节点IP可能经常变化。
我们将自动选择用于链式代理 线路就变为 :用户的电脑
> 延时最低的节点
> 自建的静态节点
> 目标网站
,这样就不用每次手动配置了 非常的方便
教程:
这里我以机场订阅和我自己的一个静态socks代理为例,给出一份最简化的配置
你只需要打开clash客户端,在订阅文件中(profiles)中粘贴这个示例文件链接 https://file.1323123.xyz/relay-demo.yaml 然后下载(记得关闭自动更新 不然你自己修改的配置会丢失)
再修改图片红框标记的三个部分即可,修改好保存
在clash面板 profies
中选择 手动选择
中 jichang2zijian
这个节点即可使用
注意:
机场为了避免节点机吃投诉等滥用,一般会用iptables封禁出站数据包的目的端口
比如封禁 21 22 53 3389 10000+的高位端口等,甚至一些机场只允许出站数据包的目标端口为80 443,其他端口全部屏蔽
此时如果你的IP正好处在这些端口,那么数据包在节点服务器出站到落地时,iptables会拦截这些数据包,所以推荐自建节点的端口为低位端口 比如1000-2000之间 也可以用 80、443端口大部分是可以的,不要选用 22 3389这些搞破坏的端口
杂谈
不成功可能会有以下几个原因:
节点是无效的,即节点不通
未选中订阅文件,选中状态左边的边框是绿色的
延时太高导致clash判断为超时,因为clash默认是3000ms以上为超时,链式代理经过多层中转很容易超出这一限制 造成误判,可以在 clash客户端 >> setting >> proxies >>Latency Test Timeout 处将默认的3000ms更改为30000ms
部分机场节点会封禁出站数据的目标端口,此时如果自建节点的端口可能在封禁端口中
机场的URL是加密的,需要通过订阅转换等方式转成明文yaml配置( https://img.tanglu.me/2023/11/14/j3swr7.webp )
clash的测速是测试延迟,这注定了一些延时大的中转节点永远不会被选中,即 动态节点配置 中选择的节点基本肯定全为亚洲节点,想自定义节点(比如挑选出美国节点)就需要用到clash中的 filter
字段自定义选择某些节点形成一个代理组,具体可以参考:add filter in proxy provider · Pull Request #1511
软路由的openclash也可以用,只要是clash客户端或基于clash的我想应该都可以使用