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

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

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

Добрый день. NC-1012, подключения pppoe, wg, политика по умолчанию. Установлен v0.4.0-dev6. Проблема с голосовым каналом Discord. Подключается нормально, но голос работает только секунду, появляется раз в минуту. Лечится только добавлением ip канала в всегда через vpn.

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

Добрый день. NC-1012, подключения pppoe, wg, политика по умолчанию. Установлен v0.4.0-dev6. Проблема с голосовым каналом Discord. Подключается нормально, но голос работает только секунду, появляется раз в минуту. Лечится только добавлением ip канала в всегда через vpn.

День добрый!

Попробовать включить блокировки и перегрузить.

Я отдельно проверю т.к. сам не пользуюсь им.

image.png.d08581e8593851c0c95649e29fc66469.png

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

Я отдельно проверю т.к. сам не пользуюсь им.

В момент первого подключения Susanin.Keenetic строит правила и маршруты, при повторном подключении, всё происходит корректно.
То-же касается и видео звонков.

image.png.7accd44fc5444f070c6d0db2059e6276.png


image.png.6446968b05d5f7245030e6b9ff0e9aab.png

image.png.bca5f10bc506c8b82fb1314bf41b6df7.png

Опубликовано
В 06.10.2026 в 14:10, R17a сказал:

В момент первого подключения Susanin.Keenetic строит правила и маршруты, при повторном подключении, всё происходит корректно.
То-же касается и видео звонков.

image.png.7accd44fc5444f070c6d0db2059e6276.png


image.png.6446968b05d5f7245030e6b9ff0e9aab.png

image.png.bca5f10bc506c8b82fb1314bf41b6df7.png

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

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

Хорошая задумка, сам про такое думал.
По сути ТСПУ наоборот, на лету анализируем трафик и пытаемся достучаться сквозь блок.

Но в идеале надо не пытаться взваливать на слабый роутер подобное.
А делать в виде отдельной внешней коробочки ("бокового роутера"), который располагается в той же сети за роутером.
И просто предоставляет роутеру некий интерфейс (разные виды VPN и прокси) для подключения.
Хоть простейший PPTP или L2TP без шифрования ибо в одной сети за файрволом.
Причем сам боковой роутер использует интернет каналы основного роутера для выхода и достукивания до внешних VPN серверов.
Или вместо VPN может применять локальные методы противодействия DPI.

В некоторых случаях мощных роутеров c entware понятно можно совмещать, но не обязательно.
Реализация лучше всего уже по классике - одним бинарником на Go с настройками в json.

Изменено пользователем Gary Komarov
Опубликовано
6 часов назад, Garykom сказал:

Реализация лучше всего уже по классике - одним бинарником на Go с настройками в json.

Не понимаю и что вам C(си) плохого сделал, как язык программирования?

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

Релиз 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 — при необходимости ставьте панель за своим прокси или не выставляйте её в недоваренный сегмент.

image.thumb.png.c2aa347b8c2e92bcd313763dc488452c.png


Установка вариант 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) — то, без чего большинство исправлений в этом репозитории просто не нашлось бы.
Спасибо!

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

Не понимаю и что вам C(си) плохого сделал, как язык программирования?

Чистый Си (Pure C) - прекрасен!

Но у него две проблемы:
1. Из коробки без либ почти ничего не умеет, все надо самому на низком уровне писать или искать сторонние либы и как-то их скрещивать.
Даже работы со строками нет по сути, не говоря про кодировки, только массивы символов-байт и эмуляция строк переменной длины через нуль-терминацию.

2. Так как чистый Си ничего не умеет, везде начинают применять его дополнения типа C++.
А это уже совсем другая история, нынче C++ это полный пипипи а не язык.

Поэтому на текущий момент Go это наилучшее для написания подобных микросервисов.
Да жертвуем расходом памяти (прожорливо однако) и размером бинарника.
Но зато получаем отличное быстродействие/производительность.
При легкости и удобству разработки!
При возможности когда очень надо встраивать код/модули на C прямо внутрь бинарника через CGO.

Изменено пользователем Garykom
Опубликовано
20 минут назад, Garykom сказал:

удобству разработки

Мой проект остаётся на чистом С(Си), во благо ресурсов железа.

Кому что удобнее, ждём и Ваших решений.

Не зря в "соседней теме" писали, что "Конкуренция это хорошо".

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

Сусанин потребляет минимум памяти и работает на роутере даже с 128 мегабайтами оперативки. Сейчас вы его на на Go переведёте и он Ультру затребует. Не надо ничего ломать. Сусанин идёт верным путём!  

Тут вон альтернативный проект перевели с Go на С и он вообще перестал жрать память. Просто праздник какой-то. 

Опубликовано
2 часа назад, Oleg Danilov сказал:

что проблему "16 кб" он не отслеживает?

Что-то в первый раз про такую проблему слышу.

Опубликовано
2 часа назад, Oleg Danilov сказал:

Я же правильно понимаю, что проблему "16 кб" он не отслеживает?

Это маршрутизатор, а не пробивальщик блоков. Если у вас нет работающего соединения, то Сусанин вам не поможет. 

Опубликовано
5 minutes ago, Кинетиковод said:

пробивальщик блоков

Я не спросил "можно ли исправить", я спросил "определяет ли".

Это автоматический маршрутизатор. Который обнаруживает проблему и дальше пробует через туннель. Я спрашиваю, есть ли шанс определить "16 кб" как проблему.

Опубликовано (изменено)
15 минут назад, Oleg Danilov сказал:

погуглите cloudflare 16 кб :)

Если я правильно прочитал, то "душат CDN Cloudflare", поэтому у нас

cdn.jpg

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

Отличный проект, не могу дождаться, чтобы его протестировать. Было бы здорово, если бы интерфейс поддерживал английский, а то мне приходится использовать AI-перевод для чтения на русском.

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

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

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

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

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

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

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

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

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

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

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

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