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

Ponywka

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

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

  • Посещение

  • Победитель дней

    2

Весь контент Ponywka

  1. v0.1.6 (GitHub Release) * Добавлен оверлей блокирующий управление во время сохранения записей. * Добавлена поддержка события SIGHUP ("/opt/etc/init.d/S99magitrickle reconfigure"). * Добавлен флаг Enable у Group. * Убран флаг FixProtect у Group. * Улучшена совместимость Frontend с Windows 7. * Frontend теперь подстраивается под мобильный интерфейс. * Исправлен баг, когда у стороннего интерфейса (созданного вне Keenetic NDM) пропадало правила доступа в интернет. * Исправлен баг, возникающий при перемещении правил между группами. * Отрефакторена API часть Backend (спасибо @dan0102dan).
  2. v0.1.5 (GitHub Release) Добавлен полноценный WebUI (спасибо @shevernitskiy) Старый WebUI переименован в "legacy" (указать в app.httpWeb.skin) Добавлена возможность отключать обработку правил для IPv6/IPv4 (app.netfilter.disableIPv6 и app.netfilter.disableIPv4 соответственно) Группам теперь можно задавать цвета Был возвращён назад пакет socat вместо тяжелого бинарника, а также основной бинарник был сжат с помощью upx[1] [1] Могут быть проблемы на некоторых архитектурах. Мной было проверено на mipsel - полёт нормальный. Как на других роутерах, увы, неизвестно!
  3. Ну проблема максимум в том, что пакет весит 9 мегабайт в расжатом виде, а так можно. На счёт веса - будет исправлено в будущем, сейчас пока не до этого.
  4. Проблемка в том, что в Telegram нельзя к каналу привязать чат с топиками, а следить за двумя чатами я не очень хочу... В закреплённом сообщении есть ссылка на чат - можно там обсудить что да как.
  5. v0.1.4 (GitHub Release) Исправлен `config.yaml.example` Исправлено падение приложения при существующем интерфейсе в `DOWN` состоянии
  6. v0.1.3 (GitHub Release) Добавлен HTTP сервер Добавлен API (Swagger документация находится в файле docs/swagger.yaml) Реализован базовый WebUI Исправлены некоторые ошибки Произведён частичный рефакторинг кода
  7. Для v0.1.3 появится тестовый WebUI, как только я смогу убедиться, что в релизе нет критических багов.
  8. Ну... Сейчас я делаю API HTTP для CRUD записей + CLI. Условно когда доделаю API - подключится другой разработчик, который будет фронт (WebUI) делать. Сроков не дам, но предположительно уже скоро.
  9. v0.1.2 (GitHub Release) Переход от socat на свой CLI для /etc/ndm/netfilter.d Переход на HTTP в UNIX Socket
  10. Но ведь... WireGuard доступен на Keenetic из коробки... Зачем?...
  11. Перевёл автоматические сборки на GitHub: https://github.com/Ponywka/MagiTrickle/releases
  12. Ну... Адреса занял - а там посмотрю что да как... https://t.me/MagiTrickle https://t.me/MagiTrickleChat
  13. Так-то могу, прост вряд-ли будет время этим всем заниматься. Всё же делается всё на энтузиазме, который имеет свойство пропадать
  14. Версия 0.1.0-9: https://gitea.20101010.xyz/Ponywka/MagiTrickle/actions/runs/38 Исправлены часть правил для IPTables
  15. Проект был переименован в "MagiTrickle"! В связи с переименованием пакета, тем, кто успел установить его со старым именем, перед обновлением нужно будет провести миграцию: /opt/etc/init.d/S99kvas2 stop opkg remove kvas2 opkg install magitrickle_<version>_<arch>.ipk mv /opt/var/lib/kvas2/config.yaml /opt/var/lib/magitrickle/config.yaml /opt/etc/init.d/S99magitrickle start
  16. MagiTrickle - Маршрутизация трафика на основе DNS запросов для роутеров Keenetic (под управлением Entware). (Продукт в данный момент находится в состоянии разработки) Данное программное обеспечение реализует маршрутизацию трафика на основе проксирования через себя DNS запросов. Можно указать список доменных имён, которые нужно маршрутизировать на тот, или иной интерфейс, вместо бесконечного накопления IP адресов. Особенности, в сравнении с другим ПО: Roadmap: Установка: Ссылки: Исходный код: https://github.com/Ponywka/MagiTrickle Автоматические сборки: https://github.com/Ponywka/MagiTrickle/releases Telegram канал: https://t.me/MagiTrickle Telegram чат: https://t.me/MagiTrickleChat
  17. Это очень странно юзать Bash скрипты чтобы ловить те или иные состояния. Так например когда я пишу нативное ПО я могу вытворять все что угодно в фоне, но почему-то для того, чтобы получать какие-то эвенты - пришлось использовать UNIX сокет и перенаправлять поля из этих эвентов в этот UNIX сокет. Пример: #!/bin/sh SOCKET_PATH="/opt/var/run/kvas2-go.sock" if [ ! -S "$SOCKET_PATH" ]; then exit fi echo -n "netfilter.d:${type}:${table}" | socat - UNIX-CONNECT:"${SOCKET_PATH}"
  18. Так у меня не слетали настройки - они изначально были по-умолчанию и работали правильно. Я говорю конкретно о том, что интерфейс неправильно обрабатывает состояние, когда в конфиге ничего не указано (поэтому и приложил Diff конфига до и после) Upd. А, всё, понял. Не заметил
  19. Если никогда ранее не трогать настройку "Channel width" у Wi-Fi, то она будет отображаться в интерфейсе как "20 MHz", хотя по факту будет работать как "20/40/80 MHz": 2024-09-10 20-53-05_low.mp4 При сравнении двух конфигураций видно, что добавился параметр "channel":
  20. Окей, чуть подразобрался и похоже всё-таки придется поддержать хук "netfilter.d", ибо (как я понял) подобное есть и на OpenWRT: https://github.com/ndmsystems/packages/wiki/Opkg-Component#ndmnetfilterd
  21. Немного поизучав исходники оригинального kvas обнаружил, что там это исправляется с помощью хука "netfilter.d": https://github.com/qzeleza/kvas/blob/3fdbbd1ace7b57b11bf88d8db3882d94a1d6e01c/opt/etc/ndm/netfilter.d/100-vpn-mark Опять же - печально, ибо я хочу по минимуму привязываться к связке "KeeneticOS + Entware" в своём проекте
  22. Кто-нибудь знает почему правила в "iptables" пропадают? Запускаю скрипты - он заполняют "iptables". Делаю "iptables-save" - всё ок: ~ # iptables-save | grep "KVAS2" :KVAS2_ROUTING_1_POSTROUTING - [0:0] -A POSTROUTING -j KVAS2_ROUTING_1_POSTROUTING -A KVAS2_ROUTING_1_POSTROUTING -o nwg1 -j MASQUERADE :KVAS2_ROUTING_1 - [0:0] -A PREROUTING -m set --match-set kvas2_1 dst -j KVAS2_ROUTING_1 -A OUTPUT -m set --match-set kvas2_1 dst -j KVAS2_ROUTING_1 -A KVAS2_ROUTING_1 -m set ! --match-set kvas2_1 dst -j RETURN -A KVAS2_ROUTING_1 -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff -A KVAS2_ROUTING_1 -m mark --mark 0x1 -j RETURN -A KVAS2_ROUTING_1 -m conntrack --ctstate NEW -j MARK --set-xmark 0x1/0xffffffff -A KVAS2_ROUTING_1 -j CONNMARK --save-mark --nfmask 0xffffffff --ctmask 0xffffffff Но стоит буквально самую малость подождать (например воспользоваться созданными правилами / потупить пару минут) и получаю следующее: ~ # iptables-save | grep "KVAS2" :KVAS2_ROUTING_1_POSTROUTING - [0:0] -A POSTROUTING -j KVAS2_ROUTING_1_POSTROUTING -A KVAS2_ROUTING_1_POSTROUTING -o nwg1 -j MASQUERADE Куда-то пропадает вся цепочка "KVAS2_ROUTING_1". Отдебажил свой код на всякий - он ничего не трогает. Мистика какая-то... Предполагаю, что сам NDM подтирает "iptables", однако ревёрсить бинарники не особо-то и хочется, чтобы найти виновника. Код для проверки: CHAIN_PREFIX=KVAS2_ ROUTING_ID=1 IPSET_TABLE=kvas2_1 MARK=1 INTERFACE=nwg1 ipset create ${IPSET_TABLE} hash:ip iptables -t nat -N ${CHAIN_PREFIX}ROUTING_${ROUTING_ID}_POSTROUTING iptables -t nat -A ${CHAIN_PREFIX}ROUTING_${ROUTING_ID}_POSTROUTING -o ${INTERFACE} -j MASQUERADE iptables -t nat -A POSTROUTING -j ${CHAIN_PREFIX}ROUTING_${ROUTING_ID}_POSTROUTING iptables -t mangle -N ${CHAIN_PREFIX}ROUTING_${ROUTING_ID} iptables -t mangle -A ${CHAIN_PREFIX}ROUTING_${ROUTING_ID} -m set ! --match-set ${IPSET_TABLE} dst -j RETURN iptables -t mangle -A ${CHAIN_PREFIX}ROUTING_${ROUTING_ID} -j CONNMARK --restore-mark iptables -t mangle -A ${CHAIN_PREFIX}ROUTING_${ROUTING_ID} -m mark --mark ${MARK} -j RETURN iptables -t mangle -A ${CHAIN_PREFIX}ROUTING_${ROUTING_ID} -m conntrack --ctstate NEW -j MARK --set-mark ${MARK} iptables -t mangle -A ${CHAIN_PREFIX}ROUTING_${ROUTING_ID} -j CONNMARK --save-mark iptables -t mangle -A PREROUTING -m set --match-set ${IPSET_TABLE} dst -j ${CHAIN_PREFIX}ROUTING_${ROUTING_ID} iptables -t mangle -A OUTPUT -m set --match-set ${IPSET_TABLE} dst -j ${CHAIN_PREFIX}ROUTING_${ROUTING_ID} # # --- Откат изменений --- # ipset destroy ${IPSET_TABLE} iptables -t nat -D POSTROUTING -j ${CHAIN_PREFIX}ROUTING_${ROUTING_ID}_POSTROUTING iptables -t nat -F ${CHAIN_PREFIX}ROUTING_${ROUTING_ID}_POSTROUTING iptables -t nat -X ${CHAIN_PREFIX}ROUTING_${ROUTING_ID}_POSTROUTING iptables -t mangle -D PREROUTING -m set --match-set ${IPSET_TABLE} dst -j ${CHAIN_PREFIX}ROUTING_${ROUTING_ID} iptables -t mangle -D OUTPUT -m set --match-set ${IPSET_TABLE} dst -j ${CHAIN_PREFIX}ROUTING_${ROUTING_ID} iptables -t mangle -F ${CHAIN_PREFIX}ROUTING_${ROUTING_ID} iptables -t mangle -X ${CHAIN_PREFIX}ROUTING_${ROUTING_ID}
  23. Здраствуйте! Использую KeeneticOS 4.2 Beta 2 на мониторе 2K разрешением (а у друзей вариант с 4K разрешением) и меня огорчает то, что интерфейс ограничили 1920px по ширине, хотя ранее таких ограничений не было и интерфейс растягивался на всю ширину (в моём случае 2560px). Планируется ли исправление ширины в будущем?
×
×
  • Создать...

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

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