Как быстро обойти блокировку сайтов в 2022
В большинстве случаев блокировка сайта происходит по уважительной причине. Сайты могут заблокировать, если они содержат потенциально незаконный контент, по указанию Роскомнадзора, локально — компания для сотрудников, еще по десятку причин.
Но если пользователь не нарушает закон, то блокировка ресурсов раздражает. Например, это бесит путешественников, которые не могут получить доступ к контенту и соцсетям в родной стране (пока находятся в путешествии), или тех, кто работает удаленно, оказывает услуги заказчикам из разных стран и не может использовать привычные сервисы, например, Trello.
По данным сервиса Appfigures, только с 24 февраля по 5 марта 2022 года, количество загрузок VPN-сервисов в России выросло с 16 до 700 тысяч в день и составило более 4,6 млн.

Россияне обходят блокировки с помощью VPN
Как обойти блокировку по IP страны и зайти на сайты, заблокированные РКН, используя безопасные сервисы — мы подробно расскажем ниже.
- Кликните здесь для регистрации в Express VPN.
- Скачайте и установите приложение для устройства или расширение для браузера.
- Откройте приложение и выберите сервер за пределами вашей страны.
- Заходите на любой сайт, ранее заблокированный, и наслаждайтесь контентом.
Как обойти блокировку сайтов Роскомнадзором без VPN
Это лазейка, для которой не требуется ни VPN, ни прокси, ни любые другие инструменты. Вскоре ее могут прикрыть (или нет), но пока работает.
Чтобы обойти блокировку сайта без VPN, откройте «Яндекс.Переводчик». С Google Translate работает так же.
- Включите перевод с английского на русский.
- Вставьте ссылку на заблокированный ресурс.
- Кликните «Перевести сайт».

Обход блокировки сайтов с помощью «Яндекс.Переводчика»
Все ссылки на переведенных сайтах корректно работают.
Как обойти блокировку сайтов провайдером с помощью VPN
Чтобы быстро и просто обойти блокировку, нужно использовать надежный VPN-сервис, но это не так просто.
Как работает VPN
VPN — это виртуальная частная сеть (Virtual Private Network). Это обобщенное название технологий, которые создают отдельное сетевое соединение поверх другой сети. С помощью безопасного и зашифрованного подключения к сети через VPN, пользователь может обойти локальные ограничения, сохранив анонимность.
Провайдер не видит ваши запросы в сети и ресурсы, которые открываете при включенном VPN. Он видит только IP-адрес сервера VPN, с которым ваше устройство обменивается зашифрованным трафиком.
Сайт тоже видит только IP сервера VPN, а не ваш. Но в отличие от провайдера, сайт видит ваши действия — например, поисковые запросы или заполнение формы.
Провайдер может ограничить использование VPN-сервиса, но для этого ему придется заблокировать весь набор IP-адресов, принадлежащих серверу VPN. Это не слишком эффективно — большинство сервисов позволяет переключиться на другой IP, а все их заблокировать нереально.
Почему бесплатные VPN могут быть опасны
Если вы не платите за продукт, за него платит кто-то другой, скорее всего с целью извлечь выгоду из вас. Любой сервис VPN требует затрат на «железо», технические расходы и хотя бы одного сотрудника, который будет за всем следить.
Чаще всего в бесплатных VPN собирается информация о пользователях, которую готовы выкупить рекламодатели. Но все может быть гораздо хуже. От вашего устройства к VPN-серверу идет не просто информация о ваших действиях на сайтах, а логины, пароли, реквизиты банковских карт и другие данные. Поэтому лучше не рисковать, доверяя поток данных безликим сервисам, особенно с мобильных устройств, на которых хранится много личной информации.

Схема работы VPN
Нельзя сказать, что все бесплатные VPN — злодеи и мошенники. Но, как минимум, проверьте программу перед установкой — почитайте отзывы, проверьте историю утечек данных.
Какой VPN выбрать
Если нужна скорость и конфиденциальность — выбирайте платные сервисы. Не хотите тратиться — выбирайте платные сервисы с бесплатным тарифом.
Главное, что нужно учесть при выборе:
- Сервисы не ведут журналы действий пользователя. Если VPN не хранит ваши данные, то не сможет продать или использовать каким-либо другим способом.
- Скорость доступа. Любой VPN-сервис снижает скорость, так как перенаправляет трафик минимум через один дополнительный защищенный сервер.
- Шифрование. Хороший вариант — AES-256. Это один из наиболее безопасных и устойчивых к взлому алгоритмов шифрования. Длина ключа в 256 бит не оставляет никаких шансов злоумышленникам.
- Функционал. Наличие приложений под разные устройства и операционные системы. Число устройств, с которых можно использовать VPN одновременно. Количество пользователей, которых можно подключить к одному VPN. Все это поможет выбрать удобный тариф и использовать сервис всей семьей или офисом.
- Возможность изменения протоколов безопасности. Например, если провайдер будет вынужден ограничить конкретный VPN-сервис, смена протокола поможет обойти блокировку. Хорошо, если в сервисе есть выбор протоколов безопасности, таких как OpenVPN, WireGuard, L2TP, PPTP и других.
Примеры безопасных VPN-сервисов
У платных сервисов с именем нет причин нарушать конфиденциальность пользователей и рисковать репутацией. Вот несколько таких VPN-сервисов:
- Express VPN. Высокая скорость, серверы в 94 странах мира, не ведут журналы действий и подключений пользователя. Гарантируют возврат денег, если сервис не понравится.
- Turbo VPN. Можно подключить пять устройств с одного аккаунта, строгая политика отсутствия журналов, можно получить VPN с частным DNS. Есть бесплатная версия сервиса, в которой также гарантируют конфиденциальность.
- SurfShark VPN. Можно подключить неограниченное количество устройств, есть встроенный антивирус, собственная поисковая система — без журналов, рекламы и трекеров. Также есть защита от утечки личных данных — вы получите предупреждение, если, например, ваш адрес электронной почты попадет в базу взломанных данных или кто-то попытается снять деньги с банковской карты без вашего ведома.
Можно найти больше подходящих сервисов, а на что обратить внимание при выборе — вы уже знаете.
Как обойти блокировку сайтов на Android
Для обхода блокировки сайта со смартфона существуют аналогичные VPN-приложения.
Если Google Play заблокирован, скачайте в NashStore — альтернативном магазине приложений российских разработчиков для Android.

