Обновить

Комментарии 72

Нам понадобится VPS в локации, через которую мы хотим быть видимы для нужных нам сервисов.

Добавьте в заголовок "с использованием VPS"

Слова "сервер" в названии, я, так понимаю, вам не хватило?

Под столом с адресом 192.168.0.1 тоже сервер. Вам этого хватит?

Если вы считаете, что 192.168.0.1 обойдет санкции зарубежных сайтов - попробуйте. Остальным контекст заголовка и так ясен.

этот текст вообще надо читать между строек.

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

не используя доп ПО в виде VPN/прокси клиентов

Если роутер это не поддерживает, или, например, на TV слот VPN/прокси занят туннелем обхода DPI? Смысл то в этом

Возможные идеи зачем:

  • не надо гнать весь/значительную часть трафика через туннель

  • не надо вообще никакого спецсофта на клиентах

Недостаток да - если DPI мешает - не поможет, придется отдельно решать.

Вообще - ControlD например примерно такую услугу в том числе предоставляет. Выбор серверов конечно большой.

Сomms как минимум раньше - тоже давали (всем желающим) но в варианте "как бы обойти геоблоки".

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

Сomms как минимум раньше - тоже давали (всем желающим) но в варианте "как бы обойти геоблоки".

Свой сервис в этом плане лучше, т.к. через публичные сидит куча народа. Например, поэтому у Comss частенько не работают ИИ-сервисы Google - гуглу не нравится, когда с одного адреса идёт чрезмерная нагрузка.

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

Можно фаерволом разрешить только свой белый адрес или хотя бы ограничить по локации страны через аддоны к фаерволу используя GeoIP

Если ip не статика - лучше подумать о ином решении, ну или смирится с открытием только для страны (а вообще вероятно можно извернуться и даже по AS твоего isp разрешать). Или какой-нибудь ddns на роутере по которому сервер сам определит ip для whitelist-a. Но это будет плохо масштабируемым решением, но подходящим для дома.

Может doh/dot сервер на vps поднять, и уже по его логам разрешать… Хотя в тоже время он будет тупо медленнее…

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

можно ограничивать домены для проксирования:

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;
    }

Для заблокированных соединений я бы лучше отдавал 444

Например, было интересно создать аналог DNS-сервера вроде comss

Было бы интересно поглядеть на список проксируемых ресурсов, который они охраняют, как зеницу ока, и делиться не хотят...

В последнее время Интернет изрядно "дерьмофицировали". Причем с двух сторон и разбираться в сортах дерьма и методах их разгребания становится всё сложнее. Особенно простому пользователю. А таких подавляющее большинство.
Требуется разъяснительная статья когда и где какие средства обхода применять, как их сочетать и что на самом деле является рабочим инструментом, а что шаманизмом и суеверием.

Да, и напрашивается :) хотя бы частично унифицированное решение для обхода разных видов блокировок (DPI локально, геоблоки, используйте-только-residential-ip)

(с residential/mobile IP - проблему можно решить покупкой соответствующих прокси но там скорость + либо в месяц платить либо по трафику)

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

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

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

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

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

А кто говорит про VPS/VDS? Речь про прокси. (SOCKS/HTTP).

Есть компании кто услуги по аренде предоставляют, один из способов - берется мощный сотовый модем и ставится где надо + комп управляющий(он же - передергивает модем чтобы новый IP если надо). Есть другие способы насколько знаю (ходят слухи что некоторые способы - весьма скажем так серые)

Используют это например (из хотя бы относительно белых тем)всякие любители оптимизировать рекламу в соцсетях и не только (там с датацентровых IP не посидишь) и всякие сайты парсит.

Пример компании предоставляющей такую услугу - например https://lteboost.com/ (аналоги конечно же есть), из России у меня проблем с оплатой их услуг проблем не было (только, если что, учитываем что конкретно у этих - в правилах написано что НЕ НАДО их использовать для доступа на банковские и гос-сервисы).

Ну а более простой способ - выходным каскадом Cloudflare warp - многие считают его домашним.

Спасибо за мануал!

Интересное решение.

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

З. Ы. Нейросети таки со всем помогли да, но результат не продаю и не рекламирую так что просьба не пинать) для себя ведь костыли

нормальные звонки в тг и ватсапп 

Увы, для звонков необходимо, чтобы и на стороне другого абонента были проведены соответствующие "настройки"...

Совершенно верно, но исторически сложилось что с незнакомцами не общаюсь голосовыми или видео тем более)

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

Grok'a там, кстати, нету, поэтому на всякий проверял практическим путём

У twitch, кстати, чуть больше доменов 

