Одним из самых эффективных способов обхода ограничений на YouTube является применение передовой технологии, основанной на протоколе VLESS XTLS. Этот подход не только обеспечивает высокий уровень безопасности, но также способствует стабильному подключению, позволяя пользователям миновать блокировки и наслаждаться контентом без задержек.
Блокировки также затрагивают Discord, известную платформу для общения среди геймеров и профессионалов. Многие стремятся найти пути для преодоления этих барьеров, чтобы продолжать общение с друзьями и коллегами. В этом отношении протокол VLESS XTLS зарекомендовал себя как надежное решение, предоставляющее свободный доступ к мессенджерам даже в условиях ограничений.
Современные протоколы типа VLESS XTLS становятся важными инструментами для обхода блокировок на YouTube и Discord. Это решение позволяет пользователям из России работать с международными интернет-ресурсами, защищая их от цензуры и обеспечивая надежный доступ к необходимому контенту. В свете нарастающих интернет-ограничений многие сталкиваются с блокировками таких популярных платформ, как YouTube и Instagram.
Все статьи о блокировках, а также связанные с ними новости можно найти в моем телеграмм канале.
Конец воды, начало статьи
В этой статье рассмотрен способ обхода цензуры путем создания своего VPN, используя протокол VLESS XTLS Reality, который позволяет получить доступ к сайтам, блокирующим пользователей из Российской Федерации. На данный момент vless-xtls-reality не может быть обнаружен с помощью DPI (глубокой проверки пакетов) даже в таких странах, как Китай. Однако следует учитывать, что регуляторы могут применить другие методы блокировки. Для повышения надежности обратите внимание на следующие советы:
Что нельзя делать:
1. Не используйте VPS для протоколов, которые могут быть обнаружены. Например, такие как WireGuard, OpenVPN, Shadowsocks и другие. Некоторые провайдеры блокируют VPS, на которых ранее использовались подобные протоколы.
2. Не заходите в рунет через VPS. Лучше осуществлять доступ к российским сайтам напрямую, минуя прокси. В крайнем случае, используйте цепочку Я->VPS->Warp->Рунет. Это предотвратит подозрения со стороны цензоров, так как двойное пересечение границы (туда и обратно) в короткий промежуток времени может вызвать подозрения и блокировку прокси.
3. Ограничьте доступ к прокси небольшим кругом пользователей. Идеально — до 5 человек. В Китае аномальный трафик к серверу от большого числа пользователей может привести к блокировке сервера, и российские провайдеры могут перенять этот опыт. Соблюдая эти правила, доступ к серверу будет трудно заблокировать. Однако для дополнительной безопасности рекомендуется подготовить “План Б” — проксирование трафика через CDN (сеть доставки контента).
CloudFlare Warp Warp — это публичная сеть прокси, предоставляемая CloudFlare, использующая протокол WireGuard. В России подключение к Warp невозможно, но с зарубежного VPS — вполне реально. В этом сценарии Warp выполняет две функции:
1. Обход западной цензуры — некоторые западные сайты могут блокировать доступ с вашего VPS, но с помощью Warp можно обойти эти ограничения.
2. Дополнительная защита от блокировок — проксирование запросов от VPS в российский интернет, чтобы не компрометировать VPS.
Первое что вам будет нужно - VPS сервер. Говоря о том, что нам там предлагают под наши цели — это виртуальные VPS сервера, расположенные в странах европы, России и США. С реальной скоростью соединения с сервером примерно 700-800 мбит/с и безлимитным трафиком (что очень важно для VPN сервера). Лично я буду использовать хостера Аеза - дешевый и стабильный, с нормальными характеристиками сервера, он полностью подходит под наши требования.
1. Пошаговая инструкция: настройка VPS
1. Зарегистрируйтесь на сайте хостинг-провайдера и перейдите в личный кабинет.
2. Выберите виртуальный сервер с тарифом Shared, минимальной конфигурацией и операционной системой Ubuntu 22.04.
3. Отключите бэкапы и оплатите аренду сервера.
4. Подождите активации сервера, после чего получите данные для авторизации.
Подключение и настройка сервера
1. Подключитесь к серверу по SSH, используя команду
ssh root@ip-адрес
2. Обновите систему:
apt update && apt full-upgrade -y
3. Перезагрузите сервер: reboot
4. Установите необходимые пакеты:
apt install docker.io docker-compose git curl bash openssl nano -y
5. Установите панель управления 3X-UI версии 2.0.2:
Внимание: я делал инструкцию для версии 2.0.2, если вы хотите сделать все в точности по инструкции, используйте эту же версию. В новых поменялся интерфейс и логика работы с WARP, я же создавал инструкцию и делал скриншоты именно с версии v2.0.2, она стабильная и самодостаточная.
• Склонируйте репозиторий и установите 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
6. Установите Warp, используя скрипт:
• Удалите старую версию: 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. Настройка панели 3X-UI
1. Откройте панель управления в браузере по адресу http://ip-адрес:2053/.
2. Войдите в систему, используя логин admin и пароль admin.
3. В разделе “Panel Settings” укажите следующие параметры:
• 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”. После перезапуска панели обновите страницу, изменив порт в адресной строке на новый.
4. В разделе “Security Settings” замените стандартные логин и пароль на новые.
Теперь панель будет доступна по HTTPS-адресу вида https://:<ваш порт>/<ваш путь>/.
Настройка Xray
1. Перейдите в раздел “Xray Settings” и включите следующие опции:
• IPv4 Configs -> Use IPv4 for Google.
• WARP Configs -> Route OpenAI (ChatGPT) через WARP.
Сохраните настройки и перезагрузите Xray.
2. В разделе “Routing Rules” настройте правила маршрутизации, чтобы направить весь российский трафик через WARP:
• Отредактируйте строку “geosite:openai”, добавив geosite:category-gov-ru,regexp:.*\.ru$,geosite:openai
• Добавьте новое правило: IP: geoip:ru, Outbound tag: WARP.
В итоге благодаря этому мы видим следующую картину - РУ трафик идет через WARP, а зарубежный через сервер.
Сохраните настройки и перезагрузите Xray.
3. Маскировка под сайт и получение ключа
1. Найдите сайт для маскировки. Не советую использовать малоизвестные и мелкие сайты, в моменте они могут перестать работать должным образом, сам недавно с этим столкнулся. Пробуйте yadndex.ru, google.com, cloudflare.com и подобное. Проверьте время отклика сайта с сервера, найдите сайт с наименьшим откликом и используйте его.
Не используйте сайт со скриншота - просто пример.
Проверяем командой ping <адрес сайта>, например ping cloudflare.com.
Настройте 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) завершает создание.
Добавление пользователя.
Нажимаем на три точки и Add Client.
Тут вводим Email - это название профиля (необязательно, можно оставить то, что изначально). И выбираем Flow - xtls-rprx-vision. Нажимаем Add Client, идем дальше.
Получите ключ VLESS: Жмем на QR код в строке с вашим профилем.
Открывается QR, нажатием на него копируется ключ vless, выглядит следующим образом:
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#NiceVPN-%D0%94%D0%BB%D1%8F%20%D1%81%D1%82%D0%B0%D1
Сохраните его в удобном месте, нужен для подключения.
4. Настройка защиты сервера:
3.1. Установка и настройка UFW, обязательно сделать:
Идем обратно в cmd, подключаемся по ssh. Убедитесь, что находитесь не в репозитории 3x-ui, просто введите cd и нажмите Enter.
Для защиты сервера установите и настройте брандмауэр UFW:
sudo apt install ufw -y
Откройте только необходимые порты:
sudo ufw allow 22/tcp # SSH, оставляем 22
sudo ufw allow 54321/tcp # Порт панели 3x-ui, меняем на ваш, который указывали выше
sudo ufw allow 443/tcp # Порт для VLESS/XTLS Reality, оставляем 443
sudo ufw allow 2053/tcp # В случае, если настраиваем CDN.
Включите UFW:
sudo ufw enable
3.2. Настройка Fail2ban, делаем по желанию, но советую сделать, 5 минут по времени.
Установка
Если до этого вы не обновляли базы данных apt, то установку можно начать с этого:
sudo apt update
sudo apt upgrade
После обновления apt можно переходить к установке Fail2ban:
sudo apt install fail2ban
Теперь активируем Fail2ban, чтобы она автоматически запускалась после перезагрузки сервера:
sudo systemctl enable fail2ban
Перед запуском Fail2ban в работу осталось настроить параметры фильтрации, по которым будет происходить блокировка IP.
Настройка
По умолчанию Fail2ban использует правила блокировки, указанные в файле jail.conf. Это системный файл, который обновляется вместе с программой, поэтому использовать его в качестве основного файла с параметрами блокировки не рекомендуется.
Мы создадим собственный конфигурационный файл jail.local. Система приоритетов в Fail2ban настроена таким образом, что в качестве основных применяются правила, указанные в jail.local.
Структура конфигурационного файла
Конфигурационный файл Fail2ban состоит из так называемых jail-ов — отдельных блоков правил для разных служб. В одном файле jail.local можно не только указать все правила для всех сетевых служб сервера, но и управлять их включением и выключением.
Структура всех jail-ов одинакова:
В первой строке в квадратных скобках указывают название службы, к которой будет применяться следующий ниже набор правил. В нашем случае это [sshd].Далее определяют параметр enabled, отвечающий за включение или отключение данного jail-а. Мы установим его true, чтобы наш jail был активен.После этого указывают условия блокировки: максимальное количество попыток подключения (maxretry), время, за которое эти попытки были произведены (findtime), и время, на которое нужно запретить доступ с этого IP (bantime).В последней части jail-а указывают IP-адреса, которые считаются надёжными (ignoreip), например, IP-адрес вашего домашнего компьютера.
Мы рекомендуем добавить в строку ignoreip домашний адрес вашего компьютера, чтобы в случае особо жёстких настроек фильтрации программа не заблокировала вам доступ к серверу — например, после нескольких неудачных попыток ввода пароля.
Создадим конфигурационный файл:
sudo vim /etc/fail2ban/jail.local
Текст конфигурационного файла будет примерно таким:
[sshd] enabled = true
maxretry = 6
findtime = 1h
bantime = 1d
ignoreip = 127.0.0.1/8 23.34.45.56
Этот набор условий означает, что IP-адрес, с которого было произведено 6 неудачных попыток SSH-подключения за последний час (3600 секунд), будет заблокирован на одни сутки (86400 секунд). Не будут блокироваться IP-адреса в диапазоне от 127.0.0.1 до 127.0.0.8 и адрес 23.34.45.56 (указываем свое).
Время для параметров findtime и bantime можно указывать не только в секундах, но и в минутах, часах, днях и даже неделях. Для этого необходимо сразу после численного значения параметра указать соответствующую букву (m, h, d, w).
Получение уведомлений
После строки с указанием надёжных IP можно добавить параметр, отвечающий за отправку на e-mail уведомлений о заблокированных IP.
Добавьте в конфигурационный файл строку:
destemail=admin@example.com
Теперь на указанную здесь почту будут приходить уведомления о каждом заблокированном программой IP-адресе.
Чтобы получать более детальную информацию о заблокированных IP, на сервер можно установить службу whois:
sudo apt install whois
В этом случае в письма о блокировке будут добавлены более подробные сведения, получаемые службой whois.
Будьте внимательны при настройке уведомлений!
Fail2ban отправляет отдельным письмом сведения о каждом заблокированном IP, а в случае брутфорс-атаки количество IP, с которых проводится подключение, может достигать нескольких сотен.
Начало работы
После создания конфигурационного файла, содержащего все необходимые правила, можно запускать Fail2ban и наблюдать за его работой.
Команда для запуска программы:
sudo systemctl start fail2ban
Команда для вывода на экран сведений о работе jail-а, отвечающего за службу sshd:
sudo fail2ban-client status sshd
Если в данный момент сервер не подвергается атаке, сразу после установки и запуска программы на экране будет следующая информация:
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:
Здесь приведены сведения о попытках подключения к серверу и о заблокированных IP-адресах.
Если вы решите изменить настройки, указанные в конфигурационном файле jail.local, не забудьте перезапустить Fail2ban, чтобы изменения вступили в силу:
sudo systemctl restart fail2ban
Подключение к клиенту VLESS
Hiddify. Для Windows и Android.
1. Загрузите и установите приложение Hiddify с [GitHub](https://github.com/hiddify/hiddify-next/releases) или через Google Play для Android.
2. Скопируйте ключ, который был создан ранее, и откройте приложение.
3. Создайте новый профиль, выбрав опцию добавления из буфера обмена.
4. Подключитесь, нажав кнопку «Нажмите для подключения». После этого ваш IP-адрес изменится на IP-адрес вашего сервера.
Streisand. Для IOS
1. Загрузите приложение Streisand из [App Store](https://apps.apple.com/ru/app/streisand/id6450534064).
2. Скопируйте ранее созданный ключ и откройте приложение.
3. Добавьте ключ через опцию «Добавить из буфера обмена».
4.Включите VPN, нажав на кнопку включения. Ваш IP-адрес теперь будет заменен на IP-адрес вашего сервера.
FoxRay. Для MacOS
1. Скачайте приложение FoXray из AppStore по ссылке ниже:
2. Скопируйте ссылку для подключения.
3. Запустите приложение FoXray и нажмите на иконку вставки текста.
4. Готово, профиль добавлен! Теперь нажмите на кнопку "Play", далее разрешите добавление конфигурации VPN и можете пользоваться VPN соединением.