Страница регистрации в NashStore
Советы по выбору и безопасности — те же, что и выше.
Как обойти блокировку сайтов с помощью расширений для браузеров
Любой браузер, обходящий блокировку сайтов, использует расширение для замены IP-адреса. Скачать и установить его можно за несколько минут.
- Для Chrome. Очень много вариантов. Ориентируйтесь на функционал и адекватные отзывы. Например, пользователь пишет, что его жутко бесит постоянно вводить логин и пароль, используя расширение SurfShark VPN, и ставит низкую оценку. Но если сервис не пишет логи, как и обещал, и автоматически выбирает лучший IP для соединения, то так и будет — авторизоваться придется каждый раз, используя расширение.
- Для «Яндекс.Браузера». Доступно 24 расширения VPN.
- Для Opera. Для расширений Opera и «Яндекс.Браузера» открывается одна и та же ссылка, так как они полностью совместимы.
- Для Mozilla Firefox. На момент написания статьи доступно 44 расширения.
Читайте отзывы, так как многие расширения с недавнего времени перестали работать или могут испытывать кратковременные трудности с подключением новых аккаунтов.
Как обойти блокировку сайтов с помощью прокси
Для многих задач уровень безопасности VPN может быть избыточным. Тогда можно использовать прокси-сервер. Он обойдется дешевле, а скорость соединения будет больше.
Как работает прокси-сервер
Главное отличие прокси-сервера от VPN в том, что вы не подключаетесь к дополнительной сети, как в VPN, а пропускаете ваше интернет-соединение через прокси-сервер. То есть VPN защищает весь сетевой трафик устройства, а прокси — только интернет-трафик браузера или приложения.
VPN — это подключение через виртуальную сеть, а прокси — подключение через сторонний сервер.
В отличие от VPN пользователь получает индивидуальный IP, а не IP целой сети. Поэтому прокси используют не только для анонимности и обхода блокировки сайтов, но и для работы с аккаунтами в соцсетях и различными программами, где частая смена IP-адреса грозит баном.
Как выбрать прокси-сервер
Знание принципов работы разных типов прокси поможет выбрать подходящий именно вам, чтобы обходить блокировки сайтов. Прокси бывает:
- Анонимный. Сайт будет знать, что это прокси, но не сможет определить ваш IP-адрес.
- С высокой степенью анонимности. Не позволяет обнаружить исходный IP-адрес и его самого в качестве прокси.
- Искажающий. Генерирует и передает сайту ложный исходный IP вместо того, чтобы полностью его скрывать.
- Приватный. Может представлять любой тип прокси выше, но использовать его будет только один пользователь. Доступ к частному прокси ограничен по IP или логину/паролю.
Типов прокси намного больше, но для обхода блокировок сайтов достаточно этих. Главное, что нужно учесть при выборе прокси-сервера:
- Репутация. Если с помощью общего прокси-сервера орудовали мошенники, подключение к такому IP рискованно. Как минимум, вас могут забанить по IP на многих сайтах или в соцсетях.
- Много серверов. Больше серверов — надежнее соединение. И всегда есть выбор. Если указать сервер рядом со своей страной, можно увеличить скорость работы. Или выбрать сервер, на котором работают нужные сервисы.
- Есть информация о серверах. Важно знать, где расположен, какие технологии используются — что за протокол, есть ли шифрование. Желательно выбирать протокол HTTPS или SOCKS — это дополнительный уровень безопасности соединения.
- Не передают данные о пользователях третьим лицам. Вряд ли есть такие серверы, которые совсем не собирают информацию о пользователях. Платные и престижные делают это по минимуму и используют данные исключительно в технических целях — для улучшения работы сервиса.
- Дополнительная безопасность. Некоторые прокси блокируют вредоносные ресурсы, фильтруют рекламу, шифруют передаваемые данные и делают прочие полезные вещи.
Примеры безопасных прокси-серверов
Тройка лидеров, на мой взгляд:
- Zenscrape. Тариф зависит от характеристик прокси. Zenscrape позволяет избежать блокировки в сети за счет специального API-интерфейса с доступом к IP-адресам со всего мира без ущерба для скорости.
- Shifter (ранее — Microleaves). Более 50 млн IP-адресов по всему миру. Поддерживает протоколы безопасности HTTPS и SOCKS.
- Bright Data. Огромный выбор анонимных и приватных прокси по всему миру — серверных и мобильных.
Кроме прокси-серверов, каждый из этих сервисов предоставляет целый комбайн инструментов для бизнеса в интернете.
Главное
Бесплатный сыр чаще всего в мышеловке, и бесплатен он только для мышки, если ей повезет. Лучшие прокси-серверы и VPN-сервисы гарантируют конфиденциальность и безопасность пользователя, но должны зарабатывать. Поэтому стоят денег или предлагают бесплатный тариф с ограничениями для того, чтобы пользователь смог оценить преимущества сервиса.
Надеюсь, статья помогла разобраться с вопросом выбора безопасного инструмента для обхода блокировок сайтов по IP-страны или нужных ресурсов, заблокированных РКН.
Если нет времени вникать в тонкости настроек прокси, всегда можно делегировать часть работы специалистам и уделять больше внимания стратегическим вопросам бизнеса. Опубликуйте заказ на Workspace, проведите конкурс и выберите лучшее предложение — с реальными ценами и сроками.
Workspace.LIVE — мы в Телеграме
Новости в мире диджитал, ответы экспертов на злободневные темы, опросы, статьи и многое другое. Подписывайтесь: https://t.me/workspace
Вакансии
- Копирайтер/автор (написание статей на английском)
Webteam Удаленная работа По договоренности - Менеджер социальных сетей
Эйч Удаленная работа 30 000 – 50 000 - SMM-специалист в агентство
Наталья Яшина Удаленная работа 40 000 – 100 000 - Таргетолог (реклама VK Ads и Tg Ads)
Webteam Удаленная работа По договоренности - Контекстолог
Promarketing.tech Удаленная работа 30 000 – 120 000
Что делать, если «кина не будет» или как обойти блокировку сайта провайдером
Настал мой законный выходной и, выбрав время для просмотра фильма (люблю я старую классику), я занялся его поиском. Зайшел на один из привычных для меня сайтов, и наткнулся на такую вот блокировку данного ресурса.

«Вот те раз!» — подумал я. Ни в одном реестре запрещенных сайтов данный ресурс не присутствовал и, с чего билайн его заблокировал — непонятно. Естественно после таких вот «заявочек» в голову полезли страшные мысли: «а что если завтра любимого „кина“ не будет!». Данные мысли тут же подвигли меня начать искать способы борьбы с данной ситуацией, и написать, для тех кому будет интересно, маленький обзор нескольких решений по обходу блокировки сайтов. (под катом скрины)
Способов, конечно, существует огромное множество, начиная от прокси, VPN, анонимайзеров и заканчивая IPv6. Но я опишу несколько понравившихся мне по определенным критериям, в данном случае это: простота установки и настройки и скорость работы.
Оговорюсь сразу, всевозможные онлайн-анонимайзеры не использую, так как нет доверия к данным сервисам и не понятно, куда передаешь свои данные авторизации. Ну и про VPN писать не буду — они обычно платные. Статья рассчитана на простого обывателя, по этому буду стараться описать наиболее легкие способы просмотра заблокированных сайтов.
Для определения IP адреса, провайдера, наличия прокси и замера скорости я использовал сервис 2ip.ru. И так, начнем.
1) Tor Browser www.torproject.us
Tor — это бесплатное программное обеспечение, которое помогает защитить вас от цензуры в сети Интернет и анализа трафика со стороны всевозможных спецслужб.

Tor в IT сообществе известен уже давно. Проблем с поиском и установкой данного продукта не возникло.