А зачем вам проксировать все домены? Для разблокировки 1080/1440 на данный момент хватает тех, что в статье.

Да, я понимаю, просто указал, - вдруг пригодится кому-то

спасибо за статью! на роутере или в настройках подключения винды - работает 🔥

Но как прописать dns в android телефоне/телеке? Оно хочет домен, а не IP

надо в "обычных" настройках dns его прописать. или раздать с помощью dhcp

TV по DHCP должен брать ваш DNS с роутера, либо прописать на TV статику в настройках сети.

Для телефона по WiFi так же DHCP или прописать статику и отключить то что на скриншоте. А вот чтобы прописать то, что на скриншоте(это будет работать и на моб инет), уже нужно поднимать DNS Over TLS сервер. Можно взять у NextDNS free аккаунт и прописать там в rewrites IP VPS сервера для требуемых доменов:
https://ibb.co/KpVW0XCY
И затем в настройках DNS(Over TLS, который на скриншоте) прописать адрес вашего личного nextdns аккаунта:
https://ibb.co/Gv7JSnyj

ему нужен DoT (DNS over TLS), можно поднять на базе того же Nginx:

stream {
    server {
        listen 853 ssl;
        ssl_certificate /etc/letsencrypt/live/your.domain/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/your.domain/privkey.pem;
        ssl_protocols TLSv1.2 TLSv1.3;
        proxy_pass 127.0.0.1:53; #dnsmasq
    }
}

нужен свой домен и сертификат для него

Помогите пожалуйста я всё настроил подключил dns к телефону по DoT он подключается сайты грузятся а доступа к заблокированым ресурсам нету vps стоит в польше.

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;

##############################

# 1. SSL SNI Proxy (порт 443)

##############################

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;

}

##############################

# 2. DNS over TLS (порт 853)

##############################

server {

listen 853 ssl;

ssl_certificate /etc/letsencrypt/live/dns.storm.ru/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/dns.storm.ru/privkey.pem;

ssl_protocols TLSv1.2 TLSv1.3;

proxy_pass 127.0.0.1:53; # Локальный DNS-сервер (например, dnsmasq)

}

}

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/myipvps

address=/gql.twitch.tv/myipvps

address=/chatgpt.com/myipvps

address=/grok.com/myipvps

bogus-priv

bind-interfaces

/var/log/dnsmasq.log

/var/log/nginx/stream-access.log proxy

/var/log/nginx/stream-error.log;

Проверьте в логах, подключается ли ваш телефон вообще через ваш DNS и что в логах nginx

Это пишет в

/var/log/nginx/stream-error.log;

2025/10/30 08:34:21 [error] 1697#1697: *766 recv() failed (104: Connection reset by peer) while proxying and reading from upstream, client: 104.222.177.xxx, server: 0.0.0.0:443, upstream: "104.222.177.xxx:443", bytes from/to client:0/0, bytes from/to upstream:>

2025/10/30 08:35:52 [alert] 1697#1697: 768 worker_connections are not enough

upstream: "104.222.177.xxx:443"

почему-то секция с резолвом не отрабатывает. похоже. пытается к себе же подключаться

resolver 1.1.1.1 ipv6=off;

точно резолвер прописан?
еще в /etc/resolv.conf закомментить строчку с 127.0.0.1 и добавить публичные (1.1.1.1, 8.8.8.8, 9.9.9.9)

У меня та же ситуация, что у @Naizek. Если найдется решение, готов выложить полный тутор на благо общества.

