Перейти к содержанию

Hysteria 2 SNI Spoofing

Следуя этому руководству, предполагается, что у вас уже настроен сервер Hysteria 2.

Внимание: Использование самоподписанного сертификата может подвергнуть вас атаке «человек посередине» (MITM). Используйте этот метод только если понимаете риски. Вы можете настроить закрепление сертификата (certificate pinning) на стороне клиента, чтобы снизить часть рисков.


Что потребуется

  • OpenSSL, установленный на сервере
  • Домен, который вы хотите подменить (может быть любой, например zoom.us или onedrive.com)
  • Установленный и запущенный сервер Hysteria 2

Шаг 1: Остановите сервер Hysteria 2

systemctl stop hysteria-server

Шаг 2: Создайте самоподписанный SSL‑сертификат

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout h2.key -out h2.crt -subj "/CN=YOURSNI"

Например, если вы хотите подменить zoom.us, замените YOURSNI на zoom.us:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout h2.key -out h2.crt -subj "/CN=zoom.us"

Шаг 3: Отредактируйте конфигурационный файл для использования нового сертификата

Сначала выполните ls, чтобы увидеть созданные файлы:

ls

Вы должны увидеть два файла: h2.key и h2.crt.

Теперь выполните pwd, чтобы узнать текущую директорию:

pwd

Далее укажите в конфигурации Hysteria путь к созданным сертификату и ключу:

nano /etc/hysteria/config.yaml

Удалите секцию:

acme:
  domains:
    - domain1.com
    - domain2.org
  email: your@email.net

И добавьте вместо нее:

tls:
  cert: some.crt
  key: some.key

Замените some.crt и some.key на полный путь к h2.crt и h2.key. Используйте pwd для определения директории и объедините путь с именем файла.

Пример:

tls:
  cert: /root/h2.crt
  key: /root/h2.key

Шаг 4: Запустите сервер Hysteria 2

systemctl start hysteria-server

Шаг 5: Настройте клиент

Убедитесь, что включен небезопасный режим (insecure mode), остальное оставьте стандартным. Обязательно укажите SNI, который вы использовали при создании сертификата.


Этот метод не работает с прокси Cloudflare.