Сервер
Это руководство содержит краткое описание развёртывания сервера Hysteria с рекомендуемыми настройками. Обратите внимание, что Hysteria очень гибок, и представленные здесь параметры — лишь часть доступных возможностей. Для более тонкой настройки обратитесь к Полной конфигурации сервера.
Действия выполнялись в среде Linux, но на других платформах они аналогичны.
Предварительные требования
- Сервер с публичным IP-адресом (подходят как IPv4, так и IPv6)
- Доменное имя, направленное на IP-адрес сервера (подходят как домены верхнего уровня, так и поддомены)
Создание конфигурационного файла
Предположим, что вы уже скачали исполняемый файл для вашей платформы в директорию, например hysteria-linux-amd64-avx. Создайте файл config.yaml в той же директории.
В зависимости от того, хотите ли вы использовать ACME для автоматического получения TLS-сертификата для вашего домена или использовать собственный сертификат, выберите один из следующих шаблонов.
Обязательно замените значения (особенно пароль) на свои.
# listen: :443 (1)
acme:
domains:
- your.domain.net # (2)!
email: [email protected] # (3)!
auth:
type: password
password: Se7RAuFZ8Lzg # (4)!
masquerade: # (5)!
type: proxy
proxy:
url: https://news.ycombinator.com/ # (6)!
rewriteHost: true
- По умолчанию сервер слушает порт 443. Раскомментируйте эту строку, если хотите изменить порт. Если указан только номер порта (без адреса), как в примере, сервер будет слушать на IPv4 и IPv6. Для прослушивания только IPv4 используйте
0.0.0.0:443. Для только IPv6 —[::]:443. - Замените на ваше доменное имя
- Замените на ваш email
- Замените на надёжный пароль по вашему выбору
- Подробнее о маскировке см. ниже
- Замените на URL сайта, под который хотите маскироваться
# listen: :443 (1)
tls:
cert: your_cert.crt # (2)!
key: your_key.key # (3)!
auth:
type: password
password: Se7RAuFZ8Lzg # (4)!
masquerade: # (5)!
type: proxy
proxy:
url: https://news.ycombinator.com/ # (6)!
rewriteHost: true
- По умолчанию сервер слушает порт 443. Раскомментируйте эту строку, если хотите изменить порт. Если указан только номер порта (без адреса), как в примере, сервер будет слушать на IPv4 и IPv6. Для прослушивания только IPv4 используйте
0.0.0.0:443. Для только IPv6 —[::]:443. - Замените на путь к вашему файлу сертификата
- Замените на путь к вашему файлу ключа
- Замените на надёжный пароль по вашему выбору
- Подробнее о маскировке см. ниже
- Замените на URL сайта, под который хотите маскироваться
Маскировка
Одним из ключевых элементов устойчивости Hysteria к цензуре является возможность маскироваться под стандартный HTTP/3-трафик. Это означает, что пакеты не только выглядят как HTTP/3 для промежуточных устройств, но и сервер отвечает на HTTP-запросы как обычный веб-сервер. Однако это означает, что ваш сервер должен действительно отдавать некоторый контент, чтобы выглядеть правдоподобно для потенциальных цензоров.
Для этого в нашем примере используется режим обратного прокси для «заимствования» контента с другого сайта. Обязательно замените URL на сайт, который хотите эмулировать. Hysteria также предлагает несколько других режимов отдачи контента; подробности см. в разделе Маскировка в Полной конфигурации сервера.
Если цензура вас не беспокоит, вы можете полностью удалить секцию masquerade из конфигурационного файла. В этом случае Hysteria будет возвращать «404 Not Found» на все HTTP-запросы.
Запуск сервера
Поскольку Hysteria по умолчанию слушает порт 443, может потребоваться запуск с возможностью cap_net_bind_service или от имени root.
Следующая команда предоставляет необходимую возможность исполняемому файлу:
Запустите сервер следующей командой:
Если вы видите в логах сообщение «server up and running» без ошибок — поздравляем 🎉! Вы успешно развернули сервер Hysteria.
Далее вы можете перейти к руководству по клиенту для настройки клиента.