Карта сокровищ
Карта сокровищ

На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить «не‑технарей» («чайников»), желающих поднять личный прокси‑сервер для обхода цензуры, но дезориентированных обилием информации или остановленных непонятной технической ошибкой.

В этой статье я описал универсальное решение, которое обеспечивает прозрачный доступ к международному интернету в обход цензуры, использует передовые технологии маскировки трафика, не зависит от одной корпорации и главное — имеет избыточный «запас прочности» от воздействия цензоров.

Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).

Если у вас ещё нет личного прокси для обхода цензуры — это знак.

TL;DR; Универсальное решение:

VPS в Европе, панель 3X-UI для управление Xray, прокси VLESS-Reality для прямого соединения, прокси VLESS-tls-grpc для запасного соединения через CDN CludFlare, российский трафик напрямую - либо через цепочку VPS->WARP, доступ к заблокированным в Европе сервисам - через цепочку VPS->WARP

Предисловие

Пару месяцев назад, в телеграмм‑чате «амнезии» с обсуждением обхода цензуры, нонейм привёл пример «стоматолога из Чертаново», которому интересно‑бы поднять свой сервер, но он «ниасилил» технарские статьи, не готов гуглить ошибки и ему бы понятный мануал: сделай так и всё заработает.

Я и сам своего рода «стоматолог из Чертаново»: уже более 15 лет не работаю в IT.

Помню, как пару лет назад купил виртуальный сервер «на поиграться» и боялся вводить там команды, так что весь оплаченный период он бездействовал. Но, в итоге, обход цензуры стал моим хобби, я разобрался в теме и теперь пишу статью, ориентируясь на себя: в прошлом я был бы рад встретить подобную инструкцию.

Я считаю предлагаемое решение — универсальным. Это моё субъективное мнение, подкреплённое собственным опытом, а также опытом единомышленников (не всех:) из тг‑чата , где мы обсуждаем настройку и эксплуатацию разных прокси и ви‑пи‑энов. (обращаю внимание что это именно чат, не канал, я не являюсь его владельцем/модератором и он не монетизируется в данный момент. Просто место где можно задать вопрос и поделиться опытом по теме.)

Наверняка найдутся читатели, которые посчитают решение из этой статьи избыточным — либо наоборот, недостаточным (если так — приглашаю вас в комментарии). Однако я смею утверждать, что — настроив прокси по этой инструкции — вы надолго забудете о проблеме цензуры.

Выполнение данной инструкции занимает у меня занимает полчаса, у тех кто вообще не в теме — пару вечеров.

Предлагаю технарям сразу простить меня за то, что описываю некоторые вопросы чересчур подробно: она из целей этой статьи — повышение IT‑образования среди неайтишников.

Саму инструкцию вы найдёте во второй части статьи. Сперва же я сориентирую желающих разобраться в текущем положении дел и аргументирую используемые решения.

Теория (1/3) Цензура в интернете

Цензура в РФ

В РФ сейчас имеют место судебные и внесудебные блокировки. Явно заблокированные ресурсы можно поискать на сайте РосКомНадзора (РКН). К таким ресурсам относятся, например, известные: нельзяграм, мордокнига, рутрекер.

С внесудебными блокировками всё интереснее. «По периметру» РФ уже стоят «чёрные ящики» — оборудование от РКН — «ТСПУ», которое цензурирует весь пересекающий (по проводам) границу трафик. ТСПУ переводится как Технологические Средства Предотвращения Угроз: всё, что РКН посчитает «угрозой», может быть втихую заблокировано. Так, например, сейчас внесудебно блокируют сервис «HideMy.name», летом 2023 блокировали популярные протоколы OpenVPN и WireGuard, а осенью — в южных регионах — блокировали вообще весь непонятный tcp‑трафик.То есть блокировкам подвержены не только ресурсы, но и протоколы передачи данных.

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

Более того, к внесудебным блокировкам подключатся провайдеры: есть свидетельства внесудебной цензуры трафика внутри страны. Делают ли они это по своей воле или на внутренних интернет‑магистралях также установлены ТСПУ (управляемые РКН) — мне неизвестно.

Наконец, помимо блокировок, РКН умеет «замедлять» некоторые ресурсы, например — twitter. Возможно в скором времени та же учесть постигнет youtube (считаю, что его однажды не заблокируют, а замедлят... хотя с этим уже успешно справляется сам гугл). Хотел бы ошибаться, но если такое произойдёт, то личный прокси станет хорошим помощником в комфортном доступе к глобальной видео‑библиотеке.

И последнее: использование средств обхода цензуры не запрещено (не является незаконным) в РФ на данный момент.

Ну и для полноты картины стоит упомянуть силовые методы цензуры: публикация мнений на некоторые темы уголовно наказуема в РФ, и прокси в этом, конечно, не помощник. Прокси помогает получить доступ к уже опубликованной информации.

Лирическое отступление

Я понимаю, что традиционно упоминание цензуры может вызвать возмущение, праведный гнев и осуждение чиновников. Я смотрю на это немного иначе.

На данном этапе истории, цензура «де факто» является неотъемлемой функцией любого государства и ожидать что её не будет уже сегодня — значит бороться с ветряными мельницами. Человечество должно очень сильно измениться, чтобы цензура перестала быть нужна для поддержания целостности государств.

Я же — в текущих реалиях — предпочитаю спокойно реализовывать своё право на свободный доступ к информации (конституция, статья 29) доступными законными методами, и — помимо этого права — создавать то, что считаю ценным. т. е. инвестирую внимание туда, где готов создать на практике, вместо того, чтобы искать, что осудить и уничтожить.

Поэтому, возмущение я рассматриваю как сигнал нереализованности: если мне хочется повозмущаться — значит я недостаточно реализовал свой созидательный потенциал. И лучше пустить энергию на создание чего‑то ценного, чем на возмущение и осуждение. Это моё личное мнение, я его не навязываю, но возможно оно поможет вам сохранить эмоциональный комфорт при упоминании цензуры и при настройке прокси для её обхода.

Цензура за границей

На Востоке — В Китае, Иране и Туркменистане — дела с цензурой обстоят примерно как в РФ — только ещё жёстче. Кстати, именно китайский опыт мы будем использовать для своего прокси.

А вот на Западе с цензурой всё интереснее:

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

Блокировка неугодной информации здесь происходит немного иначе. Я вижу три главных тренда:

  1. Манипуляция результатами поисковой выдачи в соцсетях через контроль над СМИ для пропаганды желаемой повестки;

  2. Воспитание «культуры отмены» против инакомыслящих для устранения нежелаемой повестки.

  3. Пожалуй, основной тренд: «самоцензура»: самостоятельное ограничение доступа к себе извне. И для этого есть две причины:

    1. выпиливают себя ради соблюдения локальных законов (Порнхаб уходит из Монтаны, Godaddy уходит из РФ и пр )

    2. выпиливают себя из‑за той же «культуры отмены»: ради управления репутационными рисками (из опасения стать изгоями среди своих), либо из‑за личной неприязни к группе людей (из желания отменить кого‑либо самостоятельно)

Против первых двух трендов помогает здравый смысл, а против третьего — прокси:).

Хорошая новость: практически все технически‑созданные преграды к информации можно обойти с помощью прокси‑сервера.

Теория (2/3) - покупка сервера (vps) и домена

Для реализации этой инструкции вам понадобится купить:

  • виртуальный сервер за границей (оплачивается помесячно или ежегодно)

  • доменное имя второго уровня (с одной точкой), вроде mypersonalsite.xyz (оплачивается ежегодно)

Хотел бы я дать ссылку на надёжного провайдера VPS (чтобы упростить работу «чайникам», не желающих разбираться в вопросе) — но нет.... универсального хостера я не встречал. Я лишь опишу критерии, а выбирать VPS придётся самому.

