Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
wa-tunnel — 通过WhatsApp隧道传输互联网流量 | Kitploit
工具/GitHubGitHub/aleixrodriala/wa-tunnel
网络安全学习与教育红队
GitHubaleixrodriala/wa-tunnel

wa-tunnel

通过WhatsApp隧道传输互联网流量

查看仓库
3.3k16323年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

wa-tunnel - 通过 WhatsApp 实现 TCP 隧道

这是一个基于 Baileys 的代码片段,允许您通过两个 WhatsApp 账号来传输 TCP 数据。

这在不同的场景下都能派上用场,例如,网络运营商提供无限 WhatsApp 数据流量的情况,或者在飞机上也能获得无限社交网络数据流量的情况。

它使用 Baileys,因为这是一个基于 WebSocket 的多设备 WhatsApp 库,因此将来可以在 Android 上使用(例如通过 Termux)。

其思路是,在服务器端设置一个代理,结构如下:[客户端(受限访问)-> WhatsApp -> 服务器 -> 代理 -> 互联网]

提前致歉,因为 JavaScript 并不是我的主要编程语言 :/

仅供教育目的使用。

它是如何工作的?

它将 TCP 网络数据包通过 WhatsApp 文本和文件消息发送出去,根据字符数量将数据包拆分成不同的文本消息或文件。

为了避免被 WhatsApp 超时限制,默认情况下每条消息限制为 20k 字符,目前这在 wasocket.js 中是硬编码的。 我已经进行了多次测试,任何低于此限制的发送量可能会导致因发送过多消息而被封禁,任何超过 80k 的则可能超时。

如果网络数据包超过限制(默认 20k 字符),且文件功能启用,则会作为文件发送。另外,如果多个网络数据包被缓存,则使用同样的标准。

文件消息作为二进制文件发送。TCP 响应会用分隔符拼接,并使用 brotli 压缩以减少数据使用。

它会缓存 TCP 套接字响应,将其分组,以在一条消息中发送最大量的数据,从而减少消息数量,提高速度,并降低被封禁的概率。

性能改进

之前:(不使用文件,也不缓存响应)

root@kitploit:~
curl -x localhost:12345 https://www.youtube.com
- 50-80 条消息
- 30-40 秒

之后:(使用文件和响应缓存)

root@kitploit:~
curl -x localhost:12345 https://www.youtube.com
- 6-8 条消息
- 7-15 秒

如果您不允许发送文件,可以在启动服务器和客户端时使用 --disable-files 标志来禁用此功能。

为什么?

我在南美洲旅行时产生了这个想法。那里的运营商通常限制网络数据流量,只给很少的 GB 数,但 WhatsApp 通常是无限的。我试图创建这个库,因为当时没有找到任何可用的。

设置

您必须拥有两个 WhatsApp 账号,一个用于服务器,一个用于客户端。 您可以转发本地端口,也可以使用外部代理。

服务器端

在您的服务器上克隆仓库并安装 node 依赖。

  1. cd path/to/wa-tunnel
  2. npm install

然后,您可以使用以下命令启动服务器,其中 port 是代理端口,host 是您要转发的代理主机地址。number 是客户端 WhatsApp 号码,包含国家代码,不带 + 号。

root@kitploit:~
npm run server host port number

您可以使用如下本地代理服务器:

root@kitploit:~
npm run server localhost 3128 12345678901

或者,您也可以使用如下普通代理服务器:

root@kitploit:~
npm run server 192.168.0.1 3128 12345678901

客户端

在您的本地机器上克隆仓库并安装 node 依赖。

  1. cd path/to/wa-tunnel
  2. npm install

然后,您可以使用以下命令启动客户端,其中 port 是您将要连接的本地端口,number 是服务器 WhatsApp 号码,包含国家代码,不带 + 号。

root@kitploit:~
npm run client port number

例如:

root@kitploit:~
npm run client 8080 1234567890

使用方式

首次运行脚本时,Baileys 会要求您使用 WhatsApp 应用扫描二维码,之后会话将被保存以供后续使用。

脚本可能会崩溃,这很正常,只需重新启动脚本,您的客户端/服务器就会准备就绪!

一旦客户端和服务器都就绪,您可以使用 curl 进行测试,见证奇迹的发生。

root@kitploit:~
curl -v -x proxyHost:proxyPort https://httpbin.org/ip

使用示例命令则如下:

root@kitploit:~
curl -v -x localhost:8080 https://httpbin.org/ip

它也已经过普通浏览器(如 Firefox)的测试,速度较慢,但可以使用。

您还可以转发其他协议端口,比如 SSH,只需如下设置服务器:

root@kitploit:~
npm run server localhost 22 12345678901

然后在客户端上通过以下命令连接到服务器:

root@kitploit:~
ssh root@localhost -p 8080

在 Android 上使用

要在 Android 上使用,您可以通过 Termux 来运行,使用以下命令:

root@kitploit:~
pkg update && pkg upgrade
pkg install git nodejs -y
git clone https://github.com/aleixrodriala/wa-tunnel.git
cd wa-tunnel
npm install

免责声明

使用此库可能会导致您的 WhatsApp 账号被封禁,请使用临时号码或自行承担风险。

待办事项

  • 制作一个 Android 脚本,用于在 Termux 上安装 node 依赖
  • 当 Baileys 支持通话时,通过通话实现数据包发送
  • 实现发送文件用于大数据包,以减少消息数量并可能提高速度
  • 缓存套接字响应,进一步减少发送的消息数量
  • 文档

许可证

MIT

下载工具