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

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

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

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

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

Категории

Все категории
Loading categories
whitelist-bypass — Туннелирование данных через WebRTC для обхода цензуры | Kitploit
Инструменты/GitHubGitHub/kulikov0/whitelist-bypass
Инструменты шифрования/дешифрованияВеб-прокси и перехватСетевая безопасностьКонфиденциальностьУтилиты и фреймворкиАнти-Бот
GitHubkulikov0/whitelist-bypass

whitelist-bypass

Туннелирование данных через WebRTC для обхода цензуры

Репозиторий
1.7k10272 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

Обход белого списка

Туннелирует интернет-трафик через платформы видеозвонков (VK Call, Yandex Telemost, WB Stream) для обхода государственной цензуры белых списков.

Установка

Пошаговое руководство по установке (на русском): docs/SETUP.md

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

Доступны два режима туннеля: DC (DataChannel) и Video (кодирование данных VP8). Рекомендуемая конфигурация — headless на обоих концах — чистый Go (Pion) напрямую взаимодействует с SFU платформы, без браузера. Обфускация ChaCha20, настраиваемый VP8 pacing и бэкенд LiveKit/WB Stream — это функции, доступные только в headless-режиме.

Устаревший браузерный путь (Android WebView joiner против Electron desktop creator с JS-хуками) всё ещё работает для VK DC, но он медленнее, не может обфусцировать и постепенно выводится из эксплуатации. Новые развёртывания должны использовать headless.

Режим DC

Pion открывает SCTP DataChannel на publisher PC и туннелирует TCP/UDP через него. Кадры проходят через SFU платформы как любая другая полезная нагрузка DataChannel.

root@kitploit:~
Joiner (censored, Android/iOS/Linux)                Creator (free internet)

All apps
  |
VpnService (captures all traffic)
  |
tun2socks (IP -> TCP)
  |
SOCKS5 proxy (Go, :1080)
  |
Headless joiner (Pion)                    Headless creator (Pion)
  |                                         |
DataChannel  <------- SFU ------->   DataChannel
                                            |
                                        Relay bridge
                                            |
                                        Internet

Режим Video

Тот же конвейер, что и в режиме DC, но туннель передаётся через опубликованный видеотрек VP8 вместо SCTP DataChannel. Полезно, когда SFU ограничивает скорость DataChannel, но пропускает RTP (например, Telemost), а в некоторых случаях обязателен на платформе (publisher track в WB Stream всегда видео). Кадрирование туннеля и мультиплексирующий слой над ним такие же, как в режиме DC.

Трафик проходит через SFU платформы, который находится в государственном белом списке. Для DPI это выглядит как обычный видеозвонок.

Компоненты

  • relay/ — Go-релей, общий для обоих концов: SOCKS5-прокси, обвязка tun2socks, туннель DC/VP8, обфускатор ChaCha20, мультиплексор соединений, привязки gomobile/iOS
  • headless/vk/ — Headless VK creator: создаёт или присоединяется к звонку через VK HTTP API, туннель Pion DC/VP8, без браузера
  • headless/telemost/ — Headless Telemost (Yandex) creator с той же моделью
  • headless/wbstream/ — Headless WB Stream creator (на базе LiveKit, анонимные гостевые токены)
  • headless/dion/ — Headless DION creator с той же моделью
  • headless/bitrix/ — Headless Bitrix creator (адаптивный DC/VP8, гостевое присоединение)
  • headless/wbstream-joiner/ — Desktop WB Stream joiner (аналог creator, используется для тестов и Linux-клиентов)
  • headless/telemost-joiner/ — Desktop Telemost joiner (аналог creator, используется для тестов и Linux-клиентов)
  • headless/dion-joiner/ — Desktop DION joiner (аналог creator, используется для тестов и Linux-клиентов)
  • headless/bitrix-joiner/ — Desktop Bitrix joiner (аналог creator, используется для тестов и Linux-клиентов)

Загрузка

Готовые бинарники доступны на GitHub Releases.

Сторона creator (свободный интернет, десктоп)

Скачайте и запустите Electron-приложение из GitHub Releases. Оно автоматически включает Go-релей.

  1. Откройте приложение
  2. Выберите режим туннеля (DC или Video)
  3. Нажмите "VK" или "Telemost"
  4. Войдите, создайте новый звонок из приложения
  5. Скопируйте ссылку для присоединения, отправьте её joiner'у

Важно: Звонок должен быть создан из Creator-приложения. Присоединение к существующему звонку из приложения не сработает — JS-хуки должны присутствовать с момента начала звонка.

Сторона joiner (цензурируемая, Android/iOS/Linux)

