Безусловно, тема обхода ограничений изнутри страны сейчас актуальна. Но что делать, если нужно открыть сайты, которые со своей стороны заблокировали пул IP-адресов из РФ, не используя доп ПО в виде VPN/прокси клиентов? Например, было интересно создать аналог DNS-сервера вроде comss, который открывает доступ к AI, игровым серверам и тому подобному, которые сами заблокировали пользователей из РФ, с чем не смогут помочь обходы DPI (возможно, эксперты напишут замечания в комментариях).
Один из возможных способов, который получилось реализовать у меня, представлен ниже.
Нам понадобится VPS в локации, через которую мы хотим быть видимы для нужных нам сервисов.
Для примера можно вспомнить Twitch, который заблокировал доступ к просмотру стримов в качестве 1080p для пользователей из РФ. Так же разблокируем просмотр в 1440p, что тоже доступно в ограниченном числе регионов (при условии, что стример участник бета программы и стримит в 2к).
Идём на страницу справки по бета-тестированию качества 2k на Twitch и смотрим регионы, в которых оно доступно.

По аналогии можно посмотреть, например, локации, где недоступен Gemini, и выбрать более подходящую локацию под оба случая.
Итак, регион выбран, сервер с белым IPv4 в данной локации арендован — переходим к настройке (на примере Ubuntu):
1. Настраиваем подобие SNI-прокси через nginx
Устанавливаем nginx и модуль ngx_stream_core_module, который поможет нам проксировать трафик на основе SNI.
apt install nginx libnginx-mod-stream
Редактируем конфигурационный файл nginx:
nano /etc/nginx/nginx.conf
Вставляем следующий блок (вне блока http):
stream {
log_format proxy '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time "$ssl_preread_server_name"';
access_log /var/log/nginx/stream-access.log proxy;
error_log /var/log/nginx/stream-error.log;
server {
resolver 1.1.1.1 ipv6=off;
listen 443;
ssl_preread on;
proxy_pass $ssl_preread_server_name:443;
proxy_connect_timeout 10s;
proxy_timeout 30s;
}
}
Сохраняем конфиг и проверяем, что с ним нет проблем:
nginx -t
nginx -s reload
Если всё в порядке (можно на всякий случай проверить через systemctl status nginx), то это уже можно использовать на клиентах на уровне файла hosts:
Просто прописать IP VPS и домен, который мы хотим пускать через него.
В случае с Twitch(сами потоки будут идти напрямую к серверам твича, мы проксируем только запросы, которые используются твичом для получения m3u плейлиста) для разблокировки качества достаточно прописать следующее (где 1.2.3.4 — IP вашего VPS):
1.2.3.4 usher.ttvnw.net
1.2.3.4 gql.twitch.tv
После перезапуска браузера (если в его настройках указан системный DNS провайдер, а не сторонний) качество выше 720p станет доступным. (Скорей всего понадобится так же очистить кэш DNS, как это сделать зависит от вашей ОС)
2. Настройка dnsmasq
Однако hosts настроить можно не везде. Что если нам нужно качество на телевизоре или телефоне? Удобнее использовать VPN/proxy либо поднять свой DNS-сервер, который будет перенаправлять нужные запросы на наш сервер без установки доп ПО на клиенты.
Устанавливаем dnsmasq:
apt install -y dnsmasq
systemctl stop dnsmasq
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
nano /etc/dnsmasq.conf
Добавляем в конфиг следующие настройки(где 1.2.3.4 — IP вашего VPS):
(прописываем какие адреса должны идти на наш сервер, остальные будут резолвится через DNS от Cloudflare)
listen-address=0.0.0.0
port=53
no-resolv
no-hosts
server=1.1.1.1
server=1.0.0.1
cache-size=10000
log-queries
log-facility=/var/log/dnsmasq.log
address=/usher.ttvnw.net/1.2.3.4
address=/gql.twitch.tv/1.2.3.4
bogus-priv
bind-interfaces
Сохраняем конфиг, создаём файл для логов и тестируем корректность конфигурации:
touch /var/log/dnsmasq.log
chmod 644 /var/log/dnsmasq.log
dnsmasq --test
Если всё успешно, отключаем встроенный DNS-резолвер системы и включаем вместо него dnsmasq:
systemctl stop systemd-resolved
systemctl disable systemd-resolved
systemctl enable dnsmasq
systemctl start dnsmasq
systemctl status dnsmasq
Проверяем, что прописанный нами домен через localhost указывает на наш сервер:
dig @localhost usher.ttvnw.net +short
Если резолвит в IP нашего сервера — значит, работает.
Также проверим, работает ли наш DNS-сервер извне (где 1.2.3.4 — IP сервера):
dig @1.2.3.4 usher.ttvnw.net +short
Если всё успешно — можно прописать его в качестве первичного DNS на роутере или в системе/TV/телефоне.
Таким же образом можно прописать доменные адреса Gemini и других сервисов, которые блокируют доступ по локации IP пользователя. В связке с обходом DPI это может помочь без надобности использовать VPN/proxy (хотя у нас буквально прокси на уровни SNI адресов через nginx) для таких случаев.
P.S. Если кто-то сюда забрёл для разблокировки качества на твиче, то могу посоветовать эти расширения под chromium/firefox, которые работают после последних обновлений со стороны твича (на 11.10.25): https://github.com/reyohoho/twitch_quality_proxy
UPD: Для работы ChatGPT достаточно добавить chatgpt.com, для Gemini: gemini.google.com, для Grok: grok.com
UPD2: Вариант с DNS over TLS(используя NextDNS free аккаунт) (можно использовать это на android системах, чтобы работало и на моб. интернете или если лень прописывать статику в настройках сетей). Второй вариант, если есть свой домен.
Комментарии (43)

