---
name: hy2-whitelist-bypass
description: Белые списки РФ фильтруют по IP (не по SNI) — карта проходящих подсетей, туннель через видеозвонки VK/Telemost как бесплатный обход без RU-сервера, DNS-туннель t.cebceh.com как аварийный
metadata: 
  node_type: memory
  type: project
  originSessionId: 9268b204-0e0a-49aa-8885-40c21bdfc5dc
  modified: 2026-07-28T10:20:28.172Z
---

Проверено живьём 2026-07-28 на Билайне через adb, **при реально включённых белых списках** (не теория).

**Механизм БС: фильтрация по IP назначения, НЕ по SNI.** К IP Wildberries соединение проходит с подставным SNI `example.com` (ответ 400), а до нашего VPS `192.255.201.98` не доходит TCP-SYN ни на одном порту (80/443/53/8443/22/123), ICMP тоже. Следствие: **Reality, obfs, XHTTP, httpupgrade, маскировка SNI — бесполезны**, пакет не достигает сервера. Значение имеет только IP. Список статический (DNS-резолв домена на наш IP его не открывает) и поадресный (у WB открыты `.202.1/.2`, `.202.50` — нет).

**ВлессиVPN работает без всяких трюков** — обычный VLESS/WS/TLS на `37.9.4.110/.112/.114` (Selectel), просто адреса попали в белый список.

**Карта проходящих площадок** (сканирование с телефона). На больших выборках плотность у ВСЕХ провайдеров ≈**29%, т.е. 1 к 3** (ранняя оценка «Reg.ru 75%» была на выборке из 6 адресов и завышена):
- Reg.ru CloudVPS `37.140.192–195` — 14/48 ≈29% (подсеть `37.140.192` — 78%, но выбрать её при заказе нельзя)
- Selectel `5.188.115` ~57%, `37.9.4.x` ~34%; VK Cloud `213.219.212` ~29%; Yandex Cloud `51.250.80–84`/`84.201.156` ~19–29%
- Reg.ru shared `31.31.196/198` — ~100%, но VPN туда не поставить
- **Рекомендация: Yandex Cloud** — не из-за плотности (она везде равна), а потому что публичный IP перевыдаётся бесплатно в пару кликов → ~3 попытки и попадание гарантировано; плюс стартовый грант. У Reg.ru смена IP = пересоздание сервера
- **Двойной риск relay-схемы:** выпадение IP из белого списка + бан самим хостером за VPN (у автора kort0881 IP прожил 3.5 мес). VK Cloud `95.163.248.0/22` из старых гайдов — пул белых IP исчерпан, новым клиентам не выдают
- Публичные bypass-подписки: беглый скан дал 3 из 130 (2%), но это была ошибка метода — корректный замер ниже даёт ~15%
- **Наши RuVDS (codoceh 195.133.147.176, zbrcheck 193.108.113.35) — 0/35, для обхода бесполезны**
- Домашний интернет (Z-Telecom), IPv6, UDP наружу, Vercel/Netlify/CF Workers/Fly/Render/Railway — всё закрыто
- Yandex serverless (`functions`/`apigw`) проходит БС и имеет free tier 100 ГБ+100k запросов/мес, но **VPN через него не построить**: WebSocket событийный, HTTP рвётся по таймауту

**DNS-туннель — единственное, что работает когда закрыто всё.** DNS ходит до authoritative-серверов даже при БС.
- `/opt/hy2/dnstt-server` (`dnstt.service`, udp/:53) + SOCKS5-апстрим `hy2-socks.service` на `127.0.0.1:1080`; боевой `hy2_server.json` намеренно не тронут
- домен `t.cebceh.com`, pubkey `cce0016c06be1e3076a5ed19236e05800c08c6448474a463b66048ce071acc70`
- **`cebceh.com` переведён с Cloudflare на Spaceship DNS**: Cloudflare Free принимает NS-запись поддомена через API, но НЕ публикует её — делегирование там невозможно
- **обязателен `-mtu 512`**: резолверы Билайна режут EDNS0 до 512, дефолт 1232 даёт `FORMERR`; фикс ускорил в 4.5 раза
- замеры: ~1.1 КБ/с (~9 кбит/с), HTTPS работает, внешний IP через туннель = наш VPS. Мессенджеры/почта/текст — да, ленты/видео — нет
- клиент на Android поднимался вручную через adb (`/data/local/tmp/dnstt-client`), постоянного решения нет; на iPhone DNS-туннель недоступен