Доступны три формы; выберите ту, что подходит устройству:

  • Android — установите whitelist-bypass.apk из Releases. Разрешите запрос VPN при первом запуске. Вставьте ссылку для присоединения и нажмите GO; общесистемный трафик пойдёт через звонок.
  • iOS — установите whitelist-bypass-proxy.ipa из Releases (sideload через AltStore / Sideloadly / ваш dev-аккаунт). Предоставляет только локальный SOCKS5-прокси — без системного VPN. Чтобы проксировать всё устройство, направьте любое VPN-приложение с поддержкой SOCKS5 (Shadowrocket, Streisand, ...) на SOCKS5-эндпоинт, который показывает приложение; или настройте прокси для каждого приложения отдельно (Telegram имеет встроенную поддержку).
  • Linux desktop — запустите headless joiner; он предоставляет SOCKS5-прокси на указанном порту для всего, что вы на него направите. Полезно для серверов и Linux-клиентов. Опциональные --socks-user / --socks-pass включают аутентификацию по имени пользователя/паролю SOCKS5.
    • WB Stream: headless-wbstream-joiner --room <link> --socks-port 1080 [--socks-user u --socks-pass p]
    • Telemost: headless-telemost-joiner --tm-link <link> --socks-port 1080 [--socks-user u --socks-pass p]
    • DION: headless-dion-joiner --room <link> --socks-port 1080 [--socks-user u --socks-pass p]
    • Bitrix: headless-bitrix-joiner --link <link> --socks-port 1080 [--socks-user u --socks-pass p]

Полное пошаговое руководство (на русском) подробно описывает каждую платформу: см. docs/SETUP.md.

Сборка из исходников

Требования

  • Go 1.26+
  • gomobile (go install golang.org/x/mobile/cmd/gomobile@latest)
  • gobind (go install golang.org/x/mobile/cmd/gobind@latest)
  • Android SDK + NDK 29
  • Java 11+
  • Node.js 18+

Скрипты сборки

root@kitploit:~
# Full release build (Android APK + Creator app + Headless creators + Linux joiners + VK bot + iOS IPA on macOS)
./make-release.sh

# Individual builds
./build-go.sh          # Go .aar, relay binary, headless creators
./copy-hooks.sh        # Copy JS hooks to android assets
./build-app.sh         # Android APK
./build-headless.sh    # Headless binaries only (current platform)
./build-cli.sh         # Per-arch zips of headless creators + joiners + vk-bot
./build-creator.sh     # Creator Electron app (all platforms)
./build-ios.sh proxy   # iOS proxy app, xcframework + unsigned IPA
./build-ios.sh vpn     # iOS VPN app, xcframework + unsigned IPA

iOS

Требуется Xcode и macOS. build-ios.sh принимает один аргумент — proxy или vpn.

root@kitploit:~
./build-ios.sh proxy   # ios-proxy-app -> prebuilts/whitelist-bypass-proxy.ipa
./build-ios.sh vpn     # ios-vpn-app   -> prebuilts/whitelist-bypass-vpn.ipa

Скрипт собирает Mobile.xcframework в директорию приложения, запускает strip-signing.sh приложения для очистки developer team из проекта, собирает приложение без подписи и записывает неподписанный IPA в prebuilts/.

Чтобы запустить на устройстве, откройте соответствующий .xcodeproj в Xcode, задайте свою команду и уникальные идентификаторы бандла в Signing & Capabilities и соберите. Вариант vpn требует возможности Network Extension для своих идентификаторов бандла.

Вывод в prebuilts/:

Сборка через Docker

Чтобы собрать проект с помощью Docker, выполните:

root@kitploit:~
docker compose -f docker-build/docker-compose.yml up 

Это соберёт все компоненты (creator-app, headless, android app) в папку prebuild (кроме macOS creator)

Headless creators

Чистые Go creators, которые создают звонки через API без браузера. Никакого Electron, никаких JS-хуков — Go Pion PeerConnection напрямую управляет туннелем DataChannel.

root@kitploit:~
./build-headless.sh

Создаётся десять бинарников — пять creators, четыре Linux joiner'а и VK-бот:

root@kitploit:~
./headless/vk/headless-vk-creator               --cookies cookies-vk.json
./headless/telemost/headless-telemost-creator   --cookies cookies-yandex.json
./headless/wbstream/headless-wbstream-creator   --cookies cookies-wbstream.json
./headless/dion/headless-dion-creator           --cookies cookies-dion.json
./headless/bitrix/headless-bitrix-creator       --cookies cookies-bitrix.json
./headless/wbstream-joiner/headless-wbstream-joiner --room <link> --socks-port 1080
./headless/dion-joiner/headless-dion-joiner         --room <link> --socks-port 1080
./headless/telemost-joiner/headless-telemost-joiner --tm-link <link> --socks-port 1080
./headless/bitrix-joiner/headless-bitrix-joiner     --link <link> --socks-port 1080
./headless/vk-bot/headless-vk-bot               --token <t> --group-id <g> --bins-dir <dir>

Всем четырём creators нужны cookies, экспортированные из desktop creator app (кнопка Export Cookies), в формате JSON [{"name":"..","value":".."},...]. DION также принимает {"email":"..","password":"..","cookies":[]} и затем логинится самостоятельно, см. docs/SETUP.md.

