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

Рекомендуемые сообщения

Опубликовано

Установка и настройка Hysteria 2 на роутерах Keenetic

Установка и настройка Hysteria 2 на роутерах Keenetic с использованием Entware и проекта H-wave.

Требования

  • Роутер Keenetic с поддержкой USB
  • Внешний USB-накопитель
  • Установленный Entware
  • Доступ к роутеру по SSH

Установка Entware

Перед установкой Hysteria 2 необходимо подготовить USB-накопитель и установить Entware.

📘 Официальная инструкция Keenetic:
👉 https://help.keenetic.ru/hc/ru/articles/360021214160.html

Включение необходимых компонентов

Для корректной работы требуются модули ядра Netfilter:

  • xt_TPROXY
  • xt_socket
  • xt_multiport

Как включить

В веб-интерфейсе Keenetic:

  1. Управление → Параметры системы → Общие настройки системы→ Изменить набор компонентов → Пакеты OPKG
  2. Включите компонент: Модули ядра подсистемы Netfilter
  3. Перезагрузите роутер при необходимости.

Обновление Entware и установка зависимостей

Подключитесь к роутеру по SSH и выполните:

opkg update
opkg install wget-ssl ca-certificates
 

Установка Hysteria 2

Hysteria 2 устанавливается напрямую из релизов GitHub.

Для архитектуры mipsle:

opkg install https://github.com/for6to9si/H-wave/releases/download/v2.6.5/hysteria_2.6.5_mipsle.ipk
 

Для архитектуры arm64:

opkg install https://github.com/for6to9si/H-wave/releases/download/v2.6.5/hysteria_2.6.5_arm64.ipk
 

ℹ️ Если архитектура роутера неизвестна, можно попробовать установить оба пакета — Entware не позволит установить неподходящий.

⚠️ Версия arm64 не тестировалась автором.

Удаление Hysteria 2

Удаление пакета Hysteria из списка opkg влечет за собой удаление связанной с ним политики доступа Hwave на роутере keenetic

opkg remove hysteria-tg-installer
 

Конфигурация Hysteria

Далее необходимо внести настройки в файл конфигурации Hysteria:

Пример файла конфигурации можно найти здесь:
/opt/etc/hysteria/config.json

Список команд

  • /opt/etc/init.d/S96hysteria status — узнать текущий статус

  • /opt/etc/init.d/S96hysteria restart — перезапуск Hysteria
    (включает запуск Hysteria и применение настроек маршрутизации)

  • /opt/etc/init.d/S96hysteria fast_restart — быстрый перезапуск Hysteria
    (маршрутизация не затрагивается)

  • /opt/etc/init.d/S96hysteria firewall_up — запуск / применение настроек маршрутизации

  • /opt/etc/init.d/S96hysteria stop — остановка Hysteria и отключение маршрутизации

Логи и отладка

Просмотр логов Hysteria

Просмотр логов Hysteria и другая полезная отладочная информация:

cat /opt/var/log/hwave/hwave.log
 

Режим отладки

По умолчанию включён полный режим отладки.
Для отключения отладочного вывода установите переменную DEBUG=false
в файле /opt/etc/init.d/S96hysteria.

Важное замечание о Obfuscation