MountainGoat
15.10.2025 16:31Если есть свой VPS, то зачем это всё, когда можно просто поднять там туннель? Разве что для игр, и то это не факт, что через туннель latency будет сколько-то выше.

oleg-svs Автор
15.10.2025 16:31не используя доп ПО в виде VPN/прокси клиентов
Если роутер это не поддерживает, или, например, на TV слот VPN/прокси занят туннелем обхода DPI? Смысл то в этом

vikarti
15.10.2025 16:31Возможные идеи зачем:
не надо гнать весь/значительную часть трафика через туннель
не надо вообще никакого спецсофта на клиентах
Недостаток да - если DPI мешает - не поможет, придется отдельно решать.
Вообще - ControlD например примерно такую услугу в том числе предоставляет. Выбор серверов конечно большой.
Сomms как минимум раньше - тоже давали (всем желающим) но в варианте "как бы обойти геоблоки".

the_vitas
15.10.2025 16:31На роутере (на нормальном роутере) можно настроить только определенные хосты отправлять в тонель. Остальные по дефолту. И так же на клиентах нет никакого софта.

Aelliari
15.10.2025 16:31Ограничить бы ещё доступ к такому «прокси» со стороны интернета…

oleg-svs Автор
15.10.2025 16:31Можно фаерволом разрешить только свой белый адрес или хотя бы ограничить по локации страны через аддоны к фаерволу используя GeoIP

Aelliari
15.10.2025 16:31Если ip не статика - лучше подумать о ином решении, ну или смирится с открытием только для страны (а вообще вероятно можно извернуться и даже по AS твоего isp разрешать). Или какой-нибудь ddns на роутере по которому сервер сам определит ip для whitelist-a. Но это будет плохо масштабируемым решением, но подходящим для дома.
Может doh/dot сервер на vps поднять, и уже по его логам разрешать… Хотя в тоже время он будет тупо медленнее…

oleg-svs Автор
15.10.2025 16:31По AS тема интересная, но это опять же придётся тюнить для моб связи и домашнего провайдера, смотря где и в каких сценариях нужно использовать. По DoH не знаю, как сейчас, вроде работает ок, но какое-то время были проблемы в зависимости от провайдера, если ничего не путаю.

