-
Постов
100 -
Зарегистрирован
-
Посещение
-
Победитель дней
7
Тип контента
Профили
Форумы
Галерея
Загрузки
Блоги
События
Весь контент Ponywka
-
v0.5.1 (GitLab Release) Changelog: Отключена авторизация по-умолчанию; Приоритет соединения в группе (между соединением и Blackhole) теперь определяется метриками, а не CIDR'ом; Перезапуск сервиса при установке/обновлении пакета (спасибо @spatiumstas); [Frontend] Исправлено отображение выпадающего меню группы (спасибо @dan0102dan); [Frontend] Исправлена логика кнопки сохранения (спасибо @dan0102dan); [Frontend] Прочие мелкие исправления и улучшения (спасибо @dan0102dan и @shevernitskiy);
-
v0.5.0 (GitLab Release) P.s. После установки не забудьте перезапустить сервис!!! (Команда: "/opt/etc/init.d/S99magitrickle restart") Changelog: Использование "iptables-restore --noflush" вместо "iptables" (ускорение сохранение правил); [Keenetic] Убран костыль связанный с перезапуском сервиса в течении первых 5 минут с момента запуска роутера (пропала необходимость из-за изменения выше); Оптимизация обработки DNS запросов (исправление вылетов на роутерах с низким количеством ОЗУ); Оптимизация перебора IP адресов для маршрутизации (увеличение RPS на каждый DNS запрос); Добавлена авторизация по паролю пользователя Entware/OpenWrt; Frontend: Выделение кнопки сохранения конфигурации; Frontend: Исправление логики определения изменений; Frontend: Все полезные ссылки теперь скрыты под кнопкой "Info"; Frontend: Поиск теперь уменьшается до размера кнопки в неактивном состоянии; Frontend: Добавлена сортировка правил в группе (только в Desktop версии); Frontend: Добавлена возможность выбора добавления к существующей, либо замены полностью конфигурации при импорте файла; Frontend: Добавлен предпросмотр типов правил при их массовом импорте; Frontend: Прочие изменения по фронтенду; За все изменения по фронтенду огромное спасибо @dan0102dan и @shevernitskiy!
- 217 ответов
-
- 11
-
-
Раз уж началась такая пляска, то добавлю свои пять копеек в этот тред, т.к. он касается и меня в том числе, а также повлиял на мою дальнейшую смену роутера (в отрицательном для сообщества Keenetic значении). Моему софту MagiTrickle это тоже мешает. Я писал свой софт так, чтобы все правила жили в своих iptables chain, и уже они подключались в конец всех правил, и чтобы не пересекались с основными правилами (чтобы, например, если возникли какие-либо проблемы - мои правила можно было очень быстро найти и подчистить, не высматривая их среди огромного списка iptables-save). Под капотом в моём софте происходит что-то по типу: iptables -t nat -N MT_DNSOR iptables -t nat -A MT_DNSOR -d 192.168.1.1/32 -p tcp -m tcp --dport 53 -j DNAT --to-destination :3553 iptables -t nat -A MT_DNSOR -d 192.168.1.1/32 -p udp -m udp --dport 53 -j DNAT --to-destination :3553 iptables -t nat -A PREROUTING -j MT_DNSOR Время выполнения команды "iptables" если быть честным - очень долгое (уже не помню, но чот около 100мс на каждый индивидуальный вызов iptables, что выливается в секунды выполнения, за которые Keenetic успевает выполнить чистку правил). И по факту между выполнением этих команд Keenetic начинает чистку iptables, после чего я получаю ошибку в стиле "iptables: no chain MT_DNSOR", потому что мой код не успел вовремя заполнить таблицу нужными значениями. Моё ПО кросс-платформенное. Я не ориентируюсь только на один Keenetic. Городить костыли по типу "если зафейлилось - повторить" не собираюсь, потому что вместо ошибки "iptables: no chain MT_DNSOR" вполне может затесаться ошибка по типу "iptables: no module loaded" (условно), и в подобном случае аварийная остановка моей программы - оправдана, и пытаться выполнить перезагрузку - бессмысленно. В результате, из-за частых сбросов iptables, особенно в момент запуска роутера, мне пришлось городить костыль, который бы пытался запускать сервис после перезагрузки роутера в течении 5-ти минут. GitLab (/opt/etc/init.d/S99magitrickle) Потенциально эта проблема исправляется вызовами iptables-save и iptables-restore --noflush (высчитывая разницу между тем, что есть, и тем, что должно быть, формируя diff в формате iptables-restore), что я реализовал в коммите GitLab (Commit 6e4bd9c0), однако (далее скорее является моим багом, но если бы не ситуация с очисткой - мне бы и не пришлось делать что-то подобное) теперь возникает такая ситуация, что если Keenetic вызовет несколько раз вызов netfilter.d, то я получу такую ситуацию, что: --- Вызов netfilter.d --- iptables-save > (/dev/stdout) iptables-restore --noflush < (/dev/stdin) --- Вызов netfilter.d --- iptables-save > (/dev/stdout) iptables-restore --noflush < (/dev/stdin) --- Вызов netfilter.d --- iptables-save > (/dev/stdout) --- Вызов netfilter.d --- iptables-save > (/dev/stdout) iptables-restore --noflush < (/dev/stdin) iptables-restore --noflush < (/dev/stdin) По итогу из-за того, что я не могу заблокировать iptables между запросами iptables-save и iptables-restore - у меня происходит дубликация правил. Реализовывать нативную работу iptables на Go (как это делает сам бинарник "iptables" работая с самим ядром Linux) ради одного KeeneticOS, когда на других платформах всё работает и без этого - желания как такового ноль. И это не говоря о том, что мне в целом приходится ловить эвент с помощью Bash скриптов, оборачивать их в RAW HTTP соединение (либо городить внутренний бинарный API либо по собственному протоколу, либо gRPC), и уже обрабатывать это событие индивидуально в программе, что опять же, считаю костылём. GitLab (/opt/etc/ndm/netfilter.d/100-magitrickle) Этих проблем нет на таких прошивках, как DD-WRT и OpenWRT (где на последний я в итоге перешел, ведь он мне даёт больше возможностей, как энтузиасту-разработчику).
-
Ну вообще мой софт для этого не особо предназначен. Но если сильно хочется, то можно с помощью подсетей (здесь всё, кроме частных адресов (упрощенно говоря - те, которые не относятся к интернету)): 0.0.0.0/5 8.0.0.0/7 11.0.0.0/8 12.0.0.0/6 16.0.0.0/4 32.0.0.0/3 64.0.0.0/3 96.0.0.0/6 100.0.0.0/10 100.128.0.0/9 101.0.0.0/8 102.0.0.0/7 104.0.0.0/5 112.0.0.0/4 128.0.0.0/3 160.0.0.0/5 168.0.0.0/6 172.0.0.0/12 172.32.0.0/11 172.64.0.0/10 172.128.0.0/9 173.0.0.0/8 174.0.0.0/7 176.0.0.0/4 192.0.0.0/9 192.128.0.0/11 192.160.0.0/13 192.169.0.0/16 192.170.0.0/15 192.172.0.0/14 192.176.0.0/12 192.192.0.0/10 193.0.0.0/8 194.0.0.0/7 196.0.0.0/6 200.0.0.0/5 208.0.0.0/4 224.0.0.0/3
-
Ну... Мы на форуме по Keenetic, поэтому и отвечаю я ответом как бы оно работало на Keenetic. С OpenWRT пока что да, проблемки в плане поднятия репозитория + начиная с 25.X версии они сменили пакетный менеджер. Требуется настроить сборку с помощью OpenWRT SDK, что как бы занимает свободного время, которого, увы, у меня не так много.
-
mipsel-3.4_kn - Сборка под Entware с ориентиром под Keenetic mipsel-3.4 - Сборка под Entware Отличается тем, что в версии с Keenetic есть хук "ndm/netfilter.d" который существует только на Keenetic. А вообще, в инструкции по установке подключается репозиторий. Можно его юзать, тогда можно будет и не думать 🙃
-
v0.4.0 (GitLab Release) Changelog: Добавлена поддержка статических IPv6 маршрутов. Оптимизированы правила использующие RegExp. Ответы от DNS сервера теперь приходят сжатые (требуется для некоторых устройств, по типу PS5). (Frontend) При импортировании списка записей в режиме "Auto" домены второго уровня теперь будут определяться как "namespace". (Frontend) Кнопки импорта/экспорта поменяны местами. (Frontend) Неактивные интерфейсы теперь подсвечиваются серым цветов (спасибо @dan0102dan). (Frontend) Мелкие улучшения по дизайну (спасибо @dan0102dan).
-
Тут неправильная трактовка со стороны пакетного менеджера "opkg" Конкретно: Дословно переводится как: "Существующий конфигурационный файл /opt/var/lib/magitrickle/config.yaml отличается от конфигурационного файла внутри пакета." Фактически это должно трактоваться как "Конфигурационный файл был изменён. На работу влиять не должно, но конфигурация отличается от настроек по-умолчанию". Т.е. не является ошибкой
-
v0.3.0 (GitLab Release) Changelog: Теперь доступны сборки под Entware (DD-WRT, ASUS-Marlin и т.п.). Теперь доступны сборки под OpenWRT. Исправлено использование IPv6 Upstream DNS серверов (спасибо @dan0102dan). (Keenetic) Исправлен неработающий DNS сервер при подключении по L2TP. (Keenetic) Порог попыток запуска MagiTrickle после перезапуска роутера повышен до 5 минут. (Keenetic) Исправлена ошибка "Opkg::Manager: /opt/etc/ndm/netfilter.d/100-magitrickle: exit code 1" если MagiTrickle находится в оффлайн. (Frontend) Реализован поиск по группам и правилам (спасибо @dan0102dan). (Frontend) Реализовано массовое добавление правил в группы (спасибо @dan0102dan). (Frontend) Реализован Drag and Drop групп. (Frontend) Убраны лигатуры из шрифта (когда "^|" превращался в "↑" и т.п.) (спасибо @dan0102dan). (Frontend) Ну и наконец - добавлена щепотка новогоднего настроения! (опять же - спасибо @dan0102dan).
- 217 ответов
-
- 15
-
-
