Что такое белые списки и как они работают
Белые списки — это режим фильтрации интернета, при котором провайдер пропускает только трафик к заранее разрешённым IP-адресам и доменам, а всё остальное блокируется. В отличие от чёрных списков, где запрещены конкретные сайты, белые списки работают по принципу «запрещено всё, кроме явно разрешённого».
Технически фильтрация происходит на двух уровнях:
- L3 (сетевой уровень): проверяется IP-адрес назначения. Если он не входит в разрешённые подсети (CIDR), пакет просто отбрасывается (DROP) — соединение не устанавливается, даже ICMP-запросы не проходят.
- L7 (прикладной уровень): DPI-система анализирует SNI (Server Name Indication) в TLS-заголовке ClientHello. Если SNI находится в чёрном списке, соединение разрывается (RST).
Таким образом, даже если IP-адрес сервера разрешён, но домен, к которому вы обращаетесь, заблокирован, соединение будет прервано. Для GitHub это означает, что его IP-адреса не входят в белые списки, и трафик к ним блокируется на уровне L3, поэтому стандартные методы обхода, основанные только на подмене SNI, не работают.
Почему GitHub блокируется белыми списками
GitHub — это крупнейший хостинг кода, который используется миллионами разработчиков. Однако в условиях белых списков его IP-адреса не входят в разрешённый перечень, поэтому доступ к нему полностью блокируется. Это связано с тем, что GitHub не является российским сервисом и не входит в список «социально значимых» ресурсов, которые провайдеры обязаны пропускать.
Блокировка GitHub особенно болезненна для IT-специалистов, которые зависят от него в работе: обновления пакетов, клонирование репозиториев, скачивание релизов — всё это становится невозможным без обходных путей.
Важно понимать, что белые списки не являются статичными: они постоянно обновляются, и то, что работало вчера, может перестать работать сегодня. Например, по данным сканирований, в белые списки включаются только определённые подсети российских хостинг-провайдеров, таких как Yandex Cloud, VK Cloud, Timeweb, Selectel. GitHub не входит в эти подсети, поэтому доступ к нему блокируется на уровне маршрутизации.
Какие методы обхода не работают
Прежде чем рассматривать рабочие способы, важно разобраться, какие методы гарантированно не помогут при белых списках.
- Обычные VPN-сервисы (OpenVPN, IKEv2, стандартный WireGuard) — их трафик легко распознаётся DPI-системами по характерным сигнатурам, а IP-адреса серверов не входят в белые списки, поэтому пакеты просто отбрасываются.
- Подмена SNI — если IP-адрес сервера не в белом списке, то даже правильный SNI не поможет, так как блокировка происходит на L3 уровне раньше, чем DPI увидит SNI.
- QUIC/HTTP3 — UDP-порт 443 часто блокируется полностью, поэтому этот протокол не работает.
- ECH/ESNI (Encrypted Client Hello) — шифрование SNI не помогает, так как основная блокировка идёт по IP, а не по SNI.
- Бесплатные VPN — почти все используют стандартные протоколы без обфускации, их легко заблокировать.
Таким образом, любые методы, которые не учитывают необходимость нахождения IP-адреса сервера в белом списке, обречены на провал.
Метод 1: Использование российских VPS с IP в белом списке
Самый надёжный способ обойти белые списки — разместить свой прокси-сервер на российском VPS, IP-адрес которого входит в разрешённые подсети. Согласно сканированиям, в белые списки попадают подсети таких провайдеров, как Yandex Cloud, VK Cloud, Timeweb, Selectel, REG.RU и других.
Для этого нужно:
- Арендовать VPS у одного из этих провайдеров.
- Убедиться, что IP-адрес сервера действительно в белом списке (можно проверить, открыв сайт с этого IP через мобильный интернет оператора, где включены белые списки).
- Настроить на сервере прокси-протокол, например VLESS + Reality, который маскирует трафик под обычный HTTPS.
- В качестве SNI использовать домен из белого списка, например
vk.com,ya.ruилиstorage.yandex.net.
Пример конфигурации VLESS + Reality:
vless://UUID@IP:443?type=tcp&security=reality&pbk=...&fp=chrome&sni=vk.com&sid=...&flow=xtls-rprx-visionЭтот метод работает, потому что трафик идёт на IP, который разрешён, а SNI маскируется под легитимный домен. Однако стоит учитывать, что списки постоянно обновляются, и IP может быть исключён из белого списка в любой момент.
Метод 2: Использование CDN-прокси
Ещё один рабочий способ — использовать CDN (Content Delivery Network) для проксирования трафика. CDN-серверы, такие как Cloudflare, часто имеют IP-адреса, которые входят в белые списки, поскольку они обслуживают множество легитимных сайтов.
Суть метода: вы настраиваете свой сервер так, чтобы он был доступен через CDN, а клиент подключается к CDN-адресу, который разрешён. DPI видит трафик к CDN, который выглядит как обычный HTTPS-запрос, и пропускает его.
Однако у этого метода есть нюансы:
- Не все CDN-серверы попадают в белые списки. Например, Cloudflare не всегда доступен, но некоторые российские CDN, такие как CDNvideo, могут работать.
- Настройка сложнее, чем просто VPS, и требует дополнительных знаний.
- Скорость может быть ниже из-за дополнительного узла.
Тем не менее, для доступа к GitHub этот метод может быть эффективен, особенно если использовать CDN-серверы, которые находятся в белых списках.
Метод 3: Использование облачных функций (Serverless)
Облачные функции, такие как Yandex Cloud Functions, предоставляют возможность запускать код без постоянного сервера. Эндпоинты functions.yandexcloud.net универсально входят в белые списки у всех провайдеров, что делает этот метод очень надёжным.
Вы можете написать простую функцию-прокси, которая принимает HTTP-запросы и перенаправляет их на GitHub. Например, функция на Python может выглядеть так:
def handler(event, context):
import urllib.request
url = event['queryStringParameters']['url']
response = urllib.request.urlopen(url)
return {
'statusCode': response.status,
'body': response.read().decode('utf-8')
}Затем вы обращаетесь к функции по адресу https://functions.yandexcloud.net/your-function-id?url=https://github.com/... и получаете содержимое GitHub.
Преимущества:
- Бесплатный тариф включает 1 000 000 вызовов в месяц, чего достаточно для личного использования.
- Не нужно арендовать VPS.
- Высокая надёжность, так как IP Яндекса в белом списке.
Недостатки:
- Ограничение на размер ответа (обычно до 4 МБ), что может быть недостаточно для больших файлов.
- Не подходит для интерактивных сессий (например, SSH).
Этот метод отлично подходит для скачивания релизов, клонирования репозиториев через HTTP и просмотра кода.
Метод 4: Использование прокси-серверов на базе VLESS/VMess с маскировкой
Протоколы VLESS и VMess с маскировкой под HTTPS (например, с использованием XTLS-Reality) являются одними из самых эффективных для обхода DPI. Они позволяют серверу «притворяться» реальным сайтом, таким как Google или VK, и трафик выглядит как обычное HTTPS-соединение.
Для настройки потребуется:
- VPS-сервер (желательно в России, но можно и за границей, если IP попадёт в белый список).
- Установка панели управления, например 3X-UI.
- Настройка VLESS + Reality с SNI, указывающим на разрешённый домен.
Важно, чтобы IP-адрес сервера был в белом списке. Если сервер за границей, шанс попасть в белый список крайне мал, поэтому лучше использовать российские хостинги.
Также стоит обратить внимание на настройку uTLS (fingerprint), чтобы имитировать реальный браузер. Рекомендуется использовать Chrome или Firefox fingerprint.
Этот метод обеспечивает высокую скорость и стабильность, но требует некоторых технических навыков для настройки.
Метод 5: Использование специализированных VPN-сервисов с обфускацией
Некоторые VPN-сервисы разработаны специально для работы в условиях жёстких блокировок, включая белые списки. Они используют обфускацию, которая маскирует VPN-трафик под обычный HTTPS, делая его невидимым для DPI.
Примеры таких сервисов: VPNUS, Норм VPN, ZoogVPN с технологией ZoogShadow. Они предлагают бесплатные пробные периоды, что позволяет протестировать их работу.
Однако стоит быть осторожным: не все сервисы, заявляющие об обфускации, действительно работают при белых списках. Рекомендуется проверять отзывы и тестировать на реальном мобильном интернете.
Эти сервисы обычно просты в использовании — достаточно установить приложение и подключиться. Они подходят для пользователей, которые не хотят разбираться в технических деталях.
Как проверить, что метод работает
После настройки любого метода важно убедиться, что он действительно работает. Вот несколько шагов:
- Подключитесь к прокси или VPN.
- Откройте сайт
2ip.ruилиwhoer.net, чтобы проверить свой IP-адрес. Он должен отличаться от вашего реального IP. - Попробуйте открыть
github.com. Если страница загружается — метод работает. - Попробуйте выполнить
git clone https://github.com/...в терминале. - Проверьте скорость соединения — она не должна быть слишком низкой.
Если что-то не работает, проверьте:
- Правильность настроек SNI и порта.
- Актуальность IP-адреса в белом списке (списки обновляются).
- Не блокируется ли ваш прокси-сервер на уровне L7 (например, из-за подозрительного SNI).
Также стоит помнить, что белые списки могут различаться у разных операторов и в разных регионах. То, что работает на Мегафоне, может не работать на Билайне.
Ограничения и риски
Обход белых списков — это постоянная гонка вооружений. Методы, которые работают сегодня, могут перестать работать завтра. Вот основные ограничения:
- Нестабильность: списки обновляются ежедневно, IP-адреса могут быть исключены из белого списка в любой момент.
- Различия между операторами: у каждого оператора свой белый список, и то, что работает у одного, может не работать у другого.
- Техническая сложность: настройка собственного прокси требует знаний в области сетевых технологий.
- Юридические риски: обход блокировок может нарушать законодательство РФ, что может привести к административной или уголовной ответственности.
- Скорость: прокси-серверы могут снижать скорость соединения, особенно если они находятся далеко.
Также стоит учитывать, что некоторые методы (например, использование облачных функций) могут быть заблокированы, если ТСПУ начнёт анализировать содержимое запросов.
В любом случае, перед использованием обходных методов рекомендуется ознакомиться с актуальной информацией и быть готовым к тому, что решение придётся менять.
Вопросы и ответы
Почему GitHub не открывается при белых списках?
GitHub блокируется на уровне L3, потому что его IP-адреса не входят в белые списки провайдеров. Даже если использовать подмену SNI, пакеты к IP GitHub отбрасываются ещё до проверки SNI. Поэтому стандартные методы, такие как просто смена SNI, не работают.
Какой самый простой способ обойти белые списки для GitHub?
Самый простой способ — использовать специализированный VPN-сервис с обфускацией, например VPNUS или Норм VPN. Они маскируют трафик под обычный HTTPS и не требуют технических навыков. Однако такие сервисы могут быть платными, и их эффективность зависит от конкретного оператора.
Можно ли использовать бесплатные методы для обхода белых списков?
Бесплатные методы, такие как бесплатные VPN или публичные прокси, обычно не работают при белых списках, так как их IP-адреса не входят в разрешённые подсети. Исключением могут быть облачные функции с бесплатным тарифом, но они имеют ограничения по объёму данных.
Как проверить, входит ли IP-адрес моего сервера в белый список?
Можно попробовать открыть сайт, размещённый на этом IP, через мобильный интернет оператора, где включены белые списки. Если сайт открывается, значит IP в белом списке. Также можно использовать сканирование с помощью masscan, но это требует технических знаний и может быть незаконным.
Что делать, если обход перестал работать?
Если ваш метод перестал работать, скорее всего, IP-адрес сервера был исключён из белого списка или DPI начал блокировать ваш трафик. Попробуйте сменить SNI на другой разрешённый домен, перезапустить сервер или использовать другой метод, например CDN-прокси.
Безопасно ли использовать обходные методы?
Использование обходных методов может нарушать законодательство РФ, что влечёт за собой риски. Кроме того, бесплатные VPN-сервисы могут собирать ваши данные. Рекомендуется использовать проверенные сервисы и соблюдать осторожность.