Общие флаги

Присоединение к существующему звонку

По умолчанию каждый бинарник создаёт новый звонок. Чтобы подключиться к существующему (перезапуск сервера без инвалидации ссылки, несколько shaped-сессий, ...):

Взаимоисключающие с флагами создания звонка (--peer-id для VK; у остальных нет флага создания).

Режимы ресурсов

custom откатывается к значениям по умолчанию unlimited для любого неустановленного флага, поэтому частичные переопределения работают:

root@kitploit:~
./headless-vk-creator --cookies cookies-vk.json --vk-link https://vk.com/call/join/<token> \
  --resources custom --read-buf 65536 --max-dc-buf 8388608 --mem-limit 268435456 \
  --write-file /var/run/whitelist-bypass/call.txt
  • read-buf — размер буфера чтения TCP/DC. Меньше = более частые проверки backpressure, менее пиковая память
  • max-dc-buf — приостанавливает чтение TCP, когда объём буферизованных данных DataChannel превышает это значение; подключено только в VK (Pion BufferedAmountLowThreshold)
  • mem-limit — мягкий лимит памяти среды выполнения Go; делает GC более агрессивным вблизи предела

Лицензия

MIT

Донат

  • 0xd986b7576340d8d7b04f806dfd38a182b19edf50 — USDC (ERC20)
  • TTEo4XXTB6CqhEiKpyoncfk3skEvoq3bCP — USDT (TRC20)
  • UQCZge2JzLmwNtI56p-ZxLuN2f7ZMCPGqO0XTt3wJ-cy8JaE — USDT (TON)
Скачать инструмент
  • headless/vk-bot/ — Автономный VK Long Poll бот, который по запросу запускает headless creators и отвечает ссылкой для присоединения (серверная альтернатива Electron-боту)
  • headless/tests/ — Живые сквозные тесты (creator + joiners через реальный SFU); запускаются на том же хосте или в докеризованном netns-стенде, см. headless/tests/README.md
  • android-app/ — Android joiner: VpnService + tun2socks + headless Pion (основной путь); также сохраняет WebView fallback для устаревшего браузерного потока
  • ios-proxy-app/ — iOS joiner: SOCKS5 + headless Pion через gomobile xcframework
  • creator-app/ — Electron desktop creator app: GUI-фронтенд, который может запускать либо устаревший браузерный путь, либо порождать headless Go-бинарники; подходит как для интерактивного использования, так и для развёртываний
  • hooks/ — JavaScript-хуки для устаревшего браузерного пути (режимы DC и Video, VK и Telemost). Headless не использует JS-хуки.
  • ФайлПлатформа
    WhitelistBypass Creator-*-arm64.dmgmacOS
    WhitelistBypass Creator-*-x64.exeWindows x64
    WhitelistBypass Creator-*-ia32.exeWindows x86
    WhitelistBypass Creator-*.AppImageLinux x64
    whitelist-bypass.apkAndroid
    whitelist-bypass-proxy.ipaiOS proxy app, unsigned
    whitelist-bypass-vpn.ipaiOS VPN app, unsigned
    headless-vk-creator-linux-x64Linux x64
    headless-vk-creator-linux-ia32Linux x86
    headless-telemost-creator-linux-x64Linux x64
    headless-telemost-creator-linux-ia32Linux x86
    headless-wbstream-joiner-linux-x64Linux x64
    headless-wbstream-joiner-linux-ia32Linux x86
    headless-telemost-joiner-linux-x64Linux x64
    headless-telemost-joiner-linux-ia32Linux x86
    headless-vk-bot-linux-x64Linux x64
    headless-vk-bot-linux-ia32Linux x86
    ФлагVKTMWBОписание
    --cookies <path>yesyesyesпуть к cookies JSON
    --cookie-string <str>yesyes-сырая строка cookie name=val; name=val
    --write-file <path>yesyesyesдобавляет активную ссылку для присоединения в этот файл (одна ссылка на строку)
    --resources <mode>yesyesyesdefault / moderate / unlimited / custom (см. ниже)
    --read-buf <bytes>yesyesyesбуфер чтения DC/RTP; учитывается только с --resources custom
    --max-dc-buf <bytes>yes--DataChannel BufferedAmountLowThreshold; только с --resources custom
    --mem-limit <bytes>yesyesyesмягкий лимит памяти Go (debug.SetMemoryLimit); только с --resources custom
    CreatorФлагЗначение
    VK--vk-link <link>https://vk.com/call/join/<token>
    Telemost--tm-link <uri>https://telemost.yandex.ru/j/<id>
    WB Stream--room <id>wbstream://<uuid> или просто UUID
    DION--room <id>dion://<id> или https://dion.vc/event/<id>
    Режимread-bufmax-dc-buf (VK)mem-limit
    moderate16 KB1 MB64 MB
    default32 KB4 MB128 MB
    unlimited64 KB8 MB256 MB
    customиз --read-bufиз --max-dc-bufиз --mem-limit