關于wa-tunnel 

wa-tunnel是一款功能強大的TCP數據傳輸工具,在該工具的幫助下,廣大研究人員可以在兩個Whatsapp賬號之間傳輸TCP數據。

該工具有很多的使用場景,并使用Baileys項目構建功能。本質上來說,它是一個基于WS的多設備whatsapp庫,因此可以同時也可以在Android設備上使用(需要使用Termux)。

 工具運行機制 

該工具可以通過WhatsApp文本和文件消息發送TCP網絡包,此時它會將其拆分為不同文本消息或文件。為了不讓WhatsApp發送超時,默認情況下,每條消息限制為2萬個字符,目前它是用wasocket.js硬編碼的。開發人員已經做了多次測試,任何超過8萬個字符的消息都可能超時。

如果網絡包超過限制(默認情況下為20k個字符),則如果啟用,它將作為文件發送。此外,如果緩存了多個網絡包,它將使用相同的cryteria。

文件消息以二進制文件的形式發送,TCP響應與分隔符連接,并使用brotli壓縮以減少數據使用。

工具會緩存TCP套接字響應以將它們分組,并在消息中發送最大數量的數據,從而減少消息量,提高速度并降低被禁止的概率。

 工具配置 

在使用該工具時,我們必須擁有兩個WhatsApp賬號,一個用作服務器端,一個用作客戶端,我們可以轉發一個本地端口,或使用一個外部代理服務。

 工具下載 

廣大研究人員可以使用下列命令將該項目源碼克隆至本地:

git clone https://github.com/aleixrodriala/wa-tunnel.git

服務器端

切換到項目目錄下,并運行下列命令:

cd wa-tunnel
npm install

接下來使用下列命令啟動服務器,其中port為代理端口,host為需要轉發的代理主機,number為WhatsApp客戶端號碼:

npm run server host port number

我們也可以使用一個本地代理服務器:

npm run server localhost 3128 12345678901

或者使用一個普通的代理服務器:

npm run server 192.168.0.1 3128 12345678901

客戶端

切換到項目目錄下,并運行下列命令:

cd wa-tunnel
npm install

接下來使用下列命令啟動客戶端,其中port為本地端口,number為客戶端WhatsApp編號:

npm run client port number

比如說:

npm run client 8080 1234567890

 工具使用 

首次運行工具腳本時,Baileys將會要求我們掃描WhatsApp的二維碼,并存儲會話以便后續使用。

準備好客戶端和服務器端之后,我們就可以使用curl并執行工具了:

curl -v -x proxyHost:proxyPort https://httpbin.org/ip

樣例命令如下:

curl -v -x localhost:8080 https://httpbin.org/ip

我們還可以轉發其他協議端口,例如SSH:

npm run server localhost 22 12345678901

然后使用客戶端連接到服務器端:

ssh root@localhost -p 8080

 Android使用 

如需在Android設備上使用該工具,我們還需要安裝好Termux,并運行下列命令即可:

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

 工具運行演示 

 許可證協議 

本項目的開發與發布遵循MIT開源許可證協議。