Обновить

Личный прокси для чайников: универсальный обход цензуры с помощью VPS, 3X-UI, Reality/CDN и Warp

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров231K
Карта сокровищ
Карта сокровищ

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

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

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

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

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

VPS в Европе, панель 3X-UI для управление Xray, прокси VLESS-Reality для прямого соединения, прокси VLESS-tls-grpc для запасного соединения через CDN CloudFlare, российский трафик напрямую - либо через цепочку 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.

UPDATE 11.2024
С момента публикации статьи, Амнезия всё же научилась поддерживать сервер XRAY с протоколом VLESS. Конечно, там нет особой свободы настроек (альтернативного пути через CDN и проксирования через WARP), но на сегодняшний день это вполне рабочий инструмент, правда без "запаса прочности".

На текущий момент 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 nano -y

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

git clone https://github.com/MHSanaei/3x-ui.git
cd 3x-ui
nano docker-compose.yml
# откроется текстовой редактор.
# в 6 строке замените "latest" на "v2.0.2"
# было: image: ghcr.io/mhsanaei/3x-ui:latest
# стало: image: ghcr.io/mhsanaei/3x-ui:v2.0.2
# чтобы сохранится, нажмите: CTRL+X, Y, ENTER
docker-compose up -d
nano docker-compose.yml
nano docker-compose.yml

UPD 18.01: Автор панели уже выпустил новую версию, но там поменялся интерфейс и логика работы с WARP, я же создавал инструкцию и делал скриншоты именно с версии v2.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мс, он подходит

Update 21.02: Появились сообщения, что сайт nltimes.nl больше не подходит для маскировки - он начал как-то защищаться и маскировка под него довольно скоро перестаёт работать. Для маскировки выбирайте другие сайты.

Цензура - не волк: 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

UPD 22.03.2024: С сегодняшнего дня установленные новые версии приложения называются просто Hiddify, без Next. Ссылки не изменились.

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

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

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

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

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

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

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

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

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

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

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

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

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

  • TUN-режим

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

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

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

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

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

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

UPD: 01.2025 Для iOS уже выпустили Hiddify, он стабильный и удобный, подходит для большинства, рекомендую.

Другие приложения для iOS (Streisand, Shadowrocket) могут понадобиться только тем, кто захочет заняться тонкой настройкой, что выходит за рамки этой статьи.

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

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

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

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

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

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

streisand://aW1wb3J0L3JvdXRlOi8vWW5Cc2FYTjBNRERWQVFJREJBVUdEaGdaR2xWeWRXeGxjMTFrYjIxaGFXNU5ZWFJqYUdWeVZHNWhiV1ZlWkc5dFlXbHVVM1J5WVhSbFozbFVkWFZwWktJSEU5VUlDUW9MREEwT0R4QVNXMjkxZEdKdmRXNWtWR0ZuWFdSdmJXRnBiazFoZEdOb1pYSldaRzl0WVdsdVVtbHdWMjVsZEhkdmNtdFdaR2x5WldOMFZtaDVZbkpwWktDaEVWaG5aVzlwY0RweWRWZDBZM0FzZFdSdzFCUVZDZ3dORGhZU1cyOTFkR0p2ZFc1a1ZHRm5YV1J2YldGcGJrMWhkR05vWlhLaEYxbGtiMjFoYVc0NmNuVlpVbFV0WkdseVpXTjBYRWxRU1daT2IyNU5ZWFJqYUY4UUpFUkROVGxETXpsRExVUXdSRVl0TkRsR015MDVRVEl3TFVFMlJUVkVSakkwUkRaRE9RQUlBQk1BR1FBbkFDd0FPd0JBQUVNQVRnQmFBR2dBYndCeUFIb0FnUUNJQUlrQWl3Q1VBSndBcFFDeEFMOEF3UURMQU5VQTRnQUFBQUFBQUFJQkFBQUFBQUFBQUJzQUFBQUFBQUFBQUFBQUFBQUFBQUVK

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

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

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

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

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

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

upd 25.01. Streisand начал показывать рекламу. Чтобы она не мешала - после завершения всех настроек - вы сможете включать/выключать VPN через настройки системы, а не через интерфейс приложения. Другой вариант - пользоваться платным ShadowRocket. В конце статьи будут ссылки - там можно найти инструкции по настройке ShadowRocket. Если же вы настраиваете прокси впервые - рекомендую начать именно со Streisand.

Инструкция (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"

  • В разделе (SSL/TLS)--(Edge Certificates)--(Minimum TLS Version) установите "TLS 1.3"

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

Шаг 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)

Update. В новых версиях многих приложений появился либо баг, либо "фича", которая делает их несовместимыми с этим шагом инструкции. Вероятно особенность в новой версии ядра sing-box, которое лежит в основе всех клиентских приложений.

Что делать? Использовать проверенную версию приложения Hiddify-Next версии 0.11.1

Либо так: в большинстве случаев заполнение поля SNI именем домена (например habraproxy.store -- на скриншоте не заполнено) решает вопрос совместимости с новыми версиями.

Что делать если у вас iOS, где доступны только свежие версии приложений?
a) выполните этот шаг по инструкции, заполните в том числе поле SNI. Есть шанс, что прямое соединение не заработает, но оно пригодится на шаге 13
b) выполните шаг 13 по обновлённой инструкции, CDN заработает.


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

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

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

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

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

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

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

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

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

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

Шаг 10-b: Отключите ECH. (Update от 11.2024)

Факты: В конце октября 2024 Cloudflare принудительно активировала технологию ECH на всех своих серверах.
А в начале ноября 2024, РКН заблокировал эту технологию во всём Рунете. Если не отключить ECH на CloudFlare, то ничего не будет работать.

Теория: Технология ECH (Encrypted Client Hello) создана, чтобы прятать адреса посещаемых сайтов от цензоров. Цензорам это не нравится. В Китае ECH заблокирован много лет назад. Удивляюсь, что РКН сделал это только сейчас.

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

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

Необходимо в командной строке выполнить следующую команду:

curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ID_ZONE/settings/ech" -H "X-Auth-Key: YOUR_GLOBAL_API_KEY" -H "X-Auth-Email: YOUR_EMAIL" -H "Content-Type: application/json" --data '{"id":"ech","value":"off"}'

  • ID_ZONE -- выбираете ваш сайт в дашборде и на первой же вкладке Overview он будет справа.

  • YOUR_GLOBAL_API_KEY -- My Profile > Api Tokens > Global API Key жмете View

  • YOUR_EMAIL -- ваш email от cloudflare

Через 1-2 минуты всё сработает.

Как убедиться, что ECH выключен?
Откройте в браузере ссылку

https://dns.google/resolve?name=rutracker.org&type=HTTPS

(вместо rutracker.org подставьте адрес вашего сайта: у меня это habraproxy.store)
Если в ответе не будет букв ECH -- значит вы всё сделали верно.

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

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

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

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

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

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

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

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

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

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

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

  • Удалите &alpn=&allowInsecure=1

  • Добавьте (перед #) &sni=habraproxy.store впишите свой домен, не мой:)

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

Было: 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&sni=habraproxy.store#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. Обход цензуры, не анонимность:
    Да, использование прокси заметно повышает уровень анонимности в интернете, но ни один прокси не гарантирует абсолютной анонимности. Данное решение не заточено на анонимность, оно для обхода цензуры — свободного доступа к информации. Пожалуйста, не путайте обход цензуры и анонимность, это очень разные задачи.


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

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

Теги:
Хабы:
Всего голосов 102: ↑100 и ↓2+109
Комментарии301
+301
Закрыть

Редакторский дайджест

Присылаем лучшие статьи раз в месяц

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

ЗакрепленныеЗакреплённые комментарии

Подскажите плиз как правильно обновлять 3x-ui при выходе новой версии? v2.1.2 вышла

Статья рассчитана именно на версию v2.0.2, она стабильная и самодостаточная.
В новых версиях панели немного другой интерфейс (не совпадёт со скриншотами) и другая логика работа с warp.

"Чайникам" рекомендую придерживаться версии из статьи: новая версия обёртки 3X-UI не поменяет сути: вы продолжите использовать всё тот же протокол передачи данных VLESS.

--

Но если вы точно знаете что делаете (и готовы сами разбираться с деталями), то вот алгоритм обновления 3X-UI в докере.

# 1) Сделать бекап базы настроек с главной страницы панели 3X-UI.
# 2) Убедиться, что в файле 'docker-compose.yml' вписана
# версия 'latest' или другая нужная вам.
# 3) Далее выполнить эти команды:
cd 3x-ui
docker-compose down
docker-compose pull
docker-compose up -d
docker cp private.key 3x-ui:private.key
docker cp public.key 3x-ui:public.key

если сертификаты в каталоге /3x-ui/cert/ и в web-панеле указать путь к сертификатам как "/root/cert/8.key" (в настройках панели и при настройке CND), то команды копирования сертификатов будут не нужны

docker cp private.key 3x-ui:private.key
docker cp public.key 3x-ui:public.key  

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

На iOS можно сделать похожее через приложение "Команды".

  1. Заходим в приложение "Команды";

  2. Раздел "Автоматизация";

  3. Нажимаем "+" в правом верхнем углу экрана;

  4. Ищем в открывшемся экране "Приложение";

  5. В строке "Когда" выбираем приложение, которое должно работать через VPN. Например, Нельзяграм и оставляем настройку "Открыто". Жмем Далее;

  6. Нажимаем "Новая автоматизация" и на следующем экране "Добавить действие";

  7. В поиске вводим "VPN" и в результатах жмем "Настроить VPN";

  8. Появится команда 'Подключиться к VPN "*жмем сюда*" и из вываливающегося списка выбираем нужный вам VPN. В моем случае это конфиг от приложения FoXray;

  9. Жмем Готово

  10. Проделываем все то же самое теперь для закрытия приложения. В п.5 выбираем Когда приложение *нужное приложение* закрыто. Снять галку с "Открыто";

  11. В п.7 нажимаем на слово "Подключиться" и меняем на "Отключиться" и выбираем от какого VPN отключаемся при закрытии приложения;

Сам спросил, сам отвечу: оказывается, в качестве "донора" ПОДХОДЯТ НЕ ВСЕ САЙТЫ, например, https://www.purina.es/ – не подходит.

P.S. Прошу прикрепить или дополнить инструкцию. :)

