wa-tunnel is an innovative tool designed to tunnel TCP data through two WhatsApp accounts, leveraging the Baileys library, which supports multi-device WhatsApp functionality.

This project is particularly useful in scenarios where network carriers offer unlimited WhatsApp data, such as in certain regions or on airplanes with restricted internet access.

How wa-tunnel Works

  1. Data Transmission: wa-tunnel sends TCP network packets through WhatsApp text and file messages. The data is split into multiple messages or files based on the character limit, which is set to 20,000 characters per message by default. Messages exceeding this limit are sent as files if enabled.
  2. Data Compression: To reduce data usage, TCP responses are concatenated with a delimiter and compressed using Brotli. This compression significantly decreases the number of messages required, improving speed and reducing the risk of account bans due to excessive messaging.
  3. Performance Improvements: The tool has shown notable performance enhancements. For example, accessing YouTube via wa-tunnel initially required 50-80 messages and took 30-40 seconds. With file support and response caching, this was reduced to 6-8 messages and 7-15 seconds.

Setup And Usage

Server Setup

  1. Clone the wa-tunnel repository on your server.
  2. Install Node.js dependencies using npm install.
  3. Start the server with npm run server host port number, specifying the proxy host, port, and client WhatsApp number.

Client Setup

  1. Clone the repository on your client device.
  2. Install Node.js dependencies.
  3. Start the client with npm run client port number, specifying the local port and server WhatsApp number.
  • Use curl to test the connection, e.g., curl -v -x localhost:8080 https://httpbin.org/ip.
  • It can also be used with browsers like Firefox, though it may be slow.
  • Account Ban Risk: Using wa-tunnel may result in your WhatsApp account being banned, especially if it is detected as sending suspicious or excessive messages. It is recommended to use a temporary number or proceed at your own risk.
  • Educational Use: This tool is intended for educational purposes only.
  • Android Script: Developing an Android script to install Node.js dependencies in Termux is planned.
  • Call Support: Implementing package sending through WhatsApp calls when supported by Baileys.
  • File Sending Optimization: Enhancing file sending for large data packages to further reduce messages and potentially improve speed.

LEAVE A REPLY

Please enter your comment!
Please enter your name here