-
RouterForge 0.12.0
Stablereleased this
2026-10-03 21:06:30 +03:00 | 253 commits to main since this releaseRouterForge 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.jsonRouterForge связывает разработчика с конкретным 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.confRouterForge работает именно с ним.
Никакого второго тайного конфига за шкафом нет.
Проверка параметров приведена к правилам самого Antiscan.
Исправлена работа
IPSETS_DIRECTORY.Штатные команды управления теперь передаются самому Antiscan через
S99ascn.RouterForge не пытается заранее решить, нужна ли команда авторской программе.
Это важный этап взросления любого разработчика:
перестать считать себя самым умным процессом в системе.
Пользовательские списки тоже приведены к поведению Antiscan.
Пустой список теперь действительно пуст.
Не файл из комментариев.
Не философская концепция пустоты.
Не 78 байт текста о том, что здесь ничего нет.
Ноль байт.
Активные списки обслуживаются штатными командами Antiscan.
Опасная очистка активного белого списка остаётся защищена.
И самое главное — работу модуля проверили на настоящем роутере.
Не в тесте.
Не на макете.
Не в нашем воображении, которое уже неоднократно демонстрировало удивительную творческую свободу.
Проверена вся цепочка:
веб-интерфейс → настоящий ascn.conf → reload → restart → рабочий конфиг Antiscan → возврат исходных настроекИзменённая настройка пережила полный перезапуск.
После перезапуска Antiscan использовал именно новое значение.
После теста исходный файл был восстановлен байт в байт.
Так что Antiscan Manager теперь действительно делает то, что мы обещали с самого начала:
он является интерфейсом для Antiscan.
Это заняло некоторое время.
Человечество тоже не сразу научилось пользоваться огнём.
Безопасность сторонних программ
Для сторонних способов установки добавлено ещё несколько ограничений.
Там, где возможно, используются неизменяемые ссылки и контрольные суммы.
Локальные служебные скрипты перед запуском копируются во временный файл.
То есть если кто-то заменит исходный скрипт между проверкой и выполнением, RouterForge не должен внезапно исполнить уже другой файл.
Старые установщики, которые сами зависят от постоянно меняющейся цепочки удалённых файлов, не получают автоматическое выполнение только ради красивой кнопки.
Некоторые вещи лучше оставить неудобными, чем сделать удобно опасными.
Гильотина тоже очень удобный интерфейс.
Один рычаг.
Прекрасная обратная связь.
Минимум настроек.
Немного о качестве RouterForge
Мы считаем нужным напомнить одну важную вещь.
RouterForge разрабатывается людьми.
Это те самые существа, которые сначала изобрели самолёт, потом платную еду в самолёте.
Создали глобальную сеть мгновенного обмена знаниями, а используют её, чтобы спорить с незнакомцами о форме Земли.
Научились проектировать процессоры с миллиардами транзисторов, а потом забывают закрывающую скобку.
Поэтому никаких обещаний, что RouterForge когда-нибудь станет программой без багов, здесь не будет.
Мы вообще не обещали, что он когда-нибудь начнёт нормально работать.
Пока стратегия такая:
- написать функцию;
- убедиться, что работает;
- найти место, которое перестало работать из-за функции;
- починить его;
- случайно обнаружить ещё три;
- назвать это новой версией.
На удивление, примерно так работает вся индустрия.
Просто остальные надевают пиджак и называют это:
«непрерывным улучшением продукта».
Мы называем это:
«ну вроде теперь не падает».
Если после исправления одного бага появятся ещё десять — считайте, что вы получили десять новых возможностей для будущих обновлений.
Нельзя же всё хорошее отдавать в одном релизе.
Версии
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
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads