×

一款简单到爆的Websocket VPN隧道工具

hqy hqy 发表于2024-12-03 18:38:41 浏览7 评论0

抢沙发发表评论

wstunnel是一款简单到爆、让人不禁说“卧槽”的隧道/代理工具,简单到一时不知道如何写这篇博文,其github项目主页如下。

https://github.com/erebe/wstunnel

github项目主页中,作者提供了包括Windows、Linux以及MacOS平台amd64和aarch64架构的『二进制预编译文件』,直接下载对应版本运行即可。

1.下载与运行

在Linux服务端,直接下载、解压、赋权。压缩包需要解压,未安装unzip的需要在解压前安装一下,同时检查端口占用情况。

wget https://github.com/erebe/wstunnel/releases/download/v6.0/wstunnel-linux-x64.zip
#apt install unzip -y  
#CentOS仅包管理器不同,可使用yum install unzip
unzip wstunnel-linux-x64.zip && chmod 755 wstunnel && rm -f wstunnel-linux-x64.zip

完成上述操作后,使用如下命令运行wstunnel,示例为采用wss协议(Secure Websocket、Websocket over TLS),监听本机所有接口的6789端口。当然,wstunnel是可以使用ws协议的,即不使用TLS加密。

./wstunnel --server wss://0.0.0.0:6789

在客户端,下载对应平台的release压缩包,解压、赋权后直接运行以下命令,其含义为通过wss连接服务端的6789端口,在本地所有接口监听并在指定的socks5_port端口暴露socks5服务。

./wstunnel -D 0.0.0.0:<socks5_port> wss://<a.b.c.d>:6789

此时,在浏览器中,可以通过SwithyOmega或其他任何同类插件,修改代理服务器即可。代理协议为socks5、代理IP为安装wstunnel客户端的主机IP、代理端口为暴露的socks5_port端口。

wstunnel的命令行参数不多,主要是针对客户端的定义,可以通过wstunnel -h查阅。

root@ip-172-31-24-212:~# ./wstunnel
Use the websockets protocol to tunnel {TCP,UDP} traffic
wsTunnelClient <---> wsTunnelServer <---> RemoteHost
Use secure connection (wss://) to bypass proxies
Version: 6.0

wstunnel [OPTIONS] ws[s]://wstunnelServer[:port]

Client options:
  -L --localToRemote=[BIND:]PORT:HOST:PORT      Listen on local and forwards
                                                traffic from remote. Can be
                                                used multiple time
  -D --dynamicToRemote=[BIND:]PORT              Listen on local and
                                                dynamically (with socks5 proxy)
                                                forwards traffic from remote
  -u --udp                                      forward UDP traffic instead
 ... ...

2.Systemd描述文件样例

wstunnel简单到爆,但前台运行的方式很不优雅,所以还是通过systemd来进行管理。Systemd描述文件一般创建、放置于/etc/systemd/system/下,可使用如下命令。

nano /etc/systemd/system/wstunnel.service

描述文件样例中,尖括号包裹的内容是需要结合自身情况加以替换的。

[Unit]
Description = wstunnel is a tunnel tool that's so simple that you say WOCAO
After = network.target

[Service]
Type=simple
ExecStart = /<path-to-wstunnel>/wstunnel --server wss://0.0.0.0:<port>
Restart = on-failure

[Install]
WantedBy = multi-user.target

描述文件创建、编辑之后,使用如下命令加载服务文件、启动服务及设置开机自启动。

systemctl daemon-reload
systemctl start wstunnel
systemctl enable wstunnel


打赏

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

分享到:


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

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客