Критерии выбора VPS

Итак, вам нужен VPS, который удовлетворяет следующим критериям:

  • Технические характеристики: 1 процессор, минимум 1 GB оперативной памяти, минимум 5 GB диск. Обычно это самый дешёвый тарифный план.

  • Трафик — безлимитный или очень большой (например 32 Терабайта в месяц). Многим хватает 3 ТБ в месяц, но не всем. Безлимитных вариантов на рынке много.

  • Ширина канала: 100Мбит. Если у вас быстрый домашний/рабочий интернет, то можно смотреть в сторону 1Гбит, такие предложения на рынке есть.

  • Статичный IPv4 адрес (сервер с IPv6 но без IPv4 не подходит)

  • Локация (физическое расположение сервера): Европа. Можно выбрать любую страну, отличную от РФ, но Европа, как правило, даёт самый быстрый трафик.

  • Возможность установки операционной системы "Debian 12". Дальнейшая инструкция гарантированно работает с Debian 12. При выполнении всей цепочки шагов с другой ОС (например, Ubuntu) могут всплыть неожиданные вопросы.

  • Бекап (это платная опция у хостера) не нужен.

Рыночная стоимость такого VPS — $5 / 500 ₽ в месяц. Встречаются дешевле ($0.99/130р.). Дешёвая цена может быть признаком ненадёжности... или не быть.

А теперь холиварный вопрос: покупать ли VPS у зарубежного провайдера с помощью зарубежной карты (либо за крипту), или можно купить VPS у хостера, который принимает российские карты?

Однозначного ответа на этот вопрос у меня нет. Если не лень заморочиться — я бы посоветовал зарубежного хостера. Дело в том, что любой платёж российской картой вас деанонимизирует, и товарищ майор при желании узнает, кто оплатил прокси.

С другой стороны, прокси — это средство обхода цензуры (что вполне законно на данный момент), а не средство анонимности. Ни один прокси не гарантирует абсолютную анонимность в интернете, даже если вы будете платить криптой.

Для себя я решил этот вопрос так: лично у меня нет задачи «оставаться анонимным» и скрывать факт оплаты сервера за рубежом, поскольку моя деятельность не нарушает российских законов (опять же: на текущий момент).

Поэтому я оплачиваю зарубежный VPS с помощью российской карты. Меня такое решение устраивает, но я его не навязываю, и — вероятно — поменяю его однажды.

То же самое с доменными именами: можно купить домен.ru за российскую карту, либо любой домен (кроме .ru и .рф) за рубежом.

У кого покупать VPS?

  • Зарубежные хостеры:

    • погуглить "buy vps"

    • посмотреть список рекомендованных хостеров от амнезии.

    • Спросить в комментариях или чате (ссылка в начале статьи).
      Напомню, что у многих зарубежных хостеров есть тенденция ограничивать свои услуги в РФ, поэтому при регистрации не стоит указывать что вы из РФ.

  • Российские хостеры:

    • Погуглить «купить vps в европе»

    • Поискать на сайте poiskvps. Там большой выбор, но там есть не все.

    • Спросить в комментариях или чате (ссылка в начале статьи)
      Лично я сейчас арендую VPS у двух провайдеров: nuxt и vdsina. Оба — со своими тараканами, но они пока не так плохи, чтобы переходить на других.

У кого покупать домен?

  • .ru можно купить за 119 рублей (дешевле не видел) — гугл в помощь: «зарегистрировать домен.ru».

  • зарубежный можно купить за 99 центов (google: “99 cent domain”)

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

  • бесплатные домены второго уровня были доступны всем ещё летом 2023, но сейчас эта халява закончилась, приходится покупать.

Теория (3/3) - универсальное решение

Итак, задача — создать и настроить прокси: быстрый и чтобы не заблокировали.

Уже известно, что:

  • VPN‑протоколы OpenVPN, WireGuard, IPsec и многие другие легко детектируются и периодически блокируются.

  • Зашифрованные прокси‑протоколы без маскировки (shadowsocks, vmess, mtproto для телеграмма) тоже периодически блокируются. Если работает сегодня, но были прецеденты блокировок — не факт что будет работать завтра. Стоит ли использовать решение, которое может перестать работать в любой момент по воле РКН? Конечно нет.

Поэтому я использую решение, которое:

  1. Маскируется. Причём под самый популярный протокол в интернете - https (так умеют vless, trojan, cloak, gost-tls, openconnect-tls).

  2. Не шифрует зашифрованный трафик повторно: так называемый tls-in-tls при желании детектируется (пример), хотя и требует инвестиций в более дорогое оборудование ТСПУ. В Китае так уже делают, вероятно скоро научатся и у нас. Я знаю два решения для этого: vless-xtls просто не шифрует трафик дважды, cloak - обходит (вроде бы) этот фильтр за счёт огромной избыточности, но ценой низкой скорости.

  3. Притворяется реальным сайтом: Проходит тест на active-probing. Это когда цензор вместо вас подключается к серверу и убеждается, что вы посещаете какой-то сайт, а не используете его как прокси (так умеют vless-xtls-reality и всё тот же медленный cloak).

Существует классный продукт — Amnezia. Она также позиционирует себя как «универсальное решение» и поддерживает подходящий протокол (cloak), но я её не рекомендую из‑за «детских болезней»:

  1. Очень сырой клиент, особенно после обновления на 4 версию: баги и вводящий в заблуждение интерфейс.

  2. Единственный протокол с маскировкой (OpenVPN+Cloak) слишком медленный для комфортного использования,

  3. Протоколы без маскировки могут скомпрометировать сервер.

Я желаю «Амнезии» успехов — она действительно может стать универсальным решением в будущем, но на сегодня я вижу только одного кандидата: протокол VLESS‑XTLS‑Reality.

На текущий момент vless‑xtls‑reality не может быть обнаружен с помощью DPI (deep packet inspection — прослушивание трафика) даже в Китае. Но у цензора есть иные способы помешать ему. Поэтому смотрим следующий список:

Что я не стоит делать ни в коем случае

  1. Не компрометировать VPS протоколами, которые могут быть обнаружены (не ставить туда WireGuard, OpenVPN, Shadowsocks, ...). Некоторые провайдеры уже блокируют VPS, на которых в прошлом были замечены подобные протоколы.

  2. Не ходить в рунет через VPS, вместо этого посещать рунет напрямую, мимо прокси (легко настроить). В крайнем случае, пускать российский трафик по цепочке Я->VPS->Warp->Рунет (это тоже легко настроить). Дело в том, что если трафик пересекает границу РФ дважды в условную секунду (сначала туда, потом сразу обратно), то цензор может заподозрить прокси и заблокировать его. В Китае так делают, у нас - нет, но могут научиться в любой момент.

  3. Не раздавать доступ к прокси большому количеству людей. 5-10 близких максимум. В Китае уже вычисляют аномальный трафик к серверу от большого числа юзеров (и блокируют сервер), у нас - опять же - могут перенять их опыт в любой момент.

При выполнении этих условий (в текущих реалиях) сервер невозможно вычислить и заблокировать. Однако, я люблю избыточную надёжность, поэтому... на случай неожиданной блокировки VPS‑сервера по IP — есть «План Б»: проксирование трафика через CDN (Content Delivery Network).

CDN CloudFlare

CDN созданы для балансировки трафика крупных сайтов, состоят из сотен IP‑адресов, поэтому шанс их блокировки в РФ минимальный. Я использую одну из самых крупных CDN в мире — CloudFlare с бесплатным тарифом. Именно к CloudFlare вы привяжете купленный домен, чтобы пускать трафик через него.

Проксирование через CDN чуть медленнее прямого коннекта к серверу. Зато, при использовании CDN, Роскомнадзор вообще не узнает IP вашего сервера.