Можно добавить в статью очень удобный каталог VPS хостеров https://vps.today/. Там можно подобрать себе по стране, цене, способу оплаты, услугам.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

у меня 403 Forbidden от cloudflare. Это значит сайт для маскировки плохо выбрал? При этом на Hiddify-Next все работает. Если это проблема сс выбором сайта, можете подсказать какой-нибудь в Нидерландах, с которым будет работать?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На андроиде ( вероятно на iOS также) - у таких приложений просто детектится сам факт активного VPN-соединения на устройстве. Побочные эффекты - Adguard считается VPN'ом притом что трафик обрабатывается на самом же устройстве, если по каким то причинам к ресурсу подключиться без конкретного VPN нельзя в принципе (это такой тестовый стенд) - все равно плашка про VPN.

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

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

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

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

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

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

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

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 и т.п

User=nobody

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

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

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

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

Если не сложно, можете пожалуйста объяснить что каждая настройка делает?

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

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

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

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

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

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

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

подскажите, пожалуйста. там есть пункт " Сделайте проброс порта не только на 443/TCP-порт (его делает XTLS-Reality), а еще на 443/UDP и 80/TCP до сервера, под который вы маскируетесь."

если я это делаю и использую на сервере ufw, мне нужно в нем открывать указанные выше порты?

ту статью писал не я, и сам таким не занимался,
но логика подсказывает что да, нужно.

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

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

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

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

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

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

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

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

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

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

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

+++ Поддерживаю. Так и сделал, но без ватчтауер - раз в недельку в портейнере recreate делаю с загрузкой свежего образа - все ок.

Когда на сервере крутятся 60 контейнеров, руками не наобновляешь) Это ежедневно 4-11 контейнеров надо пересоздавать.

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

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

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

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

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

"

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

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

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

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

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

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

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

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

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

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

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

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

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

Решил ваше решение попробовать. С дебианом разобрался. Вроде все делал по инструкции (ui немного изменился из вашей инструкции, но примерно такой же). В целом как будто все дожно работать, но при добавлении профайла в hiddify, получаю:

Может знаете, куда стоит посмотреть? Типа изолировать проблему. Ничего толкового не гуглится.

Заранее спасибо за отличный гайд!

Первое, что приходит в голову: а приложение точно hiddify-next, а не какой-нибудь другой "hiddify"?
Особенно вызывает подозрение ошибка на английском языке, т.к. hiddify-next "оч.умный" и сразу пишет на русском, если он определяется как системный язык.

Второе:

ui немного изменился из вашей инструкции, но примерно такой же

да вроде не должен меняться, если те же версии ставить что и в инструкции.

  1. Hiddify-next. У вас кстати в "hiddify-next для windows", ссылка на portable версию, а не пс. Но я пробовал и ту и ту, а также самую последнюю и ту, на которую вы указали.

  2. Система на английском.

  3. Пример интерфейса из гайда: панель 3X-UI - вторая закладка в panel settings -> security settings, а у меня "Authentication"

  4. И дальше, когда мы выбираем в Xray settings/WARP configs, и там надо GPT, у меня было пусто и надо было пару кнопок нажать, чтобы появилась GPT, google, netflix, spotify.

    в warp было вообще пусто пока я не начал там смотреть
    в warp было вообще пусто пока я не начал там смотреть

Старался копи пастить ваш гайд, т.к. 95% не знаю что как там работает.

Возможно проблема в том, что ключи лежали не внутри папки 3x-ui, а снаружи (вроде как внутри должны появится). Решил все переделать с места, когда мы ставим 3x-ui, но теперь новая проблема - по ssh норм к серверу конектиться, а через браузер никак. Вчера тоже через инкогнито получилось только. Сейчас не хром ни edge не хочет. Чиню.

История "как нуб пытался VPN настроить". Немного тут напишу, вдруг кому пригодится.

Не коннектилось никак, но починил. Там выше команда была для запуска 3x-ui, сразу после его установки. Команда "запускаем и оставляем" - docker-compose up -d. Оказалось, у меня уже был запущен этот конт и новый (после удаления всего и переустановки) не запускался (типа есть уже - отвали). Надо было остановить старый конт и запустить новый и можно подключаться через браузер.

Писал по поводу другого интерфейса в 3x-ui, вот так выглядит Xray configs/WARP сразу после установки:

Нет GPT, как в гайде.
Нет GPT, как в гайде.

У меня сервер на PQ hosting. Может с ним что-то не так.

Статы сервера выше низких, дебиан 12.

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

Установится самая последняя, а не 2.0.2, поэтому отличие в интерфейсе.

Как лечится ощибка - unexpected connection. В самом конце надо создавать новый профиль в hiddify, добавляя его из буфера, а не делать самому (кнопкой +).

Да, в инструкции была ошибка, устанавливалась самая свежая версия несмотря на попытки установить 2.0.2. Исправил.

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

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

А какой клиент для Centos 8 посоветуете? Без GUI.

Комбайн Xray (которым управляет панель 3x-ui) умеет работать и как сервер, и как клиент. Его вполне можно настроить локально как socks5 прокси, который по vless перенаправляет запросы на VPS. Есть ли специальные cli-клиенты -- не знаю.

К сожалению, по ссылке настройка клиента через GUI. Как в консоли делать, какой файл править - непонятно. Гугл тоже пока ничего сказать не может толком. Везде клиенты с GUI.

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

Вот результат моих изысканий. Заставил работать Xray как прокси-клиент. В очень упрощенном варианте "весь трафик через прокси".

{
  "log": {
   "access": "/var/log/xray/access",
   "error": "/var/log/xray/error",
   "loglevel": "debug",
   "dnsLog": true},
 "inbounds": [{
      "listen": "127.0.0.1",
      "port": 2080,
      "protocol": "socks",
      "settings": {
    	"udp": true
	},
      "tag": "socks-in"},
      {"listen": "127.0.0.1",
      "port": 2081,
      "protocol": "http",
      "tag": "http-in"}],
  "outbounds": [{
   "protocol": "vless",
   "settings": {
    "vnext": [{
     "address": "XXX.XXX.XXX.XXX",
     "port": 443,
     "users": [{
       "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "encryption": "none",
      "flow": "xtls-rprx-vision"}]}]},
   "tag": "vless-out",
   "streamSettings": {
    "network": "tcp",
    "security": "reality",
    "realitySettings": {
     "show": true,
     "fingerprint": "chrome",
     "serverName": "xxxxxxxxx",
     "publicKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
     "shortId": "xxxxxxx",
     "spiderX": "/"}}}]}

Запускается командой:

/usr/local/bin/xray -config /etc/xray/config.json

Xray просто скачал с Github и положил в папку /usr/local/bin, файлы конфига и логов создал сам с нуля.

Пока работает. Система - Centos 9.

Спасибо большое за статью!
Именно такую инструкцию и искал.

Подскажите, кто-нибудь, как теперь к этому серверу подключить роутер (кинетик), чтобы вообще все устройства подключались через vps.

Спасибо, нашел.

Теперь бы с этим разобраться)

Можно вопрос?

А если уже купил домен (на рег.ру) до регистрации на cloudflare, то куда прописывать сервера из cloudflare? или после покупки этого уже нельзя сделать??

И в догонку, подскажите, пожалуйста, правило, что бы и BY трафик пускать напрямую.

или после покупки этого уже нельзя сделать??

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

Да, похоже что там и прописываются NS-сервера в случае reg.ru

Да, это оно:)

Друзья, вопрос про BY трафик остается актуальным.

И еще прикол, что при подключении через VPS ругается на проблемы со связью PC приложение яндекс.музыка...

PC приложение яндекс.музыка

Я-музыка у меня (в РФ) работает если включён директ для обхода ру-ресурсов мимо ВПН.

Директ для RU и BY ресурсов в Nekoray
Директ для RU и BY ресурсов в Nekoray

Hiddify-Next не знает про BY (хотя есть возможность связаться с разработчиками и попросить их добавить страну), а тонких настроек в нём нет.

Что можно попробовать сделать: установить клиент nekoray, запустить в режиме ядра Sing-Box (с родным ядром Xray там какие-то глюки), и в настройках маршрутизации выставить обход для RU и BY ресурсов примерно как на скриншоте.

Спасибо

Сори за дурацкий, видимо, вопрос, а где включается этот "директ для обхода ру-ресурсов"?)

А я же ответил:)

"клиент nekoray"
"в настройках маршрутизации"

Точнее: Меню Настройки → Настройки маршрутов → Базовые маршруты

Правильно я понимаю, что nekoray лучше использовать вместо hiddify next, т.к. там больше настроек (та же маршрутизация приложений)?

Если нужна тонкая настройка (как в данном случае) - то да, лучше nekoray.
Большинству же будет достаточно простого и понятного hiddify-next.

Лучше всего использовать самый свежий стейбл sing-box. Все остальные стабильно работающие клиенты кстати основаны на нем.

Но это если умеете править конфиги руками. В большинстве случаев достаточно добавить одну единственную строку.

Маршрутизация приложений в hiddify next есть под андроид, Per-app proxy называется. Но если вы спрашиваете про nekoray, то вероятно речь о десктопных ОС.

nekoray ставьте в любом случае, он тоже пригождается (конвертация ссылок, альтернативная реализация TUN тоже пару раз выручала).

hiddify next тоже ставьте, очень перспективный, активно развивается, также имеет простой и красивый UI для новичков. Но функционал отличается в зависимости от платформы.

В каждом клиенте есть свои плюсы и минусы. Но не для всех юзкейсов они критичны. Например во всех клиентах xray-core работа с памятью оставляет желать лучшего. Но на практике вылетают они обычно только при многократном переключении конфигов и т.п.

