todo/Hysteria/install-server.md
loop-uh 08b4491545
Some checks failed
Published content check / validate (push) Failing after 3s
Завершить переезд базы знаний на Forgejo
Обновить правила репозитория и подписи исходников в 99 заметках, не затрагивая пользовательские незакоммиченные файлы. Сделать Forgejo Actions содержательным: проверять опубликованный commit, а не пустое рабочее дерево после checkout.
2026-08-07 08:27:28 +03:00

12 KiB
Raw Permalink Blame History

date tags aliases link
2026-07-11
hysteria
установка
systemd
vps
Установка сервера Hysteria 2
Hysteria install script
get.hy2.sh
https://v2.hysteria.network/docs/getting-started/Installation/

🦎 Hysteria 2 — установка сервера

[!info] О чём заметка Практический гайд по установке серверной части Hysteria 2 на Linux-VPS: официальный bash-скрипт с systemd-сервисом, ручная установка бинарника и Docker. Обзор протокола и модели «клиент-сервер» — в Hysteria/00-overview. После установки нужно написать конфиг — см. Hysteria/config-server.

TL;DR

  • Проще всего — официальный скрипт: bash <(curl -fsSL https://get.hy2.sh/). Он ставит бинарник и заводит systemd-сервис hysteria-server.service.
  • Скрипт только устанавливает и создаёт пример конфига. Рабочий конфиг с доменом, паролем и сертификатом нужно Hysteria/config-server в /etc/hysteria/config.yaml, иначе сервис не запустится.
  • Конфиг лежит в /etc/hysteria/config.yaml, запуск/перезапуск — через systemctl, логи — через journalctl.
  • Нужен дистрибутив с systemd: Debian 11+, Ubuntu 22.04 LTS+, Rocky/CentOS Stream 8+, Fedora 37+. CentOS 7 и busybox-системы (Alpine, OpenWrt) не поддерживаются.
  • Один и тот же бинарник hysteria — это и сервер, и клиент; режим выбирается аргументом (hysteria server / hysteria client).

Требования

  • VPS с публичным IP (IPv4 или IPv6 — оба подходят). Нет белого IP (дом, CGNAT, мобильный модем)? Сервер всё равно можно поднять — см. Hysteria/realms-nat.
  • Домен, указывающий на IP сервера (подойдёт и поддомен). Домен нужен, чтобы Hysteria автоматически получила TLS-сертификат через ACME (Let's Encrypt / ZeroSSL). Без домена придётся использовать самоподписанный сертификат — см. Hysteria/config-client, раздел про insecure/pinSHA256.
  • Для скрипта установки: система на systemd (команда systemctl) и установленные bash, grep, curl, GNU Coreutils (не busybox-версии).

[!tip] Какой дистрибутив выбрать новичку Для нового VPS берите стабильную версию мейнстрим-дистрибутива не старше 2 лет. Рекомендованные официальной документацией: Debian 11+, Ubuntu 22.04 LTS+, Rocky Linux 8+, CentOS Stream 8+, Fedora 37+. Явно избегайте CentOS 7 (старое ядро ломает QUIC-соединения). Не поддерживаются busybox-системы: OpenWrt, Alpine Linux, NixOS.

Способ 1 — официальный скрипт установки (рекомендуется)

Официальный bash-скрипт скачивает свежий бинарник, кладёт его в систему и настраивает systemd-сервис. Он аналогичен пакетному менеджеру: устанавливает и обновляет, но сам сервис не настраивает до рабочего состояния — генерирует только пример конфига.

Установка или обновление

Установить (или обновить до последней версии):

bash <(curl -fsSL https://get.hy2.sh/)

Установить конкретную версию (например, v2.9.3):

bash <(curl -fsSL https://get.hy2.sh/) --version v2.9.3

Удаление

bash <(curl -fsSL https://get.hy2.sh/) --remove

Полезные варианты запуска скрипта

  • Установка из локального файла — если VPS не может достучаться до GitHub Releases, скачайте бинарник вручную и передайте путь: bash <(curl -fsSL https://get.hy2.sh/) --local /path/to/hysteria-linux-amd64.
  • Указать архитектуру (в основном для AVX-сборки, она быстрее на поддерживающих AVX процессорах): ARCHITECTURE=amd64-avx bash <(curl -fsSL https://get.hy2.sh/).
  • Запуск от root — если не хотите возиться с правами (например, при внешней генерации сертификатов): HYSTERIA_USER=root bash <(curl -fsSL https://get.hy2.sh/). Вернуть обычного пользователя: HYSTERIA_USER=hysteria bash <(curl -fsSL https://get.hy2.sh/).

[!warning] Скрипт не «настроит всё сам» Официальный get.hy2.sh — это установщик, а не «мастер настройки под ключ». Он создаёт пример конфига, но не пропишет за вас домен, пароль и сертификат. Рабочий конфиг нужно написать самому (см. Hysteria/config-server). Существуют сторонние «скрипты Hysteria 2», которые ставят и настраивают всё разом, но это чужой неофициальный код — запускать его от root на своём сервере стоит только осознанно и из доверенного источника.

Управление сервисом (systemd)

После установки скриптом сервис называется hysteria-server.service.

Отредактировать конфиг:

nano /etc/hysteria/config.yaml

Включить автозапуск и сразу стартовать:

systemctl enable --now hysteria-server.service

Перезапустить (обычно после правки конфига):

systemctl restart hysteria-server.service

Проверить статус:

systemctl status hysteria-server.service

Посмотреть логи сервера:

journalctl --no-pager -e -u hysteria-server.service

[!tip] Как понять, что сервер поднялся В логах должно появиться сообщение «server up and running» без ошибок. Если вместо этого видите ошибки про permission denied на порт 443 или про сертификат — загляните в Hysteria/troubleshooting.

Способ 2 — ручная установка бинарника

Если systemd-скрипт не подходит (например, нестандартная система), можно скачать исполняемый файл напрямую. Ссылка вида https://download.hysteria.network/app/latest/[имя файла] всегда ведёт на последнюю версию — удобно для скриптов и автоматизации.

Имена файлов для Linux (выберите под свою архитектуру):

Файл Архитектура Примечание
hysteria-linux-amd64 x86-64 обычный
hysteria-linux-amd64-avx x86-64 требует поддержки AVX (быстрее)
hysteria-linux-arm64 ARM64
hysteria-linux-arm ARMv7
hysteria-linux-386 x86

Есть также сборки под Windows, macOS (включая ARM/M1), FreeBSD и Android (последние — ELF-бинарники под NDK, а не APK). Полный список — в официальной документации.

Пример: скачать, сделать исполняемым и запустить как сервер с конфигом config.yaml в текущей папке:

curl -fsSL -o hysteria https://download.hysteria.network/app/latest/hysteria-linux-amd64-avx
chmod +x hysteria
./hysteria server -c config.yaml

[!warning] Порт 443 требует привилегий Hysteria по умолчанию слушает 443 порт, а порты ниже 1024 недоступны обычному пользователю. Либо запускайте от root, либо выдайте бинарнику право привязываться к привилегированным портам: sudo setcap cap_net_bind_service=+ep ./hysteria. Подробнее об этой ошибке — в Hysteria/troubleshooting.

Способ 3 — Docker

Официальный образ — tobyxdd/hysteria. Пример docker-compose.yaml:

version: "3.9"
services:
  hysteria:
    image: tobyxdd/hysteria
    container_name: hysteria
    restart: always
    network_mode: "host"
    cap_add:
      - NET_ADMIN
    volumes:
      - acme:/acme
      - ./hysteria.yaml:/etc/hysteria.yaml
    command: ["server", "-c", "/etc/hysteria.yaml"]
volumes:
  acme:

Capability NET_ADMIN нужна только если включён Hysteria/obfs-port-hopping (серверу надо править правила фаервола). Для обычной работы её можно убрать.

Что дальше

После установки бинарник есть, но сервис ещё не работает — нужен конфиг. Переходите к Hysteria/config-server: домен, ACME-сертификат, пароль аутентификации и маскировка под сайт.

📚 См. также


[!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны в Forgejo: исходник этой заметки · весь репозиторий.