链式代理不成功时,在VPS上配置二级代理来实现TT和GV的保号
解决 V2RayN/Xray 链式代理在安卓/PC端失效问题 (通过二级代理实现Google Voice/Talkatone保号)
本教程将详细介绍如何通过在VPS上配置一个二级代理,来解决V2RayN或Xray在安卓和PC端使用链式代理时可能出现的问题,尤其适用于需要特定IP地址(如美国IP)来保号Google Voice或Talkatone的用户。
目录
- 问题背景
- 解决方案概览
- 前提条件
- 步骤一:在X-UI面板上创建Shadowsocks入站(二级代理)
- 步骤二:在V2RayN客户端测试Shadowsocks直连节点
- 步骤三:修改Xray核心配置文件(配置链式代理逻辑)
- 步骤四:验证链式代理是否成功
- 重要提示与注意事项
1. 问题背景
部分用户在使用V2RayN或Xray的链式代理功能时,发现其在Windows PC和安卓手机上表现不稳定,甚至出现连接失败或延时很高的情况。同样的链式代理配置在iOS平台的“小火箭”等客户端上却能正常工作。这主要是由于不同客户端底层实现原理的差异。对于需要固定美国IP来保号Google Voice或Talkatone的用户来说,这种不稳定性会造成很大困扰。
2. 解决方案概览
- 在VPS上,创建一个Shadowsocks协议的入站节点,作为二级代理。
- 通过修改Xray/V2Ray核心配置文件,将Xray/V2Ray服务器本身配置成一个链式代理的跳板。它将接收来自客户端(PC/安卓)的连接,然后通过先前配置的链式代理的落地IP(例如美国的IP)进行转发。
简而言之,PC/安卓客户端不再直接尝试建立复杂的链式代理连接,而是先通过一个简单的Shadowsocks直连到VPS,然后由VPS内部的Xray/V2Ray服务负责完成链式代理的第二跳,从而绕过客户端对链式代理兼容性的限制。
3. 前提条件
- 已有一个VPS,并已安装好X-UI(或V2Ray/Xray)。
- 已有一个可用的链式代理节点信息(前置代理+落地IP信息),且**落地IP(如美国的IP)**是关键。
- 电脑上安装V2RayN客户端(或安卓上的V2RayNG等客户端)。
4. 步骤一:在X-UI面板上创建Shadowsocks入站(二级代理)
- 登录X-UI面板。
- 点击左侧导航栏的“入站列表”(Inbound List)。
- 点击页面上的“+添加入站”(Add Inbound)按钮。
- 在弹出的窗口中填写以下信息:
- 备注(Alias): 填写名称。
- 协议(Protocol): 选择
shadowsocks
。 - 端口(Port): 填写一个未被占用的端口号,例如
48766
(确保该端口在VPS防火墙已开放)。 - 客户端(Client):
- 加密(Encryption): 选择
AES-128-GCM
(或AES-256-GCM
推荐这两种)。 - 密码(Password): 点击右侧的刷新按钮生成一个强密码,并复制保存下来,后续配置会用到。
- 网络(Network): 选择
tcp,udp
。
- 加密(Encryption): 选择
- 其他设置保持默认即可。
- 点击“创建”按钮保存。
- 创建成功后,复制新创建的Shadowsocks节点的链接。
5. 步骤二:在V2RayN客户端测试Shadowsocks直连节点
- 打开V2RayN客户端。
- 点击左上角菜单栏的从剪贴板导入批量URL。
- 测试服务器真连接延迟。
- 将该Shadowsocks节点设为活动服务器。
- 打开浏览器访问
https://ip.sb
,验证当前的IP地址是否是VPS的真实IP地址。
6. 步骤三:修改Xray核心配置文件(配置链式代理逻辑)
这一步是核心,需要修改Xray服务在VPS上的配置文件,让它接收来自XrayN的Shadowsocks直连,然后通过Google Voice/Talkatone保号所需的特定落地IP进行转发。
在X-UI面板,点击左侧导航栏的“Xray设置”(Xray Settings)。
点击顶部的“高级配置”(Advanced Configuration)选项卡。
根据以下提供的JSON片段,修改复制的Xray核心配置文件:
添加Shadowsocks入站(接收来自V2RayN的流量)
将以下内容粘贴到配置文件中inbounds: [
数组的最前面,紧接在[
后面。注意,如果inbounds
数组中有其他节点,新粘贴的块后面需要加一个逗号,
。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18{
"tag": "proxy", // 标识符,后续路由规则会用到
"port": 48766, // 与步骤一Shadowsocks入站的端口号保持一致
"listen": "0.0.0.0",
"protocol": "shadowsocks",
"settings": {
"method": "aes-128-gcm", // 与步骤一Shadowsocks入站的加密方式保持一致
"password": "你之前复制的Shadowsocks密码" // 与步骤一Shadowsocks入站的密码保持一致
},
"network": "tcp,udp",
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls"
]
}
},添加 Socks 出站(指向Google Voice/Talkatone保号所需的落地IP)
将以下内容粘贴到配置文件中outbounds: [
数组的最前面,紧接在[
后面。注意,如果outbounds
数组中有其他出站,新粘贴的块后面需要加一个逗号,
。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24{
"tag": "zhuzai_proxy_1", // 标识符,后续路由规则会用到
"protocol": "socks",
"settings": {
"servers": [
{
"address": "gate-hk.kookeey.info", // 落地IP地址(如美国IP),这里用作示例
"port": 1000, // 落地IP的端口
"users": [
{
"user": "8A957B2-0F69c10f", // 落地IP的用户名
"pass": "251a9afe-US_California-21521435" // 落地IP的密码
}
]
}
]
},
"healthCheck": { // 健康检查(可选,但推荐)
"enable": true,
"interval": "10s",
"timeout": "5s",
"url": "https://www.google.com/generate_204"
}
},重要提示: 请确保该块与下一个出站配置之间有逗号分隔。
添加路由规则(将Shadowsocks入站流量转发到Socks出站)
将以下内容粘贴到配置文件中routing: { "rules": [
数组的最前面,紧接在[
后面。注意,如果rules
数组中有其他规则,新粘贴的块后面需要加一个逗号,
。1
2
3
4
5
6
7
8{
"type": "field",
"inboundTag": [
"proxy" // 匹配前面Shadowsocks入站的tag
],
"outboundTag": "zhuzai_proxy_1", // 转发到前面Socks出站的tag
"type": "field"
},重要提示:
inboundTag
必须与Shadowsocks入站中设置的tag
("proxy"
) 一致。outboundTag
必须与Socks出站中设置的tag
("zhuzai_proxy_1"
) 一致。粘贴后,请确保该块与下一个路由规则之间有逗号分隔。
保存并重启Xray服务:
7. 步骤四:验证链式代理是否成功
- 在V2RayN客户端中,将活动服务器切换回最初使用的那个链式代理节点。
- 右键点击该链式代理节点,选择“测试服务器真连接延迟”。如果现在显示一个正常的延迟,而不是
-1
,说明链式代理已生效。 - 打开浏览器访问
https://ip.sb
。 - 验证当前显示的IP地址是否是Xray核心配置中指定的Google Voice/Talkatone保号所需的落地IP地址
如果IP地址和延迟都符合预期,链式代理问题已成功解决!现在可以使用这个链式代理来保号Google Voice或Talkatone了。
8. 重要提示与注意事项
- JSON格式严格: JSON配置对格式(特别是逗号、引号和花括号)非常敏感。任何小的错误都可能导致Xray启动失败。请仔细检查每个逗号的位置,确保它们位于数组元素之间,而不是最后一个元素之后。
- 端口开放: 确保VPS的防火墙中开放了Shadowsocks入站端口(例如
48766
)。 - Tag名称一致性: 在配置过程中,
tag
(标识符)的名称非常重要,需要确保在入站、出站和路由规则中引用时保持一致。 - 客户端差异: 这种二级代理的配置方法,是专门为解决V2RayN/Xray在Windows/安卓客户端上链式代理不兼容问题而设计的。