# Server Hysteria2 baseline ## Цель документа Зафиксировать правила для серверного слоя Hysteria2 в модели, где UI поставляется вместе с проектом, а Hysteria берётся из official upstream во время установки. ## Роль Hysteria2 Hysteria2 — основной транспортный компонент сервера. Он не форкается и не поставляется как часть UI-форка. ## Source policy Базовое правило: - Hysteria2 скачивается **во время установки** - источник — **официальный upstream** - install layer не должен подменять собой upstream-дистрибуцию Hysteria2 ## Версионная политика С учётом выбранной модели «берём свежее из upstream» фиксируется такая практика: - по умолчанию install layer тянет **свежий upstream release / install source** - фактически установленная версия обязательно записывается в `post-install.env` - документация не обещает жёсткий pin как baseline - если оператору нужна строгая фиксация версии, это отдельный режим, а не базовая модель ## Платформа - ОС: только Debian 12 - init/system management: systemd - сетевой фильтр: nftables - архитектура baseline: x86_64/amd64 ## Listen и сеть ### Listen - только IPv4 - формат: `0.0.0.0:` ### Порт - один фиксированный UDP-порт - этот порт должен совпадать в: - server config - firewall rules - `post-install.env` ## Обфускация В baseline включается: - `obfs.type: salamander` - `obfs.password` Правила: - пароль должен быть сильным - пароль должен фиксироваться в конфигурационном контуре - значение должно быть доступно оператору через runtime config и `post-install.env` ## TLS Требования: - нормальный домен - корректный `server_name` / SNI на клиентах - одна понятная TLS policy - без смешивания нескольких несовместимых схем по умолчанию ## Auth policy Для baseline выбирается одна предсказуемая auth-модель. Правила: - install flow должен оставить рабочий auth state - bootstrap auth material должен быть либо передан оператором, либо безопасно сгенерирован - дальнейшая модель выдачи доступа пользователям не фиксируется в этом пакете docs ## Bandwidth и congestion Серверная baseline policy: - `bandwidth.up = 50 mbps` - `bandwidth.down = 50 mbps` - `ignoreClientBandwidth = false` Важно: - эти параметры сами по себе не исчерпывают speed policy - корректный лимит ожидается только в паре с совместимым клиентским конфигом ## Рекомендуемые пути - `/etc/hysteria/config.yaml` - `/var/lib/hysteria/` - `/etc/hysteria/post-install.env` ## Серверные инварианты После установки должно быть верно: 1. Hysteria2 получена из official upstream 2. фактическая версия отражена в `post-install.env` 3. конфиг валиден 4. сервис стартует через systemd 5. нужный UDP-порт реально слушается 6. тестовый совместимый клиент может подключиться 7. bundled UI работает поверх актуального состояния сервера