Как видно из приведенного выше скрина, Tor дает полную анонимность для серфинга. Реальный IP адрес не определяется.
- доступ на заблокированные сайты;
- полное отсутствие истории;
- полностью бесплатный продукт;
- нет встраиваемой в страницы рекламы.
- отдельное ПО (браузер);
- тормоза при старте с сетями Tor;
- вцелом невысокая скорость.
Вывод:
Задачу свою он конечно выполняет, но использовать Tor постоянно не комфортно. А запускать его ради того чтобы посерфить только на сайтах с хорошими фильмами, не очень практично.
2) потом под руку попалось расширение friGate https://fri-gate.org/
Дополнение (расширение) к браузеру friGate как написано на сайте разработчика «позволяет получить доступ к ошибочно заблокированным сайтам, при этом не вызывает никаких неудобств. С помощью оригинального алгоритма работы, скорость доступа к сайтам практически не снижается, что очень важно, как для пользователей расширения, так и для владельцев сайтов».

Есть версии для Chrome, Firefox и Opera. Я тестировал для Google Chrome (интернет-магазина Chrome), но для других платформ прокси те же. Меня заинтересовала фраза «скорость доступа к сайтам не снижается».

Сервис 2ip.ru показывает что прокси передает адрес источника и не является анонимным. Оказывается в настройках можно включить анонимность, но по умолчанию она не включена.
- расширение без заморочек — все просто: управление — включил/выключил;
- доступ на сайты, не входящих в список расширения, происходит, минуя прокси, +если сайт доступен напрямую, то прокси тоже не включается;
- в настройках есть возможность добавлять свои сайты в список, также можно использовать свои прокси (для параноиков)
- прокси https — трафик шифруется, а еще сжимается с помощью гугловского PageSpeed. Правда это все происходит с трафиком который идет через прокси, естественно
- бесплатный;
- приличная скорость доступа;
- пока не нашел
Вывод:
Лично мне понравилось расширение. Пользуюсь я практически только хромом. Через прокси идет трафик, если только ресурс заблокирован, иначе все напрямую — меня это устраивает. Ну и в собственный список добавил несколько сайтов, которых у них нет в их глобальном списке — все супер.
3) Stealthy Lite www.stealthy.co
Существует ли в вашей стране или организации блокировка доступа к facebook, YouTube или других сайтов? Есть ли сервисы, которые недоступны в вашей стране? Stealthy это решение для Вас. В отличие от других расширений мы постоянно ищем быстрые прокси для вас. Кстати настораживает это:«мы постоянно ищем быстрые прокси для вас»

В версии Lite расширение (дополнение) получает случайный прокси из списка доступных или существует возможность указать страну, но опять же если она присутствует в списке. Рекомендуемый прокси (США, Великобритания) доступен только в версии PRO.

Сервис 2ip.ru определяет, что расширение Stealthy использует не анонимный прокси-сервер. Смайлик, который рядом с IP адресом – это как оказалось мне выпал счастливый IP (сумма чисел первой половины равна сумме чисел второй половины адреса) что дало мне право на регистрацию без инвайта и возможность пригласить 10 человек на сервис 2ip.ru :).
- нет необходимости использовать специальное ПО;
- после установки расширения нет необходимости его конфигурировать;
- расширение есть как для Chrome, так и для Firefox;
- отсутствие встраиваемой в страницы рекламы.
- обновлялось расширение очень давно, непонятно вообще поддерживается ли оно еще
- при включенном расширении весь трафик идет через прокси, поэтому приходится пользоваться кнопкой вкл/откл.;
- очень невысокая скорость.
Вывод:
Stealthy, как альтернатива другим способам доступа к заблокированным сайтам, показал себя довольно не плохо. Неудобство возникает только когда приходится отключать или включать данное расширение. Ну и невысокая скорость через бесплатные прокси оставляет желать лучшего.
4) UltraSurf ultrasurf.us
Ultrasurf является продуктом интернет-компании UltraReach. Ultrasurf создан, чтобы помочь интернет-пользователям из Китая получить свободу в сети Интернет. ПО Ultrasurf на данный момент стало одним из самых популярных в мире для борьбы с цензурой. Миллионы людей используют его для обхода интернет-цензуры и конфиденциальности в сети Интернет.

Использование анонимного серфинга и просмотра. Ultrasurf скрывает ваш реальный IP-адрес, очищает историю посещенных страниц, куки и многое другое.

Сервис 2ip.ru при определении IP адреса, пишет «прокси не используется», что дает нам так называемую анонимность. Сервера всегда имеют IP одной и той же страны, в данном случае это США.
- полная, как заявлено на сайте разработчика, анонимность
- нет привязки к конкретному браузеру
- возможность настроить любое ПО для использования через данный прокси
- необходимость запускать дополнительное ПО;
- встраиваемая реклама в страницы;
- ручное конфигурирование браузеров для использования прокси (кнопка есть только для FF);
- очень низкая скорость доступа к сайтам;
- глючит — периодически Ultrasurf вываливается с ошибкой.
Вывод:
Надоедливая реклама, которой, кстати, раньше не было, как то не корректно встраивается в страницы и иногда мешает полноценному просмотру сайта. Ultrasurf возможно использовать только кратковременно и как альтернативу другим способам с более высокой скоростью. Ждать полной загрузки страницы на некоторых сайтах приходится долго, что доставляет полное неудобство при серфинге в сети.
5) fasTun fastun.ru
Добро пожаловать на fasTun — бесплатный Ускоритель Интернета со сжатием трафика. fasTun позволит вам увеличить скорость загрузки данных и сократить ваши расходы на интернет в 2-10 раз! Данный сервис, конечно, предназначен немного для другого, но в данный момент многие пользователи используют его как еще одну альтернативу доступа к заблокированным ресурсам.

fasTun умеет следующее: Сжимать HTTP трафик с помощью алгоритма GZIP, оптимизировать код веб-страниц (HTTP/CSS), тем самым, уменьшая их размер и сжимать изображения в форматах PNG, GIF и JPEG с выбором качества.

