Клиент Hysteria2 для Linux: подключение через CLI и локальный SOCKS-прокси
Практическое руководство по настройке клиента Hysteria2 на Linux. Разбираем установку, минимальный config, systemd, локальный SOCKS5, проверку DNS и безопасность конфигурации.
Содержание
В этой статье разберем, как быстро настроить клиент Hysteria2 на Linux. Вы научитесь подключаться через командную строку и поднимете локальный SOCKS-прокси для браузера и других приложений. Если вы ищете надежный способ обойти ограничения или просто хотите использовать свой VPN-сервер, этот гайд будет полезен. Все шаги проверены на свежем релизе Hysteria2, но мы рекомендуем сверяться с официальным репозиторием, так как версии и параметры могут меняться.
Установка клиента Hysteria2 на Linux
Самый простой вариант — скачать готовый бинарный файл или воспользоваться скриптом установки с официального сайта. Для систем на базе Debian/Ubuntu подойдет команда:
curl -fsSL https://get.hy2.sh/ | bash
Для Fedora, Arch и других дистрибутивов также можно использовать packaged-версии или скомпилировать из исходников. После установки проверьте версию:
hysteria version
Если вы планируете использовать Hysteria2 на нескольких машинах, удобно заранее подготовить конфигурационные файлы. Для пользователей macOS есть отдельная инструкция — клиент Hysteria2 для macOS.
Минимальный конфигурационный файл
Для подключения к вашему серверу потребуется файл config.yaml. Минимальный набор параметров выглядит так:
server: your-server.com:443
auth: YOUR_PASSWORD
tls:
sni: your-server.com
insecure: false
socks5:
listen: 127.0.0.1:1080
Замените your-server.com на адрес вашего VPS и YOUR_PASSWORD на пароль, который вы задали при настройке сервера. Параметр socks5 включает встроенный прокси, который будет слушать локальный порт. Обратите внимание, что поле insecure должно оставаться false в боевых условиях — это гарантирует проверку TLS-сертификата.
Если у вас есть ссылка для импорта (формат hy2://), вы можете использовать специальную команду или конвертировать её в YAML вручную. Подробнее об этом — в статье импорт hy2 URI.
Запуск клиента и проверка подключения
Запустите клиент в терминале:
hysteria client -c config.yaml
Если всё настроено правильно, вы увидите логи, а на порту 1080 начнет работать SOCKS5. Проверьте, что порт действительно слушается:
ss -lntp | grep 1080
Теперь выполните запрос через прокси:
curl --socks5 127.0.0.1:1080 https://api.ipify.org
Ответ должен содержать IP-адрес вашего VPN-сервера, а не ваш локальный адрес. Это подтверждает, что соединение работает.
Настройка автозапуска через systemd
Ручной запуск удобен для единоразовой проверки, но для постоянного использования лучше создать systemd-сервис. Это позволит клиенту Hysteria2 стартовать автоматически после перезагрузки системы и перезапускаться при сбоях. Создайте файл /etc/systemd/system/hysteria-client.service:
[Unit]
Description=Hysteria2 Client
After=network.target
[Service]
ExecStart=/usr/local/bin/hysteria client -c /etc/hysteria/config.yaml
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
Убедитесь, что путь к бинарнику указан корректно (можно проверить командой which hysteria). Разместите ваш config.yaml в /etc/hysteria/ и при необходимости укажите права. Затем выполните:
systemctl daemon-reload
systemctl enable --now hysteria-client
Теперь клиент работает как служба. Проверить статус можно командой systemctl status hysteria-client.
Локальный SOCKS-прокси
Локальный SOCKS-прокси — мост между вашими приложениями и VPN-туннелем. Чтобы браузер или мессенджер начали использовать подключение, укажите адрес 127.0.0.1:1080 в настройках прокси. Для Firefox это можно сделать вручную: Настройки → Сеть → Прокси → Ручная настройка. Укажите SOCKS-хост 127.0.0.1 и порт 1080. В Chrome/Chromium используйте системные настройки прокси или запустите с флагом --proxy-server="socks5://127.0.0.1:1080".
Важно понимать, что SOCKS5 не обязательно шифрует DNS-запросы. Если ваши приложения используют системный резолвер, реальный IP-адрес может быть виден провайдеру. Для критически важной конфиденциальности включите удаленное резолвинг DNS через прокси.
Проверка DNS
Утечка DNS — частая проблема при использовании любых прокси. Чтобы избежать её, настройте клиент так, чтобы DNS-запросы отправлялись через VPN-туннель. В разделе socks5 конфига добавьте:
socks5:
listen: 127.0.0.1:1080
disable_dns: false
В браузерах также нужно включить «DNS через прокси»: в Firefox это параметр network.proxy.socks_remote_dns, установите его в true. В Chrome используйте флаг --host-resolver-rules="MAP * ~NOTFOUND, EXCLUDE localhost". После настройки проверьте, что ваш DNS-запрос не уходит мимо VPN, например, через сайты типа dnsleaktest.com.
Защита файла конфигурации
Конфигурационный файл содержит секретную информацию — пароль для подключения. Не рекомендуется хранить его с правами по умолчанию. Установите строгие права доступа:
chmod 600 config.yaml
Если вы используете systemd-сервис, убедитесь, что файл недоступен для чтения другим пользователям. Также можно вынести пароль в переменную окружения или использовать импортируемый URI. Не включайте реальные данные в публичные репозитории или в скриншоты.
Заключение
Мы разобрали основные шаги по установке и настройке клиента Hysteria2 на Linux. Теперь вы можете запустить Hysteria2 через CLI, поднять автоматический запуск через systemd и использовать локальный SOCKS5 для повседневных задач. Не забывайте про безопасность: защищайте конфигурацию и проверяйте утечки DNS. Если что-то не работает, перечитайте логи клиента — чаще всего ошибки связаны с неверным адресом сервера, паролем или портом. А если вы планируете настраивать сервер с нуля, начните с общей документации Hysteria2.
Мини-чеклист
- Скачать и установить бинарный файл Hysteria2
- Создать config.yaml с сервером, паролем и socks5
- Запустить клиент вручную и проверить curl через прокси
- Создать systemd unit и включить автозапуск
- Проверить, что порт 1080 слушается
- Настроить DNS через прокси в браузере или в конфиге
- Установить права 600 на файл конфигурации
Частые ошибки
- Забывают включить socks5 в конфигурационном файле
- Не ограничивают права доступа к config.yaml
- Используют insecure: true без необходимости
- Не настраивают DNS через прокси, что приводит к утечкам
- Указывают неправильный путь к бинарнику в systemd unit
FAQ
Как установить клиент Hysteria2 на Ubuntu?
Выполните команду curl -fsSL https://get.hy2.sh/ | bash, либо скачайте бинарник с GitHub Releases. Проверьте установку командой hysteria version.
Как настроить локальный SOCKS-прокси в Hysteria2?
В конфигурационном файле config.yaml добавьте блок socks5 с параметром listen, например socks5: listen: 127.0.0.1:1080. После этого используйте адрес 127.0.0.1:1080 в настройках прокси приложений.
Как запустить Hysteria2 как службу systemd?
Создайте файл /etc/systemd/system/hysteria-client.service с ExecStart, указывающим на hysteria client. Затем выполните systemctl daemon-reload и systemctl enable --now hysteria-client.
Как проверить, что DNS не утекает?
Включите DNS через прокси: в конфиге Hysteria2 добавьте disable_dns: false, а в браузере включите socks_remote_dns (Firefox) или используйте флаг --host-resolver-rules в Chrome. Затем пройдите тест на dnsleaktest.com.
Нужен ли мне пароль от сервера для настройки клиента?
Да, пароль или другой метод аутентификации, заданный на сервере, обязателен. Проверьте раздел auth в конфигурации сервера и укажите его в client config.
Хотите перейти сразу к рабочему доступу?
Если сценарий уже ясен и не хочется проходить все шаги вручную, оформите доступ и проверьте подключение на своем устройстве.
Получить доступ