Incognito90
15.10.2025 16:31можно ограничивать домены для проксирования:
stream { # === Маршрутизация по SNI === map $ssl_preread_server_name $route { ~*^([a-z0-9-]+\.)*ttvnw\.net$ direct; # usher.ttvnw.net и др. поддомены ~*^([a-z0-9-]+\.)*twitch\.tv$ direct; # gql.twitch.tv, api.twitch.tv и т.д. default block; } # === Преобразование route → backend === map $route $backend { direct $ssl_preread_server_name:443; block 127.0.0.1:4443; } # === Резолвер DNS === resolver 1.1.1.1 1.0.0.1 ipv6=off; # === Основной сервер === server { listen 443; ssl_preread on; proxy_pass $backend; proxy_connect_timeout 10s; proxy_timeout 30s; } # === Заглушка для заблокированных соединений === server { listen 127.0.0.1:4443; return 403; } }айпи можно ограничить через allow/deny
server { listen 443; ssl_preread on; # IP-фильтрация доступа allow 1.2.3.4; deny all; proxy_pass $backend; proxy_connect_timeout 10s; proxy_timeout 30s; }

dartraiden
15.10.2025 16:31Например, было интересно создать аналог DNS-сервера вроде comss
Было бы интересно поглядеть на список проксируемых ресурсов, который они охраняют, как зеницу ока, и делиться не хотят...

MAXH0
15.10.2025 16:31В последнее время Интернет изрядно "дерьмофицировали". Причем с двух сторон и разбираться в сортах дерьма и методах их разгребания становится всё сложнее. Особенно простому пользователю. А таких подавляющее большинство.
Требуется разъяснительная статья когда и где какие средства обхода применять, как их сочетать и что на самом деле является рабочим инструментом, а что шаманизмом и суеверием.
vikarti
15.10.2025 16:31Да, и напрашивается :) хотя бы частично унифицированное решение для обхода разных видов блокировок (DPI локально, геоблоки, используйте-только-residential-ip)
(с residential/mobile IP - проблему можно решить покупкой соответствующих прокси но там скорость + либо в месяц платить либо по трафику)

selivanov_pavel
15.10.2025 16:31Кстати, а как купить такой IP? Разве это возможно для VPS/VDS? Они же получают адрес из AS своего провайдера, которая во всех geoip базах фигурирует не как residential.

Aelliari
15.10.2025 16:31Можно найти такие прокси в интернете. Можно попробовать через cloudflare warp отправлять трафик, к нему относятся немного более лояльно чем к ip ДЦ. И некоторые isp дают возможность купить у них vps, но их проблемно найти

RTFM13
15.10.2025 16:31Какой-нибудь условный бесплатный калькулятор у вас в смартфоне запросто может иметь в своём составе прокси, за который кто-то берёт деньги.

NutsUnderline
15.10.2025 16:31ну если только с тунелем, так то порты хорошо прикрыты провайдером

RTFM13
15.10.2025 16:31Конечно, там будет промежуточный централизованный распределитель, это достаточно давно на поток поставлено.

vikarti
15.10.2025 16:31А кто говорит про VPS/VDS? Речь про прокси. (SOCKS/HTTP).
Есть компании кто услуги по аренде предоставляют, один из способов - берется мощный сотовый модем и ставится где надо + комп управляющий(он же - передергивает модем чтобы новый IP если надо). Есть другие способы насколько знаю (ходят слухи что некоторые способы - весьма скажем так серые)
Используют это например (из хотя бы относительно белых тем)всякие любители оптимизировать рекламу в соцсетях и не только (там с датацентровых IP не посидишь) и всякие сайты парсит.
Пример компании предоставляющей такую услугу - например https://lteboost.com/ (аналоги конечно же есть), из России у меня проблем с оплатой их услуг проблем не было (только, если что, учитываем что конкретно у этих - в правилах написано что НЕ НАДО их использовать для доступа на банковские и гос-сервисы).
Ну а более простой способ - выходным каскадом Cloudflare warp - многие считают его домашним.

aX12
15.10.2025 16:31Интересное решение.
У меня такой цели не было так как стримами не увлекаюсь, а вот ютуб, инста и нейросети + нормальные звонки в тг и ватсапп это вот хотелось реализовать, в итоге на старом нетбуке за 300р поднял на дебиане микро сервачок с DoH через comes, но только опедеельные домены нейросетей, zapret для фильтрации ютуба и бонусом шла инста которая так же заработала через запрет и ipv6. Доступ же организовал через wg прикрутив тг бота для управлением как сервером так и менеджментом вг. Хотелось своего скажем так родного а не зарубежного для обхода блокировок, и вышло на удивление неплохо)
З. Ы. Нейросети таки со всем помогли да, но результат не продаю и не рекламирую так что просьба не пинать) для себя ведь костыли

dimamart
15.10.2025 16:31Твич это конечно хорошо, но работают ли Chatgpt, grok и т.д.? Собственно comss только для этого и использую.

oleg-svs Автор
15.10.2025 16:31Chatgpt
Для работы чата хватило добавления chatgpt.com
grok
Добавить grok.com
gemini
Заработал после добавления gemini.google.com

koolvn
15.10.2025 16:31Идея крутая, но нужно докрутить!
Вот тут пример как такое на роутере сделать, но, я полагаю, можно и через впс сделать.
https://gist.github.com/koolvn/f99ba845e66e6a2643adbd055d5d034b

square
15.10.2025 16:31А это не тоже самое, что делает, например, mihomo с fakeip?
У twitch, кстати, чуть больше доменов - https://github.com/MetaCubeX/meta-rules-dat/blob/sing/geo/geosite/twitch.json
HomeMan
Добавьте в заголовок "с использованием VPS"
vernette
Слова "сервер" в названии, я, так понимаю, вам не хватило?
HomeMan
Под столом с адресом 192.168.0.1 тоже сервер. Вам этого хватит?
vernette
Если вы считаете, что 192.168.0.1 обойдет санкции зарубежных сайтов - попробуйте. Остальным контекст заголовка и так ясен.
NutsUnderline
этот текст вообще надо читать между строек.