翻墙VPN梯子 VPS上的配置文件与节点参数的对应关系 及 VPS内部数据流向 Websocket + TLS 模式 Caddy前置 Caddy去除path
有时候,一键脚本输出的vmess://或vless://链接不能导入翻墙客户端,或者导入后出现问题。有时候,在不同的翻墙客户端之间转移节点时使用链接或二维码出现不能转移或者转移后不能使用。
希望此文能帮肋你理解VPS上的配置文件与节点参数的对应关系,当使用链接或二维码出错时,可以手动填写节点参数。
前提条件
Websocket + TLS 模式
Caddy前置
Caddy解除path
例如:
https://github.com/crazypeace/v2ray_wss
https://github.com/crazypeace/v2ray
https://github.com/233boy/v2ray
梯子用到的配置文件
Caddy配置文件 Caddyfile
v2ray配置文件 config.json
如何找到配置文件
find / -name "文件名"
如:
find / -name "Caddyfile"
如何查看和编辑配置文件
你可以在VPS上使用 cat 查看,使用 vi 或 vim 或 nano 查看和编辑。
如果你觉得以上方法不够方便,或者你很难理解和学习以上方法,你还可以使用Xftp加上Windows的记事本查看和编辑。
翻墙VPN梯子配置文件与节点参数的对应关系
翻墙VPN梯子内部数据流向解释
1. 地址address(1):端口port(2)
翻墙客户端将数据包发往 地址address(1):端口port(2) 即: ciys.ml:443
不考虑CDN的话,ciys.ml就应该解析为我们的VPS的IP,如:12.34.56.78。
即,数据包发往 12.34.56.78:443
Caddyfile配置文件中关键字tls说明是TLS模式,即: 监听端口443
那么,数据包到达VPS并被Caddy接收。
2. TLS验证
数据包到达 Caddy,进行TLS解密,使用你的 域名host(5) 对应的TLS证书/密钥。
3. Websocket path分流
翻墙客户端在构造数据包时填充的Websocket的 路径path(6) 信息 如: /0df7e2ca688b
匹配Caddyfile配置文件中关键字handle_path的值 /0df7e2ca688b,于是Caddy转发(反向代理)到端口 50663
* handle_path 除了判断path的值,还做了一个动作就是在转发(反向代理)时,将path /0df7e2ca688b 去掉了,只剩下 /
4. v2ray接收数据
config.json配置文件inbounds下port关键字的值50663说明v2ray监听端口50663,那么接收到了Caddy转发而来的数据。
5. v2ray解开Websocket
config.json配置文件inbounds下streamSettings下network关键字的值"ws"说明需要解开Websocket
* 因为Caddy已经去除了Websocket的path /0df7e2ca688b 只剩下 / ,所以v2ray的配置文件中没有关于Websocket的path的配置信息。在一些其它脚本的搭建方式下,v2ray是需要处理/验证 Websocket的path的,你会在config.json配置文件中看到对Websocket的path的配置信息。
6. v2ray判断是否是合法的数据包
config.json配置文件inbounds下protocol关键字的值"vless"说明应该收到VLESS数据包。
如果我们用浏览器测试 域名host(5)/路径path(6),那么在这个步骤v2ray发现收到的不是VLESS的数据包,就会返回400 Bad Request 这就是下面这个测试的理论基础。
除了判断是否是VLESS数据包,还要判断UUID是否合法。
* 如果搭建的是Vmess模式,除了UUID还要判断AlterID
翻墙客户端在构造数据时,使用的是 用户ID(3)。与config.json配置文件inbounds下settings下clients下id关键字的值 匹配。
===============
完
===============
后记
结合本文,相信你可以更好的理解 多域名+多路径的v2ray多用户使用方案 和 V2Ray多协议共存
本文主要解释的是在VPS内部的数据流向。从翻墙客户端到VPS之间的数据流向,请见 连接 V2Ray Websocket + TLS 模式的过程
Vmess+Websocket+TLS模式
此评论已被作者删除。
回复删除