for6to9 Posted January 10 Posted January 10 Установка и настройка 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: Управление → Параметры системы → Общие настройки системы→ Изменить набор компонентов → Пакеты OPKG Включите компонент: Модули ядра подсистемы Netfilter Перезагрузите роутер при необходимости. Обновление 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: Бесплатный домен и сертификат Зарегистрировать домен 3-го уровня на сайте: freedns.afraid.org Автоматически получить TLS-сертификат с помощью встроенного ACME-клиента Hysteria Документация: https://v2.hysteria.network/docs/getting-started/Server/?h=acme#__tabbed_1_1 Вариант 2: Свой домен и платный сертификат Использовать свой домен Применить купленный TLS-сертификат Быстрый взгляд на Hysteria Чистая Hysteria имеет ряд преимуществ перед встроенным пакетом Hysteria в программе sing-box. Основные преимущества Поддержка опции медленной загрузки 👉 https://v2.hysteria.network/docs/advanced/Full-Client-Config/?h=lazy#lazy Поддержка опции быстрого подключения 👉 https://v2.hysteria.network/docs/advanced/Full-Client-Config/?h=fast+open#fast-open Особенности работы Соединение по 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 Полезные ссылки H-wave: https://github.com/for6to9si/H-wave Hysteria: https://github.com/apernet/hysteria Entware: https://entware.net Surfboard: https://github.com/for6to9si/SurfBoard 4 2 Quote
dema0 Posted February 17 Posted February 17 добрый день. а моджно пример рабочего кончика или вдруг есть генератор hysteria2://login.password@provider.org:5443/?obfs=salamander&obfs-password=cry_me_a_r1ver&insecure=0 спасибо пример из гита не работает Quote
for6to9 Posted February 17 Author Posted February 17 (edited) 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 и т. д.) или значения пропускной способности. Пользователи должны понимать, что эти параметры не предназначены для передачи и бездумного использования другими, поскольку они индивидуальны для каждого пользователя и должны настраиваться соответствующим образом. Edited February 17 by for6to9 Quote
for6to9 Posted February 17 Author Posted February 17 (edited) 1 час назад, dema0 сказал: а моджно пример рабочего кончика или вдруг есть генератор Проще в GUI какого нибудь приложения: nekoray, v2rayN заполнить в нем параметры и получить ctrl+c url ссылку в буфер обмена Edited February 17 by for6to9 Quote
for6to9 Posted February 24 Author Posted February 24 (edited) обновил 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 Edited February 24 by for6to9 Quote
shwed Posted February 26 Posted February 26 А если у меня на роутере уже стоит xkeen? Я могу развернуть hysteria на vps, создать vless ссылку, и использовать в xkeen? В чем разница? Или обязательно надо на роутер ставить hysteria? Quote
for6to9 Posted February 26 Author Posted February 26 (edited) 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 сыроватое, времени с разбираться нету. Edited February 26 by for6to9 Quote
for6to9 Posted February 26 Author Posted February 26 (edited) 7 часов назад, shwed сказал: В чем разница? Или обязательно надо на роутер ставить hysteria? sing-box версия v1.12.20 рекомендую, по лучше держит, опять же QUIC блокировка стоит у меня в настройках, ну как-то лучше работает { "protocol": [ "quic" ], "action": "reject" }, Edited February 26 by for6to9 Quote
for6to9 Posted February 26 Author Posted February 26 (edited) 42 минуты назад, for6to9 сказал: я пробовал, подключение хуже, чем с родной hysteria 2, возможно не убрал QUIC блокировку в xray, мне показалось портирование hystria в xray-core сыроватое, времени с разбираться нету. и дело было не в hysteria 2, а то что добавление настроек hysteria в Xray-core убило у меня vless подключения в балансировщике, глючить начали.. Edited February 26 by for6to9 Quote
shwed Posted February 27 Posted February 27 Ага, спасибо за ответы. Посмотрю. В целом, правильнее будет все же поставить отдельно. Quote
RBP5 Posted March 11 Posted March 11 установил, коннектится. но тоннель не пропускает трафик. прописывание роутов игнорируется. если в дефолт ставлю поднятый тоннель а выход с тоннеля указываю на ppp0 то сеть просто замыкается. так и не понял как это решить. Quote
for6to9 Posted March 11 Author Posted March 11 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, но времени нету Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.