×

1键4节点-自动化搭建WSS、HTTPS代理节点

hqy hqy 发表于2024-12-03 17:21:26 浏览6 评论0

抢沙发发表评论

1键4节点-自动化搭建WSS、HTTPS代理节点

WebSocket协议是html5的一种通信协议,该协议兼容我们常用的浏览器。例如Chrome、 Firefox、IE等。WebSocket可以使客户端和服务端双向数据传输更加简单快捷,并且在TCP连接进行一次握手后,就可以持久性连接,同时允许服务端对客户端推送数据,WebSocket协议不仅可以实时通讯,支持扩展;也可以压缩节省服务器资源和带宽。

WSS就是Websocket Secure的缩写,WS协议和WSS协议两个均是WebSocket协议的scheme,WS是非安全的,WSS是安全的,就好比HTTP协议和HTTPS协议的差别,服务器网址可以直接作为Websocket  URL。WS/WSS协议的特点是建立在TCP协议之上,与HTTP(S)协议有良好的兼容性、通用性,握手时不易被屏蔽,数据相对轻量,实时通讯,且不限制同源,客户端可以与任意服务器端进行通讯。本文即使用自用一键脚本在一台VPS上搭建多个WSS协议代理节点,可用于流量代理与测试。

1.先决条件

要搭建代理节点仅需要一台VPS。没有的可参考以下博文及相应视频分享开通一台免费的VPS,Azure B1S、AWS EC2等均可。搭建WSS代理节点,一般不会收到大厂风控警示,也不会触发运营商流控策略。

老E也会陆续提供Hysteria2和Naivyprxoy的自用脚本,但相对WSS(无论用什么工具搭建),都更为复杂,除了Hysteria/Hysteria2短时间内所带来的传输速度上的提升,对于普通用户并不会有全面的直观体验升级,在VPS服务商、运营商层面的风险则显著增加。

2.脚本下载

本文使用的自用脚本使用了开源的gost和wstunnel最新版本,IPv6优先,在VPS未配置IPv6或IPv6地址无效(无法连通)的情况下会自动切换为IPv4代理节点的搭建。有关gost、wstunnel等工具的介绍laoE在前期视频分享及博文中已作介绍,不再重复。除基本的wss隧道外,两者目前都支持基于TCP、UDP、socks5的反向代理,需要了解工具详细信息的可自行至以下项目主页查阅。

https://github.com/go-gost/gost
https://github.com/erebe/wstunnel

脚本可直接在本站首页顶部点击『工具下载』处下载。也可以直接登录VPS后拷贝运行如下指令下载并运行。

curl -sSL https://appscross.com/as-tools/pub%20Tools/wssproxy/wssproxy.sh -o wssproxy.sh && bash wssproxy.sh

3.安装WSS代理节点

下载完成后,可以修改权限为755直接运行,或通过bash解释调用。WSS自动化安装管理脚本默认IPv6优先,如果VPS没有配置IPv6或IPv6地址无法连通的情况下,脚本会自动切换为IPv4。整个安装过程完全自动化,用于安全验证的随机UUID可进行查阅。

仅需注意一点是,UUID在脚本中为自动生成,可通过脚本首页界面的『查看WSS代理服务信息』,在分别按照gost和wstunnel显示信息的最后行,为客户端使用的命令,其中包括了随机UUID。随机UUID作为安全验证的重要环节,gost、wstunnel中均为路径参数,其中wstunnel是通过upgrade header实现的,配合前置代理分流,可以实现回落、防探测等功能,而且并不需要作TCP层的Upstream定义。

如果前置nginx,可以在充当代理的vhost(server)nginx配置文件定义中添加以下内容,如图所示。需要特别提示的是,一个接口的端口(TCP4或TCP6)只能用于一项服务的监听,nginx使用TCP4 443,wss代理如果也希望使用443端口,那么就只能使用TCP6的443端口,不能重复使用TCP4 443。端口复用也不可能做到两项服务同时在同一接口监听同一端口。

结合上图,注意以下几点即可:

  • location之后标识路径(path)的不包括“/”的字符串就是脚本生成的UUID

  • proxy_pass反向代理本机的端口号就是基本安装、启动的WSS代理监听端口

  • proxy_pass反向代理采用的要和后端匹配,ws<->http,wss<->https

  • 上述WSS代理监听端口无需额外配置安全组、列表或防火墙

  • 代理客户端连接nginx server块中定义的vhost监听端口(例如443)

4.标准的HTTPS代理节点

尽管WS不等于HTTP、WSS也不等于HTTPS,但采用老E的自用脚本搭建的WSS节点,结合nginx的微小配置,就化身为一个标准的HTTPS代理机场。无论在桌面端还是移动端,几乎所有比较流行的代理客户端工具都是支持HTTPS协议节点的。这里仅以nginx为例,关闭安全组/列表的代理服务监听端口,直接拷贝以下代码至网站配置文件server块内,由nginx反向代理本机WSS节点服务,重启后即可连接https节点。

location /<your-uuid> {
    proxy_pass https://127.0.0.1:<port>;
    #proxy_pass https://[::1]:<port>;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
}

同时,如果要保障灵活性,可以配置VPS安全组/列表放行WSS/WS端口,从而使得客户端可以选择连接后端的WSS或前置的HTTPS节点,通过脚本一键安装部署完成后,IPv4/6双栈应用可以实现1台VPS上的4个WSS代理节点。


打赏

本文链接:https://www.kinber.cn/post/4022.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客