CloudFlare Warp

Warp - это сеть публичных прокси от той же корпорации CloudFlare, доступ туда происходит по VPN-протоколу WireGuard. Из РФ к Warp-у, конечно же не подключишься, но из зарубежного VPS - запросто.

В этой схеме Warp исполняет две функции:

  1. Дополнительный инструмент для обхода западной цензуры (если некоторые западные сайты не приветствуют запросы с вашего VPS - вы сможете зайти на них через Warp)

  2. Доп. защита от блокировок: проксирование запросов от VPS в Рунет, чтобы не компрометировать VPS в глазах РКН. Это на случай, если вы не настроили клиентское приложение для прямого доступа в ru-ресурсам. Конечно, не все ru-сайты готовы обслуживать запросы из-за границы, например: сайт Почты России почти наверняка не откроется через Warp, но большинство ru-сайтов откроется.

Независимость от корпораций

Если CloudFlare вдруг исчезнет, вся схема продолжит работать напрямую, при этом останется возможность подключиться к любой другой CDN (из десятки), а вместо Warp использовать любой другой зарубежный прокси. Но пока всё работает - можно использовать CloudFlare.

На этом теория окончена, перехожу к инструкции.

Инструкция (1/6) - настройка VPS

Как только вы приобрели VPS‑сервер с уже установленной туда чистой Debian 12 (см «Теорию ч.2» выше) — как правило в течении нескольких минут провайдер выдаст вам доступ к серверу. Чаще всего приходит e‑mail, иногда данные можно найти в панели.

Вам нужны две строки: IP-адрес и root-пароль
Вам нужны две строки: IP-адрес и root-пароль

Шаг 1: Подключитесь к серверу по SSH:

  • Наберите ssh root@111.111.111.111 в консоли (IP поменяйте на свой).
    Пароль можно вставить из буфера с помощью ПКМ, он не отображается для безопасности. Иногда пароль вставляется корректно только при включённой английской раскладке клавиатуры.

  • Либо используйте веб-интерфейс "VNC" в панели VPS

  • Либо используйте какое-либо SSH-приложение

Шаг 2: Обновите систему на сервере apt update && apt full-upgrade -y (займёт несколько минут)

Шаг 3: Перезагрузитесь reboot и через минуту подключитесь по ssh заново.

Шаг 4: Установите необходимые пакеты: apt install docker.io docker-compose git curl bash openssl -y

Шаг 5: Установите панель 3X-UI:

git clone https://github.com/MHSanaei/3x-ui.git
cd 3x-ui
git checkout v2.0.2
docker-compose up -d

Сейчас последняя версия панели - 2.0.2. Именно её мы ставим. Наверняка скоро появится более свежая версия - но теоретически она может чем-то отличаться. Версия 2.0.2 точно работает, рекомендую начинать с неё.

Шаг 6: Установите Warp: первой командой - удалите (если он был установлен хостером), второй - установите его в режиме совместимости с 3x-ui

