Hysteria2 (hy2)
Что это
Hysteria2 (hy2) — современный прокси-протокол поверх UDP/QUIC. Разработан apernet, вышел в 2023 году как переработка первой версии Hysteria (2022). Заточен под плохие каналы (высокие потери, лаг) — работает там, где TCP-based решения задыхаются.
Отличия от TCP-based (VLESS/Trojan/VMess)
| TCP-based | Hysteria2 | |
|---|---|---|
| Транспорт | TCP | QUIC (UDP) |
| Handshake | 3-way + TLS | QUIC 0-RTT/1-RTT |
| Congestion | CUBIC/BBR ядра ОС | Brutal (свой) |
| При потерях | падение скорости | устойчивый |
| Аутентификация | UUID/пароль/cert | пароль |
| Мимикрия | Reality/Trojan | маскарад под HTTPS-сервер |
Особенности
- QUIC 0-RTT — соединение устанавливается моментально
- Brutal congestion control — не ждёт медленно, если знаешь свою скорость — фигачит на неё сразу
- Salamander obfuscation — обфускация QUIC-заголовков (защита от QUIC-fingerprinting)
- Masquerade — если пришёл HTTP/3 запрос без пароля, сервер отвечает как реальный HTTPS-сайт (аналог fallback у Trojan)
- UDP relay через UDP — родное, не эмуляция
- Bandwidth-aware — клиент декларирует свой канал (например, «100 Мбит»), сервер строит congestion под это
Конфиг сервера
listen: :443
tls:
cert: /etc/letsencrypt/live/example.com/fullchain.pem
key: /etc/letsencrypt/live/example.com/privkey.pem
auth:
type: password
password: your_password
masquerade:
type: proxy
proxy:
url: https://news.ycombinator.com # что показать, если не тот пароль
rewriteHost: true
obfs:
type: salamander
salamander:
password: obfs_password
Аутентификация
Просто пароль. Никаких UUID, timestamp, alter ID. Можно несколько паролей на сервере, каждому пользователю свой.
Как ТСПУ реагирует
Как и HTTP/3, Hysteria2 идёт по UDP-443. ТСПУ шейпит UDP:443 в РФ — то есть искусственно замедляет. Но Hysteria2 живуч даже на 60% потерь пакетов из-за агрессивного Brutal + FEC. С salamander-обфускацией устойчивость выше — QUIC-fingerprint не палится.
Иногда провайдеры полностью блокируют UDP кроме DNS/QUIC — тогда hy2 не работает. Тогда можно упасть на TCP-based VLESS + Reality.
Ядра
Hysteria2 нативно поддерживается:
- Sing-box — родная поддержка (тот же автор SagerNet)
- Xray — с версии 25.x
- Mihomo — да
- Официальный клиент от apernet — github.com/apernet/hysteria
Когда выбирать Hysteria2
- Мобильный интернет с потерями
- Спутник, GSM edge, WiFi через толстые стены
- Провайдеры, которые режут TCP-based прокси, но не трогают UDP
- Хочется 0-RTT и максимальную скорость на хорошем канале