**Трюк:** при БС подписку можно открыть через `https://translate.yandex.ru/translate?url=<URL>&lang=en-en` — Яндекс в белом списке, работает как прокси.

Подробности — [[obsidian_documentation_rule]] → Projects/hy2-vpn/Decisions.md D17. Связано: [[hy2_vpn_overview]], [[codoceh_vps_edge]].

**ОБНОВЛЕНИЕ 2026-07-28 (проверено на MegaFon при активных БС): свой RU-сервер НЕ обязателен.**

**Туннель внутри видеозвонка — [kulikov0/whitelist-bypass](https://github.com/kulikov0/whitelist-bypass)** (1547★, Go/MIT, релиз v0.3.8 26.07.2026, коммиты ежедневно). Трафик едет в SCTP DataChannel или закодированный в VP8-видео внутри звонка VK Call / Yandex Telemost / WB Stream / DION. Медиа идёт через SFU/TURN платформы, то есть на IP VK/Яндекса — они белые по определению. Для Telemost код форсит `ICETransportPolicy: Relay`, p2p исключён.
- Проверено под БС: `vk.ru`/`login.vk.ru`/`api.vk.ru` 302/302/404, `telemost.yandex.ru` 200, `stream.wb.ru` 498 — проходят; `api.dion.vc` нет. **TURN VK `155.212.192.0/20` отвечает за 45–70 мс.**
- Creator (свободный интернет) нужен аккаунт платформы; joiner анонимный гость. **Один Creator = ровно один Joiner.**
- Автор советует Creator с домашнего IP, не с VPS (платформа банит аккаунт за звонок из дата-центра) → **ложится на mac mini**; `--upstream-socks` гонит трафик joiner-а в локальный sing-box → `телефон → SFU Яндекса → mac mini → наш US VPS`.
- Клиенты: Android APK, iOS IPA (sideload AltStore/Sideloadly), Linux headless. ~~Нельзя добавить в Happ~~ — **можно**: в режиме Proxy only joiner отдаёт локальный SOCKS5, а Happ принимает его профилем Socks (см. рабочую схему ниже).
- Смежное: [cacggghp/vk-turn-proxy](https://github.com/cacggghp/vk-turn-proxy) (3929★, но заброшен с 16.04.2026) — WireGuard прямо через TURN VK, нужен свой VPS, VK режет до 5 Мбит/с.

**Публичные подписки работают лучше, чем считалось: не 2%, а ~15%.** [zieng2/wl](https://github.com/zieng2/wl) (2498★) и [igareck/vpn-configs-for-russia](https://github.com/igareck/vpn-configs-for-russia) (7775★), обновление ежечасно. Замер `vless_lite.txt` с телефона реальным sing-box 1.13.14: TCP открыт 59/120, TLS с родным SNI 36/101, **сквозной трафик 4/27 (15%)**, скорости 418 KB/s … **2182 KB/s (17 Мбит/с)**. Добавляется в Happ, работает на iPhone штатно; серверы чужие (владелец видит трафик, если не строить цепочку — см. ниже), конфиг живёт ~час из-за ротации UUID.
- **Гоча замера:** проверять чужие конфиги «открыт ли порт» бессмысленно — открытый TCP ≠ живой сервер (59→4). И TLS надо пробовать **с родным SNI конфига**: с чужим Reality не отвечает и даёт ложный ноль (мой первый прогон дал 0/101).

**Итог: безотказного одиночного канала нет.** Максимум надёжности = видеозвонок (свой, бесплатный, десятки Мбит/с) + подписка в Happ (мгновенный резерв, iPhone) + DNS-туннель (аварийный минимум). Подробности — Projects/hy2-vpn/Decisions.md D18.

**Чужой белый IP как ТРАНЗИТ, а не выход (проверено 2026-07-28).** Цепочка `телефон → чужой белый IP → наш VPS → интернет` через `detour` в sing-box. Владелец транзита видит только TCP к `192.255.201.98` + объём; содержимое, адресаты и DNS — во втором слое шифрования.
- Второй хоп — **Shadowsocks-2022** (самошифрующийся, TCP), временный `/opt/hy2/chain_test.json` :8447. **Нельзя** VLESS на :80 (он без TLS → владелец видит всё открытым). **Hysteria2 через цепочку не работает** — чужие VLESS не пропускают UDP.
- Замеры: наш VPS напрямую с дома 10 МБ/с / 0.28с; цепочка через плохой транзит 94–188 КБ/с / 2.2с; **через `87.228.101.57` (Selectel, sni max.ru) — 1650 КБ/с ≈ 13 Мбит/с / 0.81с**. Разброс между транзитами 17×, выбирать замером, не пингом.
- **UUID в подписке ротируются ~раз в час** — через час все конфиги мертвы, хотя серверы живы. Reality при неверном UUID молча проксирует на настоящий сайт, поэтому «TLS отвечает» ничего не доказывает. Любая схема на публичной подписке обязана перечитывать её ежечасно.

**РАБОЧАЯ СХЕМА (2026-07-28, проверено сквозным трафиком под БС MegaFon): бесплатный обход через Telemost, ссылкой в Happ.**
`Happ (socks://happ:***@127.0.0.1:1080) → joiner whitelist-bypass в режиме Proxy only → конференция Telemost → creator на mac mini (launchd) → sing-box :2091 → наш US VPS`. Результат: внешний IP телефона `192.255.201.98`, Google 204, **YouTube 200**, **169 КБ/с, задержка 2.1 с**. Ссылка в Happ локальная — **не меняется никогда**.
- Складывается в Happ благодаря двум фактам: у joiner есть режим **Proxy only** (`proxyOnly`, не поднимает свой VpnService → нет конфликта двух VPN), а **Happ поддерживает протокол Socks** (+ → Ручной ввод → Протокол: Socks; схему `socks://` интентом он НЕ принимает).
- **Обязательно:** Proxy only=вкл, Manual user/pass, Reconnect on app start=вкл; в Happ «Прокси для выбранных приложений» → режим **Обход** + отметить `bypass.whitelist` (иначе трафик joiner-а к Яндексу заворачивается в туннель = петля); **Фрагментирование в Happ = ВЫКЛ** (с ним 0 Б/с и 9.5 с, без него 169 КБ/с и 2.1 с — она рвёт TLS, а обфускация тут не нужна, трафик уже внутри видеозвонка).
- **Гоча slot binding (баги проекта #150/#155):** creator подключён, но обратный VP8-канал молчит — `UNBOUND slot=1`, у joiner `resending vp8 config… no ack yet` → `TIMEOUT waiting for MsgConnectOK`. Лечится **переподключением любой из сторон** → `BOUND slot=N mid=video_AA`. После автоподъёма creator связь сама не встаёт мгновенно — нужен ре-хендшейк joiner.
- **Куки Яндекса: расширением браузера не забрать** (`Session_id` HttpOnly). Отдельный Chrome с чистым профилем + `--remote-debugging-port=9222`, забор через CDP `Storage.getCookies` минимальным WS-клиентом на чистом Python (`cdp_cookies.py`).
- На mini: `~/Services/whitelist-bypass/` (creator собран из исходников под macOS arm64 — в релизах только Linux), `com.cebers.whitelist-bypass-creator.plist` KeepAlive; upstream переиспользован готовый `com.cebers.singbox-hy2-client` (SOCKS5 :2091).
- **Один creator = один joiner** — на второе устройство нужен второй процесс и своя конференция. Учётка Яндекса только отдельная тестовая.

**ИТОГ ДНЯ 2026-07-28 (вечер): Telemost-схема свёрнута, бесплатного варианта под iPhone нет.**
- **Свёрнуто:** launchd `com.cebers.whitelist-bypass-creator`, `~/Services/whitelist-bypass/` на mini, карточка в ops_dashboard, APK и файлы с телефона, Creator.app + куки Яндекса + отладочный Chrome-профиль с ноута. Причина: требование «iPhone без сторонних приложений» несовместимо с WebRTC-туннелем — Happ понимает только подписки (адрес+порт), а IPA на iOS неподписанный и живёт 7 дней.
- **Ни один наш адрес не белый:** US VPS `192.255.201.98`, codoceh `195.133.147.176`, zbrcheck `193.108.113.35`, домашний `5.18.232.68` — все закрыты (контроль vk.com=302). Бесплатного решения на своей инфраструктуре не существует в принципе: Happ ходит по IP, фильтр по IP, список ведут операторы.
- **Карта провайдеров** (скан 111 заведомо живых адресов, открыто 50): VK Cloud 9, Yandex Cloud 8, landvps 5, Citytelecom 5, **IHC.RU/eServer 5**, Selectel 4, МТС 3, Contel 2, Timeweb/DDoS-Guard/Docker по 1. **Cloud.ru не в белом списке ВООБЩЕ** — закрыт даже сам `cloud.ru` (185.71.64.201); заводить там relay бессмысленно.
- **Цены:** eServer **99 ₽/мес с включённым IP** (дешевле всех), IHC.host 380 ₽ (3 дня теста), Selectel ~200–400 ₽ +176 ₽ за IP, Timeweb 180–450 ₽ +180–200 ₽, **VK Cloud 1523 ₽/мес** (дорого!), Yandex Cloud от 1659 ₽. Free tier с публичным IP не даёт НИКТО — максимум тест 3–5 дней или грант на 30 дней.
- **Гоча:** «приветственный бонус VK Cloud 5000 ₽» из поисковой выдачи **не подтвердился** — после регистрации на балансе 9 ₽. Не опираться на обещания бонусов без проверки в кабинете. Аналогично Cloud.ru: там ВМ бесплатна навсегда, но сеть вне белых списков.

**Окно закрылось 28.07.2026 вечером** — БС на MegaFon сняли, проверять relay на живом фильтре стало нельзя. Денег не потратили.
- **Важная находка БЕЗ белых списков:** к нашему US VPS `192.255.201.98` с обычного мобильного **TCP 443 заблокирован, а 80 и 22 открыты** — точечная блокировка TLS-порта как VPN-сервера. **Hysteria2 на UDP 8443 при этом работает** (подтверждено подключением). Выбор UDP-транспорта оказался удачным: TCP-порт уже прикрыт, UDP жив.
- **К следующему включению БС готово:** метод замера (только адреса с живым сервисом, контроль vk.com=открыт/example.com=закрыт, телефон обязательно на `rmnet_data0` а не Wi-Fi); источник живых адресов для скана — `zieng2/wl` → `vless_lite.txt` (~110 серверов); проверять VK Cloud/Yandex Cloud/landvps/Citytelecom/IHC-eServer/Selectel, **Cloud.ru не проверять**; заказывать eServer 99 ₽/мес (IP включён, есть бесплатный тест → IP проверяется до оплаты); целевая схема `Happ → relay на белом IP → наш US VPS`, второй хоп обязательно TCP (Shadowsocks-2022), т.к. Hysteria2/UDP через цепочку не идёт.
