Полсотни MikroTik в одном окне
Мониторинг доступности, массовые операции, бэкапы по расписанию, логи и связи WireGuard. Ставится на свой сервер, данные лежат в файле рядом и никуда не уходят.
Скриншоты сняты с живого парка из 49 роутеров при включённом режиме витрины: названия точек, адреса и имена клиентов подменены самой панелью.
Что умеет
Всё, что на парке приходится делать руками по одному роутеру за раз.
Одно действие на весь парк
Перезагрузка, скрипт, бэкап, смена identity, проверка и установка обновлений RouterOS. Каждый запуск становится задачей с результатом по каждой точке: видно, какие 3 из 49 не ответили и что именно сказали.
Мониторинг доступности
История по каждой точке, задержка и потери, измеренные самим роутером, карта парка и отчёты по группам, устройствам и произвольному периоду.
Бэкапы по расписанию
Бинарный .backup и текстовый .rsc, хранение
N последних копий, сравнение любых двух конфигураций и поиск по всем
сохранённым. Плюс архив самой панели на случай смерти сервера.
Библиотека скриптов
Свои скрипты в одном месте и ответ на вопрос, у кого из парка какой стоит. Раскатать на выбранные точки или на весь парк - в два клика.
WireGuard
Связи роутер-роутер через хаб: рукопожатия, трафик и маршруты в одной таблице. Конфигурация споука генерируется сама.
Логи и клиенты
Приёмник syslog со всего парка с фильтрами и правилами скрытия шума. И список того, что подключено на каждой площадке: по кабелю или по воздуху, в какой порт, с каким адресом.
Экраны
Установка
Нужен любой сервер с Docker, доступный до роутеров. Панель поднимется на порту 8080.
git clone https://github.com/maximdr86/tikpilot cd tikpilot cp .env.example .env docker compose up -d
Дальше: завести на роутерах пользователя API, добавить устройства руками или
загрузкой CSV. Панель работает по API RouterOS (8728/8729) и по SSH для терминала.
Обновление - git pull и docker compose up -d --build.
Чего тут нет
- Это не замена Zabbix и The Dude. Панель не сканирует сеть, не рисует топологию и не собирает SNMP. Она работает с парком, который вы и так знаете.
- Это не замена WinBox. Тонкая настройка по-прежнему там, панель берёт на себя однообразную работу по всему парку.
- Это не облако. Никакой регистрации и никакого сервиса на стороне: всё крутится на вашей машине, база лежит одним файлом SQLite.
- Уведомлений в мессенджеры нет. Сознательно: на парке с плохими каналами такой поток сообщений перестают читать через неделю.
Частые вопросы
Чем заменить The Dude?
Отчасти Tikpilot. The Dude и Zabbix отвечают на вопрос «что происходит в сети» и делают это лучше. Tikpilot отвечает на другой: «сделай это на всех роутерах» - запустить скрипт, снять бэкап, обновить RouterOS, и показать результат по каждой точке. История доступности тут тоже есть, поэтому на небольшом парке он часто закрывает обе задачи.
Как обновить RouterOS сразу на всех роутерах?
Выбрать устройства или целую группу, запустить «Проверить обновления», затем «Обновить RouterOS». Каждый запуск становится задачей с результатом по каждой точке: панель ждёт возвращения роутера, не даёт откатиться на версию ниже и проверяет свободное место до начала.
Можно ли делать бэкапы MikroTik по расписанию?
Да. Правила работают сами: бинарный .backup, текстовый .rsc или оба сразу, с хранением N последних копий на устройство. Любые две конфигурации сравниваются построчно, и есть поиск по всем сохранённым.
Работает ли панель без интернета?
Да. Она общается только с вашими роутерами по API RouterOS и по SSH. Наружу есть ровно два необязательных выхода: поиск оператора связи в реестре адресов и скачивание базы производителей по MAC. Оба включаются вручную.
Сколько стоит?
Нисколько. Лицензия MIT, исходники на GitHub, платной версии и облачного аккаунта нет.
Как это сделано
Скучный стек
Python и FastAPI, страницы собираются на сервере, база - файл SQLite. Ни сборки, ни npm, ни внешних CDN: панель работает в изолированной сети.
Пароли и доступ
Пароли роутеров шифруются, ключ лежит отдельно от базы. Панель можно ограничить доверенными сетями, права выдаются по возможностям, всё сделанное попадает в журнал действий.
Проверено на живом парке
49 роутеров в магазинах, столовых и на месторождениях, связь через WireGuard с запасным SSTP. Больше 300 тестов гоняются в CI на трёх версиях Python.
Код написан ИИ (Claude) под руководством автора: я системный администратор, а не программист. Панель управляет моим собственным парком, поэтому ошибки достаются мне первому. Код открыт - прочитайте перед тем, как доверять.