- 项目地址:https://github.com/netchx/netch
基于UDP over TCP的实现主要方案为nginx + tls + websocks + vmess,整个连接过程如下图所示

环境概述:
- 服务端已配置好标准https站点(nginx接入,端口为标准443,证书正常未过期)
- 服务端配置v2ray,使用vmess协议,其默认支持UDP over TCP方案
- 客户端使用v2rayN,在本地电脑打开socks代理,供浏览器等使用
- 客户端使用SStap,连接v2rayN开在本地的socks代理,在网络层添加虚拟网卡,供所有联网程序使用
服务端:搭建标准https站点买域名、买VPS这些过程就不赘述了,主要说明标准https站点的作用是防止流量特征被探测,因为对防火墙来说这就是普通的浏览网站的流量,我们的代理程序藏在https后也会被认为是https流量,每天从防火墙经过的https流量是海量的,所以很安全 。
站点使用nginx搭建,证书使用certbot-nginx自动添加免费证书(三个月过期一次)
安装过程不赘述,认证的时候使用如下命令根据提示完成域名认证即可
/usr/bin/certbot --nginx --register-unsafely-without-email主要说一下nginx的配置,需要将指定路径下的流量转发给v2ray,此处以/ray为例,这个路径是随机的,保持客户端和服务端配置一致即可erver {listen443 ssl;ssl on;ssl_certificate/etc/v2ray/v2ray.crt;ssl_certificate_key/etc/v2ray/v2ray.key;ssl_protocolsTLSv1 TLSv1.1 TLSv1.2;ssl_ciphersHIGH:!aNULL:!MD5;server_namemydomain.me;# 与 V2Ray 配置中的 path 保持一致location /ray {proxy_redirect off;#假设WebSocket监听在环回地址的10000端口上proxy_pass http://127.0.0.1:10000;# 升级websocketproxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $http_host;# Show realip in v2ray access.logproxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}服务端:配置Vmessv2ray配置主要参考:https://toutyrater.github.io/advanced/wss_and_web.html下载v2ray程序后使用如下配置启动:v2ray -config /path/to/config.json
- 入站流量:即为Nginx转发过来的流量,此时TLS证书已在Nginx卸载,得到的是明文数据,注意路径/ray要和nginx对应
- 出站流量:出站不设限制
{"inbounds": [{"port": 10000,"listen":"127.0.0.1",//只监听 127.0.0.1,避免除本机外的机器探测到开放了 10000 端口"protocol": "vmess","settings": {"clients": [{"id": "b831381d-6324-4d53-ad4f-8cda48b30811","alterId": 64}]},"streamSettings": {"network": "ws","wsSettings": {"path": "/ray"}}}],"outbounds": [{"protocol": "freedom","settings": {}}]}此时,如果访问https://mydomain.me/ray得到一个Bad Request说明服务端成功客户端:配置v2rayN
- https://github.com/2dust/v2rayN/releases
客户端配置
- 入站流量:监听本地1080端口,所有使用该端口的流量都转发给outbounds
- 出站流量:以https的形式转发给上文配置的服务端,注意路径/ray需和上文一致
{"inbounds": [{"port": 10808,"listen": "127.0.0.1","protocol": "socks","sniffing": {"enabled": true,"destOverride": ["http", "tls"]},"settings": {"auth": "noauth","udp": false}}],"outbounds": [{"protocol": "vmess","settings": {"vnext": [{"address": "mydomain.me","port": 443,"users": [{"id": "b831381d-6324-4d53-ad4f-8cda48b30811","alterId": 64}]}]},"streamSettings": {"network": "ws","security": "tls","wsSettings": {"path": "/ray"}}}]}
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 渡神纪芬尼斯崛起键位怎么操作 渡神纪游戏键位分布一览
- 适合玩游戏的台式机配置推荐 专门打游戏的台式电脑
- 游戏笔记本推荐性价比高,2022最值得入手的游戏本
- 压力被子助睡眠原理?
- 怎样用指令获得击退1000的钻石剑 游戏攻略教程
- 常吃哪些食物,会加速脑梗的发生?
- 灭蚊拍好用吗?是什么原理?
- Epic:积压订单处理完毕,之前没收到的游戏现已入库
- 天玑9000威胁较大,消息称高通在台积电投片的4nm骁龙8Gen2已加速推进
- 快手小游戏聊天室怎么放歌 快手聊天室放音乐