Привет.

Можно попросить тебя расписать вот этот момент:"Я-музыка у меня (в РФ) работает если включён директ для обхода ру-ресурсов мимо ВПН"??

Где эта функция включается?

Установил nekoray, внес рекомендованные настройки маршрутизации, но Ямузыка все равно не работает :(

В некорее есть возможность указать какие приложения "не трогать", как у hiddify-next на андроид?

Где: Некорей → Меню Настройки → Настройки маршрутов → Базовые маршруты
Как: на скриншоте выше, далее включить режим TUN и не включать режим системного прокси.

только TUN
только TUN

при таких настройках у меня яндекс-музыка работает (Win10).

В некорее есть возможность указать какие приложения "не трогать", как у hiddify-next на андроид?

Впринципе да. Сам не тестировал, но должно работать:
Настройки TUN-режима → Пропускать процессы.

Да, так работает. Спасибо огромное!
У меня был включен "режим системного прокси".

Здравствуйте, все сделал по инструкции, но хотелось бы настроить свой роутер Kinetik через свой VPS сервер. Я технарь, и понятных мне статей на эту тему я не нашел или плохо искал. Подскажите, пожалуйста, как это сделать, или дайте ссылки на подходящие материалы.

Загвоздка с подключючением по telnet. В kinetik нет USB и не могу понять как поставить opkg. Можете как-то наводку дать? Чёт не вьеду.

Увы, никогда не настраивал роутеры, всегда подключаюсь к прокси с конечных устройств.

Может авторы тех статей помогут?

Привет.

Вот тут все есть:

https://help.keenetic.com/hc/ru/articles/360021888880-%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-OPKG-Entware-%D0%BD%D0%B0-%D0%B2%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%BD%D1%83%D1%8E-%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C-%D1%80%D0%BE%D1%83%D1%82%D0%B5%D1%80%D0%B0

Нет модели моего роутера тут, и данные пакеты отсутствуют для установки

Поищите, вроде бы была похожая статья на хелп.кинетик для других моделей.

На постоянку можно или нужно пользоваться профилем через ссылку такого типа? https://habraproxy.store/mysecreturl/

да, рекомендую, в этом есть три плюса:
1) браузер не ругается на незашифрованное соединение, удобно
2) ТСПУ не будет видеть, что на вашем сервере на нестандартном порту крутится дополнительный сайт
3) шанс что кто-то ("MITM") заморочится и начнёт прослушивать трафик с самоподписанным сертификатом между VPS и CloudFlare намного ниже, чем между VPS и точкой в РФ.

(только для параноиков с прямыми руками) Есть возможность полностью исключить риск MITM даже между VPS и CloudFlare. Для этого вместо генерации самоподписанных сертификатов нужно создать пару сертификат/ключ в CloudFlare→мойсайт→SSL/TLS→Origin Server, загрузить их в панель, перезагрузить её, а затем поменять шифрование Full на Full(strict).

4.Отсутствие XTLS в CDN‑проксировании

Я проблему решил другим методом – Nginx Proxy Manager. С Cloudflare домен/поддомен направляются на NPM. А с него уже раскидывай как душа пожелает (хоть на 100 портов и 1000 подпапок). ?

Значит ли это, что у вас получилось по этой схеме пустить vless-xtls или vless-xtls-reality через CDN, и оно работает?

(у меня вот не получилось, как ни крутил, предполагаю что когда CloudFlare перешифровывает трафик, то этим как-то портит всю xtls-схему. ну или руки кривые:)

Здравствуйте
Здравствуйте

Здравствуйте.

Установился 3X-UI v2.1.1 Xray v1.8.7 @panel3xui и в пункте warp routing пропал Route OpenAI.Прочитал в релизе 3X-UI v2.1.1 (https://github.com/MHSanaei/3x-ui/commit/2488adc042e8b83b626b3d90355eba3430179972) они его удалили ?

Подскажите как дальше ?

Заранее спасибо.

А дальше - вернуться к инструкции и прочитать, что она - для 3X-UI v2.0.2. :)

В версии 2.1.1 автор поменял логику работы с WARP, и я с ней ещё не разбирался.
(ну или можно в чате спросить, там народ новую версию уже опробовал)

Далее смело жмите на WARP Outbound, вам будет предложено создать правило, а дальше разберетесь. Не бойтесь эксперементировать, главное не сохраняйте конфиг, если не уверены.

Жмите warp outbound, а там еще пару кнопок (самые очевидные). В меню появятся пункты как в гайде и дальше как обычно.

Я тоже поставил последнюю версию вместо 2.0.2 - все работает.

Пытаюсь поднять 3x после смерти wg, делаю все по мануалу, но по порту ничего не открывается, хотя в netstat показывает что порт занят докером, вот логи контейнера, больше ничего нет, только этот отрезок зацикленный

Я не мастер в администрировании серверов, поэтому сначала уточню: вы же 3xui ставите на чистую debian 12, или на ту где в прошлом крутился wg?

Ага, психанул и нажал переустановить с шаблоном 3X-UI, поднял, работает. Надо бы разобраться с подпиской и сертификатом на сервер

Спасибо за гайд, всё работает, кроме нейронки от гугла. Когда захожу на сайт bard.google.com всё ещё пишет, что Bard пока не поддерживается в вашей стране, хотя VPS использую американский. Может кто знает в чем причина ?

Если хостер - российская фирма, тогда может ip числится в некоторых базах как ru, может помочь warp, включается для Гугла в настройках 3xui.

Если хостер американский, значит что-то где-то утекает. Или геолокация (отключить доступ к ней), или трафик (на компе поможет режим tun/vpn).

Отличная статья, классно дополняет статьи от @MiraclePtr

У меня только почему-то не завелась часть с CDN: домен CF принял, настройки на CF все перепроверил 100 раз, в 3X-UI тоже, но по моему адресу типа "https://habraproxy.store/mysecreturl/" выдаёт Error code 520, ну и подключение grpc не устанавливается (клиент Hiddfy Next на ведре).

Всё делал строго по инструкции, ссылку правил как указано.

При этом по адрес:порт всё норм открывает.

В какую сторону смотреть?

UPD: методом исключения понял что фаервол убунты блочит что-то, если его выключить - CF видит трафик и "https://habraproxy.store/mysecreturl/" работает. Для CF нужно какие-то специфичные порты открывать? Кроме 2053?

понял что фаервол убунты блочит...

Я писал инструкцию для Debian и без установки/настройки фаерволла. Если ничего ниже не поможет - вот прямо рекомендую сделать всё по инструкции и ставить на чистую Debian 12, насколько я знаю - у всех работает:)

Теперь по сути вопроса - да, помимо 2053 нужно открыть порт 54321 (вернее тот, на котором у вас крутится панель).

Далее: Ошибка 520 - это когда CF не может получить ответ от сервера. Значит проблему можно искать:

  • Сервер не отвечает по запрошенному порту

  • Сервер не отвечает на запросы с пула IP-адресов CF

  • CF обращается не на тот IP или не на тот порт

Удачи в поиске!

Нашёл проблему, оказалось что служба adguard восстала из мёртвых и слушала 443.

Теперь всё работает, спасибо за отличный мануал!

Автор 3X‑UI уже выпустил новую версию панели, но там поменялся интерфейс и логика работы с WARP. Я же создавал инструкцию и делал скриншоты именно с версии v2.0.2, она стабильная и самодостаточная. Если вы ставите прокси первый раз и хотите следовать инструкции - устанавливайте именно эту версию.

В моей изначальной инструкции была ошибка - она устанавливала последнюю версию, несмотря на попытки установить ту что надо. Сейчас ошибку исправил, по инструкции можно устанавливать версию v2.0.2.

Все вроде работает (openai, rutracker и пр), но copilot в vscode (wsl) не хочет - "из вашей локации нельзя", пишет. То есть то же самое, как если бы без "всего этого" запускать.

Поставил TUN Implementation (system) - все равно не хочет работать.

Проверка IP - норм (локация и пр), но если попробовать найти "my location", гугл покажет относительно недалеко от Москвы (где я нахожусь), то есть мимо, но Россия. Но тот же mylocation.org уже все правильно показывает.

Не подскажите, можно copilot заставить работать с hiddify+?

Тут же его включать?
Тут же его включать?

по поводу режима TUN - рекомендую по умолчанию mixed

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

Как достоверно проверить работу WARP?

У меня через прокси не открывается habr.com, добавил его в правило из раздела 3/6, и всё равно не открывает. Порты для warp (UDP 2408 ,UDP 500UDP 170, UDP 4500 ) открыл в фаерволе.

Как достоверно проверить работу WARP?

Добавить сайт whatismyipaddress.com в правила проксирования варпа (перезагрузить+сохранить), зайти на этот сайт и убедиться что IP поменялся, и он принадлежит CloudFlare

... в фаерволе

К сожалению я не изучал WARP достаточно глубоко, поэтому не знаю, по каким портам он общается со своими серверами. Гугл вам в помощь.
В своей инструкции "для чайников", я использую чистую Debian 12 без фаерволла, там таких проблем не возникает.

Разобрался, служба warp не стартовала из-за какой-то ошибки, её переустановка помогла, всё заработало.

p.s. порты для warp в моём прошлом сообщении из оф мануала cf

Прошу сильно не пинать, тк не айтишник) Споткнулся на шаге 3 при первичной настройке панели 3X-UI.

Ни Эдж, ни Гугл не открыли мне сайт по http когда я нажал «все равно открыть» после того как браузер поругался. Я зашел по http снова и сменил логин/пароль как на шаге 4, но по https как написано на шаге 5 адрес не открывается. Что нужно сделать, чтобы соединение стало защищенным?

чтобы соединение стало защищённым, нужно сгенерировать сертификаты, скопировать их в докер (инструкция ч.1 шаг 7), а затем в настройках панели (инструкция ч.2 шаг 3) в нужные места вписать имена файлов /private.key и /public.key.
Как только панель видит пару корректных ключей - она начинает работать исключительно по https.

