---
date: 2026-07-11
tags:
  - hysteria
  - конфигурация
  - клиент
  - socks5
  - tun
aliases:
  - Конфиг клиента Hysteria 2
  - Hysteria client config
  - Hysteria SOCKS5 TUN
link: https://v2.hysteria.network/docs/getting-started/Client/
---

# 🦎 Hysteria 2 — конфиг клиента

> [!info] О чём заметка
> Как настроить клиентскую часть Hysteria 2 на своём устройстве: адрес сервера, пароль, локальный SOCKS5/HTTP-прокси и режим TUN (полноценный VPN-туннель). Серверную часть нужно поднять заранее — см. [[Hysteria/config-server|Конфиг сервера]]. Полный справочник по всем полям — в [официальной документации Full Client Config](https://v2.hysteria.network/docs/advanced/Full-Client-Config/).

## TL;DR

- Клиент — тот же бинарник `hysteria`, запускается в режиме клиента (`./hysteria` или `./hysteria client`). Конфиг — `config.yaml` рядом с бинарником.
- Минимум: `server` (адрес вашего сервера), `auth` (пароль с сервера) и хотя бы один режим — `socks5` или `http` (локальный прокси).
- **`bandwidth`** включает алгоритм [[Hysteria/bandwidth-brutal|Brutal]]. Ставьте значения ЧУТЬ НИЖЕ реальной скорости канала — завышение только вредит.
- Для **самоподписанного** сертификата на сервере — на клиенте `tls.insecure: true` вместе с `tls.pinSHA256` (проверка отпечатка защищает от подмены).
- Начиная с версии 2.4.1 SOCKS5 и HTTP можно повесить на **один порт** — просто задайте им одинаковый `listen`.
- **TUN-режим** превращает клиент в системный VPN (заворачивает весь трафик), работает на Windows, Linux, macOS.

## Базовый конфиг: SOCKS5 + HTTP прокси

Самый частый сценарий — поднять локальный прокси, который приложения (браузер и т.д.) используют для выхода через ваш сервер.

```yaml
server: your.domain.net:443

auth: Se7RAuFZ8Lzg

bandwidth:
  up: 20 mbps
  down: 100 mbps

socks5:
  listen: 127.0.0.1:1080

http:
  listen: 127.0.0.1:8080
```

Поля:

- **`server`** — адрес сервера в формате `host:port` (порт по умолчанию 443, можно опустить). Вместо этого можно вставить готовый URI `hysteria2://...` — тогда пароль и часть настроек уже внутри URI, и отдельно их не указывают.
- **`auth`** — пароль, заданный на сервере. Если сервер использует `userpass`-аутентификацию, формат `username:password`.
- **`bandwidth`** — заявленная скорость канала, включает Brutal. Подробно — [[Hysteria/bandwidth-brutal|в отдельной заметке]].
- **`socks5.listen`** / **`http.listen`** — на каком локальном адресе поднять прокси. `127.0.0.1` — доступ только с этого же устройства.

> [!tip] SOCKS5 и HTTP на одном порту
> С версии 2.4.1 клиент умеет отдавать оба протокола на одном порту: пропишите и `socks5`, и `http`, и укажите им **одинаковый** `listen` (например, оба `127.0.0.1:1080`). Тогда приложение может подключаться к этому порту как по SOCKS5, так и по HTTP.

> [!note] IPv6-адрес сервера берите в кавычки
> Некоторые значения конфликтуют с синтаксисом YAML. Например, IPv6-адрес с портом (`[2001:db8::1]:443`) сломает разбор файла. Оборачивайте такие значения в кавычки: `server: "[2001:db8::1]:443"`.

## Настройка скорости (bandwidth)

Секция `bandwidth` определяет, использовать ли Brutal — фирменный алгоритм Hysteria, который держит фиксированную скорость и не проседает при потерях пакетов. Если секцию убрать, клиент возьмёт обычный контроль перегрузки (по умолчанию BBR).

> [!warning] Больше — не значит лучше
> Не завышайте `bandwidth` выше реальной пропускной способности вашего канала. Brutal попытается «выжать» указанную скорость независимо от потерь — если задать больше, чем канал тянет, это ударит по вам же: перегрузка, нестабильность, потеря данных. Ставьте значения чуть НИЖЕ реального максимума. Механика подробно разобрана в [[Hysteria/bandwidth-brutal|заметке про Brutal]].

## TLS для самоподписанного сертификата

Если сервер использует валидный сертификат (через [[Hysteria/config-server|ACME]]), секция `tls` на клиенте не нужна. Она требуется, только если сертификат самоподписанный.

Лучший вариант — не отключать проверку полностью, а закрепить отпечаток сертификата:

```yaml
tls:
  insecure: true
  pinSHA256: BA:88:45:17:A1...
```

- **`insecure: true`** отключает стандартную проверку доверия (иначе самоподписанный сертификат будет отвергнут).
- **`pinSHA256`** закрепляет SHA-256 отпечаток сертификата сервера. Это возвращает защиту: клиент соединится, только если отпечаток совпал, — так атака «человек посередине» не пройдёт.

Отпечаток можно получить из файла сертификата: `openssl x509 -noout -fingerprint -sha256 -in your_cert.crt`.

> [!danger] Не используйте `insecure` в одиночку
> `insecure: true` без `pinSHA256` делает соединение уязвимым к подмене (MITM): клиент примет любой сертификат, в том числе подставленный провайдером или цензором. Если сертификат самоподписанный — всегда добавляйте `pinSHA256`. А ещё лучше — используйте валидный сертификат через ACME и вообще не трогайте `insecure`.

Альтернатива — указать доверенный CA-файл вместо отключения проверки: `tls: { ca: ca.crt }`.

## TUN-режим — системный VPN

SOCKS5/HTTP-прокси заворачивают только те приложения, которые настроены на прокси. **TUN-режим** создаёт виртуальный сетевой интерфейс и перехватывает трафик всей системы — это то, что в интерфейсах других клиентов обычно и подписано как «режим VPN». Работает на Windows, Linux и macOS.

Важно не спутать похожесть с тождеством: заворачивается весь трафик, но сам Hysteria 2 остаётся [[protocols/00-overview|прокси-протоколом]], а не VPN. Он по-прежнему переносит отдельные TCP- и UDP-соединения, просто теперь клиент сам собирает их из перехваченных IP-пакетов. Отсюда и ограничение ниже: ICMP через TUN не проходит.

```yaml
server: your.domain.net:443
auth: Se7RAuFZ8Lzg

tun:
  name: "hytun"
  address:
    ipv4: 100.100.100.101/30
    ipv6: 2001::ffff:ffff:ffff:fff1/126
  route:
    ipv4: [0.0.0.0/0]
    ipv6: ["2000::/3"]
    ipv4Exclude: [192.0.2.1/32]
    ipv6Exclude: ["2001:db8::1/128"]
```

> [!danger] Обязательно исключите адрес сервера из маршрутов
> В `ipv4Exclude`/`ipv6Exclude` **добавьте IP вашего Hysteria-сервера** (в примере `192.0.2.1/32` — замените на реальный). Иначе трафик до самого сервера пойдёт в туннель, который идёт через этот же сервер, — получится петля маршрутизации, и соединение не поднимется.

Особенности TUN: он умеет только TCP и UDP (не проксирует ICMP, то есть `ping` через туннель не пойдёт). На macOS имя интерфейса должно быть вида `utunN` (например, `utun123`). На FreeBSD TUN не поддерживается.

> [!note] Для Linux-шлюза есть альтернатива — TPROXY
> TUN — самый простой способ прозрачного проксирования и работает на всех ОС. Но если вы строите шлюз/роутер на Linux, который заворачивает трафик всей локальной сети, традиционный выбор — [[Hysteria/tproxy|прозрачный прокси через TPROXY]]: он работает через правила фаервола, а не виртуальный интерфейс.

## Запуск клиента

```bash
./hysteria          # клиент — режим по умолчанию, config.yaml подхватится сам
./hysteria -c whatever.yaml   # произвольное имя конфига
```

**Windows:** можно просто дважды кликнуть по `.exe`, если рядом лежит `config.yaml`.

Признак успеха — в логах строка **«connected to server»** без ошибок. Клиент также выведет строку «use this URI to share your server» с готовым URI `hysteria2://...` — его удобно вставлять в другие клиенты как значение `server` (пароль и часть настроек уже внутри). При проблемах с подключением — [[Hysteria/troubleshooting|разбор ошибок]].

> [!note] Для новичков в прокси
> SOCKS5/HTTP-прокси нужно ещё «подключить» в приложении. Для браузера удобно расширение [ZeroOmega](https://github.com/zero-peak/ZeroOmega) (Chrome/Firefox): в нём указываете адрес прокси (`127.0.0.1:1080`) и переключаете профили.

## 📚 См. также

- [[Hysteria/config-server|Конфиг сервера]] — серверную часть надо настроить до клиента.
- [[Hysteria/bandwidth-brutal|Скорость и Brutal]] — как правильно выставить `bandwidth`.
- [[Hysteria/obfs-port-hopping|Обфускация и port hopping]] — если провайдер режет UDP/QUIC.
- [[Hysteria/tproxy|Прозрачный прокси (TPROXY)]] — для Linux-шлюза на всю сеть.
- [[Hysteria/realms-nat|Realms: сервер за NAT]] — подключение к серверу без белого IP.
- [[Hysteria/troubleshooting|Решение проблем]] — расшифровка ошибок подключения.
- 🔗 [Client tutorial](https://v2.hysteria.network/docs/getting-started/Client/) · [Full Client Config](https://v2.hysteria.network/docs/advanced/Full-Client-Config/)

---

> [!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ
> При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны в Forgejo: [исходник этой заметки](https://git.zapret.moe/zapretdiscordyoutube/todo/src/branch/main/Hysteria/config-client.md) · [весь репозиторий](https://git.zapret.moe/zapretdiscordyoutube/todo/src/branch/main).
