Гео Google/YouTube без рекламы через РФ-выход
Полезный побочный эффект гео-маршрутизации: если увести Google/YouTube на российский выход, реклама почти пропадает, а регион остаётся родным. Но чтобы это работало без утечек, нужны четыре штриха в конфиге — маршрут, DNS без ECS, глушёный IPv6 и QUIC в туннеле. Собираем. Команды и JSON рабочие.
Почему РФ-выход убирает рекламу
Простая механика: Google свернул продажу рекламы в РФ ещё в 2022-м. Поэтому ролики, отданные на российский IP, идут практически без пре-роллов — рекламы для этого региона просто нет. Плюс родные RU-рекомендации, регион RU без гео-капчи, а часто и низкий пинг к Google (пиринг РФ-датацентра).
Отсюда приём: заворачиваем Google/YouTube на российский выход отдельно от остального трафика. Важная оговорка сразу, чтобы не было сюрприза: РФ-IP убирает рекламу, но не снимает замедление — YouTube в РФ душат на уровне ТСПУ, и сам по себе российский адрес видео не ускорит. Чтобы не буферило, РФ-выход под YouTube должен обходить замедление (отдельный РФ-хост с zapret, разбор в статье про YouTube). Здесь — про гео и белизну, не про скорость.
Штрих 1: маршрут Google/YouTube на РФ-выход
В роутинге отправляем Google и YouTube на российский выход. На каскадном входе (серверный роутинг) это правило вида:
{ "type": "field", "domain": ["geosite:youtube"], "outboundTag": "exit-ru" },
{ "type": "field", "ip": ["geoip:google"], "outboundTag": "exit-ru" }geoip:google ловит и то, что резолвится в Google-CDN без явного домена. Всё остальное идёт своим маршрутом (заграничный выход/балансер). Это и есть «нода по сервису»: YouTube выходит российским, прочая заграница — как настроено.
Штрих 2: DNS без ECS
Даже с идеальным выходом можно спалиться на DNS. Если резолвер передаёт ECS (EDNS Client Subnet) с российской подсетью клиента, Google-CDN геолоцирует по ней мимо IP. Заворачиваем резолв Google/YouTube на не-ECS DoH прямо в конфиг ноды:
"dns": {
"queryStrategy": "UseIPv4",
"servers": [
{
"address": "https://1.1.1.1/dns-query",
"domains": ["geosite:google", "geosite:youtube"]
},
"https://1.1.1.1/dns-query",
"localhost"
]
}Cloudflare 1.1.1.1 по умолчанию ECS наружу не шлёт — это его фишка приватности, ровно то, что нам нужно. queryStrategy: UseIPv4 заодно отсекает IPv6-ответы (см. штрих 3).
Штрих 3: глушим IPv6
Тихая утечка: если у клиента есть российский IPv6 и Google открывается по нему мимо туннеля — весь маскарад насмарку, регион утечёт по v6. Либо туннелируем v6, либо режем. Проще — резать, и на клиентском шаблоне, и запросом только в v4:
{ "type": "field", "ip": ["::/0"], "outboundTag": "block" }Плюс queryStrategy: UseIPv4 в блоке DNS выше — резолвим только в IPv4, чтобы v6-адресов Google вообще не появлялось.
Штрих 4: QUIC в туннель, не мимо
Google почти весь на QUIC (UDP 443). Если QUIC полезет напрямую мимо туннеля — приехали, IP утечёт. Следим, чтобы UDP шёл в туннель. Либо, если QUIC мешает (видео залипает через высоколатентный канал), глушим его и Google уходит на TCP:
{ "type": "field", "network": "udp", "port": "443", "outboundTag": "block" }Выбор зависит от канала: на нормальном РФ-выходе QUIC можно оставить в туннеле; на высоколатентном (CDN/каскад) — блокировать, чтобы видео не зависало в застрявшем QUIC.
Обязательное условие: sniffing
Чтобы правила по доменам (youtube.com и прочее) вообще срабатывали, на инбаунде должен быть включён sniffing — иначе роутинг и DNS не увидят имя *.google.com в шифрованном трафике:
"sniffing": { "enabled": true, "destOverride": ["http", "tls", "quic"] }Без этого домены не распознаются, и весь роутинг по Google рассыпается — трафик уйдёт куда попало.
Проверка
- Открой YouTube — регион RU, реклама почти отсутствует, рекомендации родные.
- Проверь на
2ip.ru, каким видят твой IP при заходе на Google — должен быть российский (выходexit-ru), не заграничный. - Убедись, что v6 не течёт:
test-ipv6.comне должен показывать российский v6-адрес мимо туннеля.
Границы приёма
Честно, чтобы не ждать чуда. Это сетевая часть, и она чинит гео-флаг и гео-рекламу по местоположению. Но есть то, что сетью не решается:
- Старый аккаунт. Если Google-аккаунт годами жил из РФ (язык
ru, российская карта,+7), страна прописана на самом аккаунте — российский выход её не перебьёт. - Локаль браузера.
Accept-Language: ru-RUи московская таймзона перечёркивают любой российский-или-нет IP для антифрода. Это памятка клиенту, туннель в браузер не залезет. - Язык запросов. Вбиваешь русские запросы и смотришь русские ролики — Google честно отдаст русскую выдачу, плевать на IP.
То есть приём убирает рекламу и держит регион чистым на уровне сети, а остальное — уже про аккаунт и поведение. Механику гео-маршрутизации целиком (RU-direct, порядок правил, антифрод) разбирали в статье «Гео-разделение трафика: зачем маршрутизация».
Следующий гайд Запасной вход за час → ↗ Не понравилась статья или что-то непонятно? Напишите мне — помогу или поправлю. @notrealvpn →