Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
wa-tunnel — Туннелирование интернет-трафика через Whatsapp | Kitploit
Инструменты/GitHubGitHub/aleixrodriala/wa-tunnel
Сетевая безопасностьОбучение и ОбразованиеRed Teaming
GitHubaleixrodriala/wa-tunnel

wa-tunnel

Туннелирование интернет-трафика через Whatsapp

Репозиторий
3.3k1633 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

wa-tunnel - Туннелирование TCP через WhatsApp

Это код на основе Baileys, который позволяет туннелировать TCP-данные через два аккаунта WhatsApp.

Это может быть полезно в различных ситуациях, например, у операторов связи, предоставляющих безлимитный WhatsApp, или в самолетах, где также есть безлимитный доступ к социальным сетям.

Он использует Baileys, так как это многопользовательская библиотека WhatsApp на основе WS, и поэтому в будущем может быть использован на Android, например, с помощью Termux.

Идея состоит в том, чтобы использовать его с прокси-сервером: [Клиент (ограниченный доступ) -> WhatsApp -> Сервер -> Прокси -> Интернет]

Заранее извиняюсь, так как JavaScript не является одним из моих основных языков программирования :/

Используйте только в образовательных целях.

Как это работает?

Он отправляет TCP-пакеты через текстовые и файловые сообщения WhatsApp, в зависимости от количества символов разбивая их на отдельные текстовые сообщения или файлы.

Чтобы не получить тайм-аут от WhatsApp, по умолчанию установлено ограничение в 20 тысяч символов на сообщение, на данный момент это значение жестко задано в wasocket.js.

Я провел несколько тестов: все, что ниже этого порога, может привести к бану за слишком частое отправление сообщений, а все, что выше 80 тысяч, может вызвать тайм-аут.

Если сетевой пакет превышает лимит (по умолчанию 20 тыс. символов), он будет отправлен как файл, если эта функция включена. Также, если в кеше находится несколько сетевых пакетов, используется тот же критерий.

Файловые сообщения отправляются как бинарные файлы, TCP-ответы объединяются с разделителем и сжимаются с помощью brotli для уменьшения объема данных.

Он кеширует ответы TCP-сокетов, чтобы группировать их и отправлять максимальное количество данных в одном сообщении, тем самым сокращая количество сообщений, повышая скорость и снижая вероятность бана.

Улучшения производительности

До: (без файлов и без кеширования ответов)

root@kitploit:~
curl -x localhost:12345 https://www.youtube.com
- 50-80 messages
- 30-40 seconds

После: (с файлами и кешированием ответов)

root@kitploit:~
curl -x localhost:12345 https://www.youtube.com
- 6-8 messages
- 7-15 seconds

Если вам запрещено отправлять файлы, используйте флаг --disable-files при запуске сервера и клиента, чтобы отключить эту функцию.

Зачем?

Идея пришла, когда я путешествовал по Южной Америке: у операторов обычно ограниченный трафик (несколько ГБ), но WhatsApp часто безлимитный. Я попытался создать эту библиотеку, так как не нашел подходящей на тот момент.

Настройка

У вас должен быть доступ к двум аккаунтам WhatsApp: один для сервера, другой для клиента.

Вы можете перенаправить локальный порт или использовать внешний прокси.

Сторона сервера

Клонируйте репозиторий на сервер и установите зависимости Node.js.

  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.js.

  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 попросит вас отсканировать QR-код с помощью приложения 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-скрипт для установки зависимостей Node.js в Termux
  • Когда Baileys поддержит звонки, реализовать отправку пакетов через звонки
  • Реализовать отправку файлов для больших пакетов данных для уменьшения количества сообщений и, возможно, повышения скорости
  • Кешировать ответы сокетов для дальнейшего сокращения количества отправляемых сообщений
  • Документация

Лицензия

MIT

Скачать инструмент