так что либо ключи не вписаны, либо вписаны но не скопированы в докер, либо случилась ошибка при их генерации.

---
я также допускаю, что может в панели всё настроено верно и дело в каких-то настройках бразуеров или ОС компьютера, которые не дают открывать "не очень защищённые" https-сайты, но сам с таким не встречался.

пишет что сертификат недействительный, поэтому и http. Запустил еще раз генерацию сертификатов - но в информации о сертификатах видно, что сертификат от вчерашней даты, когда первый раз его делал. Наверное, нужно снести тот сертификат и выпустить новый? Как понять что ошибки при генерации сертификата не было?

Я все остальное по инструкции для части 5 уже сделал еще вчера - все работает, но тема с отсутствием https меня очень настораживает. Может быть снести все и попробовать заново с какого-то момента? Если так, то прошу указать что прописать в Debian, чтобы вернуться к нужному шагу.

Как понять что ошибки при генерации сертификата не было?

прочитать результат вывода каждой команды

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

вот это странно. если панель увидела сертификаты (пусть даже и "недействительные", самоподписанные), она не даст зайти в себя по http, будет упрямо менять адрес на https. (в адресной строке будет видно https перечёркнутый, типа небезопасный). если вы можете войти в панель по http - значит она не увидела сертификаты.

вообще предлагаю попробовать зайти в панель по https с любого другого устройства, например с телефона. это чтобы убедиться, что дело не в компе а именно в панели.

Если так, то прошу указать что прописать в Debian, чтобы вернуться к нужному шагу.

к сожалению не понял эту фразу.

А вот стратегия "снести и попробовать заново" меня самого спасала много раз, рекомендую:)



У меня как раз https перечеркнутый, и надпись про недействительный сертификат. Когда захожу с телефона через сафари то появляется сообщение что используется http/0.9 и страница вообще не грузится.

А какой командой на сервере можно удалить все чтобы начать процедуру заново? Я бы прогул снова весь путь и посмотрю что в итоге получится. Может https появится все же)

То есть получается раз перечеркнутый https, то сертификаты самоподписанные есть, как и предполагалось в статье. Верно рассуждаю?)

Верно

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

А что случится если не делать ч.1.п7 ?

Ну и понятно, ни где не указывать сертификаты?

https то все равно нет.

Сертификаты в первую очередь нужны, чтобы трафик между CDN и VPS шифровался.

Ели обойтись без сертификатов, но придётся перенастраивать всё таким образом, чтобы CDN и VPS общались не по зашифрованному https, а по обычному http. Хотя так тоже можно, да, но всё же не хочется передавать свои данные по интернету в открытом виде.

Я понимаю для чего нужны сертификаты.

С самоподписаными сертификатами https соединение не устанавливается.

Может из-за этого у Вас с CDN были проблемы?

у меня не было проблем с CDN:)

С самоподписаными сертификатами https соединение - устанавливается. В случае с браузером- он просто предупреждает что оно "не безопасно"(=не подписано тем, кому браузер доверяет)

Боюсь показаться назойливым.

Не могли бы Вы оценить моё решение.

Был сайт ( типа hello world) с сертификатом от let's encrypt. Я его перенес на порт 5443. Установил 3x-ui без докера. Указал в настройках свой сайт, валидные сертификаты, ну и естественно порт 5443. Все работает.

Это плохое решение?

Если вы маскируетесь под свой сайт с валидным сертификатом (который крутится на том же сервере) - это вообще оптимально. Вот тут эта концепция описана как "steal from yourself".

Но если при этом вы настроили vless-xtls-reality на 5443 порту - это создаёт дополнительные риски быть заблокированным за "нестандартное соединение" (но это на будущее, в РФ такое ещё не блокируют).

То есть, в варианте "steal from yourself" vless-xtls-reality должен слушать на стандартном 443 порту, а сайт - на свободном (например, 5443) и стандартном 80?

Меняются ли при этом настройки Origin Rules на Cloudflare?

не меняются

Всё так кроме 80 порта - он в этой схеме не нужен. Любой посетитель сайта зайдёт на 443 порт, XRAY поймёт что это не прокси-трафик и выдаст содержимое сайта.

Кстати, сайт может крутиться на 5443 порту и локальном IP (127.0.0.1), таким образом сайт будет доступен локально для XRAY, и недоступен по порту 5443 извне, а значит извне сайт будет виден только через стандартный 443 порт (которым управляет xray).

А у меня такой вопрос.
Дано:

  1. Несколько настроенных 3X-UI в разных локациях. Каждая локация на своём домене, например, de.example.com. Домен не привязан к Cloudflare

  2. На каждом домене создано несколько inbounds, которые доставляются пользователям через подписку. URL подписки выглядит так: https://de.example.com:2096/sub/%user_id%

Что я сделал:

  1. Добавил в Cloudflare новый домен, например, example2.com. Он у меня на всякий случай.

  2. Создал de.example2.com

  3. Добавил к существующему SSL-сертификату для example.com новый домен example2.com

  4. Настроил всё по вашей инструкции.

Что мы имеем:

  1. Домен de.example.com:порт/mysecretpath открывает панель 3X-UI

  2. Домен example2.com выдаёт 404

  3. Домен de.example2.com выдаёт 404

  4. URL de.example2.com/mysecretpath открывает панель 3X-UI

Что не работает:

  1. Не работает подписка. Сначала ссылка вообще не резолвилась, но потом я понял, что надо добавить правило в Cloudflare для обработки ссылки. Сделал по аналогии с My-2053. Ссылка https://de.example2.com/sub/%user_id% открывает зашифрованное содержимое подписки.

  2. Подписка добавляется (использую Hiddify Next), появляется список доступных подключение, но ни одно не работает. В логах ошибки: remote error: tls: handshake failure

Что хотелось бы получить:

  1. Самое главное, по возможности, сделать так, чтобы не пришлось менять адреса подписок у клиентов.

  2. Как только на example2.com получится достичь желаемого результата, проведу аналогичные манипуляции с example.com

Огромное спасибо за инструкцию!

к сожалению с подписками я не разбирался (и не планирую в ближайшее время), может другие читатели подскажут

Сделал все по инструкции и vpn работает, но беда со скоростью download. Большую часть времени не поднимается выше 10Мбит (upload при этом всегда выше 90Мбит). Но иногда выдаёт 50+. В чем может быть дело? Хостер - vdsina. Клиент Hiddify next.

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

Добавлю: если использовать CDN - то скорость может уменьшаться за счёт доп.узла, лучше соединяться напрямую если возможно.

да, вероятно проблемы где-то на магистрали я(рф) -- vdsina(nl). У меня сейчас скорость скачивания через vdsina - от 2 до 30 Mbps, но когда соединяюсь с vdsina через промежуточный сервер в германии, то поднимается до максимума.
что с этим делать - не знаю (хочу верить что это авария и её устранят :).

Установите speedtest-cli на сервер и протестируйте скорость сервера. У меня так было. И через поддержку хостера мне сервак поменяли теперь все ок

Спасибо за мануал! Первая часть получилась без проблем.

А вот на 11 шаге начались проблемы: панель не открывается, хром выдает ERR_INVALID_RESPONSE.

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

ERR_INVALID_RESPONSE -- там же должен быть код ошибки, например 521 или что-то в этом роде. если погуглить код ошибки - это может дать ясность что не так.

смог повторить подобную ошибку, когда захожу по условному адресу `habraproxy.store/my-gRPC-3049382` из браузера, то есть по адресу, по которому происходит соединение vless-grpc-tls
поэтому предположу, что некорректно настроены правила на шаге 8

Кодов никаких не пишет ни хром, ни edge. Только строку ошибки.

Перепроверил все с пункта 8 и далее уже три раза, всё в соответствии Вашему мануалу и скриншотам, а толку - ноль. Видимо, не судьба мне панель открывать через gRPC.

Подскажите почему пишет ошибку когда добавляешь профиль TLS

CDN - failed to add profile - unexpected connection error ? Все делал по гайду

если речь идёт о вставке ключа в приложение Hiddify-Next, то нужно использовать опцию "добавить из буфера", а не "ввести вручную"

все так сделал, но как только конектиться к прокси, доступ к интернету пропадает

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

Подскажите, пожалуйста, как настроить доступ к chat.openai.com?

Выдает такую ошибку
Выдает такую ошибку

Ниже пишется либо IPv4, но не мой (ни личный, ни сервера vps, а какой-то левый), либо вообще IPv6.

Все остальные проверки проходит, пока только chatgpt не могу победить.

Делал всё по статье, ставил 3X-UI v2.0.2, Route OpenAI (ChatGPT) through WARP включено.

Возможно ваши ответы на эти два вопроса помогут что-то прояснить:

1) в какой стране VPS?
2) Route OpenAI (ChatGPT) through WARP: доступа к ChatGPT нет и с включённой и с выключенной опцией? (напомню, после изменений нужно сохраняться и перезагружать xray)

VPS в Германии, хостинг у nuxt

Доступа нет в обоих случаях, с перезагрузкой xray и перевключением прокси.

Попробовал поискать чьи это IP, выяснил что они от Cloudflare, московский и немецкий. Возможно они в черном списке у openai.

То что warp светит свой московский IP - это подозрительно и может быть причиной блокировки чатгпт. (если варп считает что соединение к нему идёт из РФ - то и свой IP тоже предоставит из РФ).
Что делать: проверить IP своего VPS по разным базам, возможно он где-то светится как российский. если так - либо ждать когда базы обновятся, либо предоставить доказательства хостеру и попросить поменять. Других идей пока нет.

Лично у меня связка nuxt(GE)-warp-openai работает.

Проблема в том, что московский IP принадлежит не nuxt, а cloudflare.