Включение Obfuscation (см. документацию: https://v2.hysteria.network/docs/advanced/Full-Client-Config/?h=obfuscation#obfuscation) приводит к неработоспособности Hysteria на сотовых операторах. Причина: операторы распознают пакеты как непонятный UDP-трафик и дропают их. Лучше отключить маскировку, и настройть работу Hysteria на работу quic

Решения для работы с QUIC

Вариант 1: Бесплатный домен и сертификат

  1. Зарегистрировать домен 3-го уровня на сайте: freedns.afraid.org
  2. Автоматически получить TLS-сертификат с помощью встроенного ACME-клиента Hysteria
    Документация: https://v2.hysteria.network/docs/getting-started/Server/?h=acme#__tabbed_1_1

Вариант 2: Свой домен и платный сертификат

  • Использовать свой домен
  • Применить купленный TLS-сертификат

Быстрый взгляд на Hysteria

Чистая Hysteria имеет ряд преимуществ перед встроенным пакетом Hysteria в программе sing-box.

Основные преимущества

Особенности работы

  • Соединение по UDP может держаться почти 2 часа в открытом состоянии без повторного обмена ключами.

  • Также можно изменять размер пакета QUIC:
    👉 https://v2.hysteria.network/docs/advanced/Full-Client-Config/?h=quic+parameters#quic-parameters
    Однако на практике эта возможность, скорее всего, не понадобится.

Настройка портов и режимов работы

TCP (Redirect)

Режим: Redirect
Протокол: TCP
Требование: Порты должны совпадать в конфигурациях

Сервис Файл конфигурации Строка Ссылка
H-wave /etc/hwave/hwave-conf.json #L19 ссылка
Hysteria /etc/hysteria/config.json #L22 ссылка

UDP (TPROXY)

Режим: TPROXY
Протокол: UDP
Требование: Порты должны совпадать в конфигурациях

Сервис Файл конфигурации Строка Ссылка
H-wave /etc/hwave/hwave-conf.json #L20 ссылка
Hysteria /etc/hysteria/config.json #L26 ссылка

Примечания

  • Бинарник Hysteria забирается через GitHub Actions ссылка с добавляются файлы c проекта H-wave и собирается пакет ipk.
  • Поддержка arm64 не тестировалась, я взял бинарник для сборки hysteria-linux-arm64 возможно следовало взять hysteria-linux-arm

Полезные ссылки

  • 1 месяц спустя...
Опубликовано

добрый день. а моджно пример рабочего кончика или вдруг есть генератор

hysteria2://login.password@provider.org:5443/?obfs=salamander&obfs-password=cry_me_a_r1ver&insecure=0

спасибо

пример из гита не работает

Опубликовано (изменено)

URI Scheme

Схема URI для Hysteria 2 предназначена для компактного представления необходимой информации для подключения к серверу Hysteria 2. Она включает различные параметры, такие как адрес сервера, данные аутентификации, тип и параметры обфускации, настройки TLS.

Structure

hysteria2://[auth@]hostname[:port]/?[key=value]&[key=value]...

Components

Scheme

hysteria2 или hy2

Auth

Учетные данные для аутентификации должны быть указаны в компоненте auth URI. По сути, это часть username в стандартном формате URI, поэтому она должна быть закодирована с использованием percent-encoding, если содержит специальные символы.

Особый случай — когда сервер использует аутентификацию userpass. В этом случае компонент auth должен быть в формате username:password.

Hostname

Имя хоста и необязательный порт сервера. Если порт не указан, по умолчанию используется 443.

Часть порта поддерживает формат «multi-port», упомянутый в разделе Port Hopping.

Query parameters

  • obfs: Тип используемой обфускации. В настоящее время поддерживается только salamander.

  • obfs-password: Пароль, необходимый для указанного типа обфускации (если применимо).

  • sni: Server Name Indication, используемый для TLS-соединений.

  • insecure: Определяет, разрешены ли небезопасные TLS-соединения. Принимает логические значения «1» (true) и «0» (false).

  • pinSHA256: Закрепленный (pinned) SHA-256 отпечаток сертификата сервера.

Example

hysteria2://letmein@example.com:123,5000-6000/?insecure=1&obfs=salamander&obfs-password=gawrgura&pinSHA256=deadbeef&sni=real.example.com

Implementation notes

URI намеренно разработан так, чтобы содержать только основную информацию, необходимую для подключения к серверу Hysteria 2. Хотя сторонние реализации при необходимости могут добавлять дополнительные параметры, они не должны предполагать, что другие реализации будут их поддерживать.

Кроме того, параметры никогда не должны включать режимы клиента (HTTP, SOCKS5 и т. д.) или значения пропускной способности. Пользователи должны понимать, что эти параметры не предназначены для передачи и бездумного использования другими, поскольку они индивидуальны для каждого пользователя и должны настраиваться соответствующим образом.

Изменено пользователем for6to9
Опубликовано (изменено)
1 час назад, dema0 сказал:

а моджно пример рабочего кончика или вдруг есть генератор

Проще в GUI какого нибудь приложения: nekoray, v2rayN  заполнить в нем параметры и получить ctrl+c url ссылку  в буфер обмена

Изменено пользователем for6to9
Опубликовано (изменено)

обновил hysteria до версии 2.7.1

сменил порт UDP transparent proxy listening с 60019 на 60020 чтобы избежать конфликта с ndnproxy

проверил:
netstat -tulpn | grep :60019
udp 0 0 0.0.0.0:60019 0.0.0.0:* 588/ndnproxy

Изменено пользователем for6to9
Опубликовано

А если у меня на роутере уже стоит xkeen?

Я могу развернуть hysteria на vps, создать vless ссылку, и использовать в xkeen?
В чем разница? Или обязательно надо на роутер ставить hysteria?

Опубликовано (изменено)
6 часов назад, shwed сказал:

Я могу развернуть hysteria на vps, создать vless ссылку, и использовать в xkeen?

можешь c версии Xray-core v26.1.23 добавили Hysteria 2
вот пример синтаксиса https://github.com/XTLS/Xray-core/pull/5508
я пробовал, подключение хуже, чем с родной hysteria 2, возможно не убрал QUIC блокировку в xray, мне показалось портирование hystria в xray-core сыроватое, времени с разбираться нету.

 
Изменено пользователем for6to9
Опубликовано (изменено)
7 часов назад, shwed сказал:

В чем разница? Или обязательно надо на роутер ставить hysteria?

sing-box версия v1.12.20 рекомендую, по лучше держит, опять же QUIC блокировка стоит у меня в настройках, ну как-то лучше работает 
 

            {
                "protocol":
                [
                    "quic"
                ],
                "action": "reject"
            },

 

Изменено пользователем for6to9
Опубликовано (изменено)
42 минуты назад, for6to9 сказал:

я пробовал, подключение хуже, чем с родной hysteria 2, возможно не убрал QUIC блокировку в xray, мне показалось портирование hystria в xray-core сыроватое, времени с разбираться нету.

и дело было не в hysteria 2, а то что добавление настроек  hysteria в Xray-core убило у меня  vless подключения в балансировщике,  глючить начали.. 

Изменено пользователем for6to9
  • 2 недели спустя...
Опубликовано

установил, коннектится. но тоннель не пропускает трафик. прописывание роутов игнорируется. если в дефолт ставлю поднятый тоннель а выход с тоннеля указываю на ppp0 то сеть просто замыкается. так и не понял как это решить. 

Опубликовано
5 часов назад, RBP5 сказал:

сеть просто замыкается. так и не понял как это решить. 

https://github.com/for6to9si/H-wave/blob/tun_mode/etc/hysteria/config.json#L44

добавь 

"ipv4Exclude": "0.0.0.0/0",

замыкание уйдет, но как решить конфликт туннелей я не решил, либо делать костыл=переименовывать tun после создания, либо что-то в код hysteria2 добавлять менять create tun на что-то другое, можно подсмотреть как сделано в sing-box, но времени нету

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   2 пользователя онлайн

×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.