Что такое Hysteria 2 и почему он на GitHub
Hysteria 2 — это прокси-протокол нового поколения, работающий поверх модифицированного QUIC. Он создан для высокоскоростной передачи данных даже в сетях с потерями пакетов и активно используется для обхода блокировок. Проект с открытым исходным кодом (лицензия MIT), поэтому все исходники, релизы и документация размещены на GitHub в репозитории apernet/hysteria. Именно оттуда скачиваются официальные бинарники для всех платформ — от Linux и Windows до роутеров и маршрутизаторов.
Среди ключевых особенностей — маскировка трафика под стандартный HTTP/3, встроенная аутентификация (пароль, userpass, HTTP-сервер или внешняя команда), поддержка статистики трафика, контроля доступа, проброса портов и многих режимов работы (SOCKS5, HTTP-прокси, TCP/UDP, TProxy, TUN). Благодаря открытому коду и активному сообществу проект быстро развивается: новые функции и исправления появляются регулярно.
GitHub играет центральную роль в экосистеме Hysteria 2. Там можно найти не только официальный код, но и сторонние проекты, такие как H-wave для роутеров Keenetic, клиенты NekoRay, v2rayN, sing-box, а также готовые пакеты и скрипты установки. Для пользователя это означает, что всегда можно получить самую свежую версию, отследить изменения в истории релизов и найти ответы на вопросы в обсуждениях.
Отличия Hysteria 2 от Hysteria 1 и других прокси
Hysteria 2 — это не просто обновление первой версии, а полностью переписанный протокол с иной архитектурой. Если Hysteria 1 использовала собственный протокол на основе QUIC с «Brutal»-контролем перегрузки, то вторая версия сделала ставку на совместимость с HTTP/3, что упрощает маскировку и снижает подозрительность трафика. Появилась встроенная аутентификация, улучшенная обработка UDP, поддержка многопользовательских конфигураций и более гибкая система маскировки (file, proxy, string).
По сравнению с такими протоколами, как Shadowsocks, V2Ray (Xray) или WireGuard, Hysteria 2 выделяется агрессивной оптимизацией для нестабильных сетей. Модифицированный QUIC позволяет добиваться высокой скорости даже при 30–50% потерях пакетов, что делает его идеальным для мобильного интернета, спутниковых каналов и перегруженных магистралей.
Однако у этого есть и обратная сторона: из-за использования QUIC трафик Hysteria 2 может блокироваться на уровне провайдера, если тот применяет DPI для обнаружения QUIC. Частично это решается обфускацией Salamander, которая превращает пакеты в случайные байты без шаблона. Но важно понимать: если сеть блокирует весь неизвестный UDP-трафик, то и Hysteria 2, и любой другой UDP-протокол будут недоступны без дополнительных ухищрений.
Как найти и скачать Hysteria 2 на GitHub
Официальный репозиторий Hysteria 2 находится по адресу github.com/apernet/hysteria. На странице релизов (https://github.com/apernet/hysteria/releases) доступны скомпилированные бинарники для Linux, macOS, Windows, FreeBSD и других платформ. Для каждой версии можно скачать архив, подходящий под архитектуру вашего устройства: amd64 (x86_64), arm64 (aarch64), arm, mipsle и так далее.
Например, для сервера на Debian/Ubuntu с архитектурой amd64 обычно нужен файл hysteria-linux-amd64. Если вы используете роутер Keenetic с архитектурой mipsle, потребуется пакет hysteria_2.12.2_mipsle.ipk из стороннего репозитория H-wave. Для Windows подойдёт hysteria-windows-amd64.exe. Все имена файлов содержат версию и архитектуру, так что ошибиться сложно.
Важно: не скачивайте бинарники со случайных сайтов — только с официального GitHub или из доверенных источников (например, из документации проекта). Перед запуском желательно проверить контрольную сумму файла (checksum), если она указана в релизе. Это защитит от подмены исполняемого файла злоумышленниками.
Кроме того, на GitHub можно найти исходный код и собрать Hysteria самостоятельно, если вы хотите внести изменения или использовать нестандартные флаги сборки. Документация по сборке доступна в разделе Development репозитория.
Установка сервера Hysteria 2 на Linux
Для установки сервера Hysteria 2 на Debian/Ubuntu удобнее всего использовать официальный скрипт, размещённый на get.hy2.sh. Он автоматически загружает последнюю версию, устанавливает её как системный сервис и создаёт базовый конфигурационный файл. Выполните команду:
bash <(curl -fsSL https://get.hy2.sh/)
Если у вас нет прав root, сначала скачайте скрипт и запустите его через sudo:
wget https://get.hy2.sh/install_server.sh && chmod 755 install_server.sh && sudo ./install_server.sh
Альтернативный способ — запуск в Docker-контейнере. Образ tobyxdd/hysteria (или teddysun/hysteria) можно скачать и запустить следующей командой:
sudo docker pull tobyxdd/hysteria sudo mkdir -p /etc/hysteria sudo docker run -d -p 443:443/udp --name hysteria --restart=always -v /etc/hysteria:/etc/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Этот конфиг включает автоматическое получение TLS-сертификата через ACME (нужен домен, направленный на IP сервера). Секция masquerade настраивает сервер отвечать на обычные HTTP-запросы как сайт, что маскирует прокси под легитимный веб-трафик.
Если вы хотите использовать уже имеющийся SSL-сертификат, укажите его путь в секции tls:
tls:
cert: /etc/ssl/private/fullchain.cer
key: /etc/ssl/private/private.keyПосле редактирования конфигурации перезапустите сервис командой sudo systemctl restart hysteria (или sudo service hysteria restart) и проверьте его статус через sudo systemctl status hysteria.
Настройка клиента Hysteria 2
Клиент Hysteria 2 доступен в виде CLI-утилиты или встроен в популярные графические приложения: NekoRay, v2rayN, sing-box, Surfboard и другие. Для быстрого подключения достаточно получить ссылку в формате hysteria2:// — она содержит все параметры: адрес сервера, порт, данные аутентификации, настройки TLS и обфускации.
Пример такой ссылки:
hysteria2://letmein@example.com:443/?insecure=0&obfs=salamander&obfs-password=gawrgura&sni=real.example.com
Если вы используете NekoRay или v2rayN, можно просто импортировать эту ссылку через буфер обмена — приложение само заполнит все поля. В CLI-клиенте нужно создать YAML-конфиг, например, client.yaml:
server: example.com:443
auth: letmein
tls:
sni: real.example.com
insecure: false
obfs:
type: salamander
salamander:
password: gawrgura
socks5:
listen: 127.0.0.1:1080Затем запустить клиент:
hysteria client -c client.yaml
После этого локально поднимется SOCKS5-прокси на порту 1080, который можно использовать в браузере или приложениях. Также поддерживаются режимы HTTP-прокси, TProxy (для прозрачного проксирования) и TUN (создание виртуального сетевого интерфейса).
Для мобильных устройств подходят приложения: Clash Meta (Android), sing-box (iOS), NekoBox (Android). Они позволяют импортировать ту же ссылку hysteria2:// и быстро переключаться между серверами.
Установка Hysteria 2 на роутеры Keenetic через GitHub
Роутеры Keenetic на операционной системе KeeneticOS поддерживают установку сторонних пакетов через систему Opkg и Entware. Для запуска Hysteria 2 на роутере понадобится USB-накопитель, установленный Entware и доступ по SSH. Включите компонент «Модули ядра подсистемы Netfilter» в веб-интерфейсе (Управление → Параметры системы → Общие настройки системы → Изменить набор компонентов → Пакеты OPKG), так как Hysteria использует модули xt_TPROXY, xt_socket, xt_multiport для работы в режимах TPROXY и redirect.
Затем выполните установку пакета из GitHub-репозитория H-wave. Для разных архитектур используются разные пакеты. Определить архитектуру роутера можно командой uname -m. Типичные варианты: mipsle (например, Keenetic Giga) и arm64 (Keenetic Ultra). Команды установки:
opkg install https://github.com/for6to9si/H-wave/releases/download/v2.12.2/hysteria_2.12.2_mipsle.ipk opkg install https://github.com/for6to9si/H-wave/releases/download/v2.12.2/hysteria_2.12.2_arm64.ipk
Если не уверены в архитектуре, попробуйте установить оба — opkg не даст установить неподходящий пакет.
После установки настройки хранятся в /opt/etc/hysteria/config.json. Управление службой осуществляется через скрипт /opt/etc/init.d/S96hysteria:
- /opt/etc/init.d/S96hysteria status — проверить статус
- /opt/etc/init.d/S96hysteria restart — перезапустить с применением маршрутизации
- /opt/etc/init.d/S96hysteria fast_restart — быстрый перезапуск без изменения маршрутов
- /opt/etc/init.d/S96hysteria stop — остановить
Логи Hysteria можно посмотреть в файле /opt/var/log/hysteria.log. Если нужно отключить подробный вывод, установите переменную DEBUG=false в скрипте S96hysteria.
Конфигурация сервера и клиента: ключевые параметры
Для сервера Hysteria 2 существует множество настроек, позволяющих гибко адаптировать работу под ваши задачи. Основные секции конфигурации: listen (адрес и порт), acme (автоматический выпуск TLS-сертификатов), tls (если используете свои сертификаты), auth (аутентификация), masquerade (маскировка), obfs (обфускация), trafficStats (статистика), acl (контроль доступа).
Секция auth поддерживает несколько типов. Простейший — пароль, общий для всех пользователей. Для разграничения доступа используйте userpass, где можно задать несколько паролей для разных пользователей. Есть также интеграция с внешним HTTP-сервером или командой: сервер при подключении клиента отправляет запрос на указанный URL или вызывает команду с параметрами (адрес, auth, tx), и если ответ положительный (ok: true), соединение разрешается.
Маскировка masquerade — ключевая функция для обхода DPI. В режиме proxy сервер выступает как обратный прокси и отдаёт контент указанного сайта. Например, если настроить masquerade на https://news.ycombinator.com/, то при попытке зайти на IP сервера через браузер вы увидите этот сайт. Это делает сервер неотличимым от обычного веб-сервера.
Обфускация obfs типа salamander превращает трафик в случайные байты, что помогает обходить блокировки QUIC. Пароль для обфускации должен совпадать на сервере и клиенте. Однако помните: включение обфускации ломает совместимость с обычным HTTP/3 и может привлечь внимание провайдеров, которые блокируют неизвестный UDP-трафик.
Для клиента важны параметры транспортного уровня, такие как hopInterval для смены портов, и опции fastOpen (ускорение установки соединения) и lazy (медленное подключение, когда соединение устанавливается только при первом запросе). Эти параметры позволяют оптимизировать работу под конкретные условия сети.
Обход блокировок: маскировка под HTTP/3 и обфускация Salamander
Основная защита Hysteria 2 от цензуры — маскировка под стандартный HTTP/3. Протокол QUIC, лежащий в основе HTTP/3, выглядит для DPI как обычный веб-трафик. Однако во многих странах, включая Россию, QUIC активно блокируется или ограничивается. Чтобы обойти это, Hysteria 2 предлагает обфускацию Salamander, которая шифрует полезную нагрузку и делает пакеты неотличимыми от случайного UDP-трафика.
Включение обфускации требует указания пароля на обеих сторонах. Например, в конфиге сервера:
obfs:
type: salamander
salamander:
password: cry_me_a_r1verА в клиентской ссылке добавляются параметры obfs=salamander и obfs-password=...
Однако есть важный нюанс: некоторые интернет-провайдеры блокируют весь неизвестный UDP-трафик, не только QUIC. В таком случае даже обфускация не поможет. Как отмечают пользователи на форумах, включение обфускации на роутерах Keenetic приводило к тому, что сотовые операторы начинали дропать пакеты. В таких ситуациях лучше отключить обфускацию и настроить Hysteria на использование стандартного QUIC, либо применять проброс портов (port hopping) для обхода блокировок по портам.
Port hopping — техника, при которой клиент подключается к случайному порту из большого диапазона, а сервер с помощью iptables перенаправляет трафик на свой основной порт. Это помогает, когда провайдер блокирует только определённые порты. На сервере настройка выглядит так:
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 20000:50000 -j DNAT --to-destination :443
А клиент указывает диапазон портов в адресе сервера: example.com:20000-50000. Дополнительно можно задать интервал смены порта через hopInterval.
Устранение типичных проблем при работе с Hysteria 2
При настройке Hysteria 2 пользователи часто сталкиваются с типичными ошибками. Рассмотрим наиболее распространённые и способы их решения.
- Ошибки в YAML-конфигурации. Из-за неправильных отступов или лишних пробелов сервер может не запуститься. Внимательно проверяйте структуру файла. Помните, что в YAML нельзя использовать табуляцию.
- Не удаётся получить TLS-сертификат. Убедитесь, что домен правильно делегирован на IP вашего сервера, а порт 80/443 открыт для ACME-запросов. Для российских доменов используйте центр сертификации letsencrypt.
- Трафик не проходит, хотя соединение устанавливается. Часто это связано с неправильной настройкой маршрутизации на клиенте или роутере. На Keenetic проверьте, что порты в конфигурациях Hysteria и H-wave совпадают. Если используется режим TUN, добавьте в конфиг клиента параметр ipv4Exclude: "0.0.0.0/0" — это может устранить замыкание маршрутов.
- Блокировка QUIC провайдером. Если соединение устанавливается, но скорость падает или трафик не идёт, возможно, провайдер режет QUIC. Попробуйте включить обфускацию Salamander или использовать port hopping.
- Конфликты с другими прокси. Если на роутере уже установлен xkeen или другой прокси, могут возникать конфликты портов. Проверьте занятость портов командой netstat -tulpn и измените порты Hysteria при необходимости.
- Ошибка при запуске на роутере Keenetic. Убедитесь, что установлены все модули ядра (xt_TPROXY, xt_socket, xt_multiport) и включён компонент Netfilter. После обновления прошивки может потребоваться переустановка пакета с GitHub.
Если проблема не решается, обратитесь к логам: журнал сервера Hysteria находится в /var/log/hysteria.log или в контейнере через docker logs, на роутере — в /opt/var/log/hysteria.log.
Практические примеры: связка Hysteria 2 с другими инструментами
Hysteria 2 можно использовать не только как самостоятельный прокси, но и в связке с другими инструментами для создания более гибких конфигураций. Например, многие пользователи запускают Hysteria 2 на сервере вместе с Xray-core, используя его как транспорт для VLESS или Shadowsocks. Xray-core начиная с версии v26.1.23 поддерживает Hysteria 2 в качестве транспорта, но, как отмечают опытные пользователи, встроенная реализация может работать менее стабильно, чем родной Hysteria. Поэтому для критически важных подключений лучше использовать отдельный процесс Hysteria.
Для роутеров Keenetic популярна связка Hysteria 2 с проектом H-wave, который добавляет графический интерфейс и упрощает управление. H-wave автоматически настраивает маршрутизацию, создаёт правила для перенаправления трафика и позволяет легко включать/выключать прокси через веб-интерфейс Keenetic. Установка пакета hysteria из H-wave автоматически создаёт необходимые политики доступа.
Клиенты Hysteria 2 хорошо интегрируются с другими приложениями. Например, NekoRay позволяет одновременно использовать несколько серверов с разными протоколами (Shadowsocks, V2Ray, Hysteria) и автоматически переключаться между ними. Это удобно для обеспечения отказоустойчивости: если один протокол заблокирован, трафик пойдёт через другой.
Также Hysteria 2 можно использовать для организации удалённого доступа к домашней сети через TUN-режим. В этом случае создаётся виртуальный сетевой интерфейс, через который можно маршрутизировать весь трафик, включая локальные сети. Это позволяет безопасно работать из любого места, как будто вы находитесь дома.
Наконец, для разработчиков и системных администраторов полезна возможность интеграции Hysteria 2 с внешними сервисами аутентификации и учёта трафика через HTTP API или команды. Это позволяет строить сложные инфраструктуры с биллингом, ограничением скорости и персональными настройками для каждого пользователя.
Вопросы и ответы
Как скачать Hysteria 2 с GitHub?
Зайдите на официальный репозиторий github.com/apernet/hysteria и перейдите в раздел Releases. Там выберите нужную версию и скачайте архив, соответствующий вашей ОС и архитектуре. Например, для Linux amd64 — файл hysteria-linux-amd64, для Windows — hysteria-windows-amd64.exe. Убедитесь, что скачиваете файл только из этого репозитория или из проверенных источников, указанных в документации.
Что делать, если Hysteria 2 не работает из-за блокировки QUIC?
Если провайдер блокирует или ограничивает QUIC-трафик, включите обфускацию Salamander. Для этого на сервере в конфиг добавьте секцию obfs с типом salamander и паролем, а на клиенте укажите те же параметры в ссылке hysteria2://. Если это не помогает, попробуйте использовать port hopping — клиент будет подключаться к случайным портам из диапазона, что затрудняет блокировку.
Можно ли установить Hysteria 2 на роутер Keenetic?
Да, это возможно при наличии USB-накопителя и установленного Entware. Включите модули ядра Netfilter в настройках KeeneticOS, затем установите пакет hysteria из GitHub-репозитория H-wave с помощью opkg. После установки настройте файл /opt/etc/hysteria/config.json и управляйте службой через скрипт /opt/etc/init.d/S96hysteria.
Какие параметры нужно указать в конфигурации сервера Hysteria 2?
Минимальный набор включает адрес прослушивания (listen), секцию TLS (либо через ACME с доменом и email, либо указав свои сертификаты), аутентификацию (auth) и маскировку (masquerade). Для повышения безопасности можно добавить обфускацию, статистику и ACL. Полный список параметров описан в документации проекта на GitHub.
Чем Hysteria 2 отличается от Hysteria 1?
Hysteria 2 — это полностью переписанный протокол, основанный на HTTP/3-совместимом QUIC. В отличие от первой версии, он включает встроенную аутентификацию, поддержку нескольких пользователей, гибкую маскировку (file, proxy, string) и лучшую производительность. Hysteria 1 больше не развивается, поэтому для новых проектов рекомендуется использовать вторую версию.
Как настроить клиент Hysteria 2 для использования с NekoRay или v2rayN?
Проще всего импортировать ссылку hysteria2://, которую вы получили от своего VPN-провайдера или сгенерировали сами. В NekoRay или v2rayN выберите пункт «Импорт из буфера обмена» — приложение автоматически заполнит все параметры. Если ссылки нет, вручную создайте профиль, указав адрес сервера, порт, пароль и настройки TLS/обфускации.
Почему Hysteria 2 может не работать на сотовых операторах?
Некоторые мобильные операторы используют DPI и блокируют неизвестный UDP-трафик, особенно если он выглядит как QUIC. Если Hysteria 2 с обфускацией не работает, попробуйте отключить обфускацию и использовать стандартный QUIC. Также можно сменить порт или применить port hopping. В крайнем случае рассмотрите использование TCP-протоколов, таких как Shadowsocks или XTLS-Reality.