Подключили VPN, открыли 2ip.ru — IP европейский. Кажется, всё в порядке. Открыли whoer.net или browserleaks.com — и увидели свой настоящий российский IP. Как? Через WebRTC. Это технология видео- и аудиозвонков в браузере (используется Discord, Google Meet, Zoom Web), которая для оптимизации сети проверяет ваш реальный публичный IP-адрес — и делает это в обход VPN. WebRTC-leak — одна из самых коварных уязвимостей: VPN работает, но любой сайт может узнать ваш реальный IP через JavaScript. В этой статье — детальный разбор: как работает WebRTC, как тестировать утечки, как отключить WebRTC в Chrome, Firefox, Safari, Brave, Edge, и почему VPN RUS Client с системным TUN-туннелем закрывает эту проблему автоматически.
Внимание
Если у вас VPN, но WebRTC не отключён — каждый сайт, который вы открываете, может узнать ваш реальный IP через JavaScript за миллисекунды. Это не теоретическая угроза — таргетированная реклама и аналитические системы используют WebRTC-leak повсеместно. VPN сам по себе ОТ ЭТОГО НЕ ЗАЩИЩАЕТ, нужны дополнительные меры.
Что такое WebRTC и зачем он вообще нужен
WebRTC (Web Real-Time Communication) — это набор API-стандартов W3C для прямой передачи аудио, видео и данных между браузерами. Разработан в 2011 году Google для конкуренции с Skype/Flash. Сейчас встроен в Chrome, Firefox, Safari, Edge, Opera. Используется в:
- Google Meet, Zoom (web-версия), Microsoft Teams
- Discord (через web-app)
- Видеозвонки в Telegram, WhatsApp Web
- Онлайн-играх в браузере
- P2P файлообмене в браузере
- Стриминговых сервисах (некоторые)
WebRTC создан для прямого P2P соединения между двумя пиерами (компьютерами). Чтобы соединение установилось, обоим нужно знать публичные IP друг друга — иначе через NAT не проложить путь. WebRTC использует технологию ICE (Interactive Connectivity Establishment) и серверы STUN (Session Traversal Utilities for NAT), которые сообщают вашему компьютеру его собственный публичный IP.
В этом и проблема: STUN-запрос идёт в обход VPN, потому что WebRTC использует прямые UDP-сокеты на сетевой адаптер, а не системный TCP-стек.
Как технически происходит утечка
- Сайт открывает WebRTC-соединение через JavaScript:
new RTCPeerConnection() - WebRTC отправляет STUN-запрос к серверу (например, stun.l.google.com)
- STUN-сервер отвечает: «твой публичный IP — 95.27.104.235» (это ваш реальный российский IP, потому что STUN-запрос пошёл по сетевому интерфейсу в обход VPN)
- WebRTC API передаёт этот IP-адрес JavaScript на странице
- JavaScript отправляет IP куда хочет — в аналитику, в фингерпринт, в logs
Всё это происходит за 100-300 миллисекунд при загрузке страницы. Без вашего ведома.
Как проверить WebRTC-утечку
Способ 1. browserleaks.com/webrtc
- Подключите VPN
- Откройте https://browserleaks.com/webrtc в режиме инкогнито (чтобы исключить расширения)
- Страница автоматически проведёт WebRTC-тест
- Посмотрите секцию «Public IP Address» — должен совпадать с IP VPN-сервера
- Также «Local IP Addresses» — желательно скрыть (видны 192.168.x.x — это норма)
Способ 2. ipleak.net
ipleak.net показывает все типы утечек на одной странице. WebRTC-секция в верхней части страницы, рядом с IPv4/IPv6.
Способ 3. whoer.net
whoer.net показывает «общий показатель приватности». WebRTC-leak снижает оценку. Удобно для общего понимания состояния защиты.
Что делать с WebRTC: 3 варианта
Вариант 1. Отключить WebRTC полностью
Самый радикальный способ. Минус: перестают работать видеозвонки в браузере (Google Meet, Discord web), некоторые игры, P2P-сайты.
Firefox
- В адресной строке: about:config
- Найдите: media.peerconnection.enabled
- Установите false
Chrome / Edge / Brave
В Chrome нет встроенного отключения WebRTC. Используйте расширение:
- WebRTC Network Limiter (от Google) — официальное расширение, ограничивает WebRTC использовать только UDP-туннели VPN
- WebRTC Leak Prevent — полностью отключает WebRTC
- uBlock Origin — в настройках включите «Prevent WebRTC from leaking local IP addresses»
Safari
В Safari WebRTC встроен жёстко. Полное отключение через Терминал:
defaults write com.apple.Safari WebKitMediaStreamEnabled -bool NO
Вариант 2. Использовать TUN-режим VPN
Это лучший способ — оставить WebRTC работающим, но заставить его идти через VPN. В TUN-режиме VPN перехватывает ВСЕ сетевые пакеты, включая UDP STUN-запросы. WebRTC не видит ваш реальный IP, видит только VPN.
В Hiddify Next:
- Settings → Tunnel Mode → TUN (вместо SOCKS/HTTP-proxy)
- Auto-route: ON
- Strict route: ON
После этого browserleaks.com покажет VPN-IP и в WebRTC, и в HTTP-заголовках. Утечки нет.
Вариант 3. Заблокировать STUN-серверы в hosts
Грубый, но работающий метод. Блокируем известные STUN-серверы на уровне системы. WebRTC не получит ответа, не сможет узнать публичный IP.
# Добавить в /etc/hosts (Linux/macOS) или C:\Windows\System32\drivers\etc\hosts (Windows) 0.0.0.0 stun.l.google.com 0.0.0.0 stun1.l.google.com 0.0.0.0 stun2.l.google.com 0.0.0.0 stun3.l.google.com 0.0.0.0 stun4.l.google.com 0.0.0.0 stun.cloudflare.com
Минус: блокирует и легитимный WebRTC. Видеозвонки сломаются.
Какой вариант выбрать
Какой вариант выбрать
| Вариант | Защита | WebRTC работает? | Сложность |
|---|---|---|---|
| TUN-режим VPN | Полная | Да | Низкая (1 галочка) |
| Расширение в браузере | Только в этом браузере | Нет | Низкая |
| about:config Firefox | Только Firefox | Нет | Средняя |
| Блокировка hosts | Системная | Нет | Средняя |
Рекомендация: используйте TUN-режим VPN. Это закрывает WebRTC-leak без поломки функциональности браузера. С VPN RUS Client + Hiddify в TUN-режиме защита включается одной галочкой.
WebRTC и анонимность Tor
В Tor Browser WebRTC отключён по умолчанию — Tor разработчики понимают риск. Поэтому в Tor видеозвонки в браузере не работают, но это плата за анонимность.
Если вы используете Tor + VPN (Tor over VPN), WebRTC-утечки нет. Но и Tor работает без VPN.
WebRTC-fingerprint — отдельная угроза
Помимо IP, WebRTC раскрывает уникальный «отпечаток» вашего устройства:
- Список ваших аудио/видео-устройств (микрофоны, камеры)
- Поддерживаемые видеокодеки (H.264, VP8, VP9, AV1)
- Network info: тип соединения, MTU, скорость
Эти параметры в комбинации создают уникальный fingerprint — даже если вы скроете IP, по WebRTC-параметрам вас можно идентифицировать. Полная защита: TUN-режим VPN + Brave/Tor browser с anti-fingerprinting.
Mobile приложения и WebRTC
В мобильных приложениях нет WebRTC API в стандартной реализации (это браузерная технология). Но есть аналогичные нативные API. iOS и Android приложения для видеозвонков (Telegram, WhatsApp) тоже могут «утекать» IP мимо VPN, если VPN работает в SOCKS-режиме.
В iOS Hiddify в TUN-режиме (по умолчанию) полностью защищает все приложения, включая мессенджеры.
FAQ про WebRTC-leak
Почему VPN не защищает от WebRTC-leak по умолчанию?
Зависит от режима VPN. В SOCKS5/HTTP-proxy режиме VPN перехватывает только TCP. В TUN-режиме (системный туннель) — всё. Большинство устаревших VPN-протоколов работали в SOCKS-режиме, отсюда уязвимость. Современные VPN с TUN-режимом (Hiddify, sing-box) защищают.
Можно ли проверить WebRTC через программу, а не браузер?
Программно — через Wireshark смотреть UDP-пакеты к STUN-серверам. Если они уходят на ваш реальный сетевой интерфейс — утечка. Если через VPN-интерфейс — нет утечки.
Brave Browser защищает от WebRTC-leak?
Brave имеет встроенную защиту. Brave Settings → Shields → Fingerprinting blocking → ставит маскировку WebRTC. По умолчанию включено в Strict-режиме.
Поломается ли Discord с отключенным WebRTC?
Web-версия Discord да — голос и видео не работают. Десктоп-приложение Discord нет — оно использует свой нативный код (тоже WebRTC, но не браузерный API). Для Discord на десктопе достаточно TUN-режима VPN.
Расширения «WebRTC Leak Shield» — безопасны?
Не все. Многие — спам-расширения с трекерами. Используйте только проверенные: WebRTC Network Limiter (от Google), uBlock Origin (есть galette), Privacy Badger (EFF). Эти точно безопасны.
Полный чеклист защиты
Чтобы быть точно защищённым:
- VPN включён в TUN-режиме
- Проверка browserleaks.com/webrtc — IP должен быть VPN-овский
- Проверка dnsleaktest.com — DNS в Cloudflare/Google, не у ISP
- uBlock Origin или Privacy Badger в браузере (опционально)
- В Firefox: media.peerconnection.enabled = false (если совсем параноите)
- Не использовать встроенный VPN в браузерах (Opera VPN, Yandex VPN) — они только для браузерного трафика, не системные
Заключение
WebRTC-leak — серьёзная уязвимость, которую большинство пользователей не замечают. VPN не защищает от неё автоматически — нужен правильный режим (TUN) и правильные настройки. Современные клиенты типа Hiddify Next делают это «из коробки», но проверять стоит — потратьте 30 секунд на browserleaks.com и убедитесь, что у вас всё в порядке.
С VPN RUS Client в TUN-режиме WebRTC-leak исключён. Это базовая часть защиты, которую мы обеспечиваем по умолчанию.