• routerforge-v0.13.0-beta.6 19e17e3d2b

    RouterForge 0.13.0-beta.6
    Some checks failed
    CI / CI change scope (push) Has been cancelled
    CI / Fast release contracts (push) Has been cancelled
    CI / test (push) Has been cancelled
    CI / Beta package build (aarch64-3.10) (push) Has been cancelled
    CI / Beta package build (mips-3.4) (push) Has been cancelled
    CI / Beta package build (mipsel-3.4) (push) Has been cancelled
    CI / Publish verified multiarch Beta (push) Has been cancelled
    CI / Publish rolling ARM64 Dev channel (push) Has been cancelled
    CI / Publish validated stable promotion (push) Has been cancelled
    Pre-release

    FifthAce released this 2026-10-19 21:09:15 +03:00 | 56 commits to main since this release

    RouterForge 0.13.0 Beta 6

    Обновление Beta 6 посвящено совместимости с Keenetic, корректности отображаемых данных и работе каталога обновлений.

    🔧 Исправления и улучшения

    DNS Manager и Keenetic Mesh

    • Улучшена устойчивость DNS Manager при холодном запуске роутера: запросы к системной службе ndmc учитывают её готовность после загрузки.
    • Доработано обнаружение подключённых устройств в Mesh-сети. Если основной способ получения списка клиентов временно недоступен, используется резервное получение данных из ARP.
    • Сохранены существующие настройки и принцип работы DNS Manager.

    Температура процессора

    • Исправлено отображение температуры Wi-Fi как температуры CPU на устройствах без доступного датчика процессора.
    • Когда показания CPU/SoC недоступны, интерфейс показывает отсутствие данных вместо температуры другого компонента.
    • Температуры Wi-Fi продолжают отображаться в мониторинге как отдельные датчики.

    Обновления и совместимость

    • Исправлена доступность канала Stable на архитектурах mips-3.4 и mipsel-3.4.
    • Добавлена периодическая фоновая синхронизация каталога релизов Core с интервалом 30 минут, в том числе без открытого веб-интерфейса.
    • Фоновая проверка обновлений не означает автоматическую установку пакетов.

    📦 Поддерживаемые архитектуры Beta 6

    • aarch64-3.10 — ARM64.
    • mips-3.4 — MIPS.
    • mipsel-3.4 — MIPSEL.

    Публикация включает десять компонентов для каждой архитектуры (30 IPK), отдельные индексы и установочные скрипты.

    ⚠️ Обратите внимание

    Это тестовая версия. Отображение температуры CPU зависит от наличия соответствующего датчика на устройстве. Исправление фоновой синхронизации каталога будет дополнительно проверяться при обычной эксплуатации Beta 6.

    Обновления обнаруживаются автоматически, но не устанавливаются без действия пользователя.

    Downloads
  • routerforge-v0.13.0-beta.5 46a70c5d71

    RouterForge 0.13.0-beta.5
    Some checks failed
    CI / CI change scope (push) Has been cancelled
    CI / Fast release contracts (push) Has been cancelled
    CI / Publish validated stable promotion (push) Has been cancelled
    CI / test (push) Has been cancelled
    CI / Beta package build (aarch64-3.10) (push) Has been cancelled
    CI / Beta package build (mips-3.4) (push) Has been cancelled
    CI / Beta package build (mipsel-3.4) (push) Has been cancelled
    CI / Publish verified multiarch Beta (push) Has been cancelled
    CI / Publish rolling ARM64 Dev channel (push) Has been cancelled
    Pre-release

    FifthAce released this 2026-10-17 23:51:13 +03:00 | 63 commits to main since this release

    RouterForge 0.13.0 Beta

    В этом обновлении появилось несколько новых инструментов, стало удобнее управлять сетевыми подключениями, а существующие функции получили множество улучшений и исправлений.

    🆕 Что нового

    🔐 Управление доступом к портам

    Добавили новый инструмент для защиты открытых портов роутера.

    • Защита портов с помощью специальной последовательности подключений.
    • Возможность защитить сразу несколько портов.
    • Постоянный доступ для выбранных IP-адресов без дополнительных проверок.
    • Просмотр разрешённых подключений и управление доступом.
    • Защита от ошибок при настройке и возможность отмены изменений.

    🛡️ CrowdSec Manager

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

    • Просмотр состояния защиты.
    • Управление блокировками.
    • Установка и настройка необходимых компонентов.
    • Проверка работоспособности и диагностика проблем.

    🚀 Улучшенный NFQWS Manager

    Серьёзно доработали инструмент для настройки обхода блокировок.

    • Более понятная диагностика сайтов, которые не открываются.
    • Улучшенный автоматический подбор настроек.
    • Проверка результата после применения изменений.
    • Автоматическое восстановление предыдущих настроек, если что-то пошло не так.
    • Удобнее и безопаснее стало работать со списками сайтов.

    📋 Управление журналами

    Теперь можно самостоятельно выбирать, где RouterForge будет хранить свои журналы:

    • В оперативной памяти роутера.
    • На накопителе с Entware.
    • В выбранной пользователем папке.

    Также появились настройки размера журналов и количества сохраняемых копий.

    🔧 Улучшения и исправления

    • Обновили и упростили интерфейсы нескольких инструментов.
    • Сделали управление службами удобнее.
    • Улучшили отображение ошибок и состояния системы.
    • Исправили множество мелких недочётов.
    • Повысили стабильность и безопасность работы.
    • DNS Manager: исправлен запуск после холодной перезагрузки Keenetic. Обнаружение DNS и реестр клиентов ожидают готовности системной службы ndmc до 60 секунд, чтобы избежать ошибок при раннем старте.

    ⚠️ Обратите внимание

    Это бета-версия. Некоторые новые возможности ещё проходят проверку на разных моделях роутеров.

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

    Downloads
  • routerforge-v0.13.0 29b7b849d2

    FifthAce released this 2026-10-16 21:16:51 +03:00 | 69 commits to main since this release

    RouterForge 0.13.0 Stable

    Есть одна удивительная особенность разработки программного обеспечения. Сначала разработчик составляет план. Продумывает архитектуру. Распределяет задачи. Определяет сроки. Представляет, каким прекрасным получится следующий релиз. А потом приходит пользователь и говорит: «Очень замечательно было бы туда добавить…»

    И всё. План можно выкидывать нахуй.

    Не потому, что пользователь предложил что-то плохое. Наоборот. Именно поэтому. Он предложил то, что действительно нужно. А разработчик, который последние три недели любовно вылизывал внутреннюю архитектуру, внезапно обнаруживает, что реальному человеку совершенно неинтересно, насколько элегантно организованы его интерфейсы.

    Человеку нужна кнопка. Желательно работающая. И желательно сегодня.

    Добро пожаловать в RouterForge 0.13.0.

    Релиз, который во многом появился благодаря прекрасному взаимодействию двух совершенно разных форм жизни: Людей, которые пользуются программой. И людей, которые почему-то решили, что способны её написать.


    Ранее в этом дурдоме

    В 0.12.0 мы выпустили большой Центр приложений. Научили RouterForge устанавливать сторонние программы, проверять разработчиков, управлять собственными модулями и делать множество других вещей, которые должны были существенно облегчить жизнь пользователям.

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

    А потом выпустили 0.12.1. Потому что пользователи, эти бессердечные ублюдки, начали пользоваться программой.

    Они нажимали кнопки. Пробовали обновлять компоненты. Проверяли настройки. И почему-то ожидали, что написанное в патчноуте соответствует действительности. Невероятная наглость.

    Мы обнаружили, что кнопка обновления может отсутствовать, официальный пакет требует согласия на запуск непроверенного стороннего кода, а новая версия иногда оказывается старой версией в красивой упаковке.

    В приличной компании всё это назвали бы: «Результатами расширенного пользовательского тестирования».

    Мы предпочли более короткое определение: «Пользователи опять нашли, где мы насрали».

    В конце патчноута 0.12.1 мы написали:

    «Если после релиза вам кажется, что всё работает идеально — не переживайте. Пользователи скоро проверят».

    Это была шутка. Как оказалось, не совсем. Потому что пользователи решили не ограничиваться исправлением ошибок. Они захотели новых функций.

    А мы совершили стратегическую ошибку. Начали их слушать.


    Как один пользователь незаметно разработал нам половину релиза

    В какой-то момент в обсуждении RouterForge появилось довольно скромное пожелание. Примерно следующее:

    «Очень замечательно было бы туда добавить:

    1. Port knocking — веб-морду для настройки портов и доступ к таблице прошедших авторизацию.
    2. CrowdSec — настройку и статистику.

    Надеюсь на понимание».

    Надеется он на понимание. Какой вежливый человек. Даже как-то неловко.

    Вместо того чтобы потребовать сорок семь новых функций, назвать разработчиков криворукими мудаками и пригрозить переездом на OpenWrt, человек просто попросил две вещи. И вот здесь начинается самое интересное.

    Ни Port Access Manager, ни CrowdSec Manager изначально не были центральными задачами нашего следующего релиза.

    Особенно CrowdSec. Нам он, по большому счёту, не требовался. Мы не сидели вечерами с мыслью: «Господи, как же не хватает ещё одного компонента безопасности на роутере».

    У нас и без того хватало работы. NFQWS2. Списки. Диагностика. Автоподбор. Конфигурации. Резервные копии. Управление службами.

    Но пользователь попросил. И предложение оказалось разумным. Поэтому мы решили: «Ладно, добавим».

    В этот момент где-то в глубине репозитория тихо заплакал наш план разработки.


    Port Access Manager. Просили один замок, получили три.

    Начнём с Port Knocking. Пользователь попросил довольно конкретную вещь. Удобный веб-интерфейс для настройки портов. И возможность видеть IP-адреса, которым разрешён доступ.

    Вполне нормальная задача. Можно было взять один механизм. Сделать настройки. Добавить таблицу. Проверить. Выпустить. Пойти заниматься остальными задачами.

    Но мы же разработчики. У нас особенное заболевание. Оно называется: «А что, если сделать ещё вот это?»

    Поэтому вместо одного способа защиты портов мы решили предусмотреть сразу три.

    • knockd — классический Port Knocking.
    • fwknopd / SPA — авторизация специальным зашифрованным сообщением.
    • iptables recent / odin — защита проброшенных портов средствами ядра Linux.

    То есть человек попросил дверной замок. А мы принесли три замка, контроллер доступа, систему мониторинга, аварийный механизм разблокировки и техническую документацию о том, почему иногда лучше вообще не открывать дверь.

    Спасибо за предложение. Мы слегка увлеклись.

    Port Knocking. Тук-тук, кто там?

    Идея Port Knocking проста. Чтобы получить доступ к защищённому сервису, клиент сначала подключается к определённым TCP-портам в правильной последовательности.

    Например: 7777 → 8888 → 6666

    Если последовательность правильная и выполнена вовремя, система может временно разрешить доступ. Если неправильная — нет.

    Потрясающая технология. Человечество придумало спутниковую связь, квантовые компьютеры, сверхпроводники и криптографические алгоритмы невероятной сложности. А теперь один компьютер говорит другому: «Постучи три раза, если свой».

    Справедливости ради, идея полезная. Открытый порт не обязан постоянно принимать подключения от каждого цифрового долбоёба, который решил просканировать интернет.

    В RouterForge появились средства настройки последовательности, временных окон, защищаемых сервисов и управления установленным knockd. Предусмотрены предварительный просмотр, сохранение настроек и проверки безопасности.

    Таблица прошедших авторизацию

    Да, про вторую часть пожелания мы тоже не забыли. Для управляемого режима knockd предусмотрен просмотр авторизованных IP-адресов, полученных из реальных записей механизма xt_recent ядра Linux.

    Не из красивого массива JavaScript. Не из придуманной статистики. Не из таблицы, которая всегда показывает три записи, чтобы интерфейс выглядел убедительнее. А из действующего состояния ядра.

    При этом таблица доступна при соответствующем активном режиме защиты и не выдаётся за универсальный журнал авторизаций всех существующих способов доступа.

    Потому что если человек попросил таблицу прошедших авторизацию, мы должны показывать тех, кто действительно прошёл авторизацию.

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

    SPA. Потому что трёх стуков нам показалось мало.

    После классического Port Knocking мы решили добавить поддержку fwknopd. Этот подход использует Single Packet Authorization.

    Клиент отправляет специальное криптографически защищённое сообщение, после чего настроенный механизм может временно разрешить доступ к сервису.

    В RouterForge появились инструменты для работы с установленным движком, параметрами доступа, подготовкой конфигурации и управлением службой. Чувствительные ключи отделены от обычной диагностики.

    Потому что защищать сервис секретным ключом, а затем показывать этот ключ каждому посетителю страницы состояния — несколько спорное инженерное решение.

    Хотя некоторые крупные компании наверняка назвали бы это: «Повышением прозрачности механизмов информационной безопасности».

    Отдельные операции остаются ограничены до подтверждения фактической работоспособности. Мы не считаем, что красивый предварительный просмотр автоматически создаёт рабочую защиту.

    Это примерно как нарисовать на стене сейф. Выглядит убедительно. Но деньги лучше туда не класть.

    Odin. Потому что иногда отдельный демон — это уже перебор.

    Третьим механизмом стала защита через iptables recent, основанная на решении odin из сообщества Keenetic.

    Здесь последовательность подключений отслеживается средствами самого ядра. Не нужно держать ещё один пользовательский процесс только ради подсчёта стуков.

    Что весьма приятно. Особенно на роутере, где уже запущено столько демонов, что для их изгнания скоро понадобится священник.

    RouterForge получил средства настройки odin, интеграцию с правилами Keenetic NDM и управление собственными цепочками firewall.

    Добавлены:

    • защита нескольких TCP-портов;
    • доверенные IPv4-адреса и подсети;
    • настройка последовательности knocking;
    • временные ограничения доступа;
    • проверки существующих правил;
    • механизмы отката неподтверждённых изменений;
    • watchdog.

    Последний пункт заслуживает отдельного разговора.

    Watchdog. На случай, если администратор оказался талантливее системы защиты.

    Есть один гарантированный способ проверить квалификацию сетевого администратора. Предложить ему удалённо изменить firewall. На роутере. На котором он сейчас работает. Через единственное SSH-подключение.

    Некоторые люди в этот момент начинают думать. Некоторые создают резервный канал. Некоторые делают резервную копию. А некоторые сразу нажимают «Применить».

    После чего их профессиональное развитие резко ускоряется. Особенно если до роутера триста километров.

    Для odin предусмотрен независимый watchdog. Смысл простой: включение защиты должно происходить с возможностью автоматического отката, если пользователь не подтвердил успешность изменений.

    Для соответствующего режима используется защитное окно в 90 секунд.

    Это не гарантия спасения от любого сценария. Это не замена резервному доступу. Это не страховка от сторонних скриптов, аппаратных сбоев и совершенно выдающихся административных решений.

    Но это существенно лучше традиционного способа восстановления: «Попробуй попросить кого-нибудь на месте выдернуть питание».

    И отдельно напоминаем: существующие разрешающие правила Keenetic могут пропускать трафик раньше дополнительных цепочек защиты. Наличие odin в системе само по себе не доказывает, что каждый пакет действительно проходит через него.

    Да, пришлось разбираться и с этим. Потому что firewall — удивительная вещь. Можно создать двадцать прекрасных правил. Проверить их синтаксис. Показать пользователю зелёные галочки. А потом обнаружить, что трафик проходит по двадцать первому правилу, до которого никто не догадался посмотреть.

    Безопасность есть. Только не там, где находится интернет.

    Итого: пользователь попросил Port Knocking. Мы сделали целый Port Access Manager. С тремя подходами, диагностикой, таблицей авторизованных IP, управлением сервисами, предварительными проверками и аварийным откатом.

    Если в следующем обсуждении кто-нибудь попросит кнопку включения Wi-Fi, мы уже немного боимся представить, чем это закончится.

    Скорее всего, собственным контроллером радиочастотной инфраструктуры.


    CrowdSec Manager. Модуль, которого мы не планировали.

    С CrowdSec история ещё прекраснее. Потому что если Port Knocking хотя бы можно было объяснить развитием сетевых инструментов RouterForge, то CrowdSec вообще не входил в наши первоначальные планы.

    Нам нужно было доделать NFQWS Manager. Разобраться с управлением конфигурациями. Улучшить стабильность. Подготовить следующий релиз.

    И тут появляется пользователь. «А добавьте CrowdSec. Настройку и статистику».

    Вежливо. Спокойно. Без угроз.

    Вот что самое опасное. Когда пользователь ругается, разработчику хотя бы есть за что зацепиться. Можно начать спорить. Объяснять архитектуру. Рассказывать про ограничения платформы.

    А когда человек спокойно просит полезную функцию, все эти защитные механизмы становятся бесполезными. Остаётся только сказать: «Ладно, сделаем».

    И вот у нас CrowdSec Manager.

    Спасибо, дорогие пользователи. Мы вас очень ценим. Но когда-нибудь вы всё-таки доведёте нас до психиатра.

    Интернет полон мудаков. Теперь хотя бы есть статистика.

    Интернет принято называть пространством свободы. И это действительно так. В любой момент к вашему устройству могут попытаться подключиться тысячи ботов, сканеров, переборщиков паролей и прочих цифровых организмов.

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

    CrowdSec предназначен для анализа подозрительной активности и формирования решений о блокировке. В RouterForge появился интерфейс управления CrowdSec Firewall Bouncer на Keenetic.

    В поддерживаемой схеме сам CrowdSec LAPI может работать отдельно, например на Windows, а роутер применяет блокировки через Firewall Bouncer.

    Мы не стали делать собственный CrowdSec. Собственный анализатор угроз. Собственную базу подозрительных адресов. Собственный протокол. Собственную систему международного обмена сведениями о киберпреступниках.

    Потому что пользователь попросил интерфейс. И на этот раз мы сумели остановиться до создания ещё одной глобальной инфраструктуры безопасности.

    Прогресс.

    Зелёная галочка больше не считается доказательством.

    Есть замечательная особенность системного мониторинга. Если процесс существует, интерфейс обычно считает, что всё работает.

    Процесс запущен? Да. Значит система защищена.

    Логика безупречная. Примерно как считать, что охранник обеспечивает безопасность здания только потому, что его куртка висит в гардеробе.

    CrowdSec Manager проверяет не только состояние процесса. Он анализирует наличие конфигурации, ipset, интеграцию с NDM и действующие цепочки firewall.

    Проверяется связка:

    FORWARD → CROWDSEC_CHAIN → ipset DROP

    Потому что работающий Bouncer без работающей блокировки — довольно странное достижение.

    Человек платит за охрану. Охранник приходит. Сидит. Пьёт кофе. Воры выносят оборудование.

    Охранник сообщает: «Я свою работу выполнил. Я же был запущен».

    Теперь RouterForge старается проверять не только присутствие охранника, но и состояние двери.

    Установка, настройки и статистика

    Для поддерживаемой платформы добавлена управляемая установка Firewall Bouncer. Используется конкретный официальный выпуск с проверкой SHA256.

    Поддерживается настройка подключения к LAPI, управление службой, диагностика, просмотр блокирующих наборов и метрик.

    Существующие пользовательские установки не должны молча перезаписываться только потому, что RouterForge решил проявить инициативу.

    Предусмотрена работа с собственным NDM hook, чтобы учитывать перестройку правил firewall самим Keenetic.

    Статистика берётся из фактических доступных источников. Если определённая сборка Bouncer не показывает корректное количество адресов в отдельной метрике, RouterForge старается проверить реальные записи ipset.

    Потому что ноль в отчёте не всегда означает отсутствие проблемы. Иногда это означает отсутствие мозгов у системы отчётности.

    Автоматическая установка стороннего Bouncer сейчас имеет подтверждённый путь для ARM64; наличие самого менеджера на других архитектурах не делает недоступный сторонний бинарник волшебным образом совместимым.

    И важный нюанс: CrowdSec Manager не превращается в полноценную замену всей серверной инфраструктуры CrowdSec. Он управляет той частью, которая отвечает за защиту роутера.

    Ровно то, о чём просили.

    Ну, почти. Мы, конечно, всё равно добавили чуть больше диагностики. Надо же как-то поддерживать репутацию людей, которые не умеют вовремя остановиться.


    NFQWS Manager. А вот этим мы действительно собирались заниматься.

    После истории с Port Access и CrowdSec может возникнуть закономерный вопрос: «А что вы вообще планировали сделать в этом релизе?»

    Прекрасный вопрос. Спасибо, что спросили.

    Мы планировали серьёзно доработать NFQWS Manager. И, несмотря на все побочные приключения, действительно это сделали.

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

    Там, где одна неправильная операция может оставить человека без рабочего подключения, испортить конфигурацию или перезаписать файл, который он полгода настраивал руками.

    Почему сайт не открывается? Потому что компьютерные сети ненавидят людей.

    Есть особая категория технических проблем. Интернет работает. DNS отвечает. Другие сайты открываются. А конкретный сайт — нет.

    И начинается традиционный ритуал. Пользователь идёт на форум. Находит стратегию из двадцати параметров. Копирует. Вставляет. Не работает. Находит другую. Вставляет. Перестаёт работать половина интернета.

    Находит третью. Автор комментария утверждает:

    «У меня всё отлично».

    Комментарий написан в прошлом году. Провайдер другой. Роутер другой. Версия nfqws2 другая. Но надежда есть.

    В 0.13.0 NFQWS Manager получил расширенную диагностику сайтов. Теперь система старается не просто показать, что соединение не удалось, а собрать контекст: сетевые симптомы, соответствующие профили, существующие списки и возможные причины неправильной обработки трафика.

    Потому что универсальный совет «попробуй другую стратегию» — это не диагностика. Это гадание на сетевых пакетах.

    Автоподбор стал меньше верить в чудеса.

    Механизм выбора стратегий существенно переработан. Используются реальные кандидаты из текущей конфигурации, сохранённых вариантов, встроенного набора RouterForge и дополнительных источников.

    Стратегии проверяются в изолированных NFQUEUE-тестах. Результаты предыдущих проверок помогают определить порядок, но не заменяют реальные испытания.

    Историческая запись «WORKING» не означает, что стратегия автоматически работает сейчас.

    Потому что: «В прошлом месяце открывалось». — это не технический аргумент. Это воспоминание.

    Примерно как: «Когда-то я мог выпить бутылку водки и утром пойти на работу».

    Попробуйте сейчас. Результаты могут отличаться.

    Один раз открылось — ещё не победа.

    Нестабильные сети обладают замечательной способностью иногда делать вид, что проблема исчезла.

    Сайт открылся. Один раз. На несколько секунд. После чего снова перестал работать.

    Многие программы считают это успехом. Рисуют зелёную галочку. Предлагают сохранить настройки. А дальше пользователь самостоятельно знакомится с последствиями.

    В новом механизме успешный кандидат получает дополнительное независимое подтверждение. Нельзя рекомендовать стратегию только потому, что она один раз случайно показала хороший результат.

    Также учитываются ограничения по памяти и числу параллельных рабочих процессов.

    Потому что идея запускать десятки тяжёлых тестов на роутере с ограниченной оперативной памятью — это не инженерия. Это реалити-шоу.

    «Последний выживший процесс». Главный приз — право не быть убитым OOM Killer.

    Стратегии сообщества по AS провайдера

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

    При желании RouterForge может определить ASN через RIPEstat или использовать номер, введённый пользователем. Затем получить до восьми подходящих кандидатов из базы сообщества и проверить их обычным механизмом NFQUEUE.

    Функция выключена по умолчанию. Внешние запросы выполняются только при её включении. Полученные данные фильтруются и проверяются. Ничего не применяется автоматически.

    Потому что GitHub — это замечательная площадка. Там есть выдающиеся проекты. И там же лежат программы, у которых в README написано: «BEST UNIVERSAL BYPASS 100% WORKING».

    Последний коммит — восемнадцать месяцев назад. Открытых issues — семьдесят три. Автор исчез. Но звёздочек много.

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

    Мы решили не строить работу RouterForge на астрологии.

    Уточнение стратегий и проверка результата

    Появились дополнительные механизмы исследования перспективных кандидатов. Если стратегия даёт частичный прогресс, система может провести ограниченные проверки вариантов параметров.

    Но отсутствие достоверного измерения не объявляется доказательством неработоспособности. Ошибка тестовой инфраструктуры тоже не должна становиться диагнозом стратегии.

    Если у врача сломался градусник, это не значит, что у пациента температура минус сорок.

    Хотя некоторые страховые компании, вероятно, сочли бы такую диагностику достаточно экономичной.


    Smart Apply. Перезапустить службу недостаточно.

    Существует древняя методика изменения конфигурации. Открыть файл. Поменять параметры. Сохранить. Перезапустить службу. Помолиться.

    Если служба запустилась — объявить успех. Если после этого интернет не работает — обвинить провайдера.

    В 0.13.0 применение стратегий стало существенно осторожнее. RouterForge проверяет ожидаемое состояние конфигурации и зависимых файлов. Создаёт резервные копии. Сверяет контрольные суммы. Выполняет предусмотренные проверки после применения.

    И там, где это поддерживается, проверяет доступность целевого ресурса через реальное HTTPS-соединение. Если результат не подтверждается, запускается механизм отката.

    Потому что успешный перезапуск nfqws2 не означает успешную работу сайта.

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

    Двигатель работает? Работает. Задача выполнена.

    Доехать нельзя. Но это уже другая заявка.

    Исправили один сайт — не ломаем остальные.

    Добавлены проверки возможной регрессии для других ранее работавших ресурсов.

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

    Если подтверждённый контрольный ресурс перестал открываться, предусмотрен откат текущей операции.

    Потому что починить один сайт ценой поломки пяти других — это не оптимизация. Это обмен одной проблемы на оптовую партию.

    В корпоративном мире подобное иногда называется: «Успешное перераспределение технических рисков».


    Списки NFQWS. Потому что пользовательские файлы тоже хотят жить.

    Отдельно доработано управление списками. Эта часть разработки оказалась удивительно трудоёмкой.

    Казалось бы. Есть файл. Есть строки. Добавляешь строки. Удаляешь строки. Сохраняешь. Что может пойти не так?

    Ха. Ха-ха. ХА-ХА-ХА, БЛЯДЬ.

    Выясняется, что файл могут одновременно открыть два пользователя. Или две вкладки. Или пользователь с одной стороны, а автоматический процесс с другой.

    Кто-то изменил конфигурацию. Кто-то переименовал список. Кто-то удалил файл, на который ссылались ещё три профиля. Кто-то нажал «Сохранить» в старой вкладке и затёр свежие изменения.

    Обычный рабочий день.

    Теперь RouterForge гораздо внимательнее относится к таким ситуациям.

    Защита от перезаписи

    Редактор использует SHA256 исходного состояния файла. Если содержимое изменилось с момента открытия, устаревшая версия не должна молча его перезаписать.

    Потому что принцип: «Кто последним нажал кнопку, тот и победил». — замечательно подходит для многопользовательских игр.

    Но не для системных конфигураций.

    Создание и удаление

    Новые списки создаются с защитой от случайной перезаписи уже существующего файла.

    При удалении проверяются зависимости от активной и сохранённых конфигураций. Если список используется — операция блокируется.

    Потому что удалять файл, от которого зависит работающая система, слишком просто. Гораздо сложнее потом объяснить, почему эта система перестала работать.

    Особенно если в интерфейсе по-прежнему написано: «Все службы работают нормально».

    Переименование с обновлением ссылок

    Добавлены предварительный просмотр и управляемое переименование списков.

    RouterForge проверяет существующие зависимости, создаёт резервные копии, обновляет допустимые ссылки и контролирует состояние файлов.

    При конфликте предусмотрен ограниченный откат. Причём система не должна слепо удалять новый список, если на него уже ссылается частично изменённая конфигурация.

    Это довольно важная деталь. Потому что при неудачном переименовании есть два варианта.

    Первый: «Операция завершилась ошибкой, часть файлов сохранили для восстановления».

    Второй: «Операция завершилась ошибкой, поэтому мы удалили всё, что успели создать, включая файлы, от которых теперь зависит рабочая конфигурация».

    Второй вариант значительно эффектнее. Но мы всё-таки выбрали первый.

    При этом никакой магической гарантии атомарного изменения всей файловой системы нет. Отключение питания, внешние процессы и аппаратные сбои не обязаны подчиняться нашей красивой логике.

    Мы можем усложнить ошибке жизнь. Но не можем отменить законы физики.

    К огромному сожалению маркетологов.


    Конфигурация NFQWS2. Меньше гадания, больше проверки.

    Улучшена работа с родной конфигурацией nfqws2. Добавлены дополнительные проверки параметров, синтаксиса и зависимостей.

    Доработаны предварительный просмотр, взаимодействие с профилями, списками и Центром резервных копий.

    RouterForge продолжает управлять существующим nfqws2, а не заменяет его собственным альтернативным движком.

    Это важно. Потому что в какой-то момент разработки у нас возникло неприятное подозрение: если продолжать писать вспомогательные механизмы с такой скоростью, можно случайно создать ещё один nfqws2.

    Потом сделать интерфейс для него. Потом написать менеджер интерфейса. Потом обнаружить, что всё это хуже оригинала.

    Поэтому мы решили придерживаться более разумной стратегии: Использовать уже существующие работающие инструменты и улучшать управление ими.

    Редкая победа здравого смысла.


    Управление журналами. Теперь можно выбирать, куда складывать доказательства.

    Логи — удивительная вещь. Пока система работает, они никому не нужны. Когда система перестаёт работать, оказывается, что именно они содержат единственное объяснение происходящего.

    И разумеется, в этот момент журнал либо уже удалён, либо записан в неизвестное место, либо занял всё доступное пространство.

    В 0.13.0 появилось управление хранением журналов RouterForge.

    Теперь можно выбирать:

    • оперативную память роутера;
    • накопитель Entware;
    • пользовательский допустимый путь.

    Добавлены настройки размера журнала и числа сохраняемых копий.

    Система проверяет расположение файлов и ограничивает потенциально опасные пути.

    Потому что записывать логи на внутреннюю flash-память до полного заполнения — это прекрасный способ диагностировать неисправность.

    Правда, к этому моменту неисправностью может стать уже сам роутер.

    Отдельно отметим: RouterForge управляет журналами собственных компонентов, а не начинает распоряжаться логами всего установленного стороннего программного обеспечения.

    Мы стараемся не путать управление своей программой с правом командовать всей файловой системой.

    Хотя соблазн, конечно, есть.

    Особенно когда у программы есть root.


    Интерфейс. Дизайнеры, пожалуйста, отойдите от скроллбаров.

    Современные веб-интерфейсы заслуживают отдельного разговора. Когда-то программы создавались для того, чтобы пользователь мог выполнять действия.

    Теперь они всё чаще создаются для того, чтобы дизайнеру было что опубликовать в портфолио.

    Огромные карточки. Гигантские отступы. Пустое пространство. Семь вкладок. Три внутренние полосы прокрутки. Кнопка «Сохранить», расположенная где-то в районе соседнего административного округа.

    И обязательное утверждение: «Мы значительно улучшили пользовательский опыт».

    Чей, сука, опыт?

    Пользователь хотел поменять три параметра. Теперь он должен пройти полноценное исследование интерфейса.

    В 0.13.0 доработали оформление ряда модулей, компоновку элементов, отображение ошибок, статусов и служебной информации.

    Особое внимание уделили компактности и приведению новых модулей к общей теме RouterForge.

    При этом многие изменения NFQWS Manager находятся именно под капотом. И мы не будем утверждать, что каждая новая проверка сопровождается революционным изменением интерфейса.

    Иногда огромная работа действительно выглядит как та же самая кнопка.

    Просто теперь после её нажатия происходит меньше хуйни.

    Это тоже результат. Хотя на красивый скриншот его положить труднее.


    Интеграции и Центр приложений

    Port Access Manager и CrowdSec Manager добавлены в экосистему RouterForge как отдельные официальные инструменты.

    Они используют общую модель интерфейса и управления модулями.

    Для поддерживаемой конфигурации CrowdSec предусмотрен сценарий установки Firewall Bouncer, если он отсутствует.

    Продолжается развитие возможностей уже существующего Центра приложений.

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

    Потому что именно так начинаются большие корпоративные системы.

    Сначала у вас один удобный интерфейс. Потом пять разных команд его улучшают.

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

    Мы очень стараемся не повторять этот путь.

    Иногда даже успешно.


    Безопасность. Теперь слово PASS должно означать что-нибудь конкретное.

    Разработка 0.13.0 сопровождалась большим количеством тестов. Автоматических. Изолированных. Проверок файлов. Проверок конфликтов. Проверок операций. Проверок отката. Проверок на настоящем ARM64-роутере.

    И всё это прекрасно.

    Но есть одна маленькая проблема.

    Автоматический тест не является доказательством того, что всё работает на любой возможной конфигурации Keenetic.

    У настоящего роутера есть маршруты. Есть правила NDM. Есть сторонние сервисы. Есть другие модули. Есть свои особенности ядра.

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

    Поэтому мы стараемся различать:

    Код прошёл тесты.

    Функция проверена на конкретном оборудовании.

    Функция гарантированно работает на любом устройстве.

    Последнего обещать не будем. Даже если маркетинговый отдел очень попросит.

    Особенно если попросит.

    NFQWS2 Manager прошёл отдельную проверку на рабочем тестовом оборудовании.

    Часть новых механизмов Port Access имеет дополнительные ограничения по аппаратной приёмке, и наличие интерфейса knockd или fwknopd не следует путать с гарантированной работоспособностью любой схемы защиты.

    Работу CrowdSec тоже нужно оценивать по фактическим правилам и статистике, а не по наличию красивой карточки.

    Это несколько портит рекламную картину.

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


    Благодарности. И немного о том, кто вообще делает этот проект.

    Самое время вернуться к нашим пользователям. Потому что именно они заметно повлияли на содержание 0.13.0.

    Сначала они помогали находить ошибки. Потом предлагали улучшения. Теперь предлагают целые новые направления развития.

    И это, пожалуй, самая полезная форма взаимодействия разработчика с аудиторией.

    Не маркетинговая рассылка. Не голосование за цвет кнопок. Не фокус-группа из людей, которые никогда не пользовались программой.

    А обычный разговор: «Слушайте, а вот это было бы удобно».

    И действительно. Было бы.

    И вот уже у разработчиков появляются новые задачи. Новый модуль. Дополнительные проверки. Ещё несколько сотен строк. Пара неудачных сборок. Несколько часов отладки.

    И очередной повод задуматься о правильности жизненного выбора.

    Но именно из таких разговоров получаются полезные программы.

    Мы хотим отдельно поблагодарить людей, которые предлагают идеи, проверяют сборки и сообщают, где что-то работает не так.

    Только не путайте нашу благодарность с обещанием реализовать абсолютно всё.

    Если завтра кто-нибудь попросит добавить в RouterForge полноценную виртуализацию Windows, систему управления электропитанием дома и поддержку космической связи, мы всё-таки оставляем за собой право послать его нахуй.

    Вежливо.

    С объяснением технических ограничений.

    А если серьёзно — благодарим авторов и сообщества проектов, на опыт которых опирается RouterForge: nfqws2, nfqws2-keenetic, nfqws2-ui, nfqws-menu, z2k, nfqws2-keenetic-strategy-selector, nfqws2-strategies, DPI Detector, CrowdSec, keenetic-crowdsec-bouncer и решения odin для Keenetic.

    RouterForge не заменяет эти проекты и не присваивает себе их работу.

    Мы лишь стараемся сделать использование соответствующих инструментов удобнее.

    И иногда добавляем больше функций, чем у нас просили.

    Чисто по медицинским причинам.


    Перед обновлением

    0.13.0 — крупный функциональный выпуск.

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

    Не стоит впервые экспериментировать с Port Knocking на единственном SSH-порту, если восстановить доступ можно только поездкой на объект.

    Для CrowdSec требуется корректно настроенная инфраструктура LAPI и совместимый Firewall Bouncer.

    NFQWS Manager продолжает работать с существующей установкой nfqws2.

    При использовании новых средств защиты учитывайте особенности firewall конкретного Keenetic и существующие разрешающие правила.

    Сохраняйте резервные копии важных конфигураций.

    Потому что резервная копия, которую никто никогда не пробовал восстановить, — это не стратегия восстановления.

    Это оптимистическое предположение, записанное на накопитель.

    И вообще, если в работе с сетевой инфраструктурой есть одно правило, которое стоит запомнить, то оно звучит так:

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

    Это не так эффектно, как обещание безопасности нового поколения.

    Зато иногда позволяет не ехать ночью к роутеру.


    Что в итоге

    0.12.0 был релизом большого Центра приложений.

    0.12.1 — релизом исправления проблем, которые пользователи обнаружили сразу после выхода большого Центра приложений.

    А 0.13.0 получился релизом, в котором аудитория не только проверяла нашу работу, но и заметно повлияла на то, что именно мы стали разрабатывать.

    Просили Port Knocking. Получили Port Access Manager с тремя механизмами защиты.

    Просили CrowdSec с настройками и статистикой. Получили отдельный CrowdSec Manager с установкой Bouncer, диагностикой, состоянием firewall и метриками.

    И параллельно мы всё-таки сумели выполнить собственный план по NFQWS Manager.

    Переработали автоподбор стратегий. Расширили диагностику. Усилили контроль применения изменений. Добавили проверку регрессий. Улучшили работу со списками и конфигурациями. Добавили управление журналами. Доработали интерфейсы. Усилили безопасность файловых операций.

    И потратили огромное количество времени на вещи, которые пользователи никогда не заметят.

    Проверки SHA256. Конфликты изменений. Резервные копии. Откат. Проверку реальных цепочек. Сохранение чужих файлов. Ограничение опасных операций.

    Скука смертная.

    На презентации всё это выглядело бы ужасно.

    Гораздо лучше было бы написать: ROUTERFORGE AI SECURITY NEXT GENERATION ULTRA PRO MAX.

    Добавить анимированный щит. Нарисовать график безопасности, который постоянно растёт. Поставить большую кнопку: «ОПТИМИЗИРОВАТЬ ВСЁ».

    Нажимаешь. Кнопка мигает. Появляется сообщение:

    «Ваша сеть стала безопаснее на 347%».

    Интернет перестаёт работать. Но ведь это логично.

    Чем меньше подключений, тем меньше угроз.

    Абсолютно защищённый роутер — это роутер, отключённый от сети. Абсолютно защищённый компьютер — выключенный компьютер. Абсолютно защищённая инфраструктура — инфраструктура, которой никто не пользуется.

    Если следовать этой логике до конца, самый эффективный специалист по информационной безопасности — электрик, который выключил свет во всём здании.

    Ноль атак. Ноль инцидентов. Ноль пользователей.

    СТОПРОЦЕНТНАЯ ЭФФЕКТИВНОСТЬ.

    К счастью, мы пока выбрали другой путь.

    Слушать людей, которые действительно пользуются программой. Проверять результаты. Не объявлять запущенный процесс работающей защитой. Не считать зелёную галочку достаточным доказательством. Не перезаписывать чужие настройки просто потому, что так удобнее программисту.

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

    Хотя, судя по предыдущим релизам, последнее пока получается не всегда.


    RouterForge 0.13.0 Stable

    Больше возможностей. Больше проверок. Меньше веры в чудеса.

    В 0.12.1 мы поблагодарили пользователей за найденные ошибки. В 0.13.0 благодарим ещё и за новые идеи.

    А разработчикам других проектов хотим дать один очень полезный совет.

    Если пользователь пишет:

    «Очень замечательно было бы добавить…»

    — никогда не отвечайте сразу.

    Сначала внимательно посмотрите на текущий план разработки. Посчитайте свободное время. Оцените сложность. Подумайте об архитектуре. Проверьте, есть ли у вас достаточно сил.

    А потом всё равно скажите: «Да хуй с ним, сделаем».

    Потому что именно так и развивается программное обеспечение.

    Сначала у разработчика есть план. Потом появляется пользователь. Потом появляется новый функционал. Потом появляются новые ошибки. Потом появляется следующий релиз.

    А потом пользователь снова пишет: «Очень замечательно было бы туда добавить…»

    И всё начинается сначала.

    RouterForge 0.13.0.

    Мы не обещаем, что в программе больше нет ошибок. Мы даже не обещаем, что пользователи уже нашли все существующие.

    Но если после обновления у вас всё работает, ничего не падает и интернет открывается — не нужно немедленно искать, что ещё можно оптимизировать.

    Иногда лучшее обновление сетевой инфраструктуры — это наконец оставить её, блядь, в покое.

    P.S. Дорогие пользователи, спасибо за ваши предложения.

    Следующий раз, когда будете писать «можно добавить небольшую функцию», пожалуйста, помните: у разработчиков слово «небольшую» имеет совершенно другое значение.

    И если мы однажды случайно выпустим собственную операционную систему для роутеров — знайте, всё началось с ваших комментариев.

    Downloads
  • routerforge-v0.13.0-beta.4 55e79cd67d

    RouterForge 0.13.0-beta.4
    Some checks failed
    CI / CI change scope (push) Has been cancelled
    CI / Fast release contracts (push) Has been cancelled
    CI / test (push) Has been cancelled
    CI / Beta package build (aarch64-3.10) (push) Has been cancelled
    CI / Beta package build (mips-3.4) (push) Has been cancelled
    CI / Beta package build (mipsel-3.4) (push) Has been cancelled
    CI / Publish verified multiarch Beta (push) Has been cancelled
    CI / Publish rolling ARM64 Dev channel (push) Has been cancelled
    CI / Publish validated stable promotion (push) Has been cancelled
    Pre-release

    FifthAce released this 2026-10-15 20:32:24 +03:00 | 74 commits to main since this release

    RouterForge 0.13.0 Beta

    В этом обновлении появилось несколько новых инструментов, стало удобнее управлять сетевыми подключениями, а существующие функции получили множество улучшений и исправлений.

    🆕 Что нового

    🔐 Управление доступом к портам

    Добавили новый инструмент для защиты открытых портов роутера.

    • Защита портов с помощью специальной последовательности подключений.
    • Возможность защитить сразу несколько портов.
    • Постоянный доступ для выбранных IP-адресов без дополнительных проверок.
    • Просмотр разрешённых подключений и управление доступом.
    • Защита от ошибок при настройке и возможность отмены изменений.

    🛡️ CrowdSec Manager

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

    • Просмотр состояния защиты.
    • Управление блокировками.
    • Установка и настройка необходимых компонентов.
    • Проверка работоспособности и диагностика проблем.

    🚀 Улучшенный NFQWS Manager

    Серьёзно доработали инструмент для настройки обхода блокировок.

    • Более понятная диагностика сайтов, которые не открываются.
    • Улучшенный автоматический подбор настроек.
    • Проверка результата после применения изменений.
    • Автоматическое восстановление предыдущих настроек, если что-то пошло не так.
    • Удобнее и безопаснее стало работать со списками сайтов.

    📋 Управление журналами

    Теперь можно самостоятельно выбирать, где RouterForge будет хранить свои журналы:

    • В оперативной памяти роутера.
    • На накопителе с Entware.
    • В выбранной пользователем папке.

    Также появились настройки размера журналов и количества сохраняемых копий.

    🔧 Улучшения и исправления

    • Обновили и упростили интерфейсы нескольких инструментов.
    • Сделали управление службами удобнее.
    • Улучшили отображение ошибок и состояния системы.
    • Исправили множество мелких недочётов.
    • Повысили стабильность и безопасность работы.

    ⚠️ Обратите внимание

    Это бета-версия. Некоторые новые возможности ещё проходят проверку на разных моделях роутеров.

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

    Downloads
  • routerforge-v0.13.0-beta.3 3ec00acf15

    RouterForge 0.13.0-beta.3
    Some checks failed
    CI / Fast release contracts (push) Has been cancelled
    CI / test (push) Has been cancelled
    CI / Publish rolling ARM64 Dev channel (push) Has been cancelled
    CI / Publish validated stable promotion (push) Has been cancelled
    Network Tools / validate-and-package (push) Has been cancelled
    Pre-release

    FifthAce released this 2026-10-13 02:35:56 +03:00 | 115 commits to main since this release

    RouterForge 0.13.0-beta.3

    🇷🇺 Русский

    RouterForge 0.13.0-beta.3

    Что нового

    • Beta 3: в официальный Beta-комплект добавлен CrowdSec Manager (10 компонентов).
    • Beta 0.13.0-beta.3: обновлённый компактный интерфейс Port Access Manager в стиле Antiscan; сохранены odin, knockd и fwknopd/SPA.
    • Улучшены компоновка форм, размер чекбоксов, группировка кнопок, статусы и адаптивная навигация.

    Исправления

    • Устранены раздутая высота блоков управления, дублирующиеся элементы оформления и неудобные вертикальные группы кнопок.
    • Сохранены прежние API, runtime, операции применения и отката защиты, журнал, редактор конфигурации и диагностика.

    Совместимость

    • Бета из девяти компонентов, версии 0.13.0~beta.3; Core обновляется вместе с Port Access Manager.
    • Авторизация knockd и fwknopd/SPA на реальном устройстве ЕЩЁ НЕ ПРОШЛА полную приёмку. Не защищать удалённый доступ без резервного канала; odin проверен по базовому сценарию.

    Технические изменения

    • P55: frontend-only Antiscan-style redesign; прежние API/firewall/watchdog сохранены.
    • knockd hardware: после стуков доступ не открылся; причина не установлена. fwknopd hardware authorization: not tested.
    • Пакет CrowdSec Manager включён в ARM64/MIPS/MIPSEL, без изменений самой службы CrowdSec.

    Текущие версии компонентов

    Компонент Версия
    RouterForge Core 0.13.0~beta.3
    RouterForge DNS 0.13.0~beta.3
    RouterForge Control 0.13.0~beta.3
    RouterForge Monitoring 0.13.0~beta.3
    RouterForge Network Tools 0.13.0~beta.3
    RouterForge NFQWS Manager 0.13.0~beta.3
    RouterForge Antiscan Manager 0.13.0~beta.3
    Profiling 0.13.0~beta.3

    Установка

    Свежая установка RouterForge Beta:

    /opt/bin/opkg update && /opt/bin/opkg install curl && /opt/bin/curl -fsSL https://github.com/Fifth-Ace/routerforge/releases/download/routerforge-v0.13.0-beta.3/routerforge-beta-bootstrap.sh | sh
    

    Сборка и проверка

    • Версия RouterForge: 0.13.0-beta.3
    • Архивный релиз: routerforge-v0.13.0-beta.3
    • Коммит: 3ec00ac
    • Release index: routerforge-beta-index.json
    • Bootstrap: routerforge-beta-bootstrap.sh

    🇬🇧 English

    RouterForge 0.13.0-beta.3

    What's new

    • Beta 3: CrowdSec Manager joins the official Beta package set (10 components).
    • Beta 0.13.0-beta.3: compact Antiscan-inspired Port Access Manager UI; odin, knockd and fwknopd/SPA retained.
    • Improved form density, checkbox sizing, action grouping, status layout, and responsive navigation.

    Fixes

    • Reduced oversized control panels, repeated visual elements, and unnecessary vertical action layouts.
    • Existing APIs, runtime, protection enable/rollback operations, logs, configuration editing, and diagnostics retained.

    Compatibility

    • Nine-component beta release at 0.13.0~beta.3; update Core together with Port Access Manager.
    • Hardware authorization for knockd and fwknopd/SPA has NOT passed full acceptance. Do not protect remote management without backup access; only basic odin hardware acceptance is available.

    Technical changes

    • P55: frontend-only Antiscan-style redesign; original API/firewall/watchdog behavior preserved.
    • knockd hardware: remained closed after knocking; cause unresolved. fwknopd hardware authorization: not tested.
    • CrowdSec Manager package is part of ARM64/MIPS/MIPSEL release train; no change to CrowdSec upstream service.

    Current component versions

    Component Version
    RouterForge Core 0.13.0~beta.3
    RouterForge DNS 0.13.0~beta.3
    RouterForge Control 0.13.0~beta.3
    RouterForge Monitoring 0.13.0~beta.3
    RouterForge Network Tools 0.13.0~beta.3
    RouterForge NFQWS Manager 0.13.0~beta.3
    RouterForge Antiscan Manager 0.13.0~beta.3
    Profiling 0.13.0~beta.3

    Installation

    Fresh RouterForge Beta install:

    /opt/bin/opkg update && /opt/bin/opkg install curl && /opt/bin/curl -fsSL https://github.com/Fifth-Ace/routerforge/releases/download/routerforge-v0.13.0-beta.3/routerforge-beta-bootstrap.sh | sh
    

    Build and verification

    • RouterForge release: 0.13.0-beta.3
    • Immutable release: routerforge-v0.13.0-beta.3
    • Commit: 3ec00ac
    • Release index: routerforge-beta-index.json
    • Bootstrap: routerforge-beta-bootstrap.sh
    Downloads
  • routerforge-v0.13.0-beta.2 ea75e73a13

    RouterForge 0.13.0-beta.2
    Some checks failed
    CI / test (push) Has been cancelled
    CI / Publish rolling ARM64 Dev channel (push) Has been cancelled
    CI / Publish validated stable promotion (push) Has been cancelled
    Pre-release

    FifthAce released this 2026-10-13 01:57:31 +03:00 | 117 commits to main since this release

    RouterForge 0.13.0-beta.2

    🇷🇺 Русский

    RouterForge 0.13.0-beta.2

    Что нового

    • Beta 0.13.0-beta.2: обновлённый компактный интерфейс Port Access Manager в стиле Antiscan; сохранены odin, knockd и fwknopd/SPA.
    • Улучшены компоновка форм, размер чекбоксов, группировка кнопок, статусы и адаптивная навигация.

    Исправления

    • Устранены раздутая высота блоков управления, дублирующиеся элементы оформления и неудобные вертикальные группы кнопок.
    • Сохранены прежние API, runtime, операции применения и отката защиты, журнал, редактор конфигурации и диагностика.

    Совместимость

    • Бета из девяти компонентов, версии 0.13.0~beta.2; Core обновляется вместе с Port Access Manager.
    • Авторизация knockd и fwknopd/SPA на реальном устройстве ЕЩЁ НЕ ПРОШЛА полную приёмку. Не защищать удалённый доступ без резервного канала; odin проверен по базовому сценарию.

    Технические изменения

    • P55: frontend-only Antiscan-style redesign; прежние API/firewall/watchdog сохранены.
    • knockd hardware: после стуков доступ не открылся; причина не установлена. fwknopd hardware authorization: not tested.

    Текущие версии компонентов

    Компонент Версия
    RouterForge Core 0.13.0~beta.2
    RouterForge DNS 0.13.0~beta.2
    RouterForge Control 0.13.0~beta.2
    RouterForge Monitoring 0.13.0~beta.2
    RouterForge Network Tools 0.13.0~beta.2
    RouterForge NFQWS Manager 0.13.0~beta.2
    RouterForge Antiscan Manager 0.13.0~beta.2
    Profiling 0.13.0~beta.2

    Установка

    Свежая установка RouterForge Beta:

    /opt/bin/opkg update && /opt/bin/opkg install curl && /opt/bin/curl -fsSL https://github.com/Fifth-Ace/routerforge/releases/download/routerforge-v0.13.0-beta.2/routerforge-beta-bootstrap.sh | sh
    

    Сборка и проверка

    • Версия RouterForge: 0.13.0-beta.2
    • Архивный релиз: routerforge-v0.13.0-beta.2
    • Коммит: ea75e73
    • Release index: routerforge-beta-index.json
    • Bootstrap: routerforge-beta-bootstrap.sh

    🇬🇧 English

    RouterForge 0.13.0-beta.2

    What's new

    • Beta 0.13.0-beta.2: compact Antiscan-inspired Port Access Manager UI; odin, knockd and fwknopd/SPA retained.
    • Improved form density, checkbox sizing, action grouping, status layout, and responsive navigation.

    Fixes

    • Reduced oversized control panels, repeated visual elements, and unnecessary vertical action layouts.
    • Existing APIs, runtime, protection enable/rollback operations, logs, configuration editing, and diagnostics retained.

    Compatibility

    • Nine-component beta release at 0.13.0~beta.2; update Core together with Port Access Manager.
    • Hardware authorization for knockd and fwknopd/SPA has NOT passed full acceptance. Do not protect remote management without backup access; only basic odin hardware acceptance is available.

    Technical changes

    • P55: frontend-only Antiscan-style redesign; original API/firewall/watchdog behavior preserved.
    • knockd hardware: remained closed after knocking; cause unresolved. fwknopd hardware authorization: not tested.

    Current component versions

    Component Version
    RouterForge Core 0.13.0~beta.2
    RouterForge DNS 0.13.0~beta.2
    RouterForge Control 0.13.0~beta.2
    RouterForge Monitoring 0.13.0~beta.2
    RouterForge Network Tools 0.13.0~beta.2
    RouterForge NFQWS Manager 0.13.0~beta.2
    RouterForge Antiscan Manager 0.13.0~beta.2
    Profiling 0.13.0~beta.2

    Installation

    Fresh RouterForge Beta install:

    /opt/bin/opkg update && /opt/bin/opkg install curl && /opt/bin/curl -fsSL https://github.com/Fifth-Ace/routerforge/releases/download/routerforge-v0.13.0-beta.2/routerforge-beta-bootstrap.sh | sh
    

    Build and verification

    • RouterForge release: 0.13.0-beta.2
    • Immutable release: routerforge-v0.13.0-beta.2
    • Commit: ea75e73
    • Release index: routerforge-beta-index.json
    • Bootstrap: routerforge-beta-bootstrap.sh
    Downloads
  • routerforge-v0.13.0-beta.1 1c92e257d0

    RouterForge 0.13.0-beta.1
    Some checks failed
    CI / test (push) Has been cancelled
    CI / Publish rolling ARM64 Dev channel (push) Has been cancelled
    CI / Publish validated stable promotion (push) Has been cancelled
    Network Tools / validate-and-package (push) Has been cancelled
    Pre-release

    FifthAce released this 2026-10-11 22:25:41 +03:00 | 160 commits to main since this release

    RouterForge 0.13.0-beta.1

    🇷🇺 Русский

    RouterForge 0.13.0-beta.1

    Что нового

    • Beta 0.13.0-beta.1: Port Access Manager с odin, knockd и fwknopd/SPA; отдельная вкладка инструментов и исправленная высота встроенной страницы.
    • Установка knockd и fwknopd с зависимостями из веб-интерфейса проверена на Keenetic/Entware.

    Исправления

    • Установка движков использует временную конфигурацию HTTPS Entware без изменения пользовательских репозиториев.
    • Исправлены обновление watchdog и отображение списка авторизованных IP odin.

    Совместимость

    • Тестовая бета: девять компонентов, версии 0.13.0~beta.1; Core обновляется вместе с Port Access Manager.
    • Авторизация knockd и fwknopd/SPA на реальном устройстве ЕЩЁ НЕ ПРОШЛА приёмку. Не применять к удалённому доступу без резервного канала; odin проверен только по базовому сценарию.

    Технические изменения

    • knockd hardware test: до стуков закрыто, после стуков не открылось; причина не установлена. fwknopd hardware authorization: not tested.

    Текущие версии компонентов

    Компонент Версия
    RouterForge Core 0.13.0~beta.1
    RouterForge DNS 0.13.0~beta.1
    RouterForge Control 0.13.0~beta.1
    RouterForge Monitoring 0.13.0~beta.1
    RouterForge Network Tools 0.13.0~beta.1
    RouterForge NFQWS Manager 0.13.0~beta.1
    RouterForge Antiscan Manager 0.13.0~beta.1
    Profiling 0.13.0~beta.1

    Установка

    Свежая установка RouterForge Beta:

    /opt/bin/opkg update && /opt/bin/opkg install curl && /opt/bin/curl -fsSL https://github.com/Fifth-Ace/routerforge/releases/download/routerforge-v0.13.0-beta.1/routerforge-beta-bootstrap.sh | sh
    

    Сборка и проверка

    • Версия RouterForge: 0.13.0-beta.1
    • Архивный релиз: routerforge-v0.13.0-beta.1
    • Коммит: 1c92e25
    • Release index: routerforge-beta-index.json
    • Bootstrap: routerforge-beta-bootstrap.sh

    🇬🇧 English

    RouterForge 0.13.0-beta.1

    What's new

    • Beta 0.13.0-beta.1: Port Access Manager with odin, knockd and fwknopd/SPA; separate tools tab and corrected embedded page sizing.
    • One-click knockd and fwknopd dependency installation was verified on Keenetic/Entware.

    Fixes

    • Temporary HTTPS Entware configuration for installation, without changing user feeds.
    • Odin watchdog display and authorized IP list presentation fixes.

    Compatibility

    • Testing beta: nine components at 0.13.0~beta.1; Core and Port Access Manager should be updated together.
    • Hardware authorization for knockd and fwknopd/SPA is NOT yet validated. Do not secure remote management without backup access; odin has only a basic hardware pass.

    Technical changes

    • knockd hardware: access remained closed after knocks; root cause pending. fwknopd hardware authorization: not tested.

    Current component versions

    Component Version
    RouterForge Core 0.13.0~beta.1
    RouterForge DNS 0.13.0~beta.1
    RouterForge Control 0.13.0~beta.1
    RouterForge Monitoring 0.13.0~beta.1
    RouterForge Network Tools 0.13.0~beta.1
    RouterForge NFQWS Manager 0.13.0~beta.1
    RouterForge Antiscan Manager 0.13.0~beta.1
    Profiling 0.13.0~beta.1

    Installation

    Fresh RouterForge Beta install:

    /opt/bin/opkg update && /opt/bin/opkg install curl && /opt/bin/curl -fsSL https://github.com/Fifth-Ace/routerforge/releases/download/routerforge-v0.13.0-beta.1/routerforge-beta-bootstrap.sh | sh
    

    Build and verification

    • RouterForge release: 0.13.0-beta.1
    • Immutable release: routerforge-v0.13.0-beta.1
    • Commit: 1c92e25
    • Release index: routerforge-beta-index.json
    • Bootstrap: routerforge-beta-bootstrap.sh
    Downloads
  • routerforge-v0.12.1 2caf7bb9a7

    RouterForge 0.12.1
    Some checks failed
    CI / test (push) Has been cancelled
    CI / Publish validated stable promotion (push) Has been cancelled
    Network Tools / validate-and-package (push) Has been cancelled
    CI / Publish rolling ARM64 Dev channel (push) Has been cancelled
    Stable

    FifthAce released this 2026-10-04 15:25:33 +03:00 | 245 commits to main since this release

    RouterForge 0.12.1

    Сначала важное: как вообще обновиться

    В 0.12.0 мы случайно сделали так, что официальное обновление RouterForge зависит от разрешения на непроверенные источники. Исправление этой ошибки находится… в обновлении, которое из-за этой ошибки нормально не ставится.

    Поэтому для перехода на исправленную версию нужно временно включить непроверенные источники, обновить RouterForge Core, а потом это разрешение можно снова выключить.

    Да. Чтобы получить версию, которая больше не требует включать эту настройку, сначала нужно включить эту настройку.

    Мы сделали замок, положили ключ внутрь и теперь официально рекомендуем залезть через окно.

    После обновления этот цирк заканчивается.

    Пользователи тоже решили поучаствовать

    В патчноуте 0.12.0 мы написали:

    «Если после исправления одного бага появятся ещё десять — считайте, что вы получили десять новых возможностей для будущих обновлений».

    Это была шутка.

    Пользователи проверили.

    Не шутка.

    Часть багов прилетела нам практически сразу после релиза. Что вообще очень удобно. Мы только успели закончить длинный текст о том, сколько всего прекрасно работает, а люди уже начали присылать доказательства обратного.

    Это полезная особенность реальных пользователей.

    Они не читают архитектуру.

    Они нажимают кнопку.

    И если после нажатия кнопки происходит хуйня, им почему-то совершенно не интересно, насколько красиво у нас всё устроено внутри.

    Очень токсичная аудитория.

    RouterForge 0.12.0 теперь действительно содержит RouterForge 0.12.0

    Мы выпустили RouterForge 0.12.0.

    А Core внутри оказался 0.11.0.

    Снаружи новая версия. Внутри старая. Посередине — уверенность разработчиков.

    В приличной компании это назвали бы «рассинхронизацией версий компонентов».

    Это прекрасный термин. Он превращает фразу «мы забыли поменять цифру» в проблему, для которой почти нужен комитет.

    Публичные пакеты исправлены. Теперь RouterForge 0.12.0 действительно содержит Core 0.12.0.

    Да, мы тоже считаем, что это должно было работать именно так с самого начала.

    Обновление было. Кнопки не было.

    Центр приложений умел определить новую версию. Показывал:

    DNS 0.10.0 → 0.10.1

    Показывал значок «ОБНОВЛЕНИЕ».

    Знал пакет.

    Знал источник.

    Знал контрольную сумму.

    Кнопку «Обновить» не показывал.

    Это был очень современный интерфейс: программа предоставляет пользователю всю необходимую информацию и оставляет действие на усмотрение Вселенной.

    Причина оказалась ещё лучше. Обновление официальных компонентов RouterForge зависело от разрешения на установку непроверенных сторонних программ.

    То есть RouterForge говорил:

    «Да, это наш DNS. Да, это наш пакет. Да, мы сами его выпустили. Но сначала скажи: готов ли ты доверить root неизвестному Васе из интернета?»

    Вася, кстати, ни о чём не просил.

    Теперь официальные компоненты обновляются без этого разрешения.

    Если обновление есть — кнопка есть.

    Инженерия иногда поражает своей смелостью.

    Потом появилась кнопка. И RouterForge всё равно сказал «нет»

    После первого исправления кнопка появилась.

    Мы нажали.

    RouterForge потребовал принять соглашение о рисках непроверенного стороннего кода.

    Для обновления официального RouterForge Core.

    Это примерно как прийти в официальный сервис менять масло и получить бумагу:

    «Я понимаю риски покупки двигателя у неизвестного мужика возле гаражей».

    — Но я же у вас масло меняю.

    — Подпишите. Система требует.

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

    Мы построили паспортный контроль.

    А перед ним посадили деда, который всем говорит: «Нельзя».

    Деда убрали.

    Паспортный контроль оставили.

    Теперь официальный RouterForge обновляется как официальный RouterForge, а непроверенный сторонний код по-прежнему не получает root просто потому, что у него хороший README.

    Телеметрия устройства теперь наконец зависит от устройства

    В боковой панели есть CPU, RAM, температура и процессы.

    Называется это «Телеметрия устройства».

    До 0.12.1 всё было интереснее.

    Monitoring работает — данные есть.
    Monitoring выключен — данных нет.
    Monitoring удалили — часть данных может внезапно вернуться через Admin.
    Admin тоже удалили — опять пусто.

    Это не телеметрия.

    Это лотерея.

    Особенно прекрасно было с выключенным Monitoring: RouterForge видел, что он установлен, и считал вопрос закрытым. То, что он не работает и ничего не отвечает, считалось мелкой технической деталью.

    Очень корпоративный подход.

    Человек числится в отделе?

    Значит работает.

    Теперь базовую телеметрию собирает сам Core. CPU, RAM, температура и процессы больше не зависят от Monitoring и Admin.

    Мы ненадолго рассматривали вариант построить ещё один слой резервных источников, таблицу приоритетов, настройки таблицы, менеджер источников и отдельный модуль управления менеджером источников.

    Потом решили не быть долбоёбами.

    Иногда лучший рефакторинг — это просто перестать усложнять очевидную вещь.

    План обновления теперь хотя бы не врёт

    Можно было работать на Stable, увидеть обновление Stable, открыть подробности и увидеть там Beta.

    Само обновление при этом могло идти правильно.

    То есть программа делала одно, а пользователю рассказывала другое.

    Обычная практика.

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

    Причина была проста: интерфейс показывал старый план первоначальной установки вместо реального плана обновления.

    Теперь Stable показывает Stable, Beta показывает Beta, Dev показывает Dev.

    Это настолько базовая логика, что особенно неприятно писать её в разделе «Что исправлено».

    Мы написали телеметрию и забыли включить её в сборку

    Эта ошибка до пользователей не добралась. Её поймал CI.

    Но она слишком хороша, чтобы скрывать.

    Мы написали core_telemetry.go. Подключили его. Добавили тесты. Добавили интерфейс. Закоммитили.

    Сборка сказала:

    undefined: coreTel
    undefined: readCoreTelemetry

    Файл был.

    Код был.

    Функции были.

    В программу файл не входил.

    Идеальный корпоративный сотрудник: в штате есть, в документах есть, презентация про него есть, на результат не влияет.

    CI посмотрел на это всё и фактически сказал:

    «Ты файл забыл добавить, гений».

    Добавили.

    Спасибо, машина.

    Что в итоге

    0.12.1 — это не новый большой релиз. Тут нет искусственного интеллекта, блокчейна, Web3, машинного обучения и кнопки AI Optimize Router, которая меняет MTU и отправляет телеметрию в Калифорнию.

    Мы просто сделали менее модную вещь:

    исправили то, что уже обещали в 0.12.0.

    Теперь Core соответствует своей версии. Официальные компоненты нормально обновляются. Соглашение для непроверенного кода больше не мешает обновлять наш собственный код. Телеметрия живёт в Core. План обновления показывает настоящий канал. Кнопка «Обновить» иногда даже обновляет.

    В большой компании это назвали бы:

    «повышением надёжности и улучшением пользовательского опыта после масштабного функционального релиза».

    Красиво.

    Почти невозможно понять, что это значит:

    «Мы выпустили большую версию, пользователи начали нажимать кнопки и быстро показали нам, где насрано».

    В 0.12.0 мы обещали новые баги.

    Пользователи помогли их найти.

    Мы помогли их исправить.

    Командная работа.

    RouterForge 0.12.1.

    Если после релиза вам кажется, что всё работает идеально — не переживайте.

    Пользователи скоро проверят.

    Downloads
  • routerforge-v0.12.0 5a989215c6

    RouterForge 0.12.0
    Some checks failed
    CI / test (push) Has been cancelled
    CI / Publish rolling ARM64 Dev channel (push) Has been cancelled
    CI / Publish validated stable promotion (push) Has been cancelled
    Stable

    FifthAce released this 2026-10-03 21:06:30 +03:00 | 253 commits to main since this release

    RouterForge 0.12.0

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

    Они называют что-нибудь «простым».

    «Простая установка».
    «Простой менеджер пакетов».
    «Простой веб-интерфейс».
    «Простое управление роутером».

    А потом оказывается, что для этой простой установки вам нужны SSH, Entware, архитектура процессора, GitHub, SHA256, три команды из README, одна команда из комментариев к issue и человек на форуме по имени Vasya1974, который последний раз заходил туда в 2021 году.

    Но не волнуйтесь.

    Всё очень просто.

    RouterForge 0.12.0 посвящён в основном борьбе именно с этой разновидностью человеческого оптимизма.

    Мы сильно переделали Центр приложений, расширили каталог программ для Keenetic и Entware, добавили нормальное управление установкой и обновлением, сделали постоянную проверку проектов, добавили управление модулями RouterForge и основательно довели Antiscan Manager.

    Получилось много.

    Что само по себе подозрительно.

    Центр приложений теперь действительно что-то делает

    До определённого момента любой каталог стороннего софта рано или поздно превращается в коллекцию ссылок.

    Вот программа.

    Вот её GitHub.

    Вот кнопка.

    Кнопка ведёт на GitHub.

    Спасибо за использование современных технологий.

    В 0.12.0 мы решили, что Центр приложений всё-таки должен заниматься приложениями, а не работать экскурсоводом по интернету.

    Теперь RouterForge понимает несколько настоящих способов установки программ.

    Если проект ставится через OPKG — используем OPKG.

    Если автор выпускает готовый IPK — можем использовать IPK.

    Если у проекта есть официальный установочный скрипт — можем работать с ним.

    Если установка требует ручного ввода секретов, выбора оборудования, подключения с другого компьютера или иных форм человеческого страдания — оставляем ручной режим.

    Потому что автоматизация не лечит идиотизм.

    Она позволяет идиотизму выполняться без участия оператора.

    57 проектов в каталоге

    Каталог сторонних программ заметно вырос.

    Сейчас RouterForge знает уже 57 проектов для Keenetic, Netcraze и Entware.

    Там есть маршрутизация, DNS, VPN, прокси, сетевые инструменты, DPI, панели управления, резервное копирование, автоматизация и прочая прекрасная хрень, которую люди устанавливают на роутер стоимостью с приличный смартфон, а потом удивляются, почему у него температура как у реактора.

    В каталог вошли, среди прочих:

    AntiGoblin, B4, BROray, KeenSnap, sms2gram, web4static, MagiTrickle, Susanin.Keenetic, TrustTunnel Keenetic, XKeen Panel, разные XKeen UI, keen-pbr, Zapret Web-GUI, Entware Manager, RAZVILKA, AIWAY Manager, Bird4Static, IPset4Static, WDTT Server, SSClash-Go, Qeli, WayHop, Keenetic Xray и другие.

    И нет, наличие программы в каталоге не означает, что RouterForge автоматически разрешит ей выполнить всё что угодно от root.

    Хотя это был бы очень быстрый способ проверить качество наших резервных копий.

    Установка скриптов стала менее похожа на русскую рулетку

    Есть замечательная команда:

    curl какой-то-сайт/install.sh | sh
    

    У неё есть всё.

    Интернет.

    Shell.

    Root.

    Отсутствие возможности посмотреть файл до его выполнения.

    Это не команда установки.

    Это цифровой вариант незнакомца у подъезда со словами: “Дай ключи от квартиры, я там быстро кое-что настрою”.

    RouterForge теперь умеет работать с проверенными официальными установщиками аккуратнее.

    Сначала файл скачивается.

    Потом фиксируется его SHA256.

    Потом запускается конкретно этот файл.

    Вывод показывается пользователю.

    Там, где возможно, используется конкретная неизменяемая версия или заранее известная контрольная сумма.

    Если же установщик сегодня скачивает одно, завтра другое, а внутри ещё пять раз вызывает что-нибудь из main, мы не объявляем его безопасным только потому, что автор поставил красивый значок в README.

    Мы вообще стараемся не путать «работает» и «безопасно».

    Интернет уже достаточно долго демонстрирует последствия этой ошибки.

    Проверенные IPK

    Добавлена нормальная работа с проверенными IPK-пакетами.

    RouterForge может проверить контрольную сумму и подобрать нужный вариант под архитектуру роутера.

    Также добавлена установка источников пакетов с учётом архитектуры устройства.

    То есть если у вас ARM64, RouterForge старается поставить пакет для ARM64.

    Я понимаю.

    Высокие технологии.

    Скоро научим компьютер не совать вилку в розетку зубцами в ладонь.

    Установка, обновление и удаление

    После явного разрешения пользователя Центр приложений теперь может выполнять поддерживаемые операции установки, обновления и удаления сторонних программ.

    Но действия разрешаются не потому, что проект существует.

    И не потому, что у него много звёзд на GitHub.

    И даже не потому, что его разработчик выглядит приличным человеком.

    У программы должен быть понятный и проверенный способ управления.

    Это может быть:

    • пакет OPKG;
    • проверенный IPK;
    • официальный проверенный установщик;
    • ограниченный локальный скрипт уже установленной программы;
    • либо ручной режим.

    Потому что звёздочки GitHub — это замечательная вещь.

    Но если бы популярность была доказательством безопасности, казино было бы банком.

    Проверка проектов для разработчиков

    Теперь разработчик может один раз подтвердить принадлежность проекта.

    Для этого используется небольшой файл:

    .routerforge/verify.json
    

    RouterForge связывает разработчика с конкретным GitHub-репозиторием.

    И всё.

    При выпуске следующей версии проходить проверку заново не требуется.

    Изменилось описание — не требуется.

    Появился новый файл — не требуется.

    Разработчик поменял картинку — полиция нравов не выезжает.

    Повторная проверка понадобится только при действительно значимых вещах: смене владельца репозитория, изменении издателя, отзыве проверки или проблемах с принадлежностью проекта.

    При желании разработчик также может положить:

    .routerforge/manifest.json
    

    и самостоятельно описывать карточку своей программы.

    Не хочет — RouterForge продолжит использовать найденные или подготовленные нами данные.

    И здесь есть важная граница.

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

    Потому что фраза:

    «Мы знаем этого человека»

    не должна автоматически продолжаться фразой:

    «Поэтому дали ему root».

    Это почему-то приходится объяснять компьютерной индустрии.

    Источники GitHub тоже понимают проверку

    Если пользователь самостоятельно добавляет GitHub-проект в источники RouterForge, система теперь может определить, что этот проект уже проходил проверку.

    Сверяется репозиторий и издатель.

    Работает это и с собственным описанием программы, и без него.

    При этом право устанавливать и обновлять программу всё равно определяется отдельно.

    То есть «Проверено» означает:

    «Да, это действительно проект этого разработчика».

    А не:

    «Мы гарантируем, что этот разработчик никогда в жизни не напишет хуйню».

    Таких гарантий вообще никто давать не может.

    Особенно мы.

    Мы пишем RouterForge.

    GitHub больше не долбится до смерти

    Обновлена работа с ограничениями GitHub.

    Часть проверок теперь выполняется без лишних обращений к API.

    Если GitHub сообщает, что допустимое число запросов закончилось, RouterForge не продолжает бессмысленно ломиться туда каждые несколько секунд.

    Он ждёт.

    Очень сложное поведение.

    Некоторые люди после надписи «дверь закрыта» начинают дёргать ручку ещё сильнее.

    Наша программа теперь немного умнее этих людей.

    Мы гордимся каждым сантиметром эволюции.

    Управление модулями RouterForge

    Для модулей RouterForge добавлено управление состоянием прямо из интерфейса.

    Там, где операция поддерживается, можно:

    • запустить;
    • остановить;
    • перечитать настройки;
    • перезапустить.

    Поддерживающие изменения получили DNS, Admin / Control, Monitoring, Network Tools, NFQWS Manager и Antiscan Manager.

    Управление спрятано в компактное меню.

    Потому что если вынести каждое действие отдельной кнопкой, через пару релизов RouterForge будет выглядеть как пульт атомной электростанции.

    А нам ещё пользователи нужны.

    Центр приложений стал понятнее

    Категории приведены к более человеческому виду:

    • Система и администрирование
    • Сеть и диагностика
    • DNS и фильтрация
    • Маршрутизация и туннелирование
    • Прокси
    • Сетевая совместимость
    • Автоматизация и сервисы
    • Безопасность
    • Прочее

    Добавлена сортировка по имени, категории, разработчику, установке и наличию обновлений.

    Добавлена группировка.

    Но по умолчанию интерфейс остаётся обычным плоским списком.

    Потому что есть особый тип дизайнера, который берёт двадцать элементов, делит их на девять групп, добавляет семь заголовков, четыре фильтра и потом заявляет:

    «Стало структурированнее».

    Да.

    Кладбище тоже очень структурированное.

    Официальные модули в нормальном порядке

    Официальные компоненты RouterForge больше не сортируются так, будто их имена вытащили из шляпы.

    Core остаётся первым.

    Profiling — последним.

    Остальные располагаются в принятом порядке.

    Это небольшая вещь.

    Но интерфейс вообще состоит из небольших вещей.

    Когда их достаточно много сделано через жопу, они внезапно образуют Windows 8.

    История версий теперь внутри RouterForge

    Добавлен встроенный просмотр описаний выпусков.

    Историю изменений можно открыть прямо из интерфейса.

    Не нужно идти на GitHub, искать раздел Releases, выбирать версию и выяснять, что же именно мы опять натворили.

    Теперь RouterForge сам расскажет, что мы натворили.

    Цивилизация развивается.

    Медленно.

    Также состояние Core в верхней панели теперь обновляется на всех страницах интерфейса, а не только на Главной.

    Antiscan Manager доведён до ума

    Antiscan Manager появился в 0.11.0.

    Идея была простой:

    дать Antiscan удобный веб-интерфейс.

    Не переписать Antiscan.

    Не заменить его настройки своими.

    Не построить рядом ещё один Antiscan, только хуже и с красивыми карточками.

    В 0.12.0 мы окончательно закрепили эту модель.

    Главный файл настроек остаётся настоящим файлом Antiscan:

    /opt/etc/antiscan/ascn.conf
    

    RouterForge работает именно с ним.

    Никакого второго тайного конфига за шкафом нет.

    Проверка параметров приведена к правилам самого Antiscan.

    Исправлена работа IPSETS_DIRECTORY.

    Штатные команды управления теперь передаются самому Antiscan через S99ascn.

    RouterForge не пытается заранее решить, нужна ли команда авторской программе.

    Это важный этап взросления любого разработчика:

    перестать считать себя самым умным процессом в системе.

    Пользовательские списки тоже приведены к поведению Antiscan.

    Пустой список теперь действительно пуст.

    Не файл из комментариев.

    Не философская концепция пустоты.

    Не 78 байт текста о том, что здесь ничего нет.

    Ноль байт.

    Активные списки обслуживаются штатными командами Antiscan.

    Опасная очистка активного белого списка остаётся защищена.

    И самое главное — работу модуля проверили на настоящем роутере.

    Не в тесте.

    Не на макете.

    Не в нашем воображении, которое уже неоднократно демонстрировало удивительную творческую свободу.

    Проверена вся цепочка:

    веб-интерфейс
    → настоящий ascn.conf
    → reload
    → restart
    → рабочий конфиг Antiscan
    → возврат исходных настроек
    

    Изменённая настройка пережила полный перезапуск.

    После перезапуска Antiscan использовал именно новое значение.

    После теста исходный файл был восстановлен байт в байт.

    Так что Antiscan Manager теперь действительно делает то, что мы обещали с самого начала:

    он является интерфейсом для Antiscan.

    Это заняло некоторое время.

    Человечество тоже не сразу научилось пользоваться огнём.

    Безопасность сторонних программ

    Для сторонних способов установки добавлено ещё несколько ограничений.

    Там, где возможно, используются неизменяемые ссылки и контрольные суммы.

    Локальные служебные скрипты перед запуском копируются во временный файл.

    То есть если кто-то заменит исходный скрипт между проверкой и выполнением, RouterForge не должен внезапно исполнить уже другой файл.

    Старые установщики, которые сами зависят от постоянно меняющейся цепочки удалённых файлов, не получают автоматическое выполнение только ради красивой кнопки.

    Некоторые вещи лучше оставить неудобными, чем сделать удобно опасными.

    Гильотина тоже очень удобный интерфейс.

    Один рычаг.

    Прекрасная обратная связь.

    Минимум настроек.

    Немного о качестве RouterForge

    Мы считаем нужным напомнить одну важную вещь.

    RouterForge разрабатывается людьми.

    Это те самые существа, которые сначала изобрели самолёт, потом платную еду в самолёте.

    Создали глобальную сеть мгновенного обмена знаниями, а используют её, чтобы спорить с незнакомцами о форме Земли.

    Научились проектировать процессоры с миллиардами транзисторов, а потом забывают закрывающую скобку.

    Поэтому никаких обещаний, что RouterForge когда-нибудь станет программой без багов, здесь не будет.

    Мы вообще не обещали, что он когда-нибудь начнёт нормально работать.

    Пока стратегия такая:

    1. написать функцию;
    2. убедиться, что работает;
    3. найти место, которое перестало работать из-за функции;
    4. починить его;
    5. случайно обнаружить ещё три;
    6. назвать это новой версией.

    На удивление, примерно так работает вся индустрия.

    Просто остальные надевают пиджак и называют это:

    «непрерывным улучшением продукта».

    Мы называем это:

    «ну вроде теперь не падает».

    Если после исправления одного бага появятся ещё десять — считайте, что вы получили десять новых возможностей для будущих обновлений.

    Нельзя же всё хорошее отдавать в одном релизе.


    Версии

    RouterForge:

    0.11.1 → 0.12.0

    Это новый MINOR-релиз, потому что Центр приложений получил крупный новый уровень возможностей: управление сторонними программами, разные способы установки, проверку проектов и значительно расширенный каталог.

    Компоненты при этом по-прежнему версионируются независимо.

    Компонент Было Стало
    RouterForge Core 0.10.2 0.11.0
    DNS 0.10.0 0.10.1
    Admin / Control 0.10.0 0.10.1
    Monitoring 0.10.0 0.10.1
    Network Tools 0.10.0 0.10.1
    NFQWS Manager 0.10.0 0.10.1
    Antiscan Manager 0.11.0 0.11.1
    Profiling 0.10.0 0.10.0

    Core → 0.11.0, потому что изменения Центра приложений, управления модулями, проверки проектов и интерфейса уже тянут на новый функциональный уровень.

    Antiscan Manager → 0.11.1, потому что модуль не стал новым продуктом — он стал нормально выполнять ту работу, ради которой уже существовал.

    DNS, Admin, Monitoring, Network Tools и NFQWS Manager → 0.10.1, потому что изменились поставляемые файлы управления их жизненным циклом.

    Profiling остаётся 0.10.0.

    Потому что мы его не меняли.

    Да, так можно.

    Версия — это описание изменений.

    А не счётчик того, сколько раз разработчик нажал кнопку «Выпустить».

    Итого

    0.12.0 — это прежде всего большой релиз Центра приложений.

    Каталог вырос.

    Установка стала умнее.

    Появилось нормальное управление сторонними программами.

    Разработчик может один раз подтвердить свой проект.

    RouterForge различает «мы знаем автора» и «мы разрешаем его коду работать от root».

    Появилось управление собственными модулями.

    История версий переехала прямо в интерфейс.

    Antiscan Manager доведён и проверен на настоящем железе.

    А под капотом стало чуть меньше мест, где безопасность системы основывается на философском принципе:

    «Да хуй его знает, вроде должно работать».

    Но расслабляться не стоит.

    Мы уже работаем над следующими багами.

    Некоторые из них, возможно, ещё даже не написаны.

    RouterForge 0.12.0.

    Мы не обещаем, что он будет работать всегда.

    Мы пока довольны уже тем, что он работает сейчас.

    Downloads
  • routerforge-v0.11.1 ca37f647fb

    RouterForge 0.11.1
    Some checks failed
    CI / test (push) Has been cancelled
    CI / Publish rolling ARM64 Dev channel (push) Has been cancelled
    CI / Publish validated stable promotion (push) Has been cancelled
    Stable

    FifthAce released this 2026-10-02 15:37:35 +03:00 | 324 commits to main since this release

    RouterForge 0.11.1

    Есть особый сорт программной магии: всё работает, кнопка работает, веб-сервер работает — и всё равно открывается не та хрень.

    Именно это случилось с Keenetic Entware Extras.

    В 0.11.0 RouterForge уже перестал хоронить живой Geo Split и научился нормально видеть его состояние. Казалось бы, можно расходиться. Но у программ есть древняя религия: если баг исправлен, где-нибудь рядом обязан сидеть его двоюродный брат и ждать, пока вы расслабитесь.

    Одна кнопка. Один путь. Один лишний цирк.

    Кнопка открытия Keenetic Entware Extras в Центре приложений вела сюда:

    http://<router>:8080/
    

    Адрес совершенно настоящий. Сервер там совершенно настоящий. И именно поэтому баг особенно прекрасен.

    Потому что на / upstream отдаёт patched stock Keenetic WebUI.

    А собственная панель Keenetic Entware Extras находится здесь:

    http://<router>:8080/custom/
    

    То есть между «открыли нужный модуль» и «открыли вообще другой интерфейс» стояло слово custom и пара слэшей.

    Компьютеры — удивительные устройства. Миллиарды транзисторов, криптография, маршрутизация, виртуальные машины. А потом вся эта цивилизация спотыкается об /custom/.

    Что исправлено

    RouterForge теперь хранит для Keenetic Entware Extras явный WebUI path:

    /custom/
    

    И кнопка открытия ведёт именно в dashboard Keenetic Entware Extras, а не в корень nginx на :8080.

    Никаких новых сервисов. Никаких новых модулей. Никакой архитектурной революции, которую потом приходится три страницы объяснять словами «это не баг, это новый подход».

    Просто неправильный адрес стал правильным.

    Версии

    Это PATCH-hotfix, поэтому версии двигаются только там, где реально изменился поставляемый результат:

    Компонент Версия
    RouterForge Core 0.10.2
    DNS 0.10.0
    Admin / Control 0.10.0
    Monitoring 0.10.0
    Network Tools 0.10.0
    NFQWS Manager 0.10.0
    Antiscan Manager 0.11.0
    Profiling 0.10.0

    Сам RouterForge: 0.11.1.

    Core: 0.10.2, потому что исправленная metadata Центра приложений поставляется вместе с Core.

    Остальные пакеты не менялись — значит, их версии тоже не менялись.

    Это не скромность. Это просто редкий случай, когда цифры используются для описания изменений, а не как новогодняя гирлянда.

    Итого

    До:

    :8080/
    

    После:

    :8080/custom/
    

    Вот и весь хотфикс.

    Иногда разработка — это месяц архитектуры.

    А иногда ты добавляешь /custom/, выпускаешь новую версию и идёшь выяснять, какой ещё идеально работающий кусок системы сейчас делает не то, что от него хотели.

    Downloads