Skip to content

Hysteria2 и смена портов ​

Hysteria2 работает поверх QUIC, по UDP. Он продолжает работать на каналах с потерями и на дальних каналах, где TCP-протоколы глохнут, поэтому хорошо подходит вторым инбаундом рядом с TCP-инбаундом. Со сменой портов клиент переходит между многими портами, и блокировка одного порта лишает пользователя только этого порта.

Для чего он нужен ​

  • Мобильные сети и сети с потерями, а также пользователи далеко от узла.
  • Сети, которые блокируют отдельные UDP-порты, при включённой смене портов. Если UDP заблокирован целиком, это не поможет.

Чего он не умеет: работать там, где UDP не доходит до узла, и работать за CDN. CDN переносит TCP, поэтому панель не даёт включить доменный фронт ни на одном QUIC-инбаунде.

Создание ​

  1. Входящие → Из пресета → Hysteria2 или Добавить и тип hysteria2. Общая форма описана в Инбаунды.
  2. Port на вкладке Basic. Это UDP-порт.
  3. Вкладка TLS обязательна и по умолчанию стоит на Сертификат узла, так что инбаунд работает без дополнительных настроек. Подойдёт любой сертификат из Сертификаты. С самоподписанным сертификатом панель вставляет его отпечаток (pin) в каждую ссылку и каждый файл.
  4. Нажмите Сохранить и добавьте инбаунд в шаблон.

Если на хосте узла работает файрвол, откройте UDP на этом порту и на каждом диапазоне смены портов ниже.

Смена портов ​

На вкладке Protocol поле Port hopping ranges перечисляет дополнительные UDP-порты, на которых тоже отвечает инбаунд, по одному диапазону в строке в виде start:end, например 20000:20999. Всего до 512 портов.

  • Узел сам слушает каждый из них. Правило перенаправления в файрволе добавлять не нужно.
  • Ссылка и файл каждого пользователя несут этот набор, поэтому приложение знает, между какими портами можно переходить.
  • Диапазон, который пересекается с портами другого инбаунда того же шаблона или туннеля, отклоняется при сохранении.

Как часто клиент меняет порт, решает клиент, поэтому это задаётся на той же вкладке как клиентская настройка:

Поле
Интервал смены портасекунды между сменами. Пустое поле оставляет значение по умолчанию самого приложения (в большинстве приложений 30 секунд). Не меньше 5
Интервал смены порта, максимумтолько Hysteria2. Если заданы оба поля, приложение выбирает каждую смену случайно между двумя значениями, и смены перестают быть регулярными

Приложения sing-box читают оба поля. Приложения Clash читают интервал, а на mihomo 1.19.24 и новее — и диапазон. В ссылке нет места ни для того, ни для другого, поэтому приложение, импортировавшее ссылку, использует своё значение по умолчанию. Панель отклоняет максимум без интервала, максимум меньше интервала и всё, что меньше пяти секунд, — те же значения, которые отклонил бы клиент на устройстве пользователя.

Скорость и ограничения для каждого пользователя ​

Узел всегда запускает Hysteria2 с управлением перегрузкой BBR и игнорирует пропускную способность, которую объявляет приложение. Именно поэтому Ограничение скорости пользователя действует на Hysteria2 так же, как везде, и поэтому у инбаунда нет полей пропускной способности. Настройки пропускной способности в приложении пользователя не повышают его скорость.

BBR profile (дополнительное поле) задаёт, насколько напористо узел управляет перегрузкой: пусто или standard, conservative или aggressive.

Другие поля ​

Поле (дополнительное)
Obfs passwordперемешивает каждый пакет паролем, общим для обеих сторон, поэтому для сети, которая анализирует трафик, соединение больше не похоже на Hysteria2. Пароль есть в каждой ссылке; после его смены всем пользователям придётся обновить подписку
Masquerade URLсайт, который узел показывает любому, кто подключается без верного пароля, например браузеру
Idle timeout, Keep-alive period, окна приёма, Max concurrent streamsтонкая настройка QUIC; оставьте пустыми, если у вас нет измеренной причины

Hysteria (версия 1) ​

Форма предлагает и hysteria, первую версию. У неё есть смена портов (без максимума) и Obfs password, но она всегда использует фиксированные скорости: Up (Mbps) и Down (Mbps) не могут быть пустыми, и если вы оставите их пустыми, панель нарочно подставит высокие значения, так что реальным потолком остаётся Ограничение скорости каждого пользователя. Предлагайте её только для приложений без Hysteria2.

Клиентские приложения ​

ФорматHysteria2Hysteria
Ссылкада (hysteria2://)да (hysteria://)
Приложения Clashдада
Приложения sing-boxдада
Приложения на базе Xrayданет

Текст и изображения — CC BY 4.0.