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

R17a

Участники форума
  • Постов

    25
  • Зарегистрирован

  • Посещение

Оборудование

  • Устройства
    Viva (KN-1910) EAEU

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения R17a

Пользователь

Пользователь (2/6)

20

Репутация

  1. Если я правильно прочитал, то "душат CDN Cloudflare", поэтому у нас
  2. Что-то в первый раз про такую проблему слышу.
  3. Мой проект остаётся на чистом С(Си), во благо ресурсов железа. Кому что удобнее, ждём и Ваших решений. Не зря в "соседней теме" писали, что "Конкуренция это хорошо".
  4. Релиз Susanin.Keenetic v0.4.0 Что нового Релиз 0.4.0: Xray/VLESS как egress, веб-панель, профили маршрутизации, резервный egress, DNS-снифинг и .ipk-пакеты. Критичные исправления Клиенты серверных VPN (OpenConnect oc+, qWDTT) снова доходят до туннеля. Политика Keenetic filter/FORWARD — DROP, а разрешения в интерфейс «Дополнительного подключения» у них нет: метка ставилась, но пакет умирал в FORWARD (в POSTROUTING на egress — 0). Теперь datapath.sh добавляет filter FORWARD -m mark --mark <ok|test|профиль>/<mask> -j ACCEPT (снимает в down), а backend_ready() проверяет это правило. Режим датаплейна больше не «съезжает» на старте. При egress_type=tproxy и первом интерфейсе в egress_interface агент трактовал это как смену режима и снимал tproxy-правила; backend_ready() при этом требовал их по конфигу — бесконечный цикл data plane missing каждые 5–13 с, с resync_sets()/flush (ok_tcp 507↔252, ok_net 19↔6) и окном без пинов vpn_always. Теперь режим берётся из фактического состояния, при tunnel_up восстанавливается default dev <iface> в таблице, а на re-provisioning нет flush. Отключение VPN-подключения не вызывает цикл re-provisioning. backend_ready() больше не требует default в таблице, когда ни одного интерфейса-кандидата нет (ядро удаляет маршрут вместе с интерфейсом): быстрая проверка и NDM-сверка работают только при tunnel_up, маршрут возвращается сам при восстановлении туннеля. Новое от 0.3.10 Xray/VLESS+REALITY как egress (egress_type=tproxy): TCP — REDIRECT, UDP — собственный релей (TPROXY + SOCKS5 UDP ASSOCIATE); tproxy — полноправный кандидат в egress_interface с SOCKS-пробой и fail-safe. Веб-панель в агенте: статус, конфиг, списки (drag&drop и Memo-редактор), профили, действия reload/rescan/restart/reset; мобильная вёрстка, токен/cookie. Профили маршрутизации: до 4, profiles.d/<name>.conf, geo_url, авто-пин, failover на профиль. Master/Slave с failback, независимый health по каждому egress, race-пробинг, watchdog и лимиты памяти Xray. Автообучение: DPI-RST/DPI-STALL, класс media (IPTV), CDN-агрегация, «мягкое прямо» (auto_direct), пресет precision, port_aware (эсперементал). Списки: DNS-снифинг, wildcard-зоны и CIDR, сброс conntrack, backoff для «глухих» apex, готовые наборы Telegram/OpenAI/Anthropic/YouTube/IPTV. dns_hijack — DNS клиентов серверных VPN (oc+/wdtt+ и lan_server_interfaces) заворачивается на резолвер роутера (DNAT 53): лечит NXDOMAIN/«сайты не открываются» на Android. vpn_always_cdn_prefix — для адресов ALWAYS из cdn_ranges_file пинится CDN-префикс (клиент получает другой edge того же CDN). dns_sniff слушает ВСЕ LAN-интерфейсы (br0, br1, oc+), а не только первый. Совместимость: qWDTT/WDTT как LAN, discover_exclude, OpenConnect oc+, реальный discover/rescan без popen. Сеть: MSS/PMTU-кламп (профили, оба направления), ipv6_block, quic_block, kernel-offload. Поставка: .ipk для 5 архитектур, bootstrap.sh одной строкой, merge списков и ключей при апгрейде, короткая команда susanin. CI: -Werror, make test, shellcheck, сборка .ipk, check-shipping; хост-тесты (conntrack, web, classifier, state, config). Обновлена документация: USER_GUIDE.md, XRAY.md, разделы TROUBLESHOOTING (IPTV, Cloudflare, 403 по IP, «all egress DOWN», qWDTT, OpenConnect), DEPLOY.md. Выявлено и устранено ошибок: 68 Веб-панель (только LAN) В агенте есть встроенный мини-HTTP-сервер — отдельный процесс susanin-agent web, внешний httpd/lighttpd не нужен. По умолчанию выключен. Включение Веб-панели # /opt/susanin/etc/susanin.conf web_enable=1 web_listen=192.168.1.1 # только LAN-адрес роутера, не 0.0.0.0 web_port=8087 web_token= # пусто = вход без пароля (доступ только из LAN) sh /opt/susanin/tools/susanin.sh web restart # затем в браузере: http://192.168.1.1:8087/ # с токеном: http://192.168.1.1:8087/?token=ВАШ_ТОКЕН (ставит cookie) Что умеет: статус (egress/health, размеры наборов, профили, память), правка конфига, списки vpn_always/vpn_never (drag&drop и Memo-редактор всего файла), профили, действия Reload/Rescan/Restart/Reset. Токен сравнивается за постоянное время; ?token= принимается только для первого GET; без TLS — при необходимости ставьте панель за своим прокси или не выставляйте её в недоваренный сегмент. Установка вариант 1 - из архива opkg update && opkg install ca-certificates ipset iptables conntrack wget-ssl wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/main/install.sh | sh Установщик скачивает готовый архив под вашу архитектуру, определяет LAN/VPN и (при наличии) OpenConnect, запрашивает подтверждение и запускает демон. Существующие susanin.conf, vpn_always.txt, vpn_never.txt и кэш сохраняются. Установка вариант 2 - пакетом Entware (.ipk) Начиная с 0.4.0 есть пакет .ipk: ставится и обновляется штатным opkg, конфиг, списки и состояние при обновлении не перезаписываются. Проще всего — дать установщику скачать пакет под вашу архитектуру и сверить SHA256: opkg update && opkg install ca-certificates wget-ssl wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/main/install.sh | sh -s -- --ipk Установка вариант 3 -Вручную В Assets лежат пакеты susanin-keenetic_0.4.0_<arch>.ipk и общий SHA256SUMS. Свою архитектуру показывает opkg print-architecture (например, mipsel-3.4): opkg print-architecture cd /opt/tmp wget https://github.com/R17a/Susanin.Keenetic/releases/download/v0.4.0/susanin-keenetic_0.4.0_mipsel-3.4.ipk wget https://github.com/R17a/Susanin.Keenetic/releases/download/v0.4.0/SHA256SUMS sha256sum -c SHA256SUMS 2>/dev/null | grep mipsel-3.4 # ожидаем: ...: OK opkg install susanin-keenetic_0.4.0_mipsel-3.4.ipk Обновление # если ставили пакетом (версия новее установленной, --force не нужен): opkg install susanin-keenetic_0.4.0_<arch>.ipk # если ставили архивом: sh /opt/susanin/tools/susanin.sh update v0.4.0 update печатает installed → target, делает бэкап susanin.conf и susanin.state в /opt/susanin/var/backup/, заменяет бинарь и скрипты, не трогая etc/ и var/, затем перезапускает демон. Версию после обновления видно первой строкой в susanin status. Диагностика Если что-то работает не так — сначала запустите диагностику: проверит окружение, настройки и списки, выдаст рекомендации: sh /opt/susanin/tools/diagnose.sh Для отправки полного отчёта (логи, состояние) — соберите и приложите вывод: sh /opt/susanin/tools/report.sh # или без установки: wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/v0.4.0/tools/report.sh | sh Отчёт сохраняется в /opt/susanin/var/report.txt. Удаление Вариант 1 opkg remove susanin-keenetic # если ставили пакетом, данные остаются Вариант 2 sh /opt/susanin/tools/susanin.sh uninstall Вариант с полной очисткой sh /opt/susanin/tools/susanin.sh uninstall --purge Благодарности Спасибо людям, которые помогали проекту — тестированием на своих роутерах, отчётами с логами, разбором проблем и предложениями по улучшению: Gave_Karen pegakmop NJmist Их отчёты (conntrack, iptables, diagnose.sh) — то, без чего большинство исправлений в этом репозитории просто не нашлось бы. Спасибо!
  5. Не понимаю и что вам C(си) плохого сделал, как язык программирования?
  6. В момент первого подключения Susanin.Keenetic строит правила и маршруты, при повторном подключении, всё происходит корректно. То-же касается и видео звонков.
  7. День добрый! Попробовать включить блокировки и перегрузить. Я отдельно проверю т.к. сам не пользуюсь им.
  8. Обновление Susanin.Keenetic 0.4.0-dev4 [FIX] Restart больше не отваливает веб-панель. Web — отдельный процесс; раньше при остановке демона били по всем susanin-agent сразу, поэтому /api/restart убивал процесс, обслуживающий сам запрос, и панель не возвращалась. Теперь демон и web разведены; добавлены susanin.sh web {start|stop|restart|status}, строка web: в status; start/restart поднимают web при web_enable=1. [FIX] Пины vpn_always больше не теряются. На восстановлении туннеля resync_sets() чистит ipset'ы — теперь списки помечаются «грязными» и пины возвращаются; желаемые адреса/сети передобавляются каждый проход (ipset -exist), так что внешняя потеря пина само-исправляется. Это лечит случаи «сайт из списка ходил через VPN, а после переключения — напрямую». [FIX] Автообучение больше не заворачивает российские сервисы. Яндекс (в т.ч. uniproxy.alice.yandex.net, 213.180.193.76): long-poll/keepalive выглядел как «клиент шлёт — сервер молчит» → SOFT LATE-STALL → CONFIRMED → VPN. В список «всегда напрямую» добавлены Яндекс и VK/OK/Mail.ru (домены и сети). [FIX] Уровень логов Xray (xray_loglevel) — полноценный ключ конфига: больше не теряется при сохранении настроек и правится из панели (раньше в панели показывалось «нет в файле»). [FIX] rescan стал безопаснее: обновляет только сетевые параметры (egress_*, lan_*) и по умолчанию не затирает вручную заданный egress_interface (--force — переопределить), с отчётом об изменениях. [FIX] Установка/обновление дописывают больше недостающих ключей (fast_syn_min_op, ok_max_entries, ok_evict_misses, promo_per_min, soft_state_interval, learn_exclude_ports, vpn_always_*, vpn_never_*); дефолты новых ключей — уже числами без букв. [NEW] Веб-панель: редактор конфигурации и статус. Базовая разработка, будет доработка юзабилити. Раздел «Конфигурация агента» — параметры сгруппированы по темам, значения читаются и сохраняются через агента (GET/POST /api/config). Списки vpn_always/vpn_never правятся перетаскиванием между колонками; появились верхняя панель (Reload/Rescan/Restart, индикатор связи, версия) и раздел «Статус» (наборы ipset, Reset адреса/домена). [NEW] Единый и понятный формат настроек времени. Раньше длительности писались по-разному (1s, 5m, 3h). Теперь все временные параметры задаются просто числом, а единица (секунды/минуты/часы) указана в описании к каждому параметру. Генерируемый susanin.conf печатает описание к каждому ключу — файл стал самодокументируемым. Старые записи с буквами (5m, 3h) по-прежнему читаются, править руками ничего не нужно. [NEW] Авто-детект блокировки по SNI (ТСПУ/DPI). Новый сигнал FAST/DPI-RST — «TCP-рукопожатие прошло, ClientHello отправлен, ответа нет, соединение сброшено». Такие блокировки старые проверки не ловили (нужен rp==0, а SYN-ACK уже приходил) — теперь адрес автоматически уводится в VPN и проверяется туннелем. Установка без клиента XRay. Обновиться с уже установленной версии: opkg update && opkg install ca-certificates ipset iptables conntrack wget-ssl wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/develop/bootstrap.sh | sh -s -- --yes Первая установка (Entware уже стоит) — ставим полный набор зависимостей: opkg update && opkg install ca-certificates ipset iptables conntrack wget-ssl wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/develop/bootstrap.sh | sh -s -- --yes Нужен режим REALITY — добавьте --with-xray (Xray качается отдельно, в архив не входит): opkg update && opkg install ca-certificates ipset iptables conntrack wget-ssl wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/develop/bootstrap.sh | sh -s -- --yes --with-xray
  9. Обновление Susanin.Keenetic 0.4.0-dev3 [FIX] Очередная корректировка "Пересканирование сети". Внутренний вызов ломался, поэтому после смены или удаления VPN сеть не пересканировалась и продолжал использоваться старый, уже несуществующий интерфейс. Теперь Susanin.Keenetic сам находит актуальный VPN-интерфейс и его адрес — править настройки вручную не нужно (src/discover.c переписан без popen()). [FIX] Предупреждение, если у выученных адресов отключён срок хранения. Susanin.Keenetic запоминает адреса, которым нужен VPN, на ограниченное время (по умолчанию — 6 часов), а затем забывает их. Если поставить ok_ttl=0, адреса не забываются никогда: список растёт, и в VPN начинает уходить всё больше лишнего. Теперь при таком значении в логе появляется явное предупреждение. [FIX] Установка и обновление сами добавляют новые параметры. install.sh и update.sh дописывают в существующий susanin.conf недостающие ключи (существующие значения не перезаписываются), а список сетей CDN (cdn_ranges.txt) ставится, если его ещё нет. Ручной merge не нужен. [NEW] Универсальное лечение сайтов за Cloudflare и другими CDN — без ручных списков. Раньше «заблокированные» сайты за CDN (у которых много быстро меняющихся адресов) приходилось заносить в списки вручную, и всё равно часть соединений «проскакивала» напрямую и зависала. Теперь Susanin.Keenetic сам знает диапазоны популярных CDN, автоматически обновляет их раз в сутки и, поняв, что адрес из такого диапазона нужно вести через VPN, запоминает не один адрес, а всю ближайшую подсеть — на час. Следующие адреса той же CDN сразу идут через VPN, и зависаний становится меньше. Настройки: cdn_ranges_file, cdn_ranges_url, cdn_ranges_interval, cdn_prefix_learn, cdn_prefix_ttl, cdn_prefix_max. [NEW] Ловим не только полный обрыв, но и «медленный интернет». Раньше срабатывало, только если данные почти полностью вставали. Теперь, если ответ идёт еле-еле (типичное замедление провайдером) и адрес относится к CDN, такой поток тоже отправляется на проверку через VPN. [NEW] Меньше ложных переводов в VPN. Ужесточены пороги, по которым адрес считается «заблокированным»: теперь нужен заметный объём обмена, а не пара пакетов. Пороги настраиваются параметрами: learn_min_op — минимум пакетов к адресу, learn_min_bytes — минимум байт обмена, confirm_min_bytes — минимум ответных байт для подтверждения, что VPN помог, а learn_strict=1 делает пороги ещё строже (вдвое). [NEW] Управление IPv6. Susanin.Keenetic работает только по IPv4, поэтому IPv6-трафик уходил мимо него. По умолчанию (ipv6_block=1) IPv6 для домашних устройств закрывается, и они переходят на IPv4, снова попадая под управление Susanin.Keenetic. ipv6_block=0 — не трогать IPv6. [NEW] Зависания YouTube из-за QUIC устранены. Приложения сначала пробуют QUIC (UDP 443), а через UDP-релей он ненадёжен: поток «висит» без ответов, и только потом приложение переходит на TCP (это и есть пауза). По умолчанию (quic_block=1) QUIC из LAN запрещается, и приложения сразу идут по TCP — через туннель стабильно. quic_block=0 — не трогать QUIC. [NEW] Видно «само-восстановление» перехвата. Когда роутер после обновления или перезагрузки сбрасывает правила перенаправления, Susanin.Keenetic возвращает их сам. Теперь это видно в статусе: когда и почему правила возвращались. [NEW] Встроенная диагностика для IPTV и сайтов «то грузится, то нет». В команде диагностики появился раздел, который проверяет наличие IPv6, показывает, когда и почему возвращались правила, и подсказывает, что смотреть при зависаниях (какой адрес резолвит плеер и идёт ли поток через VPN): sh /opt/susanin/tools/diagnose.sh [NEW] Предупреждение о подмене DNS. Если провайдер подменяет адреса (домены «резолвятся» в 127.0.0.1), диагностика замечает это и печатает заметное «DNS WARNING»: пока адрес подменён, завернуть его в VPN нельзя; лечится переключением DNS-over-TLS (порт 853 часто глушат) на DoH или обычный DNS. Проверяется той же командой — в разделе «Списки» появится строка «ПОДМЕНА DNS …» и ниже сам «DNS WARNING». Новые параметры конфигурации (файл /opt/susanin/etc/susanin.conf) learn_min_op — по умолчанию 10 — минимум пакетов к адресу, чтобы считать его «заблокированным». learn_min_bytes — по умолчанию 2000 — минимум байт обмена до обучения. confirm_min_bytes — по умолчанию 512 — минимум ответных байт для подтверждения, что VPN помог. learn_strict — по умолчанию 0 — 1 делает пороги обучения ещё строже (вдвое). cdn_ranges_file — по умолчанию /opt/susanin/etc/cdn_ranges.txt — файл с сетями CDN. cdn_ranges_url — по умолчанию https://www.cloudflare.com/ips-v4 — откуда автоматически обновлять список CDN. cdn_ranges_interval — по умолчанию 86400 — период обновления, сек (0 — не обновлять). cdn_prefix_learn — по умолчанию 1 — включать агрегацию по подсети CDN. cdn_prefix_ttl — по умолчанию 3600 — на сколько секунд запоминать подсеть CDN. cdn_prefix_max — по умолчанию 24 — не агрегировать шире, чем /24 (ограничивает «радиус»). ipv6_block — по умолчанию 1 — 1 закрыть IPv6 для домашних устройств, 0 — не трогать. Установка без клиента XRay. Обновиться с уже установленной версии: opkg update && opkg install ca-certificates ipset iptables conntrack wget-ssl wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/develop/bootstrap.sh | sh -s -- --yes Первая установка (Entware уже стоит) — ставим полный набор зависимостей: opkg update && opkg install ca-certificates ipset iptables conntrack wget-ssl wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/develop/bootstrap.sh | sh -s -- --yes Нужен режим REALITY — добавьте --with-xray (Xray качается отдельно, в архив не входит): opkg update && opkg install ca-certificates ipset iptables conntrack wget-ssl wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/develop/bootstrap.sh | sh -s -- --yes --with-xray
  10. Обновление Susanin.Keenetic 0.4.0-dev2 [FIX] Меньше обращений к флешке. Логи Xray почти не пишутся (access-лог выключен), для бэкапов правил введён разумный лимит — носитель работает спокойнее. [FIX] Само-восстановление перехвата. Если после перезагрузки или обновления прошивки KeeneticOS сбросит правила перенаправления в Xray, Susanin.Keenetic сам это замечает и возвращает правила за ~15 секунд. [FIX] Соединения идут строго по заданному правилу. Если домен включён в список «всегда через VPN», но соединение успело открыться напрямую (например, до применения правила/адреса), Susanin.Keenetic мягко закрывает этот устаревший прямой поток — и следующее соединение к домену идёт уже через VPN, как задано. [FIX] Устойчивость к занятым таблицам iptables. «Замок» iptables — это встроенный механизм «по одному»: менять правила может только один процесс за раз. Если таблицы в этот момент правит, например, сама KeeneticOS, Susanin.Keenetic дожидается своей очереди и не выдаёт ошибку. [FIX] Корректное сосуществование. Susanin.Keenetic учитывает только свои метки и не мешает меткам других сервисов — схемы «как с OpenConnect» работают и для qWDTT/WireGuard. (для этого достаточно указать нужные интерфейсы и подсети в lan_interfaces/lan_subnets.) [FIX] rescan теперь полноценный. Он пересканирует сеть, сам подбирает актуальный VPN-интерфейс и его адрес (например, заменит устаревшее имя интерфейса на рабочий nwg…). [FIX] enable сообщает о готовности по факту. Сначала поднимает Xray, дожидается готовности и лишь затем пишет «включено». Ускорение VPN для списка vpn_always [NEW] Параллельный разбор списка. До 12 доменов резолвятся одновременно — самый первый проход заметно быстрее. [NEW] VPN для доменов из списка работает сразу после перезагрузки. Адреса сохраняются и мгновенно восстанавливаются — ждать не нужно. [NEW] Быстрее и «чище» разбор списка: меньше таймаут на DNS, «пустые» домены не тормозят процесс и не перепроверяются заново при каждом старте. [NEW] enable дожидается прогрева списка и подсказывает, если он ещё дополняется. Установка без клиента XRay. Обновиться с уже установленной версии: opkg update && opkg install ca-certificates ipset iptables conntrack wget-ssl wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/develop/bootstrap.sh | sh -s -- --yes Первая установка (Entware уже стоит) — ставим полный набор зависимостей: opkg update && opkg install ca-certificates ipset iptables conntrack wget-ssl wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/develop/bootstrap.sh | sh -s -- --yes Нужен режим REALITY — добавьте --with-xray (Xray качается отдельно, в архив не входит): opkg update && opkg install ca-certificates ipset iptables conntrack wget-ssl wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/develop/bootstrap.sh | sh -s -- --yes --with-xray
  11. Всем привет! Бан сервера по IP от ТСПУ РКН, с последующим отказом работы "Другого подключения asc 2.0", подтолкнул сесть за код. На обкатку предлагаю версию Susanin.Keenetic 0.4.0-dev1 (Develop). Всем миром собираем замечания/предложения и потом в Release. Главное в сборке : 1. Веб-панель (по умолчанию выключена) Включение: в /opt/susanin/etc/susanin.conf: web_enable=1 web_listen=192.168.1.1 # LAN-адрес вашего роутера web_port=8087 web_token=ПРИДУМАЙТЕ_ПАРОЛЬ Запуск: /opt/etc/init.d/S95susanin-web start web_token — пароль, который вы придумываете сами. Если оставить пусто, вход без пароля (доступ только из вашей сети). Проверка в браузере: http://192.168.1.1:8087/?token=ПАРОЛЬ Это НЕ полноценное решение - это обкатка демона, поэтому по умолчанию выключена. Далее bootstrap и функционал. 2. qWDTT_Server_Keenetic Это совместимость, а не интеграция: клиентами qWDTT Susanin.Keenetic не занимается. серверные туннели qWDTT (wdtt0/wdttraw0) не должны попадать в lan_interfaces/lan_subnets/egress_interface — они в discover_exclude; подсеть Susanin.Keenetic (egress_address) не должна пересекаться с сетями qWDTT (10.66.66.0/24, 10.70.66.0/16). Пример: # --- Сосуществование с qWDTT_Server_Keenetic --- # Не брать серверные туннели qWDTT как LAN/egress (это дефолт): discover_exclude=wdtt0,wdttraw0,tun0,tap0 # Наши LAN — только домашние мосты Keenetic (без wdtt*): lan_interfaces=br0 lan_subnets=192.168.1.0/24 # Наш egress — VPN-интерфейс (nwg*), НЕ wdtt*: egress_interface=nwg0 egress_address=10.8.1.1 # подсеть Susanin — вне 10.66.66.0/24 и 10.70.66.0/16 Проверка: sh /opt/susanin/tools/diagnose.sh | sed -n '/qWDTT/,/^$/p' # ожидаем "qWDTT: обнаружен" и без предупреждений про wdtt* в egress/lan 3. Профили маршрутизации Профиль — это список (домены / IP / CIDR), который идёт в свой туннель. Профилей до 4, включаются ключами profile1_* … profile4_*; профиль работает, только если задан profileN_name. Если профилей нет — ничего не меняется. В /opt/susanin/etc/susanin.conf: profile1_name=cdn profile1_egress=nwg1 profile1_list=/opt/susanin/etc/profiles/cdn.txt profile2_name=social profile2_egress=nwg2 profile2_list=/opt/susanin/etc/profiles/social.txt Список — файл /opt/susanin/etc/profiles/<имя>.txt: по строке домен, IP или CIDR, # — комментарий. profileN_table / profileN_mark можно не задавать. Проверка sh /opt/susanin/tools/profiles.sh up sh /opt/susanin/tools/profiles.sh status Адрес обрабатывается первым совпавшим профилем. 4. XRay (REALITY) XRay подключается как egress: Susanin.Keenetic помечает нужные соединения, TCP уходит в Xray через REDIRECT, UDP — через релей в демоне Susanin.Keenetic. TUN не нужен. Тесты показали стабильную работу только на Xray 1.8.24 Настройка Положить бинарь Xray: cp xray/xray.mipsel /opt/sbin/xray && chmod +x /opt/sbin/xray # mips/mipsel # или: cp xray/xray.aarch64 /opt/sbin/xray && chmod +x /opt/sbin/xray Положить конфиг клиента и подставить свои данные: cp /opt/susanin/etc/xray-tproxy.json.example /opt/susanin/etc/xray-tproxy.json # в файле заменить SERVER/UUID/SNI/PBK/SID Включить боевой режим (после установки Susanin.Keenetic 0.4.0-dev1) : sh /opt/susanin/tools/xray-egress.sh enable Ключи (egress_type=tproxy, udp_relay=1 и др.) прописываются сами. Логи Xray — отдельным ключом xray_loglevel (по умолчанию warning): enable/run применяют его и перезапускают Xray. Не ставьте info — иначе Xray пишет строку на каждое соединение (from … accepted …) и грузит Flash носитель. Проверка Безопасно проверить один адрес (в туннель уйдёт только он): sh /opt/susanin/tools/xray-egress.sh run 1.1.1.1 both С компьютера в вашей сети: # Windows: nslookup ya.ru 1.1.1.1 nslookup -class=chaos -type=txt whoami.cloudflare. 1.1.1.1 # должен быть IP вашего VPN сервера # Linux/macOS: curl -s https://1.1.1.1/cdn-cgi/trace | grep '^ip=' # должен быть IP вашего VPN сервера На роутере: sh /opt/susanin/tools/xray-egress.sh status # ожидаем: redirect: port=12345 rules=2 ; udp-relay: port=1081 rules=2 sh /opt/susanin/tools/xray-egress.sh default # вернуть всё в DIRECT Выключить боевой режим: sh /opt/susanin/tools/xray-egress.sh disable. Важно: UDP проверяйте с компьютера, а не с роутера — трафик самого роутера в этот механизм не попадает. Если Xray не запущен, Susanin.Keenetic сам не поднимает tproxy-правила и пускает трафик напрямую (fail-open) — в status это видно как (Xray NOT LISTENING). Поднять Xray: /opt/etc/init.d/S93xray-tproxy start Если что-то не так sh /opt/susanin/tools/susanin.sh status sh /opt/susanin/tools/diagnose.sh sh /opt/susanin/tools/report.sh # отчёт: /opt/susanin/var/report.txt Логи и информацию просьба оставлять на форуме или в Телеге Установка c XRay клиентом mkdir -p /opt/tmp/sus-dist && cd /opt/tmp/sus-dist wget -O susanin-dev.tar.gz \ https://github.com/R17a/Susanin.Keenetic/raw/main/develop/susanin-keenetic-0.4.0-dev.tar.gz tar -xzf susanin-dev.tar.gz cd susanin-keenetic-0.4.0-dev sh install.sh --yes Если установлен и настроен XRay (REALITY) sh /opt/susanin/tools/xray-egress.sh enable sh /opt/susanin/tools/susanin.sh status
  12. День добрый! Включено в план.
  13. Susanin.Keenetic v0.3.10 Что нового Меньше «дёрганья» VPN-списка (ok_evict_misses). Раньше адрес мог вылететь из списка «идёт через VPN» после одного плохого наблюдения и тут же вернуться — список «мельтешил». Теперь адрес убирается только после нескольких сбоев подряд (по умолчанию 3). В логе будет одна сводка раз в ~5 минут, а не строка на каждое событие. Хотите как раньше — поставьте ok_evict_misses=1. Быстрее заворачиваем «заглохший» HTTPS. Частая картина: сервер ответил, но данные почти не идут — так провайдер замедляет соединение. Теперь такой адрес сразу проверяется через VPN, не дожидаясь окна наблюдения. Проверки идут чаще: soft_interval по умолчанию снижен до 1 секунды. Ограничитель лишних переводов в VPN (promo_per_min). Чтобы быстрый детект не завернул в VPN всё подряд, за минуту делается не больше 30 новых проб (настраивается; 0 — без ограничения). Мессенджеры не «выпадают» из VPN. Telegram/WhatsApp держат соединение долго; раньше один «тихий» срез мог убрать адрес из списка VPN. Теперь — нет. Диагностика одной командой. sh /opt/susanin/tools/diagnose.sh сам проверит, всё ли на месте (пакеты, настройки, правила, списки), и подскажет, что поправить. Сменили или удалили VPN — перезапуск не нужен. susanin.sh reload перечитывает настройки, susanin.sh rescan заново находит LAN и VPN, обновляет конфиг и применяет изменения. Если VPN-интерфейс пропал, программа сама переключится на живой; если живых нет — пустит трафик напрямую и напишет об этом в лог. Установщик сам предложит доустановить нужное. Если не хватает ipset, iptables, conntrack или сертификатов, установщик спросит, поставить ли их через opkg (флаг --deps — без вопроса). Меньше строк в логе про списки. Домены без A-записи (частая история у CDN) больше не печатаются по строке каждый — будет одна сводка, а повторные неудачи проверяются реже (до 1 часа). Если у домена из vpn_always нет A-записи на самом домене, программа сама проверит поддомены — так адреса CDN чаще попадают в VPN. DNS для разбора списков. Если системный DNS — 127.0.0.1 (NDM) или пуст, берётся адрес LAN-моста: в ряде сборок так надёжнее. Правки vpn_always срабатывают сразу. Когда адрес только что переведён в VPN, старые прямые соединения к нему разрываются — клиент переподключается уже через туннель (для vpn_never так было и раньше). Адрес из vpn_never не «прыгает» в VPN. Если адрес был в списке «всегда напрямую» и оттуда убран, какое-то время он не будет выучен в VPN. Документация. Добавлены USER_GUIDE.md (руководство) и TROUBLESHOOTING.md (что делать, если не работает). Диагностика Если что-то работает не так — сначала запустите диагностику: проверит окружение, настройки и списки, выдаст рекомендации: sh /opt/susanin/tools/diagnose.sh Для отправки полного отчёта (логи, состояние) — соберите и приложите вывод: sh /opt/susanin/tools/report.sh или без установки: wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/v0.3.10/tools/report.sh | sh Отчёт сохраняется в /opt/susanin/var/report.txt. Установка (первый раз) opkg update && opkg install ca-certificates ipset iptables conntrack wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/main/install.sh | sh Обновление (конфиг и состояние сохраняются) sh /opt/susanin/tools/susanin.sh update v0.3.10 Удаление sh /opt/susanin/tools/susanin.sh uninstall # остановить и снять правила/автозапуск, конфиг и состояние оставить sh /opt/susanin/tools/susanin.sh uninstall --purge # удалить /opt/susanin полностью
  14. Susanin.Keenetic v0.3.9 Что нового в этой версии Версия сразу с status. susanin-agent status первой строкой печатает версию — отдельно запускать version больше не нужно. Сборщик отчёта для обращений. sh /opt/susanin/tools/report.sh собирает диагностику и сохраняет файл /opt/susanin/var/report.txt — его удобно приложить в Issues, на форум или в Telegram. Понятные ошибки запуска. Если программе не удалось создать свои правила фильтрации, в лог теперь пишется причина (например, «не найден ipset» или не найден интерфейс nwg0»), а не общее «provisioning failed». Проверка при старте. Программа проверяет, что установлены iptables,ipset, conntrack, ip и что VPN-интерфейс существует; если чего-то нет — пишет подсказку, что до установить. Это упрощает первый запуск. Меньше лишних повторов. Если правила не создались, попытки повторяются раз в минуту (раньше — каждые 15 секунд и с непонятным сообщением про «rebuild»). Несколько VPN-подключений (фейловер). В конфиге можно перечислить несколько VPN-интерфейсов через запятую (например, egress_interface=nwg0,nwg1). Если активный VPN отключился, трафик автоматически пойдёт через следующий живой; если живых не осталось — напрямую. Меньше записей на память роутера (disk_mode). Если программа установлена во внутреннюю память (NAND) — в том числе когда Entware/OPKG стоит на встроенном разделе — установщик включает режим soft: лог-файл не ведётся, бэкапы/архивы не создаются, а список выученных адресов сохраняется редко — раз в 12 часов (soft_state_interval). В обычном режиме (normal, обычно при установке на USB-флешку) лог ведётся и состояние сохраняется раз в 5 минут. Списки применяются сразу. Если адрес добавлен в vpn_never («всегда напрямую»), уже открытые соединения к нему разрываются, чтобы клиент пере подключился напрямую — иначе такие соединения подолгу оставались бы в VPN. Предупреждение, если домен из vpn_never не разобрался. Список «всегда напрямую» работает по IP-адресам: программа находит адреса домена и добавляет их в список. Если адреса получить не удалось, правило не сработает и трафик к этому домену может уйти в VPN — теперь в лог пишется предупреждение. Меньше мусора в списке выученных адресов (learn_exclude_ports). Для служебных портов (22, 23, 445, 554 и т.п.) больше не запоминаем адреса по одному не отвеченному запросу — так отсекается сетевой шум и сканирования. Обычные сайты (80/443/QUIC) учатся как раньше; если заблокированный сервис работает на нестандартном порту — добавьте его домен/IP в vpn_always.txt. Диагностика Если что-то не так — соберите отчёт (в момент проблемы) и приложите вывод: sh /opt/susanin/tools/report.sh # или без установки: wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/v0.3.9/tools/report.sh | sh Отчёт сохраняется в /opt/susanin/var/report.txt. Установка (первый раз) opkg update && opkg install ca-certificates ipset iptables conntrack wget -qO- https://raw.githubusercontent.com/R17a/Susanin.Keenetic/main/install.sh | sh Обновление (конфиг и состояние сохраняются) sh /opt/susanin/tools/susanin.sh update # до последнего релиза sh /opt/susanin/tools/susanin.sh update v0.3.9 # конкретная версия Удаление sh /opt/susanin/tools/susanin.sh uninstall # остановить и снять правила/автозапуск, конфиг и состояние оставить sh /opt/susanin/tools/susanin.sh uninstall --purge # удалить /opt/susanin полностью p.s. инструкции обновил, чтобы стало более понятно p.s.s. вопрос с .ipk в проработке. Entware: https://github.com/R17a/Susanin.Keenetic/releases#release-v0.3.9 openWRT: https://github.com/R17a/Susanin.Keenetic/releases#release-openwrt-v0.3.9
  15. Спасибо! Замечание принимается, зависимости пропишем в следующем релизе.
×
×
  • Создать...

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

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