С отключенным "Route OpenAI (ChatGPT) through WARP" определяет московский IPv4, с включенным - немецкий IPv6, оба от cloudflare, и с обоих не пускает. Такого, чтобы определялся IP от VPS, пока не было (у чатгпт, на всех остальных сайтах работает как положено).

UPD: удалось победить, в Xray Settings - Routing Rules, правило geosite:category-gov-ru,regexp:.*\.ru$,geosite:openai изменил на geosite:category-gov-ru,regexp:.*\.ru$, и отключил Route OpenAI (ChatGPT) through WARP.

Проблема в том, что московский IP принадлежит не nuxt, а cloudflare.

всё верно, если WARP(а он принадлежит cloudflare) посчитает что к нему подсоединились из РФ, но выходной IP будет российским.

Вижу, что заработало после отключения варпа, поздравляю!

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

А как быть с Нетфликсом, который загружается, но при попытке начать просмотр пишет, что я использую прокси и его надо тк отключить)

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

Однако в панели 3x-ui есть опция - проксировать нетфликс через warp, возможно она поможет. (напомню, после изменений в панели нужно сохраняться и перезагружать xray).

Другой вариант о котором слышал - через прокси подключаться к одному из заблокированных в РФ бесплатных VPN-ов с американскими серверами(какие именно - не знаю), специально чтобы смотреть нетфликс.

через прокси http я смотрю через них

Не очень понял - то есть проделав все шаги из инструкции, получается его смотреть? На телефоне/палншете/компе?

У меня на iOS туннель в Стрейзанд создается, вот он не работает. На компе еще не пробовал, там хидифай некст ставил как в инструкции)

Спасибо за статью, но Streisand не клиент для macOS.

Приложение устанавливается из AppStore и полноценно работает.

Я, возможно, не так ищу?

Скорее дело в том, что на мак с эпловскими процессорами можно ставить приложения от ipad/iphone (если это не запретил разработчик), а на мак с интел процессорами — нет.

Извиняюсь за совсем нубский вопрос, но данное настроенное решение можно использовать как прокси? Например, в Telegram можно указать прокси-сервер SOCKS5, нужно ввести адрес сервера, порт, логин и пароль (или MTProto, там адрес, порт и ключ). Если можно, то как правильно заполнить эти поля?

Да, можно. Только это не специализованный MTProto - а просто системный прокси, через который ТГ гонит весь свой трафик.
Как? В телефоне всё работает из коробки. В windows (скорее всего на macOS и linux также) - в настройках ТГ не менять (продолжать использовать) опцию "использовать системные настройки прокси".

Когда осенью блокировали телегу на юге, через подобный прокси всё работало.

Телегу я привел как пример приложения с возможностью настройки прокси в нем непосредственно (да, сейчас там всё работает нормально).

Вопрос именно в том, какие адрес, порт, логин и пароль для SOCKS5 (или адрес, порт и ключ для MTProto) нужно вводить, чтобы прокси из данной инструкции заработал? Имеется в виду, чтобы тот же телеграм работал напрямую через прокси, без включения Hiddify-Next? Или нужна какая-то дополнительная настройка, по типу инструкции в одном из комментариев выше? Если так, было бы здорово дополнить данную статью гайдом "для чайников" (типа меня, потому что по ссылке яннп) с картинками и пояснением что куда жать и писать, чтобы заработал протокол SOCKS5.

понял вопрос. без включения Hiddify-Next (или аналога) не заработает.

Тут как бы создаются два разных "прокси".

Первый - на VPS по протоколу vless-***, телега не знает такой протокол и не присоединится к нему - зато это сделает Hiddify-Next (или его аналог).

Второй - Hiddify-Next создаёт промежуточный локальный прокси по протоколу socks5 и прописывает его системным, и вот уже к нему подсоединяются разные приложения на устройстве.

Спасибо за отличную статью! Она идеальна для новичков.

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

Если ставить последнюю версию 3X-UI, то WARP отключен. Его достаточно просто включить по умолчанию. Далее все настройки из статьи. У разделов искажены имена, но понять можно.

Поиск сайта в подсети хостера осуществляется из командной строки. Я не нашел в инструкции, потом долго разбирался. В итоге все ок. (Запускаем командную строку, прописываем расположение программы, и команда: .\RealiTLScanner-windows-64.exe -addr ВАШ_IP -port 443 -thread 100 -timeOut 5).

Одновременно работает или vless tcp Reality или vless grpc TLS (может так и не должно быть, ниже вопрос об этом).

В Hiddify Next есть раздел настроек Активы маршрутизации. Там регулярно обновляем geoip и geosite.

У кого что-то не работает, можно решить сменой прямого DNS с 8.8.8.8 на 1.1.1.1. В приложении на Android или меняем DNS или выбираем режим работы VPN / Proxy.

Вопросы:

В чем разница между режимами работы в Android приложении: VPN / Proxy?

Лучше использовать доменную зону отличную от .ru или нет разницы и .ru подойдет?

CDN полностью настроен. В панель захожу через https://my_site/my_secret_url/. SSL/TLS Full. По адресу https://my_site ошибка 404. Клиенты создаются и подключаются. Российский трафик есть, иностранного и заблокированного нет. Все настройки проверены. Единственное, у домена созданы NS-записи, но нет DNS-записей. Они должны быть? И если да, то какие?

Благодарю за комментарии!

Отвечаю:

В чем разница между режимами работы в Android приложении: VPN / Proxy?

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

VPN (он же TUN) - создаёт виртуальное сетевое подключение и делает его главным. Таким образом прокси будут использовать 99.5% программ. Исключение - софт, который "умный слишком" и умеет перебирать сетевые подключения, например qbittorrent.

Лучше использовать доменную зону отличную от .ru или нет разницы и .ru подойдет?

Если речь идёт про домен для CDN - то не вижу разницы. Если про домен для маскировки VPS - то лучше маскироваться под сайт из той же страны, маскировка под ru-домен может нести риски.

CDN... Российский трафик есть, иностранного и заблокированного / нет

Мне сложно диагностировать неполадки с помощью телепатии:) Но пока все случаи неработоспособности CDN, с которыми я встречался, сводились к ошибкам реализации инструкции.

Единственное, у домена созданы NS-записи, но нет DNS-записей. Они должны быть? И если да, то какие?

Если вопрос в том, нужно ли где-то прописывать что-то, чего нет в инструкции, то ответ - нет:)

Несколько пунктов для тех, кто как и я не разобравшись до конца решил настроить такую систему (если я не прав, буду благодарен, если поправите):

1) первый вариант подключения через vless работает только через ip и настроить работу через свой домен не получается.

2) если отключить прокси CF или через hosts в клиенте привязать свой домен к своему ip, возникает проблема со входом в панель 3x-ui, но клиент vless подключается.

3) при обновлении vless на стороне клиента через подписку, в конфигурации vless sing-box каждый раз прописывается домен вместо ip и клиент перестает работать без привязки домена к ip в hosts или без отключения прокси CF

промахнулся с ответом, ответил ниже

1) Вообще-то можно, но конечно это будет совсем не тот домен, который привязан к CDN. Например, можно взять какой-нибудь DDNS-сервис вроде https://freemyip.com/, создать домен, привязать к нему IP своего VPS и пользоваться (но зачем?:)

2) логично, поскольку панель крутится на нестандартном порту

3) я не сторонник "подписок" и считаю этот функционал излишним для личного прокси (хотя знаю людей, которые его используют). Так что с подписками я не разбирался.

Отличная статья для нуба. На ПК (WIN) всё заработало сразу. Попытался на приставке с AndroidTV через соответствующее apk запустить - ноль эффекта. Куда копать?

Спасибо за отличную статью!

На этапе "Инструкция (5/6) -- проверка прокси" все проверки прошли успешно. Но через некоторое время Гугл в режиме инкогнито стал показывать Россию, и язык русский. Я подозреваю, это началось после того, как я через cloudflare связал свой домен, принадлежащий зоне .ru, с ip от моего vps. Остальные проверки проходят как и раньше.

И пока не всё гладко. Второе соединение в 3X-UI, то есть подключение к своему VPS через порт 2053 по протоколу VLESS-gRPC, не заработало. "Ошибка при установлении защищённого соединения" на открываемых страницах и "disable_sni is unsupported in uTLS" в журнале Hiddify

через некоторое время Гугл в режиме инкогнито стал показывать Россию
...подозреваю, это началось после того, как я через cloudflare связал свой домен, принадлежащий зоне .ru

Не отрицаю ваше предположение, но практически уверен что дело в другом. Почти наверняка гугл получает доступ к реальной геопозиции через браузер телефона или компа (и значит этот доступ можно отключить).
Если причина в другом и найти/повлиять на неё не получится, то в настройках панели можно пустить весь трафик до гугла через варп, там есть такая опция.

"disable_sni is unsupported in uTLS" в журнале Hiddify

Очень странно, не встречал подобного. Предлагаю ещё раз тщательно проверить настройку согласно инструкции. Если не поможет - то по тексту ошибки видно, что приложение ругается на поле SNI, которое с его точки зрения пустое или отключённое, и можно в панели попробовать вписать туда адрес своего домена.

подключение к своему VPS через порт 2053 по протоколу VLESS-gRPC, не заработало

Попробуйте Hiddify-Next старой версии 0.11.1, скорее всего заработает. https://github.com/hiddify/hiddify-next/releases/tag/v0.11.1
(а если не работает на айфоне - напишите в личку, проверим вариант)

Тоже столкнулся с такой проблемой. Решил следующим образом:

В настройках vless на 2053 порту надо:

  1. В поле SNI указать домен. Я указал свой домен.

  2. В поле ALPN выбрать h2

Скопировать строку для подключения, заменить ip-адрес на домен, а порт на 443.

Протестировано на Hiddify Next 0.14.20

Да, без указанного SNI свежий Hiddify-Next не работает, уже добавил это в инструкцию.

И, как выяснилось, без ALPN со значением h2 тоже

В моём случае Hiddify Next 0.14.20 замечательно работает через CDN с указанным sni, но без ALPN

