Что такое Hysteria и почему он работает быстрее
Hysteria — это прокси-протокол, построенный на модифицированной версии QUIC, который изначально разрабатывался для обхода блокировок и обеспечения высокой скорости на нестабильных каналах. В отличие от традиционных VPN на базе TCP, Hysteria использует UDP, что позволяет ему не разваливаться при потерях пакетов. Алгоритмы контроля перегрузки, заложенные в протокол, агрессивно восстанавливают скорость, поэтому видео, звонки и загрузка файлов остаются стабильными даже при сильных помехах.
Вторая версия протокола, Hysteria 2, получила улучшенную маскировку под HTTP/3 и более гибкую систему аутентификации. Снаружи трафик выглядит как обычное HTTPS-соединение, что затрудняет его обнаружение по сигнатуре. Это делает Hysteria 2 популярным выбором для пользователей, которым нужна скорость и устойчивость к цензуре.
Важно понимать: Hysteria — это не классический VPN в строгом смысле, а скорее прокси с функциями туннелирования. Он поддерживает режимы SOCKS5, HTTP-прокси, пересылку TCP/UDP и Linux TProxy. Это означает, что вы можете направить через него как весь трафик устройства, так и только трафик отдельных приложений.
Подготовка сервера и домена
Перед установкой Hysteria вам понадобится VPS с Linux (Debian или Ubuntu) и SSH-доступом с правами root. Минимальные требования к железу невысоки: подойдёт самый дешёвый тариф, так как основная нагрузка ложится на сетевой канал, а не на процессор или память.
Обязательно наличие домена. Hysteria 2 маскируется под HTTPS, а для этого нужен TLS-сертификат, который выпускается на доменное имя, а не на IP-адрес. Домен можно купить у любого регистратора или получить бесплатно на dynu.com. После покупки настройте A-запись, указывающую на IP вашего VPS, и дождитесь обновления DNS (обычно от пары часов до суток).
Перед установкой рекомендуется обновить систему:
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt install curl -yПосле обновления перезагрузите сервер, чтобы применить новое ядро, если оно было установлено.
Установка Hysteria на сервер: два способа
Существует два основных способа установки Hysteria на сервер: через официальный скрипт и через Docker. Оба варианта рабочие, выбор зависит от ваших предпочтений.
Установка через скрипт
Самый простой способ — использовать официальный установщик:
bash <(curl -fsSL https://get.hy2.sh/)Если вы запускаете скрипт от пользователя с правами sudo, может возникнуть ошибка доступа к /dev/fd. В этом случае скачайте скрипт и запустите его с sudo:
wget https://get.hy2.sh/install_server.sh && chmod 755 install_server.sh && sudo ./install_server.shСкрипт установит бинарник Hysteria и создаст базовый конфигурационный файл в /etc/hysteria/config.yaml.
Установка через Docker
Если вы предпочитаете контейнеризацию, используйте Docker:
sudo docker pull tobyxdd/hysteria
sudo mkdir -p /etc/hysteria
sudo nano /etc/hysteria/server.yaml
sudo docker run -d -p 443:443/udp --name hysteria --restart=always -e TZ=Europe/Moscow -v /etc/hysteria:/etc/hysteria teddysun/hysteriaОбратите внимание: в команде docker run используется образ teddysun/hysteria, а не tobyxdd/hysteria (в статье на Хабре опечатка). Убедитесь, что порт в команде совпадает с портом в конфигурации.
Конфигурация сервера: базовые параметры
После установки отредактируйте конфигурационный файл /etc/hysteria/config.yaml. Вот минимальный рабочий пример:
listen: :443
acme:
domains:
- your.domain.com
email: your@email.com
auth:
type: password
password: your_strong_password
masquerade:
type: proxy
proxy:
url: https://news.ycombinator.com/
rewriteHost: trueРазберём ключевые параметры:
- listen — порт, на котором сервер будет принимать соединения. По умолчанию 443 (порт HTTPS), что делает трафик похожим на обычный веб.
- acme — автоматическое получение TLS-сертификата через Let's Encrypt. Укажите ваш домен и email. Для российских доменов используйте центр сертификации letsencrypt (параметр
ca: letsencrypt). - auth — аутентификация. Можно использовать единый пароль (
type: password) или многопользовательскую конфигурацию (type: userpass). - masquerade — маскировка. Сервер будет отвечать на HTTP-запросы как обычный веб-сервер, что делает его похожим на легитимный сайт. Режим
proxyподставляет контент с указанного URL.
Важно: в YAML отступы делаются только пробелами, табуляция недопустима. Ошибка в отступе может привести к неработоспособности конфигурации.
Расширенная настройка: аутентификация и маскировка
Hysteria поддерживает несколько способов аутентификации. Помимо простого пароля, можно использовать многопользовательский режим:
auth:
type: userpass
userpass:
user1: pass1
user2: pass2Также доступна HTTP-аутентификация, при которой сервер отправляет POST-запрос на ваш бэкенд с данными клиента (адрес, пароль, объём трафика). Ответ должен содержать JSON с полем ok и идентификатором пользователя. Это удобно для интеграции с биллинговыми системами.
Маскировка — ключевая функция для обхода блокировок. Режим proxy подставляет контент с реального сайта, что делает сервер неотличимым от обычного веб-сервера. Рекомендуется выбирать сайт, который находится в той же подсети, что и ваш VPS — это повышает правдоподобность.
Если маскировка не нужна, можно опустить секцию masquerade — тогда сервер будет возвращать 404 для всех HTTP-запросов, что может привлечь внимание.
Обфускация трафика и проброс портов
По умолчанию Hysteria имитирует HTTP/3, но если ваш провайдер блокирует QUIC, можно включить обфускацию Salamander. Она преобразует пакеты в случайные байты без шаблона, что делает трафик неотличимым от случайного шума.
obfs:
type: salamander
salamander:
password: your_obfs_passwordПароль должен совпадать на сервере и клиенте. Включение обфускации делает сервер несовместимым со стандартными QUIC-соединениями, поэтому он перестанет выглядеть как HTTP/3.
Проброс портов (port hopping) помогает обойти блокировку постоянных UDP-соединений. Клиент может подключаться к разным портам сервера, периодически переключаясь. На сервере настройте iptables для перенаправления диапазона портов на основной порт:
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 20000:50000 -j DNAT --to-destination :443На клиенте укажите несколько портов через запятую или диапазон в адресе сервера.
Настройка клиентов: Windows, Android, iOS
Для подключения к Hysteria 2 вам понадобится клиент, поддерживающий этот протокол. Популярные варианты:
- NekoBox/NekoRay (Windows, Android) — поддерживает Hysteria 2, импорт по ссылке.
- Hysteria Official Client — кроссплатформенное приложение.
- Amnezia VPN — поддерживает Hysteria 2 на различных платформах.
Настройка в NekoBox (Windows):
- Скопируйте ссылку вида
hy2://password@server:443из панели управления или письма. - Откройте NekoBox, выберите «Сервер» → «Добавить профиль из буфера обмена».
- Профиль появится в списке. Дважды кликните по нему, чтобы заполнить данные: имя, адрес, порт, пароль.
- Включите режим TUN (весь трафик) или системный прокси (только браузеры).
- Нажмите «Запустить».
Для Android можно использовать NekoBox или v2rayNG с поддержкой Hysteria 2. На iOS — приложения типа Shadowrocket или Stash.
Если вы используете панель 3X-UI, ссылку и QR-код можно получить прямо из интерфейса панели.
Использование панели 3X-UI для управления
3X-UI — это веб-панель, которая упрощает управление несколькими прокси-протоколами, включая Hysteria 2. Вместо редактирования конфигов в терминале вы создаёте подключения через браузер.
Установка и настройка:
- Установите панель одной командой из официального репозитория GitHub.
- Зайдите в панель по адресу сервера и порту, указанному в выводе установщика.
- Сразу смените стандартный логин, пароль и порт входа — иначе панель будет открыта для сканеров.
- Выпустите TLS-сертификат через встроенный инструмент или укажите готовый.
- Создайте inbound с типом Hysteria 2, укажите UDP-порт, пароль и сертификат.
- Откройте UDP-порт в файрволе.
- Скопируйте ссылку или QR-код для клиента.
Панель удобна для управления несколькими пользователями: она считает трафик, позволяет отключать доступ и добавлять новых клиентов без перезапуска сервера.
Важно: 3X-UI — это дополнительный слой, который сам требует защиты. Не оставляйте дефолтные учётные данные, используйте HTTPS для входа и ограничьте доступ по IP, если возможно.
Сравнение Hysteria 2 с другими протоколами
Hysteria 2 часто сравнивают с VLESS Reality, Trojan и WireGuard. Вот ключевые различия:
- Транспорт: Hysteria 2 работает по UDP (QUIC), VLESS и Trojan — по TCP, WireGuard — по UDP.
- Скорость на потерях: Hysteria 2 показывает лучшие результаты на нестабильных каналах благодаря алгоритмам QUIC. TCP-протоколы проседают при потерях пакетов.
- Маскировка: Hysteria 2 маскируется под HTTP/3, VLESS Reality — под чужой сайт, Trojan — под HTTPS. Все три достаточно незаметны.
- Требования к домену: Hysteria 2 нужен домен, VLESS Reality может работать без него, Trojan обычно тоже требует домен.
- Риск блокировки: UDP чаще подвергается ограничениям, поэтому Hysteria 2 может быть заблокирован там, где TCP-протоколы работают.
В панели 3X-UI можно держать несколько протоколов одновременно, используя Hysteria 2 как основной, а VLESS или Trojan как запасной вариант.
Частые проблемы и их решение
Клиент не подключается, хотя панель показывает зелёный статус.
В 90% случаев проблема в закрытом UDP-порту. Проверьте, что в файрволе открыт именно UDP-порт, а не только TCP. Также убедитесь, что сертификат выпущен на тот домен, который указан в конфигурации клиента.
Ошибка при запуске сервера.
Чаще всего это связано с неправильными отступами в YAML. Проверьте, что используете пробелы, а не табуляцию. Также убедитесь, что файлы сертификатов доступны для чтения (chmod 644).
Низкая скорость.
Если провайдер ограничивает UDP, скорость Hysteria 2 может быть ниже, чем у TCP-протоколов. Попробуйте включить обфускацию Salamander или переключиться на VLESS.
Сервер обнаруживается.
Убедитесь, что маскировка настроена правильно и сервер действительно отдаёт контент. Если используется обфускация, сервер перестаёт быть похожим на HTTP/3, что может привлечь внимание.
Вопросы и ответы
Нужен ли домен для настройки Hysteria 2?
Да, домен обязателен, потому что Hysteria 2 маскируется под HTTPS, а для этого нужен TLS-сертификат, который выпускается на доменное имя. Можно использовать бесплатный домен от dynu.com или купить дешёвый у регистратора. Главное — настроить A-запись на IP вашего сервера и дождаться обновления DNS.
Почему клиент не подключается, хотя сервер запущен?
Чаще всего причина в закрытом UDP-порту. Проверьте, что в файрволе открыт именно UDP-порт, указанный в конфигурации. Также убедитесь, что сертификат выпущен на тот домен, который прописан в клиенте, и что пароль совпадает.
Hysteria 2 быстрее, чем VLESS или WireGuard?
На нестабильных каналах с потерями пакетов Hysteria 2 обычно быстрее, потому что QUIC не разваливается при потерях. На ровном канале разница незначительна. Однако если провайдер ограничивает UDP, Hysteria 2 может проигрывать TCP-протоколам.
Как защитить панель 3X-UI от взлома?
Сразу после установки смените стандартный логин, пароль и порт входа. Включите HTTPS для доступа к панели. По возможности ограничьте доступ по IP-адресу. Не оставляйте дефолтные настройки даже на час — сканеры находят открытые панели очень быстро.
Можно ли использовать Hysteria 2 и другие протоколы одновременно?
Да, в панели 3X-UI можно создать несколько inbound с разными протоколами (Hysteria 2, VLESS, Trojan) на разных портах. Это удобно для подстраховки: если UDP заблокируют, вы переключитесь на TCP-протокол.
Сколько времени занимает настройка Hysteria 2?
Если сервер и домен уже готовы, настройка через 3X-UI занимает 15–30 минут. Ручная настройка через конфиг может занять больше времени, особенно если вы новичок в Linux. Основное время уходит на ожидание обновления DNS и выпуск сертификата.