warp u
bash <(curl -sSL https://raw.githubusercontent.com/hamid-gh98/x-ui-scripts/main/install_warp_proxy.sh)

Во время установки скрипт спросит у вас цифру, нужно ответить 40000

Шаг 7: Сгенерируйте самоподписанный TLS-сертификат и скопируйте его в панель 3X-UI

openssl req -x509 -newkey rsa:4096 -nodes -sha256 -keyout private.key -out public.key -days 3650 -subj "/CN=APP"
docker cp private.key 3x-ui:private.key
docker cp public.key 3x-ui:public.key

На этом настройка сервера завершена.

Можно шаманить дальше, чтобы повышать уровень безопасности сервера и качество его маскировки, но «для старта» я считаю это излишним. Минимально необходимые настройки для стабильной работы сервера вы выполнили.

Инструкция (2/6) - первичная настройка панели 3X-UI

Подружитесь со своей тенью
Подружитесь со своей тенью



Шаг 1:
Откройте браузер и зайдите по адресу вида http://111.111.111.111:2053/ Обратите внимание на http (не https) в начале адреса (но это только на старте, далее будет https). IP, конечно, нужно поменять на свой.

Шаг 2: Поменяйте язык на английский (в русском кривой перевод), тёмную тему, логин: admin, пароль: admin, и войти (кнопка Login).

Управляйте своей реальностью
Управляйте своей реальностью

Шаг 3: В разделе "Panel Settings" заполните 4 поля как на скриншоте:

- Panel Port (любое случайное число от 1000 до 65535, кроме 40000 - оно уже занято варпом, в инструкции я буду использовать 54321 - но вы придумайте своё). Далее везде вместо порта 54321 вставляйте своё число.

- Panel Certificate Public Key Path : /public.key

- Panel Certificate Private Key Path : /private.key

- Panel URL Root Path: секретная строка для доступа к панели, которая начинается и заканчивается "/". Я использую /mysecreturl/, но вы придумайте свою. Далее везде вместо строки /mysecreturl/ используйте свою.

Наконец, сохранитесь (кнопка Save вверху страницы) и обязательно перезагрузите панель (кнопка Restart Panel, Sure).

  • Браузер выдаст ошибку. Поменяйте в адресной строке порт 2053 на 54321, обновите страницу.

  • Браузер выдаст вторую ошибку «Подключение не защищено» (это потому что мы используем самоподписанный сертификат, но это временно). Нажмите на Дополнительно→Перейти на сайт, и вы опять окажетесь в панели.

Будьте собой, остальные роли заняты
Будьте собой, остальные роли заняты

Шаг 4: В разделе Panel Settings -Security Settings укажите старые(admin/admin) и придумайте новые логин и пароль, жмите Confirm.

Шаг 5: Войдите в панель ещё раз с новым логином и паролем.
Теперь панель будет всегда доступна по HTTPS адресу вида: https://111.111.111.111:54321/mysecreturl/ (где IP, Порт и Путь будут вашими собственными).

Сохраните где-нибудь URL доступа к панели, логин и пароль.

Инструкция (3/6) - настройка Xray

Xray - прокси-сервер, которым управляет панель 3X-UI. Именно Xray поддерживает протокол VLESS с маскировкой.

Всё красиво на бумаге, да забыли про овраги (нет)
Всё красиво на бумаге, да забыли про овраги (нет)


Шаг 1: В панели перейдите в раздел "Xray Settings" и включите две опции:

- IPv4 Configs -> Use IPv4 for Google

- WARP Configs -> Route OpenAI (ChatGPT) througw WARP.

Затем в верху страницы сохранитесь (Save Settings) и перезагрузитесь (Restart Xray)

Есть такое слово: "Родина"
Есть такое слово: "Родина"

Шаг 2: Пустите весь российский трафик на сервере через WARP.

Для этого перейдите в раздел "Xray Settings"->"Routing Rules", найдите строку где написано "geosite:openai" и отредактируйте её, чтобы получилось: geosite:category-gov-ru,regexp:.*\.ru$,geosite:openai

Наконец, добавьте новое правило через кнопку Add Rule (IP: geoip:ru, Outbound tag: WARP) как на скриншоте.

Опять сохранитесь вверху страницы (Save Settings), затем перезагрузитесь (Restart Xray)

Правильно заполненная таблица "Routing Rules" - ваш пропуск в интернет, товарищ!
Правильно заполненная таблица "Routing Rules" - ваш пропуск в интернет, товарищ!

Шаг 3: Найдите сайт‑донор для маскировки.

Уже на 4-м шаге панель предложит вам маскироваться под сайт yahoo.com. В принципе он подходит. Но если у вас сервер в Европе — это даст задержки при открытии новых сайтов, поскольку сервера yahoo находятся в Америке.

Оптимальным будет найти сайт в подсети хостера (вот инструкция), но может случиться так, что в подсети сайта не обнаружится (у меня такое было).

Поэтому есть более простой вариант: найти небольшой сайт из той‑же страны, где вы арендовали VPS, затем зайти на сервер по SSH и с сервера попинговать его. Если время отклика будет минимальное (например, 15мс) — он подходит.

Я арендовал сервер в Нидерландах, поэтому выбрал голландский новостной сайт nltimes.nl - попинговал его с VPS-сервера: вижу время отклика 6мс, он подходит
Я арендовал сервер в Нидерландах, поэтому выбрал голландский новостной сайт nltimes.nl - попинговал его с VPS-сервера: вижу время отклика 6мс, он подходит
Цензура - не волк: VLESS не убежит
Цензура - не волк: VLESS не убежит


Шаг 4:
Настройте VLESS

В разделе (Inbound) - (Add inbound) надо заполнить указанные на скриншоте поля.

Самое важное:

- Remark и Email - любые строки (не обязательно адрес эл.почты), ни на что не влияют.

- Listening IP - укажите ваш IP

- Port - строго 443, чтобы маскироваться под обычный https-сайт.

- Только после выбора Security: Reality появится возможность выбора Flow: xtls-rprx-vision

- uTLS - именно Chrome, чтобы маскироваться под самый популярный браузер

- Dest, Server Names - указать сайт-донор (хотя можно оставить yahoo.com)

- Кнопка (Get new cert) генерирует ключи.

- (Create) завершает создание.

Ключ сильнее замка
Ключ сильнее замка

Шаг 5: Получите ключ VLESS

Осталось в разделе Inbounds нажать на (три точки) -> Export Links ...

... и система даст скопировать строку-ключ вида:

vless://e034d537-b028-41f0-9e53-5f0838ea8b3b@111.111.111.111:443?type=tcp&security=reality&pbk=D0Bfsax3Ble2KiqDrOu3_qMJw7qVKyrnWgpvDTVkb3M&fp=chrome&sni=nltimes.nl&sid=64edf3b5&spx=%2F&flow=xtls-rprx-vision#My%20VLESS-Reality

Сохраните её в удобном месте.

Инструкция (4/6) - настройка клиента (на компьютерах и телефонах)

Здесь всего три шага:

  1. Установить приложение

  2. Вставить туда строку-ключ с сервера

  3. Настроить прямое соединение с Рунетом

Приложений много, они есть практически под все платформы, и они проверены временем.

Windows:

Android:

iOS:

macOS:

Настройка Hiddify-Next

Лидером среди приложений является Hiddify‑Next от наших иранских коллег.

Основные его плюсы:

  • Крайне простой и понятный интерфейс «одна кнопка», минимум настроек.

  • Русский язык

  • Доступен под все платформы кроме iOS (но разработчики скоро сделают и его)

Интерфейс настолько простой, что я решил не делать скриншотов.

После установки приложения надо сделать всего две вещи:

  • В настройках установить Регион: RU

  • Скопировать в буфер и вставить в приложение строку‑ключ vless через кнопку (+)

Всё! Можно нажимать на огромную круглую кнопку — и прокси заработает!

Особенности Hiddify-Next на Windows:

Приложение может работать в двух режимах:

  • Системный прокси (по умолчанию)

  • TUN-режим

Большинство приложений (в том числе браузеры) понимает первый режим. Но не все. Если какое‑то приложение на Windows не видит ваш прокси — переключитесь в TUN‑режим (в настройках Hiddify‑Next). Чтобы TUN‑режим заработал, Hiddify‑Next необходимо запустить в «режиме администратора» (программа сама вам об этом скажет).

Особенности Hiddify‑Next на Android:

На андроиде есть супер‑удобная опция «Раздельное проксирование» (в настройках Hiddify‑Next). На iOS такого нет.

Раздельное проксирование позволяет выбрать, какие приложения будут использовать прокси. Например, я могу выбрать опцию «Проксировать только выбранные приложения» и поставить галочки на: «Нельзяграм, Канву и Хром». После включения прокси, только эти три приложения будут использовать прокси, а остальные (банковские приложения, яндекс‑карты и все остальные) продолжат соединяться со своими серверами напрямую.

Если настроить раздельное проксирование для выбранных приложений — прокси на телефоне можно держать включённым постоянно.

Настройка Streisand (iOS)

Streisand — бесплатное приложение, но в декабре оно на несколько дней становилось платным. Если оно опять станет платным в будущем (~200р) — считаю что оно стоит своих денег.

Итак, всё те же два шага:

  1. Скопировать в буфер и вставить в приложение строку-ключ vless через кнопку (+)

  2. Настроить прямое соединение с Рунетом. Тут несколько шагов.

    Сначала - скопировать эту длинную строку с настройками в буфер.

streisand://aW1wb3J0L3JvdXRlOi8vWW5Cc2FYTjBNRERWQVFJREJBVUdEaGdaR2xWeWRXeGxjMTFrYjIxaGFXNU5ZWFJqYUdWeVZHNWhiV1ZlWkc5dFlXbHVVM1J5WVhSbFozbFVkWFZwWktJSEU5VUlDUW9MREEwT0R4QVNXMjkxZEdKdmRXNWtWR0ZuWFdSdmJXRnBiazFoZEdOb1pYSldaRzl0WVdsdVVtbHdWMjVsZEhkdmNtdFdaR2x5WldOMFZtaDVZbkpwWktDaEVWaG5aVzlwY0RweWRWZDBZM0FzZFdSdzFCUVZDZ3dORGhZU1cyOTFkR0p2ZFc1a1ZHRm5YV1J2YldGcGJrMWhkR05vWlhLaEYxbGtiMjFoYVc0NmNuVlpVbFV0WkdseVpXTjBYRWxRU1daT2IyNU5ZWFJqYUY4UUpFUkROVGxETXpsRExVUXdSRVl0TkRsR015MDVRVEl3TFVFMlJUVkVSakkwUkRaRE9RQUlBQk1BR1FBbkFDd0FPd0JBQUVNQVRnQmFBR2dBYndCeUFIb0FnUUNJQUlrQWl3Q1VBSndBcFFDeEFMOEF3UURMQU5VQTRnQUFBQUFBQUFJQkFBQUFBQUFBQUJzQUFBQUFBQUFBQUFBQUFBQUFBQUVK

Затем — вставить её в приложение через «+» справа‑вверху.

Наконец, зайди в «Роутинг», и там (поставить галочку), (нажать на «включить») и вернуться назад (стрелка слева)

Эффект Streisand: ON
Эффект Streisand: ON

Можно подключаться! (при первом подключении телефон попросит пароль).

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

upd: у меня нет macOS чтобы проверить, но @Spoofi подсказал, что MacOS Hiddify Next на данный момент «не умеет» tun-режим (о tun я писал выше), но это умеет FoxRay.

Инструкция (5/6) -- проверка прокси

Если вы всё сделали по инструкции — у вас на устройствах уже должен быть работающий прокси. Но выполняет ли он свою функцию? Не обманул ли продавец VPS? Сейчас проверим.

  1. Убедитесь, что прокси включён.

  2. В браузере зайдите на https://ipinfo.io/ . Вы видите IP вашего VPS? Значит прокси работает и и вы всё настроили верно.

  3. Откройте браузер и зайдите на https://rutracker.org. Открывает? значит РФ‑цензуру обошли.

  4. Откройте браузер в режиме инкогнито и зайдите на https://maps.google.com. Вы видите карту той страны где покупали VPS? Вероятно ip «чистый».

  5. Ещё раз посмотрите на https://ipinfo.io/ . Справа в разделе country вы видите ту страну в которой находится VPS? Значит ip «чистый».

  6. Зайдите на https://canva.com Вы видите нормальный сайт и вас не посылают за то что вы из РФ? Значит западную цензуру обошли.

  7. Зайдите на https://google.com Нет ошибки 403 и поиск доступен? Значит гугл не забанил ранее ваш IP.

Если что‑то пошло не так:

  • п2 и п3: скорее всего где‑то ошиблись в выполнении инструкции, перепроверьте.

  • п4,5,6 — вероятно хостер предоставил вам «грязный» IP, который числится в базах как российский. Есть шанс, что в течение двух недель базы обновятся... либо не обновятся. Имеет смысл написать в техподдержку хостеру, описать ситуацию и попросить поменять IP. Большинство идут на сотрудничество.

  • п7 — просите хостера поменять IP.

Запасной план:

Если какой‑либо западный сайт не пускает вас к себе через VPS, то в качестве костыля можно пустить трафик до этого сайта через WARP.

Для этого в панели 3x-ui->Xray Settings->Routing Rules нужно найти и отредактировать строку geosite:category-gov-ru,regexp:.*\.ru$,geosite:openai - дописать сайты через запятую, пример geosite:category-gov-ru,regexp:.*\.ru$,geosite:openai,intel.com,canva.com (обязательно сохраните изменения и перезагрузите Xray)

После этого западные сайты вместо IP вашего VPS будут видеть IP сети WARP, что почти наверняка позволит обойти их цензуру.

Да, покупка IP‑адреса — это всегда лотерея и есть небольшой шанс проблем, но чаще всего всё работает с первого раза.

Инструкция (6/6) -- настройка CDN CloudFlare

Переходим к последнему, самому интересному разделу.

Любое управление рисками сводится к трём шагам:

  • Определить риск (в данном случае, это риск, что рф-цензура заблокирует ваш сервер)

  • Минимизировать риск (вы это уже сделали, воплотив знания из "Теории ч3")

  • Определить План Б на тот редкий случай, если риск всё-же реализуется.

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

Проксирование через CDN - это и есть "План Б". Сейчас вы настроите ещё одно, запасное соединение, которое будет работать, даже если ваш VPS станет недоступен изнутри РФ.

Шаг 1: Выберите продавца доменного имени и убедитесь что доменное имя свободно (см. Теория ч2), но НЕ ПОКУПАЙТЕ его пока. CloudFlare работает только с доменными именами второго уровня (есть исключения, но они нам не помогут). Доменное имя второго уровня — это имя с одной точкой, вроде mypersonalsite.com или myhabraproxy.ru.

Для этой инструкции я выбрал доменное имя habraproxy.store у продавца Dreamhost. Прямо сейчас dreamhost бесплатно раздаёт доменные имена.store на 1 год — но эта халява только для клиентов, которые в прошлом что‑то уже покупали.

Кстати, если у вас уже есть свой сайт с доменом...

...то вы точно не «чайник», и вы точно разберётесь, как поменять name‑сервера у регистратора, настроить нормальную работу своего сайта через CloudFlare, а для целей проксирования VPS использовать поддомен.

Итак, продавец выбран, доменное имя выбрано но не куплено, идём дальше.

Шаг 2: Зарегистрируйтесь на CloudFlare.com (Sign Up — Тариф Free — Add Website — e‑mail+пароль). Сохраните пароль, подтвердите аккаунт по ссылке из письма.

Кажется дождь начинается
Кажется дождь начинается

Шаг 3: Зайдите в CloudFlare, в верхнем разделе "Websites" добавьте ещё не купленное доменное имя. Далее - Тариф Free - Continue... пока наконец вы не попадёте на страницу "Change your nameservers" с двумя оранжевыми облаками.

Эти две строки нам понадобятся. Ваши строки могут отличаться от моих.

Мы пойдём другим путём
Мы пойдём другим путём

Шаг 4: Теперь смело покупайте ваше доменное имя, а во время покупки укажите, что будете использовать name-сервера свои, а не те что предлагает продавец. Впишите эти две строки и завершите покупку.

На скриншоте - сайт моего продавца.

Итак, вы купили домен и указали нужные неймсервера. Активация свежекупленного домена займёт несколько минут, самое время донастроить CloudFlare.

Шаг 6: В разделе DNS создайте A‑запись для вашего домена и IP вашего сервера. У меня это выглядит вот так:

Маскировка 80 Level
Маскировка 80 Level

Шаг 7: В разделе Network включите "gRPC" (обойдусь без скриншота).

Мировое господство, "основанное на правилах"
Мировое господство, "основанное на правилах"

Шаг 8: В разделе Rules->Origin Rules создайте два правила:

(1) Все запросы на сервер направляйте на порт 54321 (укажите порт, на котором работает ваша панель 3xui)

(2) Все запросы по секретному адресу /my-gRPC-3049382 (придумайте что-то своё) направляйте на порт 2053

Последовательность этих двух правил важна.

Нажми на кнопку - получишь результат!
Нажми на кнопку - получишь результат!

Шаг 9: Вернитесь на Overview, и если под оранжевыми облаками найдёте кнопку "Check nameservers now" - нажмите её, чтобы поторопить систему.

(если прошло много времени и там нет ни облаков, ни кнопки - вообще отлично, переходите к следующему шагу)

Цензура нервно курит в сторонке
Цензура нервно курит в сторонке

Шаг 9¾: Создайте второе VLESS-подключение для CDN.

Вернитесь в панель 3X-UI. Inbound -Add Inbound

Самое важное:

- Порт - тот же, что и во "втором правиле". 2053 или любой другой на ваш выбор (но смысла менять его на другой не вижу).

- Transmission - gRPC, именно такой тип соединения безлимитен на CloudFlare.

- Service name - секретная строка из "второго правила" my-gRPC-3049382, но строго без "/" в начале.

- uTLS - именно Chrome, чтобы маскироваться под самый популярный браузер

- ALPN сделайте пустым.

- Кнопка (Get Сert from Panel) вписывает ключи.

- Allow Insecure - включайте на время тестирования, когда начнёте пользоваться CDN - можно будет выключить.

Наконец, проверяйте что получилось. Экспортируйте строку-ключ этого нового соединения и скопируйте её в приложение - прокси должен работать. (пока это не CDN, вы лишь подключились к своему VPS через порт 2053 по протоколу VLESS-gRPC, но скоро вместо вас это будет делать CloudFlare)

Шаг 10: Финальная настройка CloudFlare.

Каково это, быть избранным?
Каково это, быть избранным?

Обновите раздел Overview.

CloudFlare должен вас обрадовать сообщением: "Great news! Cludflare is now protecting your site"

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

  • Нужно ещё немного подождать

  • Вы что-то сделали не так.

Доквантовая криптография, скриншот начала 21 века
Доквантовая криптография, скриншот начала 21 века

Если всё так, тогда: в разделе SSL/TLS включите режим Full

Теперь вы точно завершили настройку CloudFlare.

Шаг 11: Проверка.

Откройте браузер и перейдите по адресу https://habraproxy.store/mysecreturl/ (меняйте имя сайта на своё, и адрес страницы на свой - тот что установили для панели 3x-ui).

Откроется панель 3x-ui. Теперь управлять панелью вы будете с этого адреса!

Сохраните этот адрес где-нибудь.

Шаг 12: Ещё одна проверка.

Откройте браузер по адресу https://habraproxy.store и убедитесь, что там пустая страница 404.

Это значит любой цензор, зайдя на ваш сайт, убедится: там есть настоящий веб-сервер. В качестве веб-сервера выступает сама панель 3x-ui, которая отдаёт 404 ошибку на любой неизвестный ей адрес. Никакой внешний наблюдатель не узнает адрес панели (/secreturl/). А если цензор послушает трафик, то увидит зашифрованный поток gRPC, который используется для обслуживания веб-приложений по всему интернету.

Шаг 13: Настало время МАГИИ:

Отредактируйте строку-ключ второго подключения:

  • Замените IP на доменное имя,

  • Замените порт на :443,

  • Удалите allowInsecure=1

  • Отредактируйте имя (после #) по своему желанию

Было: vless://03684ba0-1994-4106-86da-e91fdd9007e0@111.111.111.111:2053?type=grpc&serviceName=my-gRPC-3049382&security=tls&fp=chrome&alpn=&allowInsecure=1#My%20CDN-tjo1gifl

Стало: vless://03684ba0-1994-4106-86da-e91fdd9007e0@habraproxy.store:443?type=grpc&serviceName=my-gRPC-3049382&security=tls&fp=chrome&alpn=&#My%20CDN

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

Самое время процитировать @MiraclePtr:

Fair use
Понятное дело, что то, что CDN разрешают на своих бесплатных тарифах проксировать Websockets и gRPC — это такой жест доброй воли от них. Давайте не наглеть и использовать эти возможности только в совсем безвыходных случаях, которые, надеюсь, все‑таки не наступят.

</КОНЕЦ ИНСТРУКЦИИ>

Недостатки этого решения

  1. «Сложность» настройки:
    Безусловно, купить VPN за 100 рублей в месяц намного проще, чем впервые в жизни настроить «вот это всё». Я не строю иллюзий, что «все домохозяйки в стране сделают прокси частью своего хозяйства». Это решение — для небольшого числа людей, которые очень ценят свободу информации, очень ценят надёжность и готовы инвестировать своё внимание во всякое «технарское колдунство».

  2. Периодическая недоступность VPS:
    Uptime бюджетного VPS — примерно 99.9% (бывает и выше, и ниже). Это значит, что примерно 42 минуты в месяц VPS может быть недоступен (иногда эти минуты растягиваются до часов и даже дней). То есть вы гарантированно однажды встретитесь с ситуацией, когда VPS временно не отвечает ни по IP, ни через CDN. Причин множество, я встречался как минимум с этими тремя: факап хостера, DDOS‑атака на хостера, проблемы в дата‑центре где физически находится VPS (на которые сам хостер повлиять не может).

    Я решаю этот вопрос просто — у меня два сервера от разных хостерах в разных странах (основной и запасной), этого хватает.

    Другое решение — на случай форс‑мажора иметь под рукой запасную строку‑ключ (shadowsocks, vless, trojan) от какого‑нибудь бесплатного сервиса, благо в телеграмме их полно. Конечно, передавать свой трафик через бесплатный сервис — это стрёмно, но если VPS недоступен, а доступ нужен срочно, то временное использование бесплатного сервиса может оказаться приемлемым, решайте сами.

  3. Доверие китайским программистам:
    Хотя и сервер, и клиенты — это opensource приложения (основанные на Xray и SingBox), они не проходили независимый аудит, и теоретически там могут быть ошибки, а разработчики — тоже теоретически — могут добавить зловредный код в новые версии (впрочем, такое можно сказать про любое opensource‑решение, но это не мешает существованию опенсорса в мире). Один из вариантов управления этим риском — использовать проверенные версии клиентских и серверных приложений. Пользуясь компьютером и телефоном вы уже доверяете сотням людей и корпораций. Если эти opensource‑решения не вызывают у вас доверия — стоит поискать другие. Я же не вижу здесь никакой проблемы, лишь озвучиваю существующее мнение.

  4. Отсутствие XTLS в CDN‑проксировании:
    Да, моё решение использует XTLS только для соединения с сервером напрямую, и простой TLS для проксирования через CDN. Я не нашёл способа простой настройки XTLS через CDN, но всё же это возможно. В конце статьи будут ссылки с решением. В РФ пока не умеют детектировать шифрование уже зашифрованного трафика (tls‑in‑tls), но если научатся — это может быть потенциальной проблемой, хотя я оцениваю этот шанс как стремящийся к нулю.

  5. Обход цензуры, не анонимность:
    Да, использование прокси заметно повышает уровень анонимности в интернете, но ни один прокси не гарантирует абсолютной анонимности. Данное решение не заточено на анонимность, оно для обхода цензуры — свободного доступа к информации. Пожалуйста, не путайте обход цензуры и анонимность, это очень разные задачи.


Я постарался сделать эту статью исчерпывающей и самодостаточной, чтобы своими руками настроить личный прокси‑сервер для обхода цензуры, с избыточной защитой от блокировок.

Но на тот случай, если вы захотите разобраться в вопросе глубже — рекомендую эти три статьи, в которых я черпал вдохновение, и которые содержат дополнительные технические детали и нюансы:

Комментарии (57)


  1. Newfeet
    09.01.2024 10:00

    Большое тебе спасибо за статью! По инструкции MiraclePtr не смог настроить CDN, так как я нуб. Но очень тебя прошу, не мог бы ты написать гайд по настройки CDN+Reality (MiraclePtr в статье "Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок" писал, как это сделать, но я не смог), было бы великолепно!


    1. quakin Автор
      09.01.2024 10:00

      Благодарю за отзыв:)

      Пока я пользуюсь CDN через vless-tls-grpc (как в статье), без reality, и меня устраивает. Если когда-нибудь разберусь и настрою себе CDN+Rеality - тогда конечно напишу.


  1. Newfeet
    09.01.2024 10:00

    А возможно настроить редирект? Например, заход на адрес https://habraproxy.store перенаправлял бы на условный "microsoft.com", а вот https://habraproxy.store/secreturl/ открывал бы панель управления 3x-ui?


    1. quakin Автор
      09.01.2024 10:00

      Редирект - нет, а вот проксирование сайта microsoft.com через свой VPS для выдачи его контента на своём домене - можно, вероятно средствами Reality, но я с таким не разбирался.

      Может другие комментаторы подскажут?


    1. ubuntuandrew
      09.01.2024 10:00

      Я бы посмотрел в сторону Traefik - там можно определить динамический роутинг по эндпоинту или поддоменам, роутить можно до локальных портов, Docker контейнеров или внешних сервисов


  1. Fleym
    09.01.2024 10:00

    Благодарю за статью! Не мог разобраться с CDN.

    Добавлю еще 1 совет (возможно он бесполезный), и задам 1 вопрос.

    1) В пункте про поиск сайта для маскировки в случае использования Reality, помимо поиска сайта той страны где VPS, было бы неплохо еще проверять IP этого сайта на его локализацию, т.к. сайт может хостится в другой стране.

    2) ShadowSocks 2022 тоже детектируется? И он не скрывает от цензора куда бежит трафик? То есть он сможет увидеть что постоянно идет обращение к определенному IP? В Китае же его вроде не блокируют (правда если врубят блок всего кроме https, то с вероятностью 99% что отвалится).


    1. quakin Автор
      09.01.2024 10:00

      SS-22 "условно" детектируется как "зашифрованное tcp-соединение". Определить что это SS-22 вроде-бы невозможно, а вот узнать куда бежит трафик и заблокировать как неизвестный шифрованный протокол - запросто. Был прецедент: https://habr.com/ru/news/770840/


      1. Fleym
        09.01.2024 10:00

        А при использовании Reality, цензор видит реальный IP сервера куда мы обращаемся? Но, при попытке зайти на него, видит там чужой веб сайт, верно? У меня правда почему-то открывает не чужой веб сайт, а панель управления этим сайтом. Не знаю в чем дело)

        Панель висит на домене, и, если я захожу по этому домену, то открывает то, что я описал выше.

        Как проверить то, что видит цензор?


        1. SpearHead
          09.01.2024 10:00

          Цензор видит реальный ip адрес vps сервера, но также видит что этот адрес принадлежит тому домену под который вы маскируетесь и если сделать запрос то прокси возвращает реальный сертификат. Просто попробуйте зайти по https://IPvps должно перенаправить на сайт под который маскируетесь. Или на самом впс можно выполнить запрос, в статьях miracle была команда.


        1. quakin Автор
          09.01.2024 10:00

          Как проверить то, что видит цензор?

          Вот как: Если на VPS на IP 111.111.111.111 и порту 443 настроен Reality, который маскируется под yahoo.com, но нужно на локальном компе в файле hosts вписать строку 111.111.111.111 yahoo.com, а затем зайти на https://yahoo.com в браузере, yahoo должен открыться корректно.


  1. Aelliari
    09.01.2024 10:00
    +1

    сервер с IPv6 но без IPv4 не подходит

    Почему? Трафик VPS <-> Cloudflare замечтательно бегает и по IPv6. При этом судя по схеме - трафик на выход вы иногда пускаете через warp, который точно также замечтательно работает поверх IPv6. В итоге ограничений на посещение IPv4 интернета не предвидится, ну, только что в части прямого соединения с сервером ибо IPv6 есть не везде.

    Или это фактические ограничения использованной панели?

    продление всегда дороже

    Не всегда, например, 99 центов/год


    1. quakin Автор
      09.01.2024 10:00

      Почему? Трафик VPS <-> Cloudflare замечтательно бегает и по IPv6

      Потому что в качестве основного соединения я использую прямое подключение к серверу по IPV4, а CDN - запасной вариант. Если использовать только CDN - тогда IPv6 будет достаточно.


      1. Aelliari
        09.01.2024 10:00

        Если использовать только CDN - тогда IPv6 будет достаточно.

        Или иметь IPv6, мой мобильный оператор его предоставляет. Есть люди, которым повезло - и он есть и у их ISP


        1. quakin Автор
          09.01.2024 10:00

          Я рассматриваю сценарий, когда я со своим ноутом или телефоном подключаюсь к публичной Wifi, где нет IPv6. За пределами крупных городов - очень вероятный сценарий. Некритично, но неудобно.

          Но если такой риск не останавливает - то да, можно сэкономить на покупке VPS с одним лишь IPv6


  1. grundic
    09.01.2024 10:00

    Спасибо за статью!

    Подскажите, в чем диаграмму (карту сокровищ) рисовали?


    1. quakin Автор
      09.01.2024 10:00
      +1

      Это Obsidian.
      Там есть стандартный модуль - Canvas (mindmap на минималках)


  1. Rubilnik
    09.01.2024 10:00
    +1

    Уже на 4-м шаге панель предложит вам маскироваться под сайт yahoo.com.

    Я так понимаю маскировка выглядит просто как передача соответствующего заголовка host в запросе. А фактической маскировки под сайт нет, т.к. на прямое обращение к сайту будет:

    Откройте браузер по адресу https://habraproxy.store и убедитесь, что там пустая страница 404.

    Не будет ли это подозрительно выглядеть - столько трафика ходит на страницу с ошибкой 404?


    1. quakin Автор
      09.01.2024 10:00
      +1

      1. В том то и дело, что цензор увидит реальный сайт yahoo.com по IP адресу VPS. Для этого и нужен Reality: передавать заголовок SNI, корректный сертификат yahoo, а также контент yahoo если трафик не прошёл проверку как прокси.

      2. Подозрительно - возможно, узнаем когда(если!) РКН внедрит Active Probing.
        А вот утверждение "столько трафика ходит на страницу с ошибкой 404" не совсем верное. Трафик ходит на хост, а по какому адресу внутри хоста я обращаюсь по https - внешний наблюдатель никогда не узнает. Он просто поймёт что я обращаюсь явно не в корень сайта, который показывает 404.


  1. Jack_Sgory
    09.01.2024 10:00

    Из интересного приложение «Мой МТС» на айфоне либо как то умеет детектить Reality, либо они просто трафик из другой страны, маркируют как впн(появляется UI карточка, чтоб используете VPN).

    При этом на домены .ru сегмента настроены прямой роутинг. Но там видимо другой домен


    1. quakin Автор
      09.01.2024 10:00

      Про "Мой МТС" ничего не могу сказать, но прямой роутинг нужно настраивать не только для .ru доменов, но также и для ru - IP - адресов, для этого энтузиасты поддерживают актуальные базы данных, с ними знакомы и сервер xray, и клиентские приложения.

      Отсюда вопрос: это происходит в приложении Streisand после включения обхода рунета по инструкции из статьи, или где-то ещё?


    1. Rubilnik
      09.01.2024 10:00
      +2

      Приложение может через апи устройства запрашивать статус соединения прямое или запущен vpn в фоне


      1. equeim
        09.01.2024 10:00

        Более того это срабатывает даже если в приложении vpn есть фильтрация по приложениям. Например приложение яндекс маркета отказывается работать без авторизации в яндекс аккаунте если на телефоне запущено впн приложение - даже если в настройках этого приложения отключить впн для яндекс маркета. Т.е. проверка происходит на стороне клиента.


        1. quakin Автор
          09.01.2024 10:00

          Как интересно, у меня Я-Маркет работает замечательно, аккаунт авторизован, с включённым прокси с исключённым маркетом в его настройках. Андроид 11, если что.

          Но первоначальный комментарий был про айфон - там нет "выборочного проксирования".


          1. equeim
            09.01.2024 10:00

            Работает потому что аккаунт авторизован. Без авторизации работать не будет пока полностью не отключишь впн.


            1. quakin Автор
              09.01.2024 10:00

              Вышел из аккаунта, в приложении Hiddify-next поставил фильтр по всем приложениям кроме я-маркета, включил VPN, открыл маркет: работает ¯\_(ツ)_/¯


              1. equeim
                09.01.2024 10:00

                Действительно, видимо это отключили какое-то то время назад. Но плашка "лучше без ВПН" внизу все равно есть)


  1. aborouhin
    09.01.2024 10:00
    +2

    А чем скорость Cloak не устроила? У меня WG over Cloak по тестам выдавал до 185 Мбит/с, что, конечно, куда меньше, чем 500-600 Мбит/с, которые на этом же линке выдаёт обычный WG, но в качестве резервного варианта оно даже для десятка пользователей, активно использующих корпоративные сервисы с той стороны туннеля, вполне приемлемо.


    1. quakin Автор
      09.01.2024 10:00

      Я тестировал только OpenVPN over Cloak из Амнезии, и она меня не устраивала скоростью ниже 10Мбит/с и отзывами других пользователей.

      Если WG over Cloak режет скорость всего в три раза - то это вполне вариант, да.
      Хотя VLESS её практически не режет, может процентов на 5 максимум.


      1. aborouhin
        09.01.2024 10:00
        +2

        У VLESS другие ограничения, если нужен не просто доступ с конечного устройства к заблокированным сайтам, но и полноценный VPN для доступа к своим ресурсам извне. Даже у стоматолога из Чертаново может быть умный дом и видеонаблюдение на даче, в конце концов :) Тут был пост, как это частично побороть и обсуждение в комментах к нему - получается сложно и всё равно неполноценно, с Cloak куда легче. Хотя у Cloak есть ещё и свои проблемы со стабильностью... поэтому он у меня только третий резервный протокол, после обычного WG (который пока работает, но уже переставал) и Amnezia-WG (который пока не блокировали, но теоретически могут).


  1. s7eepz
    09.01.2024 10:00

    Доверие китайским программистам:

    по умолчанию у китайцев все от рута запускается. лучше это пофиксить.

    выставить на исполняемый файл:

    setcap 'cap_net_bind_service,cap_net_admin=eip' /bin/wireproxy

    поправить unit systemd:

    CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
    AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
    User=nobody
    NoNewPrivileges=true

    и исполняемый файл.

    это же относится к xray, 3x-ui и т.п


    1. Renaissance
      09.01.2024 10:00

      User=nobody

      systemd рекомендует использовать DynamicUser=yes вместо nobody.


      1. s7eepz
        09.01.2024 10:00

        да, но тогда права на файлы нужно выдавать 644/755 как минимум, а если это важный конфиг с ключами? потому что dynamicuser работает без создания пользователей в системе, следовательно права 600/700 на файл некому выдать.


        1. Renaissance
          09.01.2024 10:00

          А там вроде подумали над этим и добавили LoadCredential как вариант.

          Но тут конечно уже слишком усложнять нет смысла, просто тот же systemd по поводу запущенных под nobody процессов будет периодически ругаться в syslog: "Special user nobody configured, this is not safe!".


  1. rumviktor
    09.01.2024 10:00

    Спасибо большое за статью. Подскажите пожалуйста на ru сайты не заходит?


    1. quakin Автор
      09.01.2024 10:00

      Не совсем понял вопрос, но если он в том - можно ли заходить на ru сайты с включённым прокси - то конечно да: ru-сайты будут открываться как обычно, напрямую, все другие - через прокси.


      1. s7eepz
        09.01.2024 10:00

        У вас в статье ru через warp, а не напрямую.

        Напрямую на клиенте можно настроить.


        1. quakin Автор
          09.01.2024 10:00
          +1

          Если делать по инструкции -- ru будет открываться напрямую, для этого есть специальная настройка в клиенте.

          Настройка сервера "RU через WARP" нужна, чтобы -- в случае случайного или специального отключения "ru-direct" в клиенте -- VPS не был скомпрометирован в "глазах" РКН как прокси.

          Ну и да, при желании можно открывать ru-сайты через WARP: многие откроются, но не все. Сайт Почты России точно будет ругаться.


          1. s7eepz
            09.01.2024 10:00

            Действительно. Не правильный роутинг стоял в клиенте.

            Для shadowrocket так, regex не хочет ни в какую


            1. quakin Автор
              09.01.2024 10:00
              +1

              Помимо ru доменов хорошо бы добавить фильтрацию для российских IP адресов, вот тут подробно расписано.


  1. prorusnet
    09.01.2024 10:00

    Вопрос, с динамическим IP можно провернуть или обязательно статический иметь на сервере? Во всяком случае, от тех кто предлагает домены 3го уровня можно скрипт поставить и IP будет проверяться и добавляться. Спасибо за статью.


    1. quakin Автор
      09.01.2024 10:00

      Все VPS (насколько я знаю) уже идут со статическим IP, но если пофантазировать то:
      - для прямого коннекта к серверу можно использовать, например, домен от dyndns, вопрос будет только в том, чтобы он оперативно обновлялся.
      - для CDN не могу придумать варианта с динамическим IP, но тут моих знаний может не хватать.


      1. Aelliari
        09.01.2024 10:00
        +1

        для CDN не могу придумать варианта с динамическим IP

        У cf есть api, в том числе и для обновления записей DNS, нет особой проблемы их дёргать. В интернете есть десяток готовых скриптов для DDNS через cloudflare


  1. Nikolaev_Nikolay
    09.01.2024 10:00

    Скажите пожалуйста, где вы рисовали картинку в каком редакторе!? Очень красиво выглядит, надо тоже рисовать. Спасибо!


    1. quakin Автор
      09.01.2024 10:00

      Obsidian, страница типа "canvas"


      1. Ricocofe
        09.01.2024 10:00

        Здравствуйте, скажите пожалуйста а есть ли возможность обойти блокировку сайта https://guidedhacking.com ?! Там cloudfare блокирует, vpn и прокси не помогает.!


        1. quakin Автор
          09.01.2024 10:00
          +1

          Нужно найти IP прокси-сервера, который не будет блокироваться этим сайтом. Попробовал через свои VPS и через WARP - не помогло.

          Судя по всему, там огромный чёрный список IP-подсетей, какие у него правила и как его обойти - не знаю.


          1. Ricocofe
            09.01.2024 10:00

            Спасибо за оперативный ответ !


  1. Mr_Boshi
    09.01.2024 10:00

    Для всех, кто пользуется Docker в повседневной жизни и оркестрирует его через Portainer, я бы посоветовал поставить portainer agent и задеплоить панель оттуда. Дополнительно можно поставить Watchtower и панелька всегда будет самой последней версии.


  1. phe0n1x
    09.01.2024 10:00

    Благодарю за познавательную статью! Хотел уточнить, откуда взялся строка для копирования в буфер для настройки прямого соединения с Рунетом в разделе `Настройка Streisand (iOS)`. А как настроить WARP для прямого соединения в сегменте СНГ?


    1. quakin Автор
      09.01.2024 10:00

      откуда...строка для копирования в буфер для...Streisand (iOS) ?

      Я настроил роутинг и экспортировал настройки в формат Streisand. Если зайти в Роутинг -> RU-direct, можно увидеть детали.

      А как настроить WARP для прямого соединения в сегменте СНГ?

      Мне сложно назвать WARP "прямым соединением", но если вопрос в том, как все СНГ-ресурсы пустить через WARP - то вероятно придётся для каждого государства из списка СНГ прописывать (а) роутинг доменов и (б) роутинг IP-адресов, по аналогии с "ru". Будет ли работать - не проверял.


  1. Schalker
    09.01.2024 10:00
    +1

    "

    А вот на Западе с цензурой всё интереснее:

    Насколько мне известно, технический запрет на доступ к неугодной информации на западе минимален и не сравним с российским. Формально свобода соблюдается"

    Вы плохо информированы. Пример

    я живу в Германии ( давно, очень ). у нас блокируются многие российские сервисы. По кабелю отключили Российское ТВ, пытаются блокировать РУ-IPTV. Сервис / Приложение " Смотрим" блокируется по DNS.

    Так что , на "А вот на Западе " приходится пользоваться наоборот, либо российскими DNS серверами, либо VPN c российскими IP адресами.

    Кто подскажет пару адресов , не хочится уже пользоваться буржуйским OpenDNS ?


    1. quakin Автор
      09.01.2024 10:00

      Германии ( давно, очень ). у нас блокируются многие российские сервисы

      Благодарю, не знал.

      Кто подскажет пару адресов , не хочится уже пользоваться буржуйским OpenDNS ?

      Сам таким не пользовался, но возможно dns.yandex.ru ?


  1. IgorGS
    09.01.2024 10:00
    +1

    Спасибо за труд!


  1. OlegPeregudov
    09.01.2024 10:00

    Жалко вы не записали небольшой ролик-инструкцию на ютюб как все сделать. Думаю многим бы помогло. А то вроде для нубов, а потом сразу - "ставим дебиан на удаленном сервере".


    1. quakin Автор
      09.01.2024 10:00

      Да, возможно с роликом было бы проще, но пока не готов вкладывать своё время в такое.

      По поводу "дебиана" - улыбнуло.
      Перефразирую: здесь нужно тыкать в сайт продавца VPS чтобы купить VPS уже сразу с установленным Debian 12.


  1. mardoksp
    09.01.2024 10:00

    Каким образом лучше всего организовать проксирование через VPS и выход через свой домашний интернет? Суть в том, что дома интернет за NAT спрятан, поэтому думаю взять модем с OpenWrt подключить к VPS, рабочий комп подключить к VPS и весь трафик гнать через работа -> VPS -> дом

    Т.е. цель на работе выходить под домашним IP с учетом обхода попыток "палева" прокси. Может уже есть готовые мануалы/конфиги?


    1. quakin Автор
      09.01.2024 10:00

      Я сам ни разу не решал эту конкретную задачу, чтобы рекомендовать "как лучше", но допускаю что здесь есть исчерпывающий ответ.