链式代理优化代理速度
2023-11-28 04:06:36

本文链接:https://blog.tanglu.me/chains-proxies

更新:

2023.05.27 增加 ‘使用鸡场动态订阅加速自建节点’

前言

链式代理可以实现通过机场节点来优化线路差的代理,类似于中转机,相当于为落地鸡提供前置代理

支持socks http vmess vless trojan Shadowsocks主流代理协议

链式代理无需更改服务端配置,只需要在客户端进行配置即可

演示

本文以clash演示,v2rayN可以参考官方文档

clash relay:Configuration Reference | Clash)

v2rayN:代理转发 | 新 V2Ray 白话文指南 (v2fly.org)

可以看到有两个代理 “az_hk1”和”ddp-us”,假设我落地鸡为”ddp-us”(IP干净,但是线路不好移动丢包率达到一半以上),”az_hk1”为公益不限速节点 但是万人骑

7890
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
proxies:
- name: az_hk1
server: gddx.fosi.hk
port: "22220"
type: vmess
uuid: 9354294e-6741-4c40-d7aa-e23acc57d0e8
alterId: 0
cipher: auto
tls: false
skip-cert-verify: false
network: ws
ws-opts:
path: /
- name: ddp-us
server: ahhfb.fosi.hk
port: "22211"
type: vmess
uuid: 7a94cf94-cdb6-4114-cb82-06721845cc3a
alterId: 0
cipher: auto
tls: false
skip-cert-verify: false
network: ws
ws-opts:
path: /

proxy-groups:
- name: 🚀 节点选择
type: select
proxies:
- ♻️ 自动选择
- DIRECT
- az_hk1
- ddp-us

“proxy-groups”更改为如下配置即可通过az-hk1加速ddp-us,链式代理网络为:大陆境内客户端>>az-hk1>>ddp-us

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
proxy-groups:

- name: "az2ddp"
type: relay
proxies:
- az_hk1
- ddp-us
- name: 🚀 节点选择
type: select
proxies:
- ♻️ 自动选择
- DIRECT
- az_hk1
- ddp-us
- az2ddp

过程:数据包先通过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 这个节点即可使用

image

image

image
image

image

注意:

机场为了避免节点机吃投诉等滥用,一般会用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的我想应该都可以使用

上一页
2023-11-28 04:06:36
下一页