Подготовка

Арендуем любую дешевую зарубежную VPS [электронно вычислительную] машину за границей.

  • Локация любая, что поближе географически

  • При заказе или позже, если будет возможность указать доменное имя машины, выбираем по принципу

    для Европы (и российских пользователей): github.com (стабильный, хорошо известный Microsoft Azure, никаких российских серверов с 2022 года), www.twitch.tv (высокий трафик, AWS, отсутствие российских PoP) ну и microsoft.com остаётся хорошим кандидатом: тот же большой трафик и глобальный CDN с PoP везде. Apple.com это плохой донор несмотря на репутацию: Apple держит IP в собственных ASN, несоответствие между сертификатом и ASN хостинга заметно сразу. Любой мелкий сайт — по той же причине.

позже этот домен будем использовать для маскировки.

  • ОС: любая операционная система кроме Окон, например Ubuntu 24.04, Debian 13 и тд.

Пример аренды на firstbyte

  • Регистрируемся по моей реф ссылке https://firstbyte.ru/?from=96764 (буду получать 23 рубля от ваших купленных VPS),
  • ФИО любое. Оно никак не проверяется.

Далее предложат создать плательщика, ФИО и данные рандомные можно указать, вплоть до “1” во все пункты.

  • Пополняем сразу на 1500 RUB, чтобы больше был выбор без комиссий

  • Метод оплаты: они часто меняются, самый удобный на данный момент называется “NEW3 ЮКасса - система быстрых платежей СБП” просто ввести данные карты и оплатить без регистраций в сервисе кассы

  • ждем пока VPS создастся и на почту придут данные для входа

  • забираем пароль и ip, письмо - сжечь

Подключение к машине

В эмуляторе терминала (Konsole, ptyxis, cmd, windows shell) заходим как root пользователь

ssh root@ВАШ_АЙПИ

далее он спросит, можно ли доверять новой машине, пишем yes и потом наш пароль

Если ранее, при покупке машины указали доменное имя, ваш VPS провайдер может прописать его в файл hosts, что может мешать - надо удалить строчку. Например если выбрали github

sed -i '/^[0-9].*github\.com/d' /etc/hosts

Если не указывали:

hostnamectl hostname ИМЯ_СЕРВИСА

Некоторые сервисы могут проверять имя машины, например EGS проверял так активный VPN и забранил мне аккаунт, когда я пытался изменить регион, думаю РКН тоже так может сделать.

Создадим нового пользователя (ваш username) и придумаем новый пароль, пароль будет использоваться для повышенных привилегий (sudo) и логина.

useradd -ms /bin/bash username
passwd username
usermod -aG sudo username

Настраиваем минимальную безопасность ssh. Придумать любое пятизначное число, например 32424, это будет наш новый порт вместо 22 и выключаем вход для root пользователя

cat > /etc/ssh/sshd_config.d/50-custom.conf

далее вставьте этот конфиг и нажмите ctrl+d

Port 32424  
PermitRootLogin no

для Ubuntu дополнительно еще надо выполнить (если ваш порт 32424):

sed -i 's/^ListenStream=.*/ListenStream=32424/' /etc/systemd/system/sockets.target.wants/ssh.socket
systemctl daemon-reload
systemctl restart ssh.socket

перезапускам ssh на сервере

systemctl restart ssh

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

ssh username@ВАШ_IP -p 32424
sudo apt update

после этого можно спокойно закрыть сессию с root пользователем

Установка docker

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Введите пароль от username, после этого скрипт автоматически все установит. Добавить пользователя в группу docker чтобы можно было использовать докер без sudo

sudo usermod -aG docker username
newgrp docker

Установка 3xui панели

  • Генерация TLS сертификата для безопасного входа в панель
mkdir cert
cd cert
export ip=$(timeout 3 curl -4 -s icanhazip.com)
openssl genrsa -out secret.key 2048
openssl req -key secret.key -new -out cert.csr -nodes \
-subj "/C=AU/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=$ip" \
-addext "subjectAltName=DNS:$ip,DNS:*.$ip,IP:$ip"
openssl x509 -signkey secret.key -in cert.csr -req -days 3650 -out cert.crt
cd ..
  • Пишем докер стек файл
cat > docker-compose.yml

Вставить и потом ctrl+d

services:
  3xui:
    image: ghcr.io/mhsanaei/3x-ui:latest
    container_name: 3xui
    volumes:
      - db:/etc/x-ui/
      - $PWD/cert/:/root/cert/
    environment:
      XRAY_VMESS_AEAD_FORCED: "false"
      XUI_ENABLE_FAIL2BAN: "true"
    tty: true
    network_mode: host
    restart: unless-stopped
    
volumes:
  db:

Запуск

docker compose up -d

Всё, терминал на больше не понадобится.

Теперь очень быстро. настройка сертификатов и порта, пока провайдер не увидел, что мы запустили панель

  • Входим в панель http://ВАШ_IP:2053, логин и пароль admin
  • Меняем порт на любой другой
  • Прописываем сертификаты:

/root/cert/cert.crt
/root/cert/secret.key

  • Перезапускам панель и заходим на https://ВАШ_IP:ВАШ_НОВЫЙ_ПОРТ, браузер будет ругаться, что у вас странный сертификат, подтверждаем, что все ок и заходим в защищенном режиме

  • Обновляем пароль по умолчанию с admin на что-то очень надежное

  • Обновляем ядро и геофайлы, это желательно делать регулярно, чтобы были актуальные версии

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