2ip.ru однозначно определяет, что прокси используется, но IP адрес за прокси не показывает. Сервер всегда имеет один и тоже IP адрес, в данном случае это Германия. На этом же сервере располагается сервис fasTun.
- расширения для браузеров Firefox и Opera;
- сжимает HTTP трафик;
- отсутствие встраиваемой в страницы рекламы.
- ручное конфигурирование других браузеров;
- очень низкая скорость доступа к сайтам;
- нигде не нашел возможность оплатить премиум — ну и ненадо.
Вывод:
Данный сервис позволяет обходить блокировку сайтов провайдером. Так же позволяет экономить трафик, путем сжатия с помощью алгоритма GZIP, что на данный момент актуально только для мобильных платформ. Но сравнительно невысокая скорость опять же делает серфинг невыносимым.
Общий вывод:
Из всех протестированных мной способов обхода блокировки сайтов провайдером, я оставил бы для собственных нужд всего одно: friGate.
И скорость нормальная и пользоваться удобно.
Кстати есть еще отличный способ это поднять тонель до ipv6 брокера (и бесплатно и без потери скорости практически), но у многих сайтов нет адреса AAAA.
UPD. Мне тут подсказали еще один способ — immunicity.org. Это скрипт автоматической настройки прокси, подргужается в браузер прямо с их сайта, список сайтов постоянно расширяется. Для меня неудобно то, что нельзя одним кликом выключить/включить, но вцелом мысль неплохая.
Как обходить блокировки Роскомнадзора и оставаться на связи в 2023
Всем привет! В последнее время все трубят о блокировках, которое вводит Роскомнадзор. Они становятся все интенсивнее и вызывают неудобства для пользователей. Хотя РКН блокирует сайты и сервисы, основываясь на определенных законодательных актах, это не означает, что каждый пользователь должен страдать от ограничений.
мем про РКН (:
Есть несколько методов обхода блокировок, которые вводит Роскомнадзор, и у вас есть возможность выбрать наиболее удобный из них. Ниже я привел несколько способов обойти блокировки:
1. Использование VPN: Виртуальная частная сеть (VPN) — прекрасный инструмент для обхода блокировок, введенных Роскомнадзором. VPN-сервисы позволяют маскировать ваш IP-адрес и подключаться к серверу в другой стране, где нет таких ограничений. Это позволяет получить доступ к заблокированным сайтам и сервисам.
2. Использование прокси-серверов: Прокси-серверы позволяют пользователю перенаправлять свой трафик через другой сервер, который может быть расположен в другой стране.
3. Использование Tor: Tor (The Onion Router) — бесплатная сеть перенаправления, которая обеспечивает анонимность и безопасность пользователя. Он позволяет обойти блокировки через подключение к цепочке серверов в других странах и получить доступ к заблокированным сайтам без каких-либо проблем.
4. Использование DNS-серверов: Вы можете изменить DNS-серверы, которые используются вашим провайдером интернет-услуг для обхода блокировок. Существуют различные открытые DNS-серверы, которые доступны для использования, что может помочь вам получить доступ к заблокированным ресурсам.
5. Использование мобильного интернета: В случае, если доступ к заблокированным сайтам ограничен только через проводное подключение, вы можете попробовать использовать мобильный интернет для обхода блокировок. Многие мобильные операторы не применяют такие жесткие ограничения, как провайдеры интернет-услуг.
Отмечу, что использование этих методов может нарушить законы или правила интернет-провайдера. Поэтому, прежде чем принимать любые действия, убедитесь, что они легальны и соответствуют установленным правилам.
Сейчас же Роскомнадзор начинает активно блокировать все возможные VPN-сервисы в стране, так как они позволяют обходить ограничения. В результате этой блокировки, такие популярные сервисы, как Instagram, Netflix, Canva и другие, станут недоступными для российских пользователей.
Самый простой и безопасный способ обхода блокировок, на мой взгляд, это использование VPN-сервисов. Они 100% легальны и очень просты в использовании, ничего не нужно настраивать, их легко включать и выключать.
Недавно я разработал VPN сервис — OutVPNBuy_bot, который доступен через Telegram-бота. Он скрывает используемые сервера от пользователей, это делает блокировку сервиса практически невозможной. На каждом сервере ограниченное число пользователей, это позволяет поддерживать скорость соединения примерно 60-90 Мбит/с.
Почему именно Telegram? В связи с блокировкой зарубежных мессенджеров, Telegram стал чрезвычайно популярным в России, благодаря своей шифрованной коммуникации и возможности обходить цензуру. Его аудитория превышает 48 млн пользователей. Это отличный способ для обмена информацией, общения и использования различных сервисов, именно поэтому VPN-бот подключается через Телегу.
Переходите по ссылке OutVPNBuy_bot и протестируйте его — 2 дня бесплатно. Если будут идеи по улучшению, буду благодарен обратной связи, пишите в комментах 🙂
Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все
Три месяца назад здесь на Хабре я опубликовал статью “Интернет-цензура и обход блокировок: не время расслабляться”, в которой простыми примерами показывалось, что практически все популярные у нашего населения для обхода блокировок VPN- и прокси-протоколы, такие как Wireguard, L2TP/IPSec, и даже SoftEther VPN, SSTP и туннель-через-SSH, могут быть довольно легко детектированы цензорами и заблокированы при должном желании. На фоне слухов о том, что Роскомнадзор активно обменивается опытом блокировок с коллегами из Китая и блокировках популярных VPN-сервисов, у многих людей стали возникать вопросы, что же делать и какие технологии использовать для получения надежного нефильтрованного доступа в глобальный интернет.
Мировым лидером в области интернет-цензуры является Китай, поэтому имеет смысл обратить наш взор на технологии, которые разработали энтузиасты из Китая и других стран для борьбы с GFW (“великим китайским файрволом”). Правда, для неподготовленного пользователя это может оказаться нетривиальной задачей: существует огромное количество программ и протоколов с похожими названиями и с разными не всегда совместимыми между собой версиями, огромное количество опций, плагинов, серверов и клиентов для них, хоть какая-то нормальная документация существует нередко только на китайском языке, на английском — куцая и устаревшая, а на русском ее нет вообще.
Поэтому сейчас мы попробуем разобраться, что же это все такое, как это использовать, и при этом не сойти с ума.
В этой статье я проведу обзор самых передовых протоколов и технологий, которые:
- позволяют делать передаваемый трафик не похожим вообще ни на один существующий стандартный протокол, делая его полностью неразличимым для цензоров;
- либо наоборот, позволяют максимально достоверно маскироваться под безобидный HTTPS-трафик, включая защиту сервера от детектирования методом active probing с помощью фейкового веб-сайта, маскировку TLS fingerprint клиента под обычный браузер, и защиту от выявления туннеля нейросетями (детектирования TLS-inside-TLS);
- позволяют работать в условиях жесткого шейпинга канала и потерь пакетов;
- позволяют создавать цепочки из серверов и настраивать маршруты (например, фильтровать трафик до российских адресов).
Shadowsocks, ShadowsocksR, Shadowsocks-AEAD, Shadowsocks-2022
Начнем, по традиции, с “дедушки”, прародителя многих других современных средств обхода блокировок — протокола Shadowsocks.

Идея Shadowsocks проста: авторы взяли классический SOCKS-протокол, который передает все данные в открытом виде и поэтому очень легко детектируется на DPI, прикрутили к нему шифрование разными алгоритмами, выкинули ненужный функционал (например, нет нужды в авторизации по логину и паролю, проверка свой/чужой определяется ключом шифрования), и добавили несколько других штук для усложнения детектирования. И это сработало — долгое время Shadowsocks был излюбленным инструментом тысяч людей, позволяющим пробиваться через великий китайский файервол.
Оригинальный Shadowsocks был разработан программистом с ником “clowwindy”. В 2015 году clowwindy написал в своем Github, что к нему нагрянула китайская полиция и сделала предложение, от которого не было возможности отказаться, и в результате чего он был вынужден прекратить работу над проектом и удалить все исходники из репозитория.
После этого другие энтузиасты создали форк под названием ShadowsocksR и продолжили дело. Через некоторое время разработка ShadowsocksR заглохла, но развитие протокола продолжилось в разных других репозиториях под оригинальным названием. В изначальном протоколе ShadowSocks исследователи обнаружили ряд уязвимостей, позволявших его индентификацию и блокировку (например, с помощью replay-атак), поэтому в 2017 году появился Shadowsocks-AEAD с измененным алгоритмом аутентификации, а в прошлом году была выпущена новая версия протокола под названием Shadowsocks-2022, в которой авторы продолжили работу по улучшению устойчивости протокола к блокировкам. Все эти версии между собой не совместимы.
Со стороны цензоров подключение через Shadowsocks, если вы не используете какие-либо дополнительные расширения для маскировки под TLS (Shadow-TLS) или Websockets, выглядит как непонятное нечто — просто не похожий ни на что поток данных. Старые версии Shadowsocks уже давно не считаются надежными и устойчивыми к выявлению, однако современные версии протокола до недавних пор вполне себе могли использоваться как средство обхода блокировок в случае если цензоры спокойно относятся к “неопределенным” протоколам. В конце 2022 года группа исследователей под названием GFW-report опубликовала отчет о том, что цензоры научились выявлять подобные “неопределенные” протоколы по… отношению количества 0 и 1 битов в потоке данных. Ими была выпущена специально пропатченная версия shadowsocks, однако во-первых пропатченные клиент и сервер не совместимы с “обычными версиями”, а во-вторых патч подходит только для старых версий протокола, но не для Shadowsocks-2022 (авторы сказали, что работают над этим). Из сторонних клиентов поддержка этого хака под названием ReducedIvHeadEntropy есть только в SagerNet и V2Ray и отсутствует практически во всех GUI-клиентах.
Оригинальный Shadowsocks был написан на C с использованием библиотеки libev. Данная версия более не развивается, основная актуальная на сегодняшний день реализация написана на Rust. Между тем, протоколы Shadowsocks разных версий поддерживаются в том числе и в других клиентах и серверах (таких как V2Ray, XRay, SagerNet, Sing-box, и т.д.), о которых речь пойдет позже, поэтому Shadowsocks вполне можно рассматривать как запасной вариант, активировав его на одном сервере с другими протоколами.
V2Ray, V2Fly, XRay (VMess, VLESS, XTLS)
Все началось с проекта под названием V2Ray, автором которого была Victoria Raymond (отсюда, видимо, и появилось название). Достоверно неизвестно, существовал ли в реальности человек с такими именем, или это чья-то виртуальная личность, но в итоге случилось следущее: в один момент Victoria Raymond перестала выходить на связь что на Github, что в Twitter, что где-либо еще (ничего не напоминает, правда?).

В результате остальные контрибьюторы проекта, не имея административного доступа к Git-репозиториям и веб-сайту, были вынуждены форкнуть его под названием V2Fly для того чтобы продолжить разработку. Грубо говоря, если вы видите github-юзера или веб-сайт с названием V2Ray — весьма вероятно, что там содержится старый код и устаревшая информация, а вот с названием V2Fly — это уже нечто гораздо более актуальное. Между тем, многие люди (и даже сами разработчики!) по-прежнему продолжают называть V2Fly как V2Ray, бинарники и пакеты по-прежнему называются v2ray-core, что добавляет немного путаницы.
XRay — это форк V2Fly, когда некоторые разработчики из-за ряда разногласий с остальным сообществом (где-то я встречал упоминания что разногласия были по технической части, где-то же написано что из-за лицензий) ушли из проекта V2Fly и продолжили развивать код параллельно под названием XRay, придумав ему слоган “Penetrates everything”, что очень недалеко от правды. Формат конфигурационных файлов остался прежним, но при этом новая реализация считается более эффективной в плане производительности, а самое главное — разработчики добавили туда несколько очень крутых фич, направленных в том числе на снижение детектируемости подключений на DPI (например, с помощью выявления TLS-in-TLS), таких как XTLS, речь о которых пойдет ниже.
V2Ray/XRay — это не протокол, а, можно сказать, фреймворк — разные протоколы с разными транспортами и расширениями под одной крышей в одном приложении. Идея простая: что клиент, что сервер — это один бинарник. В конфигурации задаются inbounds (обработчики входящих подключений) и outbound (обработчики исходящих подключений).
На клиенте inbound обычно будет работать как HTTP- или SOCKS-прокси сервер, принимая подключения от браузеров и других программ, а outbound будет настроен как клиент какого-нибудь прокси-протокола для подключения к удаленному серверу.
На сервере все наоборот, inbound — это сервер какого-нибудь протокола (их может быть несколько одновременно с разными вариантами), а outbound — это, например “freedom” (выход в чистый интернет), “blackhole” (блокировка исходящих подключений, если вам, например, нужно ограничить доступ в зависимости от каких-то правил), или следущий прокси в цепочке, и т.д.
Для каждого из используемых протоколов можно задать также тип транспорта, например, просто TCP, либо TLS, либо Websockets, либо еще что, и таким образом создавать самые разнообразные комбинации и варианты.
Для связи inbounds и outbouds можно задавать всевозможные правила маршрутизации. Например, уже на клиенте можно автоматически отправлять все запросы к доменам “.ru” и российским IP-адресам согласно базе GeoIP на outbound “freedom” (прямой доступ к интернет без прокси), а все остальное проксировать на удаленный сервер. Или наоборот, по умолчанию отправять все на freedom, а проксировать только адреса и домены из списка (в том числе с масками и регулярными выражениями). Можно использовать разные прокси и протоколы в зависимости от типа подключения (TCP или UDP), в зависимости от порта назначения (например, перехватывать DNS-запросы на 53-ий порт, и т.д.). Можно строить цепочки из серверов — приняли подключение на одном прокси-сервере, передали его дальше на следущий, и т.д. Короче говоря, штука получилась очень гибкая и фунциональная.
Непосредственно классических протоколов в V2Ray и XRay всего два с половиной: VMess, VLESS и VLite (это та самая половина).
VMess — самый первый и самый старый. Поддерживат определение свой/чужой по ID пользователя и опционально шифрование данных.
В качестве ID-пользователя выступает UUID и (в оригинальной реализации VMess) специальное число под названием alterId. Если эти данные совпадают на клиенте и на сервере — подключение устанавливается, если нет — извините 🙂 В конфигурации сервера может быть определено сразу много пользователей. Не буду детально углублятся в то, что такое alterId, скажу просто — это значение могло быть в принципе любым (обычно от 1 до 64), главное что оно должно было совпадать на клиенте и сервере, и изначально было нужно для механизма повышения надежности протокола. Со временем выяснилось, что механизм аутентификации оригинального VMess уязвим к ряду атак, в итоге разработчики выпустили новый вариант протокола с переделанным алгоритмом проверки пользователя, который активировался при выставлении значения alterId в 0. То есть в наше время alterId по сути дела не используется, благо практически все серверы и клиенты умеют в новый вариант протокола.
В настоящее время VMess считается устаревшим, а при работе через просто TCP — небезопасным, однако вариант VMess-over-Websockets-over-TLS по-прежнему вполне себе жизнеспособен и может использоваться при отсуствии поддерживаемых в каком-либо клиенте альтернатив.
VLESS (как отметили в комментах, именно так, большими буквами) — это более новый протокол. В отличие от VMess он не предусматривает механизма шифрования (подразумевается, что шифрование должно производиться нижележащим транспортным протоколом, например TLS), а только проверку “свой/чужой” и паддинг данных (изменение размеров пакетов для затруднения детектирования паттернов траффика). В протоколе исправлен ряд уязвимостей старого VMess, и он активно развивается — например, автор планирует добавить поддержку компрессии алгоритмом Zstd — не сколько для производительности, сколько для затруднения анализа “снаружи”. При этом, при установлении соединения (хендшейке) клиент и сервер обмениваются версией протокола и списком поддерживаемых фич, то есть при дальнейшем развитии должна сохраняться обратная совместимость. В общем и целом, на сегодняшний день это самый свежий и прогрессивный протокол.
Обратите внимание: то, что VLESS не предусматривает шифрования на уровне протокола, не значит, что данные передаются в нешифрованном виде. VLESS всегда работает поверх TLS, трафик шифруется именно механизмами TLS, а не самого VLESS. Никакой проблемы с безопасностью тут нет, все секьюрно 🙂
VLite есть только в V2Ray (в XRay его нет), поддерживает только передачу UDP-пакетов, и максимально оптимизирован именно для этого, что может быть полезно, например, для онлайн игр, но параллельно придется настроить еще VMess/VLESS для TCP — поэтому я считаю его только “половиной” 🙂
Кроме VMess и VLESS сервера и клиенты V2Ray и XRay также поддерживают протокол Shadowsocks (в том числе версий AEAD и 2022) о котором я говорил выше, а также Trojan, о котором речь пойдет в следущей главе.
С протоколами закончили, перейдем к транспортам. VLESS, VMess и другие могут работать, скажем так, разным образом. Самый простой вариант — обычный TCP-транспорт. VMess+TCP в данном случае очень похож на Shadowsocks, а VLESS+TCP не имеет смысла (из-за отсутствия шифрования). Более интересный вариант — TLS-транспорт, когда устанавливается обычное TLS-подключение (как и в случае с любыми HTTPS-сайтами), а уже внутри этого зашифрованного соединения работает протокол. V2Ray и XRay умеют также работать поверх mKCP (о нем будет в следущих главах), QUIC (aka HTTP/3, правда в России его массово блокируют и смысла в нем мало), gRPC, и самое интересное — через Websockets.
Вариант с Websockets очень ценен тем, что:
- Позволяет легко поставить V2Ray/XRay не перед, а за Nginx/Caddy/любымдругимвебсервером;
- Позволяет пролезать через строгие корпоративные фаерволы;
- Добавляет дополнительный уровень защиты (не зная URI невозможно достучаться до прокси-сервера);
- И самое интересное — позволяет работать через CDN (upd.: gRPC тоже позволяет).
На последнем пункте остановимся чуть подробнее. Некоторые CDN, в том числе и имеющие бесплатные тарифы, такие как Cloudflare и GCore, разрешают проксирование веб-сокетов даже на бесплатных тарифах. Таким образом, это может быть хорошим подспорьем — если по какой-то причине IP-адрес вашего сервера попал в бан, вы все равно можете подключиться к нему через CDN, а полный бан всей CDN гораздо менее вероятен, чем какого-то одного VPS. А еще Cloudflare (возможно и GCore тоже, не уточнял) умеет проксировать IPv4 запросы на IPv6 адрес, то есть свой прокси-сервер вы можете поднять даже на копеечном (можно найти варианты за 60 центов в месяц!) IPv6-only или NAT VPS без IPv4 адреса, и наплодить таких серверов чуть ли не десяток в разных локациях 🙂
Недостатком транспорта через веб-сокеты является более долгий хендшейк (установление каждого соединения) чем напрямую через TLS. Но и здесь есть решение.
Сервера XRay и Sing-Box (возможно и V2Ray тоже, не проверял) позволяют задавать также механизм fallaback’ов для разных протоколов. Например, при подключении пользователя первым делом сервер пытается обработать входящее подключение как VLESS-over-TCP. Если хендшейк оказался успешным, пользователь опознан — работаем, если нет — передаем следущему обработчику. Следущий обработчик, может, например, попытаться воспринять это новое подключение как VMess-over-Websocket. Если сработало — отлично, если нет — то передаем подключение следущему inbound’у. А тот, в свою очередь, не разбираясь, перенаправляет подключение на локальный веб-сервер с котиками. Таким образом у нас есть возможность одновременно принимать подключения и через VLESS-TCP, и через VLESS-Websockets или VMess-Websockets на одном порту, а если не сработал ни один из вариантов, прикидываться безобидным веб-сайтом.
Еще одна фича V2Ray и XRay — мультиплексирование соединений (mux или mux.cool). В этом случае на каждое новое подключение к какому-либо сайту не будет устанавливаться новое подключение к прокси, а будут переиспользованы существующие. Что в теории может ускорить хендшейк и привлекать меньше внимания со стороны цензоров (меньше параллельных подключений к одному хосту), с другой стороны снижает скорость передачи данных из-за оверхеда на дополнительные заголовки пакетов.
XUDP и Packet — расширения VLESS для более эффективной передчи UDP-пакетов и реализации Full Cone NAT. Packet — версия подревнее, XUDP по-новее. Без их использования многие NAT-тесты будут жаловаться на кривой NAT («endpoint address not changed), а с XUDP вы получаете нормальный честный Full Cone. Это может быть полезно для онлайн-игр, месседжеров и разного софта с передачей аудио и видео. XUDP и Packet нельзя использовать одновременно с MUX из прошлого параграфа из-за особенностей реализации (авторы старались впихать все в рамки существующего протокола и сохранить обратную совместимость, поэтому были вынуждены переиспользовать некоторые механизмы).
А теперь про самое интересные фичи.
uTLS предназначена для обмана механизма детектирования на основе TLS fingerprint, о котором я рассказывал в прошлой статье. Почитать про TLS fingerprint можно на посвященном ему сайте. В Китае и Иране цензоры активно используют этот механизм для детектирования прокси-клиентов — если мы обращаемся к какому-нибудь прокси, замаскированному под HTTPS-сайт, но при этом TLS fingerprint клиента отличается от популярных браузеров (особенно если клиент написан на Go, у которого очень специфичный фингерпринт), то соединение блокируется. uTLS — это специально пропатченный вариант стандартной TLS-библиотеки Go, позволяющий маскироваться под другие приложения. Некоторые клиенты дают выбор из нескольких вариантов (например chrome, firefox, safari), некоторые позволяют выбирать желаемый fingerprint вплоть до версии конкретного браузера.
В нынешних реалиях uTLS является очень крутой и почти что жизненно необходимой штукой (РКН пока что по фингепринтам не блочит, но как показывает опыт других стран, может начать в любой момент), поэтому рекомендуется его использовать во всех случаях, если он поддерживается клиентом (а если не поддерживается — лучше выбрать клиент, который поддерживает).
И наконец, XTLS, фирменная фишка XRay.
Сегодня почти что все веб-сайты работают не через голый HTTP, а через HTTPS (TLS). Используя прокси с TLS мы, по сути дела, еще раз шифруем уже зашифрованные данные. Во-первых это неэффективно, а во-вторых, что гораздо хуже — китайские цензоры научились определять TLS-inside-TLS (возможно с помощью нейросетей). Авторы XRay посмотрели на это, и решили: зачем шифровать то, что уже зашифровано? И придумали XTLS.
Суть проста: прокси-сервер подслушивает передаваемый трафик, и если видит, что если между клиентом (например, браузером) и удаленным хостом (например веб-сервером) устанавливается TLS-соединение, то дожидается окончания хендшейка, и после чего перестает шифровать трафик, начиная передавать пакеты данных “как есть”. В итоге существенно снижается нагрузка на прокси-сервер и клиент, и что важнее — со стороны трафик выглядит гораздо менее подозрительно (у нас подключение по TLS, поэтому до сервера бегают простые TLS-пакеты без аномалий, никакого двойного шифрования).
XTLS имеет несколько разных версий, которые отличаются алгоритмами работы, xtls-rprx-origin и xtls-rprx-direct — самые первые из них, в xtls-rprx-splice задействован механизм ядра Linux splice для более эффективного копирования данных между сокетами. Все они уже не актуальны, в настоящее время рекомендуется использовать последнюю версию XTLS-Vision (xtls-rprx-vision), подробное описание работы которой можно прочитать здесь. По ряду сообщений, на сегодняшний день связка VLESS+XTLS-Vision является единственной, которую пока еще не умеет эффективно блокировать китайский GFW (при условии соблюдения рядя важных моментов, например, запрета доступа к китайским сайтам через прокси). Единственный минус — xtls-rprx-vision пока что поддерживается не всеми клиентами, и XTLS по понятным причинам не работает через CDN.
Хозяйке на заметку: в отличие от предыдущих версий, при настройке клиентов для xtls-rprx-vision нужно выбирать тип транспорта не “XTLS”, а просто “TLS”. Нелогично, видимо связано с особенностями реализации, но такова жизнь.
И наконец, заглянем в завтрашний день: XTLS-Reality. Это самое новое изобретение от авторов XRay. Он уже поддерживается в master-ветке xray и даже в некоторых клиентах, но про него все еще мало что известно. В отличие от всех остальных вариантов, определение “свой/чужой” здесь происходит еще на этапе TLS-хендшейка в момент чтения ClientHello. Если клиент опознан как “свой”, сервер работает как прокси, а если нет — вжух! — и TLS подключение передается на какой-нибудь другой абсолютно реальный хост с TLS (например, google.com или gosuslugi.ru), и таким образом клиент (или цензор, желающий методом active probing проверить, а что же прячется на том конце) получит настоящий TLS-сертификат от google.com или gosuslugi.ru и настоящие данные с этого сервера. Полное соответствие. Определение «свой-чужой» происходит по значения некоторых полей пакетов TLS-хендшейшка, которые формально должны быть рандомные, а по факту генерируются специальным образом, но не зная исходного «секрета», который использовался при их генерации, невозможно определить, действительно ли это рандом или нет — соответственно для прокси этот механизм позволяет достоверно определить подлинность клиента, но вместе с тем не вызывать подозрения у цензоров и быть устойчивым к replay-атакам. Вероятно за этим будущее 🙂
Trojan-GFW и Trojan-Go
Наряду с Shadowsocks и V2Ray протокол Trojan является одним из первых и популярных способов обхода блокировок в Китае, и по принципу работы в принципе соответствует своему названию 🙂 Для стороннего наблюдателя работа через него выглядит как подключение к обычному веб-серверу, но на самом деле это веб-сервер с подвохом секретом (аки троянский конь).
Trojan работает поверх TLS (точно так же как HTTPS). После установления TLS-сессии сервер ожидает хендшейк в специальном формате, одним из полей которого является хеш секретного ключа. Если сообщение и ключ корректны — дальше сервер работает как прокси, если нет — запрос передается на стоящий рядом веб-сервер, и таким образом имитируется работа безобидного сайта через HTTPS.
Trojan-GFW — оригинальная версия, написанная на C++. Trojan-Go — продолжение проекта, теперь уже на языке Go . Trojan поддерживается многими мультипротокольными клиентамии серверами типа Sing-box и V2Ray/XRay — в этом случае вместе с Trojan также можно использовать упомянутые выше фичи uTLS и XTLS, что повышает надежность протокола и уменьшает вероятность его детектирования.
Если вы внимательно читали до этого, то Вам сразу же станет понятно, что Trojan в принципе аналогичен VLESS+TLS с настроенным fallback на веб-сайт. Каких-либо явных преимуществ перед VLESS+TLS у Trojan лично я не вижу, можно относиться к нему как к еще одной альтернативе.
Naiveproxy
Идея Naiveproxy, опять же, простая до невозможности. Если наша цель — замаскировать трафик от прокси-клиента так, чтобы он был вообще ничем неотличим от трафика от обычного браузера — почему бы не использовать для этого сам браузер?
Именно так и рассудил автор Naiveproxy и сделал следущее: взял исходники браузера Chromium, оторвал оттуда код сетевого стека, и использовал его в своем прокси-клиенте, причем в качестве прокси-протокола используется самый обычный метод CONNECT + HTTP/2.
В итоге одним выстрелом убивается сразу несколько зайцев:
- TLS finerprint и вообще поведение такого подключения полностью до мельчайших деталей соответствует настоящему браузеру Chromium — более того, автор периодически синхронизируется с кодовой базой Chromium, чтобы иметь самые новые версии его сетевого стека, и таким образом максимально соответствовать свежим версиям браузера;
- Определение паттернов трафика, характерных для определенных веб-сайтов, затрудняется благодаря HTTP/2 мультиплексированию;
- Определение свой/чужой, чтобы не демаскировать прокси при active probing осуществляется посредством стандартных HTTP-заголовков (“Proxy-Authorization”). Если там содержатся правильные данные — ларчик открывается, если нет, либо же заголовки отсутствуют — сервер делает вид, что не понимает, что от него хотят и выдает фейковый сайт.
В теории, на “той стороне” в качестве прокси-сервера может выступать вообще любой сервер, поддерживающий метод CONNECT (например, tinyproxy), а авторизацию “свой-чужой” можно сделать с помощью reverse-proxy такого как HAProxy. Однако гораздо лучше использовать реализации, знающие про особенности naiveproxy — в таком случае в пакеты данных также добавляется padding (грубо говоря, мусорные данные, не несущие смысловой нагрузки) для усложнения анализа паттернов трафика. Это может быть, например, сам naiveproxy на сервере, или же патченный плагин для известного веб-сервера Caddy.
Cloak
Посоветовали тут в комментариях. Штука интересная. Cloak — это не прокси-протокол, а только транспорт, то есть он делает подключение «точка-точка» (между вашим устройством и сервером), а внутри него уже можете гонять тот же Shadowsocks, или OpenVPN, или что угодно.
Работает поверх TLS 1.3, «свой/чужой» определяется по содержимому полей в ClientHello специальным образом (видимо очень схожим с XTLS-Reality), если «чужой» — то подключение передается на фейковый веб-сайт. Также используется TLS fingerprint от Chrome либо Firefox. Механизмы обфускации и подключения подробно описаны вот здесь: https://github.com/cbeuw/Cloak/wiki/Steganography-and-encryption. Есть также клиент под Android, и ещё транспорт Cloak поддерживается в некоторых мультпротокольные клиентах (например, Shadowrocket.
Если вы не хотите разбираться со всеми этими V2Ray, XRay, и подобным, у вас уже все настроено, и вы просто хотите обезопасить ваш существующий сервер (например, OpenVPN) от блокировки, то Cloak может быть отличным выбором
KCP (kcptun), mKCP
В сравнении со всем описанным выше, KCP — это протокол совершенно другого рода.
Авторы KCP переосмыслили алгоритмы передачи данных и разработали протокол, который работая поверх UDP обеспечивает надежную передачу, так же как TCP, но при этом в сравнении с TCP средняя задержка (пинг) при его использовании ниже на 30–40 %, а максимальная задержка меньше в три раза (правда, за счет потери полосы пропускания на 10–20%).
И все это как нельзя кстати оказалось для обхода блокировок, потому что в Китае и в некоторых арабских странах “неизвестные” протоколы нередко не блокировались полностью, а то ли намеренно, то ли из-за кривости механизмов фильтрации резались путем замедления и потерь пакетов. Также KCP может быть полезным при работе через отвратительные соединения (например, олдовый 3G в условиях плохого покрытия сети).
Для эффективной работы KCP требует указания в конфигурации измеренной реальной пропускной способности канала на прием и передачу.
Теперь разберемся с версиями и реализациями.
KCP — это оригинальный протокол. Kcptun — реализация туннеля на основе KCP.
mKCP — это вариант протокола KCP от V2Ray — по сути дела тот же KCP, но с небольшими изменениями (KCP и mKCP между собой не совместимы, имейте в виду). В V2Ray/XRay mKCP не является самостоятельным прокси-протоколом, а только лишь транспортом — то есть поверх него все так же нужно использовать VMess или VLESS. V2Ray/XRay имеют также опцию “congestion” для автоматической перенастройки параметров канала в случае высоких потерь пакетов, как и в оргигинальном kcptun можно задать секретный ключ (тут он называется “seed”) для усложнения детектирования, а еще можно маскировать внешний вид UDP-пакетов под SRTP (используемый, например, в Apple FaceTime), uTP (Bittorrent), WeChat, и DTLS (используемый в WebRTC, например, многими месседжерами).
Hysteria
Hysteria во многом очень похож на KCP, а ещё на всем известный QUIC, и авторы то ли вдохновлялись их механизмами, то ли напрямую в какой-то мере переиспользовали их. Кто авторы — тоже неизвестно, они сохраняют анонимость, документация на официальном сайте только на английском и китайском языке, но в примерах конфигурации среди секретных ключей встречается строка “Мать-Россия”, прямо так, кириллицей, что наталкивает на размышления.

Hysteria — это прокси-инструмент, как и Kcptun предназаченный для работы через нестабильные сети с потерями пакетов, ну и обхода блокировок, само собой.
В отличие от KCP, Hysteria передает данные не просто поверх UDP, а с использованием протокола QUIC (HTTP/3). Поэтому для работы на сервере должен иметься TLS-сертификат, сервер Hysteria умеет автоматически запрашивать сертификаты методом ACME (например, от Let’s Encrypt). Поскольку QUIC часто полностью блокируется в ряде стран (в том числе и в России), есть также возможность установить ключ для обфускации данных, в результате чего UDP-пакеты становятся ни на что не похожи.
Также как и для KCP, на стороне клиента Hysteria необходимо задать доступную ширину канала (например, в мегабитах), а еще есть интересный режим port hopping — разработчики подметили, что в Китае при детектировании “неправильных протоколов” бан накладывается не на весь IP-адрес целиком, а на связку IP+порт, поэтому сервер может слушать сразу на большом количестве портов, а “клиент” может прыгать на разные рандомные порты при неудачных попытках соединения.
И еще одна интересная возможность Hysteria — FakeTCP. В этом режиме клиент и сервер будут обмениваться пакетами, которые выглядят как TCP-пакеты (согласно их заголовку), но в обход системного TCP-стека и его механизмов. В итоге для всех промежуточных роутеров и цензоров обмен данными выглядит как TCP-подключение, хотя на самом деле им не является. Это может помогать в случае использования корпоративных фаерволов или цензоров, полностью режущих UDP. FakeTCP поддерживается только в Linux.
Meiru, TUIC, Brook, Pingtunnel
Эти протоколы вы мало где встретите, разве что только в самых упоротых клиентах. Я не встречал на просторах интернета упоминания их массового использования, поэтому просто пройдусь очень кратко, для общего развития, так сказать:
Meiru — аналог Shadowsocks / VMess+TCP, просто зашифрованный поток данных с паддингом поверх TCP или UDP.
TUIC — прокси-протокол поверх QUIC нацеленный на минимальный оверхед (0-RTT)
Brook — официально называется даже не прокси, а “cross-platform network tool designed for developers”, видимо, чтобы не привлекать внимание цензоров, хотя в футере сайта есть гордое заявление “Undetectable Protocol”. Информации об идеях в основе протокола и его преимуществах практически нет даже на официальном сайте и Github’е, судя по обрывочным данным, может работать в режиме “random” (как и Shadowsocks, непонятный поток данных), HTTP/HTTPS, в том числе поверх Websockets, и т.д. Возможно разработчики действительно придумали какие-то оригинальные идеи, затрудняющие детектирование, но никому об этом открыто не рассказывают, чтобы не привлекать внимания, в надежде что лезть и изучать исходники у цензоров не хватит терпения и квалификации, либо рассчитывают на эффект «неуловимого Джо».
PingTunnel — как следует из названия, позволяет проксировать TCP и UDP с помощью обычных ICMP-пингов. Звучит многообещающе.
Что использовать?
Зависит от того, насколько вы себя уверенно чувствуете в системном администрировании и готовы во всем этом разбираться методом проб и ошибок.
Если не уверены, либо не готовы и хочется максимально простое и универсальное решение, то я могу посоветовать настроить XRay в варианте VLESS-over-Websockets с fallback’ом на какой-нибудь безобидный веб-сайт. Со стороны клиентов обязательно выбрать опцию uTLS, и желательно добавить настройку чтобы ресурсы в зоне .ru и с российскими IP открывались без прокси.
Такая связка поддерживается практически всеми клиентами, еще долгое время будет устойчива к детектированию (учитывая отсталость и тормознутость нашего родного РКН), при наличии зарегистрированного домена можно работать через CDN, а устанавливается и настраивается все это элементарно парой команд в консоли (об этом будет в одной из следущих статей).
Если вы готовы к подвигам и экспериментам, то можно задуматься о настройке XRay с VLESS+XTLS-Vision, добавить fallback на VLESS+Websockets для старых клиентов и CDN разных видов, и на том же сервере поднять еще mKCP/Hysteria, Shadowsocks-2022 и классический SSH-туннель. И на будущее присмотреться к XTLS-Reality. В случае чего, хоть один из вариантов, но сработает.
А еще в одной из следущих статей я расскажу про клиенты. Потому что с клиентами дело обстоит примерно так же, как с серверами и протоколами: их много, они разные, некоторые из них являются форками друг друга, но с существенными отличиями, некоторые поддерживают одно, некоторые другое, а некоторые, казалось бы, поддерживают только это и это, но при правильном подходе их можно заставить поддерживать то, что они, казалось бы, не поддерживают 🙂 Короче говоря, будет интересно, не переключайтесь.
Продолжения:
Если вы хотите сказать спасибо автору — сделайте пожертвование в один из благотворительных фондов: «Подари жизнь», «Дом с маяком», «Антон тут рядом».
Attention: Пользователь в Telegram с таким же ником, как у меня — мошенник, не имеющий никакого отношения к автору статьи.