Подскажите в чем дело и куда копать? до пункта 6 все работает. На CF все настройки сделаны, но на шаге 9: "прокси должен работать ... через порт 2053 по протоколу VLESS-gRPC " он не работает. Хотя проверки по шагам 11 и 12 проходят и панель открывается через домен и ошибка 404 на главной странице есть.

Когда пытаюсь подключаться через второе подключение (CDN), то браузер не открывает вообще никакие страницы, даже веб морду роутера. Если делаю трассировку до сервера, то она одинаковая (и при VLESS и при CDN) и видно, что ip изменился на CF.

С компьютера подключаюсь через Hiddify Next

Почти наверняка дело в новой версии Hiddify-next. Только что проверяли: там либо баг, либо фича, которая ломает совместимость с панелью.

Скорее всего с версией 0.11.1 всё будет работать
https://github.com/hiddify/hiddify-next/releases/tag/v0.11.1

Update 25.01. В новых версиях многих приложений появился либо баг, либо "фича", которая делает их несовместимыми с шагом (9 3/4). Вероятно это особенность в новой версии ядра sing-box, которое лежит в основе всех клиентских приложений.

Что делать? Использовать рабочую версию приложения Hiddify-Next версии 0.11.1

Что делать если у вас iOS, где доступны только свежие версии приложений?
a) выполните этот шаг (9 3/4) по инструкции и смиритесь с тем, что прямое соединение не заработает, оно пригодится на шаге 13
b) выполните шаг 13 по обновлённой инструкции (обратите внимание на параметр &sni=...), CDN заработает.

Udpate 25.01. Обнаружил одну неочевидную настройку CloudFlare, без которой иногда сбоило соединение через CDN. Вот оно:

  • В разделе (SSL/TLS)--(Edge Certificates)--(Minimum TLS Version) установите "TLS 1.3"

(статью обновил)

“Добавьте (перед #&sni=habraproxy.store впишите свой домен, не мой:)“

А в настройках сервера надо указывать тогда sni (в скрине поле кажется пустое)?

в панели его вписывать не надо (для Hiddify-Next 0.11.1)
НО для новых версий это теоретически может понадобится.

Изменение настроекНеудачно: cert file </public.key> or key file <> invalid: open /public.key: no such file or directory

как установить сертификат в панель стоит последняя версия что убунту что дебиан это панель кривая?

автор можно обновить гайд с новой версией и добавить все
остальные протоколы wg trojan и тд
был бы полный гайд

Изменение настроекНеудачно: cert file </public.key> or key file <> invalid: open /public.key: no such file or directory

как установить сертификат в панель стоит последняя версия что убунту что дебиан это панель кривая?

см. Инструкция ч.1 шаг 7.
Такая ошибка появляется, если не скопировать созданные сертификаты в докер 3x-ui.

автор можно обновить гайд с новой версией и добавить все
остальные протоколы wg trojan и тд
был бы полный гайд

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

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

"Остальные" протоколы (wg trojan и тд) не подходят для указанной задачи, в статье есть ответы почему.

Подскажите пожалуйста.

Если хром работает через hiddify то как его заставить открывать айпи внутренней сети? На тот же роутер не пускает)

Спасибо

Сам и отвечу)) нашёл опцию "обход локальной сети (экспериментальный)".

И заработало))

Подскажите плиз как правильно обновлять 3x-ui при выходе новой версии? v2.1.2 вышла

Подскажите плиз как правильно обновлять 3x-ui при выходе новой версии? v2.1.2 вышла

Статья рассчитана именно на версию v2.0.2, она стабильная и самодостаточная.
В новых версиях панели немного другой интерфейс (не совпадёт со скриншотами) и другая логика работа с warp.

"Чайникам" рекомендую придерживаться версии из статьи: новая версия обёртки 3X-UI не поменяет сути: вы продолжите использовать всё тот же протокол передачи данных VLESS.

--

Но если вы точно знаете что делаете (и готовы сами разбираться с деталями), то вот алгоритм обновления 3X-UI в докере.

# 1) Сделать бекап базы настроек с главной страницы панели 3X-UI.
# 2) Убедиться, что в файле 'docker-compose.yml' вписана
#    версия 'latest' или другая нужная вам.
# 3) Далее выполнить эти команды:
cd 3x-ui
docker-compose down
docker-compose pull
docker-compose up -d
docker cp private.key 3x-ui:private.key
docker cp public.key 3x-ui:public.key

Перед этим отключить VPN, если сидите на том же сервере, который будете обновлять.

Мы устанавливаем пакеты:

apt install docker.io docker-compose git curl bash openssl nano -y

Их обновление запускается через apt update && apt full-upgrade -y

Или для них тоже отдельные команды, как для 3x-ui?

отдельных нет, всё верно написали

если сертификаты в каталоге /3x-ui/cert/ и в web-панеле указать путь к сертификатам как "/root/cert/8.key" (в настройках панели и при настройке CND), то команды копирования сертификатов будут не нужны

docker cp private.key 3x-ui:private.key
docker cp public.key 3x-ui:public.key  

Переместил сертификаты командами:

mv private.key cert/*

mv public.key cert/*

И.. потерял оба. Так что осторожнее с командами на Линухе, можно так хорошо выстрелить себе в ногу.

Дополнительно можно рассмотреть отключение ping'ования нашего сервера:

Проверяем включена ли возможность ping'овать наш сервер (если 0, то включен):
net.ipv4.icmp_echo_ignore_all = 0

Отключаем:
Открываем файл: nano /etc/sysctl.conf
Вводим в конце файла строку: net.ipv4.icmp_echo_ignore_all = 1

Сохраняемся (Ctrl + X, Y, Enter)

Затем перезапуск, команда: sysctl -p

И повторная проверка: sysctl net.ipv4.icmp_echo_ignore_all (в конце должен быть 1)

Проверку вверху написал с ошибкой)
sysctl net.ipv4.icmp_echo_ignore_all

благодарю за выложенный и предоставленный труд - думаю, что попробую воспользоваться советами. Однако появился вопрос: какой клиент-приложение можно использовать для соединения с прокси на ОС Linux (Manjaro-дистрибутив или другой декстопный дистрибутив например)? задумался: почему не указали приложение Outline (есть под все ОС популярные и мобилки), но ответ в том, что оно только для работы с Shadowsocks как я понял

Про Outline правильно поняли, протокол Shadowsocks  не подходит по критериям неблокируемости.

Действительно, не указал приложения для линукса: Hiddify-Next и Nekoray, наверняка есть и другие, сам не проверял.

На манжаро хиддифай не сработал, но заработал отлично Некорей.

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

Двое суток не обновляются неймсервера? Так и остались два облака. Домен namesilo. Это нормально или где ошибка?

могу предположить несколько вариантов:
+ неймсервера были вписаны, но не сохранены
+ вписаны неймсервера со скриншота, а не из своих "оранжевых облаков"
+ опечатка в имени домена в CloudFlare
+ у регистратора техническая ошибка

Вот тут можно проверить, в порядке ли ns-записи.

Вот как это выглядит у меня:

Спасибо за ответ и интересную тему!

Не внимательно посмотрел все поля namesilo, там на 20 остался неймсейвер их домена, из-за этого не срабатывало. Исправил, через 5 минут ок.

Потестил, то что подписка не работает после всех манипуляций - это для меня большой минус.

Во, теперь что есть в версии 2.2.0

Спасибо за ваш подробный разбор темы)

Подскажите, есть ли имя хоста vps в Нидерландах указано с доменом в зоне ru, то на сколько это критично для зарубежных цензоров? Имеет ли смысл заменить на отдельный купленный зарубежный домен?

Считаю, что некритично. Особенно для зарубежных цензоров: они видят IP vps и не видят доменное имя.

Показывает, у него как минимум три состояния: off, on, plus

Получается, он должен показать, что включен CloudFlare Warp или я что-то не правильно понимаю?

Показывает:

tls=TLSv1.3 sni=plaintext warp=off gateway=off

Если к страничке обратились через warp - да, вот это самое warp=off сменится на warp=on/warp=plus. Но учитывай, если варп установлен и работает, но к страничке ты обращаешься не через warp - то оно покажет warp=off

Да, спасибо, всё работает. Были сомнения, проверил

geosite:category-gov-ru,regexp:.*.ru$,geosite:openai,cloudflare.com

warp=on

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

Спасибо большое за статью, всё отлично,

Но видимо, я совсем чайник, но у меня на этом месте ни при каких условиях не открывается мой сайт и всегда 404 ошибка.
Куда смотреть на Cloud или на свой VPC?

Угадывать всегда сложно, но предполагаю что дело в ошибках в настройках CloudFlare.

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

Ставил на Ubuntu, 3x-ui последней версии. На шаге с генерацией ключей страница перестала открываться.

Помог смотр логов:

docker ps

docker logs <id>

Показало, что контейнер ребутался в цикле на шаге чтения ключей. Помогло удаление базы db/3x-ui.db. Может кому поможет.

Все работает ок, но проблемы с microsoft store и visual studio code трекает, что сигнал из России и блокает github copilot

приветствую. полистал комменты, но сходу не нашел. не буду описывать все приключения, но в общем в Hiddify и Nekobox все в итоге заработало только при включении режима TUN/VPN, которые требуют прав админа. в режимах прокси и системный прокси не заработало. это я что-то где-то сделал не так или все же так и должно быть?

если что делал только первую часть, CF, домен и прочее не настраивал

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

После этого, режим системного прокси заработал.

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

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

На iOS можно сделать похожее через приложение "Команды".

  1. Заходим в приложение "Команды";

  2. Раздел "Автоматизация";

  3. Нажимаем "+" в правом верхнем углу экрана;

  4. Ищем в открывшемся экране "Приложение";

  5. В строке "Когда" выбираем приложение, которое должно работать через VPN. Например, Нельзяграм и оставляем настройку "Открыто". Жмем Далее;

  6. Нажимаем "Новая автоматизация" и на следующем экране "Добавить действие";

  7. В поиске вводим "VPN" и в результатах жмем "Настроить VPN";

  8. Появится команда 'Подключиться к VPN "*жмем сюда*" и из вываливающегося списка выбираем нужный вам VPN. В моем случае это конфиг от приложения FoXray;

  9. Жмем Готово

  10. Проделываем все то же самое теперь для закрытия приложения. В п.5 выбираем Когда приложение *нужное приложение* закрыто. Снять галку с "Открыто";

  11. В п.7 нажимаем на слово "Подключиться" и меняем на "Отключиться" и выбираем от какого VPN отключаемся при закрытии приложения;

Можно сильно проще в Shadowrocket весь трафик пускать напрямую, а всякие там плохие сайты через vless. Все работает бесшовно)

Приветствую. К сожалению на шаге 6 (1/6) после ввода команды сбоит:
Installing WARP socks5 proxy (WireProxy), затем ошибка:
[ERROR] Sorry, the installation of WARP socks5 proxy (WireProxy) failed! Please try again later.
Есть решение?

У меня так было, когда я пытался warp поставить на VPS из РФ (у которого не было доступа к warp-серверам). Ваш vps точно за пределами РФ? И ещё вопрос: вы же ставите варп на чистую Deban12?

  1. За пределами РФ

  2. Да, притом делал переустановку и такая же ошибка

    Я просто прошёл дальше по шагам и дошёл до конца, вроде все тесты прошёл. Ipinfo.io показывает конкретные данные

В итоге сам же и решил.
В описании https://github.com/hamid-gh98/x-ui-scripts есть заметка (Notes).

  1. Панель->Xray Settings->Advanced Template->Outbounds (для удобства)

  2. Найти строчку с WARP:

Код
{
  "tag": "WARP",
  "protocol": "socks",
  "settings": {
    "servers": [
      {
        "address": "127.0.0.1",
        "port": 40000
      }
    ]
  }
}

  1. Заменить на:

Код
{
  "tag": "WARP-socks5",
  "protocol": "socks",
  "settings": {
    "servers": [
      {
        "address": "127.0.0.1",
        "port": 40000
      }
    ]
  }
},
{
  "tag":"WARP",
  "protocol":"freedom",
  "proxySettings":{
    "tag":"WARP-socks5"
  },
  "settings":{
    "domainStrategy":"UseIPv4"
  }
}

  1. Save Settings, Restart Xray

  2. Подключиться по SSH к VPS и установить WARP командой:
    bash <(curl -sSL https://raw.githubusercontent.com/hamid-gh98/x-ui-scripts/main/install_warp_proxy.sh) -y -f

    * ключи:
    -y => параметры по умолчанию (вместо ввода 40000)
    -f => принудительная переустановка

Спасибо за статью. Здоровья, успехов.
Решение ошибки [ERROR] Sorry, the installation of WARP socks5 proxy (WireProxy) failed! Please try again later.

Интересно, а что будет с такими статьями с 1 марта?(

Подскажите, в чем может быть проблема? Включаю на айфоне Streisand и раздаю на мак. При входе на нельзяграм появляется заглушка провайдера. Пробывал тоже самое через Shadowrocket с шифрованием ДНС также на маке появляется заглушка.

@quakin Подскажите пожалуйста каким образом завернуть весь трафик в WARP.

Что то по примеру "geosite:category-gov-ru,regexp:.*.ru$,geosite:openai" только весь трафик а не только зону .ru

Я это делаю так:
1) когда создаю подключение (inbound), то заполняю поле "имя пользователя" (email), например "user3"
2) далее создаю правило (routing rule) с двумя параметрами: Client email = user3, Outbound = WARP.
3) сохранить, перезагрузить

Теперь все соединения пользователя user3 пойдут через вапр.

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

Благодарю Вас! Всё получилось!

Ааа ребята ребята ? помогите плз.

Все замечательно работало, пока не обновил Streisand в эпсторе, все сломалось, кликаю подключить а он в никакую! Пробовал снова добавить профиль один фиг, подозреваю что-то в самом приложении поправили.

Кто нибудь столкнулся сегодня утром?)

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

Я столкнулся, так же - не работает. Не может это быть из-за недавнего обновления iOS? В любом случае как я понял Стрейзанд обновят и все будет работать!

крч, тут оказалось все просто, нужно ребутнуть аппарат и будет счастье. ✌?

Всем привет.

Кто-нибудь знает каким образом приложение гипермаркетов Окей выкупает о пользовании vpn? На андроиде в hiddify next указано приложение не проксировать. Но при запуске получаю сообщение отключить впн...

в андроиде это возможно детектить по наличию системного значка включённого ВПН.
так делают некоторые приложения, в том числе яндекс-маркет и мегафон,
и им не важно, что по факту ВПН на них не распространяется:(

считаю это плохой практикой для разработчиков приложений, но её используют.

Здравствуйте, @quakin!

Всё сделал точно по последней (на данный момент) инструкции. Увы, "Hiddify-Next" и "Nekoray" не коннектят ни в одном из режимов. "Hiddify-Next" пишет в лог:

box.log
+0100 2024-02-16 02:39:47 ERROR [1745822494 376ms] outbound/urltest[auto]: reality verification failed
+0100 2024-02-16 02:39:47 ERROR [1745822494 376ms] inbound/mixed[mixed-in]: process connection from 127.0.0.1:26597: reality verification failed
+0100 2024-02-16 02:39:48 ERROR [2044179466 375ms] outbound/urltest[auto]: reality verification failed
+0100 2024-02-16 02:39:48 ERROR [2044179466 376ms] inbound/mixed[mixed-in]: process connection from 127.0.0.1:26601: reality verification failed
+0100 2024-02-16 02:39:49 ERROR [1016471534 380ms] outbound/urltest[auto]: reality verification failed
+0100 2024-02-16 02:39:49 ERROR [1016471534 380ms] inbound/mixed[mixed-in]: process connection from 127.0.0.1:26603: reality verification failed
+0100 2024-02-16 02:39:50 ERROR [1613330654 364ms] outbound/urltest[auto]: reality verification failed
+0100 2024-02-16 02:39:50 ERROR [1613330654 365ms] inbound/mixed[mixed-in]: process connection from 127.0.0.1:26607: reality verification failed
+0100 2024-02-16 02:39:50 ERROR [706957373 382ms] outbound/urltest[auto]: reality verification failed
+0100 2024-02-16 02:39:50 ERROR [706957373 382ms] inbound/mixed[mixed-in]: process connection from 127.0.0.1:26605: reality verification failed
+0100 2024-02-16 02:39:50 ERROR [208085308 373ms] outbound/urltest[auto]: reality verification failed
+0100 2024-02-16 02:39:50 ERROR [208085308 374ms] inbound/mixed[mixed-in]: process connection from 127.0.0.1:26609: reality verification failed

Профиль в "Hiddify-Next" создавал из буффера обмена. ЧЯДНТ? :(

Сам спросил, сам отвечу: оказывается, в качестве "донора" ПОДХОДЯТ НЕ ВСЕ САЙТЫ, например, https://www.purina.es/ – не подходит.

P.S. Прошу прикрепить или дополнить инструкцию. :)

благодарю, прикрепил

Инструкции бы, какие подходят, какие нет. Только по ссылке - не ясно. Сильно популярный что-ли? )

По настройке shadowrocket: ключ vless так же как и в стрейзанд из буфера вставляется, изи. А как настроить прямое соединение с рунетом? Можете написать шаги по аналогии со стрейзанд, пожалуйста, для нубов

Сделал, получилось забавно: на ru сайты ходит, заблоченные - не открывает в принципе. GeoIP еще не делал - может из-за этого как раз?

Хотя и на ру сайты то ходит, то нет. Сервер - вроде видит, добавлял vless конфигурацию точно так же как в Стрейзанд

Подскажите пожалуйста, внезапно перестал работать VPN:Не могу зайти ни на один сайт вне домена ru. В hiddify пишет подключено, но в веб-панели офлайн на клиенте. Сервер перезагружал как целиком так и только xray. Запаска через grpc работает. Пробовал заменить в уже созданном подключении сайт на другой - результата не дало. Nekoray пишет "2024/02/16 08:19:18 [Warning] app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to find an available destination > common/retry: [remote error: tls: internal error dial tcp MYIP:443: i/o timeout] > common/retry: all retry attempts failed"

Хостер VDSina

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

Причем сервак то пингуется. Может быть это VDSina начал что то блочить...

Написал в поддержку, получил ответ что ничего в их работе не менялось, возможно провайдер блокирует работу протокола) Используйте wireguard))

Точно такой же ответ получил

в моём случае на этом хостере прямо сейчас всё работает

предлагаю проверить это же vless-соединение через
* другое приложение
* другое устройство (комп/телефон)
* другой интернет-канал
в случае если не поможет - попробовать ещё раз поменять маскировочный сайт, мне уже дважды за неделю писали что причина может быть в этом

Я попробовал на трёх разны провайдерах, на hiddify и nekoray, с телефона и компа - результат один. Может я не так меняю маскировочный сайт, посмотрите пожалуйста

Я так же делал - в 2 полях менял

Upd: надо выпустить новый ключ vless или поменять вручную имя сервера в импортированных настройках в стрейзанде/шадоурокете. У меня заработало

Маскировочный сайт ведь меняется в полях dest и server names. Менял на другой нидерландский, на яху и все равно ничего. При этом коннект к прокси мгновенный как и раньше, вот только страницы не грузятся ни в каких сценариях

Upd: надо выпустить новый ключ vless или поменять вручную имя сервера в импортированных настройках в стрейзанде/шадоурокете. У меня заработало

Мне помогла смена в ключе домена на IP-адрес и замена сайта. Ну и после этого перевыпуск ключа

Можно добавить в статью очень удобный каталог VPS хостеров https://vps.today/. Там можно подобрать себе по стране, цене, способу оплаты, услугам.

@quakin, скажите пожалуйста, а можно ли как-то настроить систему так, чтобы по адресу собственного сайта (это я про часть с CDN) открывалось не "404", а собственная страничка с VPS из первой части?

Чтобы по адресу купленного домена сразу открывалась панель (для иных посетителей - форма с логином и паролем) - достаточно не вписывать в настройках панели /mysecreturl/ и оставить это поле пустым

Нет, немного не то... Чтобы по адресу /mysecreturl/ открывалась панель, а по "чистому" адресу сайта открывалась какая-нибудь простая страничка, например мем с котиком.

Это чуть сложнее. Надо на VPS поднять свой сайт с котиками, и его подсунуть CDN.
В этой статье всё подробно расписано, на примере веб-сервера nginx:
https://habr.com/ru/articles/761798/

Подскажите чайнику как быть, если сервер на gullo hosting находится за nat и имеет доступ через внешний ip и открытые порты в количестве 20 шт включая порт ssh (не 22), например 10000-10020, так что даже в панель 3xui не зайти на стандартный порт по умолчанию.

Кто-нибудь знает где найти пример sing-box (с версии 1.8.0) Rule Set Source Format ? как это выглядит вообще? Там просто список доменов или такие же правила как в конфиге singbox ?

hello folks, столкнулся с проблемой, сменил хостера и по новой все ставил, система убунту22, в прошлый раз больше часа сидел с докером, после того как прописываю версию 2.0.2 пишу команду docker compose up -d выдавал ошибку, в итоге где-то нашел подсказку и завелось, в этот раз психанул и пошел сложным путем, но тем не менее, подскажите плз почему короткая команда не работает? уснуть не могу((

docker run -itd \
   -e XRAY_VMESS_AEAD_FORCED=false \
   -v $PWD/db/:/etc/x-ui/ \
   -v $PWD/cert/:/root/cert/ \
   --network=host \
   --restart=unless-stopped \
   --name 3x-ui \
   ghcr.io/mhsanaei/3x-ui:"v2.0.2"

может в .yml файле косяк? проверьте синтаксис, "yaml validator" в гугл. а вообще какая ошибка была?

А зачем в докер и версию 2.0.2? Из опыта, всё прекрасно работает без докера (да и с докером) и с последней на данный момент версией 2.2.5, можно и в Ubuntu, но лучше в Debian с ядром XanMod для скорости.

строго следовал мануалу) а версию 2.0.2 ставил, т.к. побоялся не смогу сам настроить сам варп и роутинг.

Очень любопытно, все работает при соединении через wifi, но стоит переключиться на lte, коннекта нет, не может получить айпишник, оператор билайн, streisand
Никто с таким не сталкивался?

а SSH до сервера через LTE работает? может, айпи заблокирован?

Я так понимаю данная конфигурация работает по принципу блэклиста российских адресов. Имеет ли смысл лучше настроить ее на вайтлист заблокированных в России адресов? В теории и трафика меньше будет, и ошибочного проксирования российских адресов?

С одной стороны - да, это имеет смысл.

С другой - такое решение сразу становится технически сложным не "для чайников":
— Во-первых нужно где-то брать базы заблокированных в РФ ресурсов. Да, они есть - но с учётом того, что РКН может в любой момент перестать выгружать их в публичный доступ - данные в базах (собранных энтузиастами) могут обновляться с задержкой.
— Во-вторых, нужна вторая база - ресурсов, которые не запрещены РКН, но блокируются с "той стороны"
— Наконец, эти две базы придётся регулярно обновлять на каждом из клиентских устройств.

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

Настроил. Заработало. Остались вопросы:

1) при настройке через CDN соединение не заработало, пока не внес изменения в ссылку (домен, порт, SNI и др. по инструкции). В чем может быть причина?

2) можно ли создать правило для доменов .рф (например, гибдд.рф :)) и др. кириллических, аналогично .ru ? (пробовал добавить: regexp:.*.рф$ и regexp:.*.xn--p1ai$ - не заработало)

Здравствуйте, смогли добавить .РФ домены? Если смогли подскажете пожалуйста как?

И еще вопрос, к конфигурации в статье, как добавить исключение для определенного домена ru, чтобы он открывался не напрямую ?

Здравствуйте, смогли решить вопрос? Если да, подскажите пожалуйста как?

нет

За время, прошедшее с выхода этой статьи, описываемое решение приобрело популярность. Сейчас можно купить ВДС с уже установленной панелью 3X-UI, и оплатить с русской карты.

Вот пример: CPU: 1 RAM: 2Gb Storage: 40Gb Traffic: 32Tb, стоит это удовольствие 16 центов в день, т.е. $4.80 в месяц, положить на счёт можно от $20, т.е. платите 2000р за 4 месяца сервера.

После создания сервера, вам приходят на почту логины/пароли/ссылки, одна из них на управлению панелью 3X-UI. Там настройка очень простая, всё в графическом интерфейсе.

Начинал вот с этой статьи, там огромное количество информации, сплошные команды Linux, а тому, кто всю жизнь прожил в Windows, известно, что команды Linux полны дьявольских деталей. Тем не менее, очередная закрутка гаек РКНом вынудила действовать, и возможность получить сразу готовую панель была огромным облегчением. Конкретный хостинг не пишу чтобы не дразнить гусей цензоров, полагаю, он не единственный предлагает такую опцию. В статье выше, он упоминается, да.

Апдейт от 03.08.2023:
Прошло более полугода, решение из статьи остаётся актуальным.

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

Поэтому, если у вас есть вопросы, то:
1) Ответы на большинство вопросов можно найти здесь, в комментариях к статье (естественно, для указанных версий софта, с новыми версиями могут быть приключения)
2) Можно обратиться в телеграм-сообщество, ссылка есть в начале статьи, ребята там активные, скорее всего помогут (но меня там практически не бывает)
3) Наконец, автор UranusExplorer на Хабре пишет подробные статьи по теме обхода блокировок, с обзором новинок и тенденций, рекомендую.

Апдейт от 03.08.2023

.2024, опечатка ;)

кто-нибудь знает, как подключить ТВ?

можно ли настроить 3x-ui, чтобы сделать аля smart DNS? затем в телевизоре samsung прописать адреса и юзать VPN, так как в тв нет встроенного vpn клиента
@quakin

Я сам не смотрю смарт-тв, но скорее всего это поможет.

Еще вопросик из разряда «я нуб» если ставлю через докер,как можно запустить в докере команду x-ui? Ну тип для апдейта и мониторинга статуса x-ray, логи. Или в докере нет такой реализации?

А каковы последствия установки региона вместо "Россия" на "Другой" в настройках Hiddify ? А то у меня некоторые сайты не открываются, если установлен регион "Россия", а если "Другой" то всё работает.

Если выбрать "Другой", то весь трафик пойдёт через прокси. (Если "Россия" -- то весь кроме российского, если "Китай" - то весь, кроме китайского.)


Если российский сайт (с ru-доменом либо ru-ip) заблокирован РКН, то да, зайти на него можно только если выбрать "Другой".

уважаемые а можно переписать мануал
с новой панелью и заменить gRPC на xHTTP
подменить подключение получилось

Шаг 8: Настройка правил в Cloudflare

В разделе RulesOrigin Rules создайте два правила:

  1. Первое правило:

    • Match against: All incoming requests.

    • Action: Rewrite port to 56666 (укажите порт, на котором работает ваша панель 3X-UI; в вашем случае это 56666, как указано в скриншоте, а не 54321, как в оригинале).

  2. Второе правило:

    • Match against: URI Path equals /my-xhttp-5666666 (это ваш секретный путь, который вы уже используете, вместо /my-gRPC-3049382 из оригинала; он должен совпадать с тем, что указано в вашей строке подключения).

    • Action: Rewrite port to 2053 (порт, который вы используете для XHTTP подключения).

Важно: Порядок правил имеет значение. Сначала должно идти общее правило (для всех запросов на порт панели), затем специфичное (для /my-xhttp-5666666 на порт 2053).

  • Нажмите кнопку "Create" или "Save" для каждого правила.



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

Вернитесь в панель 3X-UI. Перейдите в раздел InboundsAdd Inbound.

Настройте новое подключение:

  • Remark: Укажите имя, например, "CLOUDFLARE XHTTP".

  • Port: Используйте тот же порт, что указан во втором правиле Cloudflare — в вашем случае это 2053.

  • Transmission: Выберите XHTTP (вместо gRPC, так как вы используете этот протокол).

  • Путь: Укажите секретную строку из второго правила Cloudflare — /my-xhttp-5666666

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

  • ALPN: Для XHTTP не оставляйте поле пустым. Укажите h2 (HTTP/2), так как XHTTP работает поверх HTTP/2. Это важно для совместимости с Cloudflare.

  • Get Cert from Panel: Нажмите эту кнопку, чтобы автоматически использовать сертификаты панели.

  • Allow Insecure: Включите на время тестирования. После успешного подключения через CDN можно выключить.

    в cloudflare network gRPC выключить

    работает но магии с подменой строки неполучилось пишет ошибка EOF подключения

уважаемые а можно переписать мануалс новой панелью и заменить gRPC на xHTTP

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

2) Что касается xHTTP
К сожалению я не понял, зачем вы рекомендуете xHTTP, если у вас с ним что-то не заработало, и какую пользу вы ожидаете от этой замены? Этот протокол даёт измеримо более высокую скорость? Кто-то научился блокировать gRPC, но xHTTP позволяет это обходить и у вас есть реальные примеры этого? В чём выгода?

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

Публикации

213 302 ₽/мес.

— средняя зарплата во всех IT-специализациях по данным из 30 699 анкет, за 1-ое пол. 2025 года. Проверьте «в рынке» ли ваша зарплата или нет!

70k 103k 136k 169k 202k 235k 268k 301k 334k 367k

Читают сейчас

Истории

С праздником весны!
Топ-7 годных статей из блогов компаний
Blue Ghost М1 прилунился
Всегда котов!
IT с привкусом металла
Как рассказать о событии на Хабре

Работа

Ближайшие события

25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область