Во вкладке inbounds добавить новый inbound

  • Remark, что угодно например xhttp reallity

  • Protocol - VLESS

  • Port 443

  • Transmission XHTTP

  • Path (если ранее выбирали github /search/repositories) для других сервисов нужно поискать похожие роуты, что можно активно опрашивать

  • Mode auto (его можно будет менять на клиенте или клиент будем сам его менять по ситуации)

  • Security Reallity

  • uTLS chrome

  • Target www.github.com:443 (или наш выбранный сервис)

  • SNI github.com,www.github.com (тоже самое)

    Точное SNI можно посмотреть в сертификате сайта, но обычно оно имеет вот такой формат как выше.

  • Public Key и Private Key - ткнуть кнопку Get new Certs

  • Sniffing - Enabled (дополнительно, чтобы собирать статистику), выбрать HTTP, TLS,QUIC

  • Теперь идем на вкладку Xray Configs и блокируем все роуты домены и ip Russia и эти дополнительные домены

    • geosite_RU.dat:ru-available-only-inside
    • geosite_RU.dat:category-gov-ru
    • geosite_RU.dat:ccategory-bank-ru
    • geosite_RU.dat:vk

После этого можно подключаться по qr коду (зелененький)

Настройка клиентов

Проверка вредоносных приложений

Самое важное настроить устройства, с которых будем выходить в сеть. Так как теперь большинство приложений на андроиде по указанию Минцифр должны будут детектить впн и отправлять IP в РКН

https://habr.com/ru/news/1019646/

В документе Минцифры указывается, что внедрение механизмов для поиска VPN следует начинать с мобильных устройств на Android и iOS.

«80% приложений, с помощью которых можно проводить выявление средств обхода, установлено именно на этих устройствах […]. Внедрение проверок на устройства под управлением других ОС следует отнести к последующим более поздним этапам», — пояснили в РКБ предписания из методички.

В идеале вообще удалить эти приложения:

В первую очередь из списка 2023 года

  • Яндекс бразуер
  • Яндекс с алисой
  • Яндекс карты
  • 2ГИС
  • Яндекс диск
  • Почта mailru
  • Цифровая платформа макс или до 2026 VK месенджер
  • Маруся
  • Дзен
  • Единое видео или до 2026 года Rutube
  • Вконтакте
  • Однокласники
  • Mir play
  • Госуслуги
  • Мойоффис документы
  • KasperskyFree
  • Rustore
  • Литресс Книги и аудиокниги
  • Честный знак

Во вторую очередь приложения из белых списков:

  • Генпрокуротура
  • МЧС
  • Озон маркетплейс
  • Валберис маркетплейс
  • Сбербанк онлайн
  • Альфабанк
  • Тбанк
  • Газпромбанк
  • НСПК
  • МТС онлайн
  • Мегфаон
  • Теле2
  • билайн
  • Авито
  • Кинопоиск
  • Магнит (какое-то приложение)

и использовать веб версии создав ярлык на рабочий стол

Warning

Что даже использование приватных пространств (shelter, insland) и app splitng может не помочь, так как клиенты xray поднимают прокси на localhost который можно легко проверить любым приложением.

android

https://github.com/2dust/v2rayng

  • Добавить через ”+” и qr код конфиг на главном экране

  • На экране Выбор приложений: Переключить в режим “Использовать выбор” и выбрать приложения, которые будут заходить в тунель

  • Далее на экране Маршрутизация добавить правила через “Импорт правил из бефера обмена” вот эти :

    [{"domain":["geosite:microsoft"],"enabled":true,"locked":false,"outboundTag":"direct","remarks":"microsoft"},{"domain":["cloudbrew.ru"],"enabled":true,"locked":false,"outboundTag":"direct","remarks":"cloudbrew"},{"enabled":true,"locked":false,"outboundTag":"direct","protocol":["bittorrent"],"remarks":"torrent напрямую"},{"domain":["geosite:category-ads-all"],"enabled":true,"locked":false,"outboundTag":"block","remarks":"блокировка рекламы"},{"domain":["geosite:private"],"enabled":true,"locked":false,"outboundTag":"direct","remarks":"приватные домены"},{"enabled":true,"ip":["geoip:private"],"locked":false,"outboundTag":"proxy","remarks":"приватные сети"},{"domain":["domain:ru","geosite:ru-available-only-inside","geosite:category-bank-ru","geosite:vk","geosite:avito","geosite:ozon"],"enabled":true,"locked":false,"outboundTag":"direct","remarks":"доступные только в России"},{"enabled":true,"ip":["geoip:ru"],"locked":false,"outboundTag":"proxy","remarks":"доступные только в России ip"},{"domain":["ip.mail.ru","checkip.amazonaws.com","api.ipify.org","ifconfig.me","ipv6-internet.yandex.net","api.ip.sb"],"enabled":true,"locked":false,"outboundTag":"direct","remarks":"детекция ip"}]

    Тут правила, чтобы все RU шли на прямую, вместо впна, а так же сервис для детекта IP, если какой-то сайт или приложение попытается выяснить реальный IP

  • Экран Файлы ресурсов: Выбрать runetfreedom/... и нажать на облачко со стрелочкой для загрузки

Теперь можно запускать!

Desktop

https://github.com/2dust/v2rayN

В 3xui нажать на qr код и тогда конфигурация копируется как текст, в v2rayN окне нажать ctrl+v В целом тут настройка проще так как есть готовые приссеты

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

Первый селект (рядом с приссетом на скриншоте выше) включает системный прокси, как правило этого хватает в 90%, так как весь интернет идет через веб браузер, который уважает прокси . Так же в приложениях можно указать прокси вручную, например если порт 10808

то прокси будет выглядеть так

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