Установите knot-dnsutils (есть в репозиториях многих дистрибутивов, либо отсюда https://www.knot-dns.cz/download) и проверьте:

host=<dns.example.com>; kdig -d @$host +tls-ca +tls-host=$host +tls-sni=$host chatgpt.com

(Вместо dns.example.com указать свой домен), должно возвращать айпи-адрес вашего сервера

Да возвращяет ip vps

А выдаёт

root@chestnut-indicolite15648:~# kdig -d @dns.naizek.online +tls-ca +tls-host=dns.naizek.online +tls-sni=dns.naizek.online chatgpt.com

;; DEBUG: Querying for owner(chatgpt.com.), class(1), type(1), server(dns.naizek.online), port(853), protocol(TCP)

;; DEBUG: TLS, imported 146 system certificates

;; DEBUG: TLS, received certificate hierarchy:

;; DEBUG: #1, CN=dns.naizek.online

;; DEBUG: SHA-256 PIN: 0TgWf/yAw50PpV/TedNw6eXXesSxYO+iu7kSaX5VNWg=

;; DEBUG: #2, C=US,O=Let's Encrypt,CN=E7

;; DEBUG: SHA-256 PIN: y7xVm0TVJNahMr2sZydE2jQH8SquXV9yLF9seROHHHU=

;; DEBUG: TLS, skipping certificate PIN check

;; DEBUG: TLS, The certificate is trusted.

;; TLS session (TLS1.3)-(ECDHE-SECP256R1)-(ECDSA-SECP256R1-SHA256)-(AES-256-GCM);; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 17322

;; Flags: qr aa rd ra; QUERY: 1; ANSWER: 1; AUTHORITY: 0; ADDITIONAL: 1

;; EDNS PSEUDOSECTION:

;; Version: 0; flags: ; UDP size: 1232 B; ext-rcode: NOERROR

;; QUESTION SECTION:

;; chatgpt.com. IN A

;; ANSWER SECTION:

chatgpt.com. 0 IN A 104.222.177.179

;; Received 56 B

;; Time 2025-10-30 11:13:00 UTC

;; From 104.222.177.179@853(TLS) in 88.7 ms

root@chestnut-indicolite15648:~#

Проблема могу подключиться через ip адрес vps то блокировок нету а через домен сайты открываются , но тот chatgpt не работает а по ip адресу всё гуд.

если требуется имено домен ( FQDN) для android, попробуй указать dns.x.x.x.x.nip.io, где x.x.x.x - IP адрес

Я так понял это ещё (пока) можно сделать на кабеле. В мобильной сети я заметил - подозрительный трафик блокируется по Объему. Все что не ВК тупо блокируется, неважно под каким соусом и куда информация плывет.

Переползаю на новую точку, КВН проходит проверку. Стоит включить хоть какой-то значимый трафик - отрубает сразу всё. Переподключение сети не помогает КВН даже проверку не проходит.

Помнится у @ValdikSS +/- всё это и было реализовано, только вместо того чтоб наружу торчал днс, все это было обёрнуто в openvpn. А дальше там на уровне доменов разруливалось что идёт через впн а что нет, а список адресов брался из списка заблокированных.

У меня с ксореным-openvpn по прежнему по большей части работает такой вариант.

Да, но OVPN и другие протоколы не на всех устройствах поддерживаются. А вот возможность указать DNS - практически на любом.

Добрый день! А как ютуб добавить?

В случае блокировки по SNI - этот способ не поможет, только обойти блокировку по IP. Этот способ для обмана принимающей стороны, а не для обхода внутренних блокировок.

Можно использовать свой dns-сервер на базе AdGuardHome

Вы можете указать в dnsmasq любой сторонний DNS сервер вместо cloudflare

Да мне не надо, я же жираф, я могу только везде Squid поставить

Почему бы просто не использовать DNS сервер с черными и белыми списками, которые постоянно обновляются?

Я имею ввиду сервер AdGuardHome

Просто можно добавлять свои списки и любые DNS апстрим-серверы

Используйте что угодно, dnsmasq здесь как простой пример

Подскажите пожалуйста сделал DoT сервер по вашей инструкции и инструкции из комментариев на Ubuntu 24.04 в связи из dnsmasq и nginx и любой сайт выдаёт ошибку сертификата HSTS, а ещё на сервере постоянно пропадает интернет если подключаться к любому домену (по ip нормально). Можете вы сделать какую-нибудь FAQ по этому делу или подробную статью для новичков?

Для начала проверьте корректность настроки nginx. Пропишите в hosts тестовый домен и IP сервера. Если он будет работать, то уже смотреть дальше. Я не тестировал DoT через nginx, только через NextDNS вариант.

Получилось обойти блокировку которую с помощью обычного VPN невозможно было обойти.

Это сервис OnVue для получения сертификатов у которого очень сильный антифрод, я уже думал ехать за гранцу для того что бы сдать)

Поясните для новичка, а то как-то сжато написано

пункт "Настраиваем подобие SNI-прокси через nginx" - это локальная настройка.

пункт "Настройка dnsmasq" - это уже настройка своего DNS.

и вот если хочется именно второй вариант с DNS, то этот пункт надо выполнять на VPS?

Оба пункта выполняются на VPS. Для DNS первый пункт тоже нужен для работы прокси

Ни один подобный проект не работает для гемини. Их перелопатил по крайней мере 5 разных в интернете, включая ваш. Либо если у вас гемини прекрасно работает, значит вы чего-то не договариваете. Куда ещё углубляться, если подскажете, буду благодарен.

Проблема решена. Да, гемини работает, но без голоса. Я тестил голосовой режим через VPN. Проблема была в настройках клиента на андроид, и днс-серв тут не при чем. Спасибо всем, кто не отказал в помощи!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации