Публичные проекты
Здесь собраны мои открытые разработки: программы, инструменты и эксперименты, выросшие из реальных задач системного администрирования, работы с текстами, домашней инфраструктуры и интереса к устройству сложных систем.
Большинство этих проектов я начинал прежде всего для себя — потому что существующие решения оказывались слишком тяжёлыми, неудобными, зависимыми от облачных сервисов или просто не совсем подходили под мою задачу.
Некоторые проекты уже можно использовать в повседневной работе. Другие продолжают активно меняться, а часть остаётся исследовательскими экспериментами без гарантии, что когда-нибудь превратится в законченный продукт.
Основные проекты
Верстак
Локальное рабочее пространство для проектов, клиентов, серверов, заметок, файлов и истории работы.

Информация о длительной работе почти всегда оказывается разбросана по разным местам: файлы лежат в каталогах, решения — в заметках, ссылки — во вкладках браузера, задачи — в отдельном менеджере, пароли — ещё где-нибудь, а часть контекста остаётся только в памяти.
Верстак пытается собрать всё это в одном локальном рабочем пространстве.
Основная единица организации называется Дело. Делом может быть программный проект, клиент, серверная площадка, ремонтируемое устройство, учебный курс, статья, исследование или любая другая работа, к которой приходится возвращаться снова и снова.
Данные хранятся в локальном вольте и остаются под контролем пользователя. Файлы и заметки не запираются в облачном сервисе или проприетарной базе: они остаются обычными файлами, доступными и без Верстака.
Для локальной работы не нужны регистрация, учётная запись или подключение к интернету.
Основные возможности
- организация работы по Делам;
- обычные файлы и каталоги внутри вольта;
- Markdown-заметки и связи между ними;
- обзор недавней работы и материалов, требующих внимания;
- задачи внутри отдельных Дел и на уровне всего вольта;
- журнал выполненной работы и история активности;
- общая корзина с возможностью восстановления;
- защищённое хранение данных доступа;
- шаблоны повторяющихся рабочих структур;
- отправка страниц, ссылок, текста и файлов из браузера;
- расширяемая система плагинов;
- необязательная синхронизация через собственный сервер.
Верстак состоит не только из настольного приложения. В проект также входят SDK для разработки плагинов, набор официальных плагинов, расширение для браузера, сервер синхронизации и отдельная документация по архитектуре.
Статус: активная разработка, альфа; публичная линия 0.1.x. Форматы хранения и программные интерфейсы пока могут изменяться.
Платформы: Linux и Windows; выпускаются DEB, AppImage и Windows ZIP.
Технологии: Go, Wails 2, Svelte 4, TypeScript/JavaScript.
Лицензия: AGPL-3.0-or-later.
Ссылки:
Релизы ·
Документация ·
Исходный код ·
Сообщить об ошибке
MirvMon
Self-hosted-система мониторинга серверов и небольшой собственной инфраструктуры.

MirvMon предназначен для ситуации, когда одному администратору нужен понятный обзор собственных серверов без развёртывания большого enterprise-стека мониторинга.
Нативные агенты сами отправляют данные на сервер по HTTPS, поэтому наблюдаемым машинам не нужны входящие порты или белые IP-адреса. MirvMon хранит историю метрик и доступности, показывает текущее состояние серверов, фиксирует инциденты и позволяет управлять мониторингом из единого веб-интерфейса.
Основные возможности
- мониторинг Linux и Windows нативным агентом на Go;
- исходящие HTTPS-соединения от агентов;
- метрики CPU, памяти, дисков, сети, нагрузки, температуры и других параметров;
- наблюдение за сервисами и процессами;
- история метрик, доступности и графики;
- группы серверов и оперативные сводки по группам;
- пороговые значения, уведомления и режим обслуживания;
- Incidents / Events с активными проблемами и историей восстановления;
- установка и обновление агентов непосредственно из веб-интерфейса;
- отдельные совместимые сборки для старых Windows-систем;
- диагностика самого MirvMon, базы данных, фоновых worker’ов и очереди уведомлений;
- append-only журнал административных действий с защитой от попадания секретов;
- русский и английский интерфейс;
- Docker-развёртывание и работа за reverse proxy.
Статус: активная разработка; текущая линия релизов 0.4.x.
Платформы: сервер — Docker; агенты — Linux и Windows.
Технологии: PHP, Slim, Twig, FrankenPHP, PostgreSQL, TimescaleDB, Go, Bootstrap, Chart.js.
Лицензия: MIT.
Ссылки:
Инструкция по установке ·
Скриншоты ·
Исходный код ·
Сообщить об ошибке
sshkeeper
Консольный менеджер SSH-подключений, маршрутов, секретов и туннелей.

sshkeeper не заменяет OpenSSH, а организует работу с ним: хранит информацию о серверах в локальной SQLite-базе, секреты — в зашифрованном vault, а для подключения использует системный ssh.
Основной интерфейс — TUI на Bubble Tea. Для скриптов и автоматизации те же данные доступны через CLI.
Основные возможности
- профили SSH-серверов, группы и теги;
- авторизация по ключу, через
ssh-agent, по паролю и с passphrase; - зашифрованное локальное хранилище секретов;
- ProxyJump и цепочки jump-host’ов;
- Local, Remote и SOCKS port forwarding;
- управление запущенными SSH-туннелями;
- шаблоны команд;
- поиск по серверам, маршрутам и портам;
- импорт существующего
~/.ssh/config; - генерация OpenSSH-конфигурации;
- TUI и полноценный CLI.
Статус: активная разработка; текущая линия релизов 0.3.x.
Платформы: Linux amd64/arm64 и macOS amd64/arm64; Windows amd64 — экспериментально.
Технологии: Go, Bubble Tea, Cobra, SQLite, OpenSSH.
Лицензия: MIT.
Ссылки:
Релизы ·
Руководство ·
Скриншоты ·
Исходный код ·
Сообщить об ошибке
Burned Ground
Браузерная пошаговая артиллерийская стратегия с разрушаемым ландшафтом.

Проект вдохновлён классической DOS-игрой Scorched Earth, но написан с нуля и не использует ресурсы оригинальной игры.
В основе — артиллерийский бой с углом и мощностью выстрела, ветром и изменяемым рельефом. Взрывы оставляют воронки, грунт естественно осыпается, танки могут падать вместе с землёй или оказаться засыпанными.
Основные возможности
- пошаговые многопользовательские артиллерийские бои;
- детерминированно генерируемый разрушаемый ландшафт;
- естественное осыпание и насыпание грунта;
- урон от падения и возможность засыпать танк землёй;
- ветер и широкий диапазон мощности выстрела;
- 19 видов оружия: от обычных ракет до MIRV, Death’s Head, Leapfrog, Funky Bomb и земляных зарядов;
- щиты, парашюты и ремонтные комплекты;
- боты нескольких уровней сложности;
- настраиваемые публичные и приватные комнаты;
- наблюдатели и чат;
- регистрация, профили игроков, история матчей и статистика;
- рейтинг Elo и таблица лидеров;
- переподключение к продолжающемуся бою;
- Docker-развёртывание и health endpoint.
Статус: Alpha, активная разработка.
Платформы: клиент — современный веб-браузер; сервер — Node.js или Docker.
Технологии: Node.js, Express, Socket.IO, Phaser 3, SQLite.
Лицензия: AGPL-3.0-only.
Ссылки:
Исходный код ·
Сообщить об ошибке
Web Writer
Self-hosted веб-приложение для написания, организации, хранения и публикации больших художественных текстов.

Web Writer создавался как самостоятельный инструмент для работы с книгами и рассказами без привязки к сторонним издательским платформам и облачным редакторам.
Приложение позволяет организовывать книги и серии, работать с главами и короткими рассказами, публиковать материалы и предоставлять к ним публичный доступ.
Основные возможности
- книги и серии книг;
- главы и отдельные короткие рассказы;
- WYSIWYG-редактор;
- автосохранение текста;
- изменение порядка глав drag-and-drop;
- обложки книг и данные авторов;
- публикация и публичные ссылки по токену;
- авторские страницы;
- экспорт в PDF, DOCX, HTML и TXT;
- интерактивное содержание экспортируемых книг;
- управление пользователями и администраторами.
Web Writer не претендует на роль большой издательской платформы. Это инструмент для автора или небольшой группы авторов, которым важно хранить тексты на собственном сервере и самостоятельно управлять публикацией.
Статус: работоспособный проект; текущая реализация развивается и проходит техническую и UX-ревизию.
Платформа: self-hosted Web.
Технологии: PHP, MySQL, Bootstrap, Quill.js, Sortable.js, PhpWord, TCPDF.
Лицензия: AGPL-3.0-only.
Ссылки:
Инструкция по установке ·
Лицензия ·
Скриншоты ·
Исходный код ·
Сообщить об ошибке
Исследовательские проекты
TOS — TextOS
Экспериментальная операционная система, исследующая идею системы, в которой исходное дерево является установленной системой.
Главная идея TOS заключается в том, что установленный компонент системы должен оставаться доступным в виде исходного текста, который владелец компьютера может прочитать, изменить, проверить и снова загрузить. Скомпилированный код, IR, индексы, boot-образы и другие бинарные артефакты рассматриваются как производные результаты, а не как самостоятельная версия установленной системы.
Идентичность работающей системы привязана к коммиту репозитория. Это позволяет рассматривать ОС как версионируемое дерево исходного кода: создавать собственные ветки, сравнивать состояния, откатывать изменения и воспроизводить известную версию системы.
Одновременно проект исследует, как совместить такую модель владения системой с безопасностью: проверяемым происхождением производных артефактов, fail-closed проверками, capability-моделью и строгими контрактами между компонентами.
Что уже реализовано
- загрузочная основа для x86_64 и UEFI;
- запуск и автоматическая проверка системы в QEMU/OVMF;
- воспроизводимые загрузочные и системные артефакты с проверкой происхождения;
- TOS Core V1 и рабочий тракт frontend → IR → verifier → runtime;
- системные интерфейсы и capability-ограниченные операции;
- межпроцессное взаимодействие;
- монотонное системное время;
- аппаратная вытесняющая многозадачность и round-robin scheduler;
- одновременное существование нескольких пользовательских процессов;
- первые системные компоненты, написанные непосредственно на TOS Core;
- автоматизированный набор архитектурных, conformance и release-gates.
TOS всё ещё остаётся исследовательской операционной системой. У неё пока нет полноценного пользовательского окружения, обычного набора программ или цели немедленно заменить Linux, Windows и другие зрелые системы.
Сейчас работа смещается от доказательства отдельных базовых механизмов к построению из них собственной системной среды.
Статус: исследовательская разработка; активный Stage 3.
Платформы: x86_64, UEFI, QEMU/OVMF.
Технологии: Rust, TOS Core, UEFI, QEMU, OVMF, Git.
Лицензия: GPL-3.0-or-later для системной реализации; Apache-2.0 для публичных интерфейсов и SDK; CC-BY-SA-4.0 для документации; Unicode-3.0 для включённых данных Unicode.
Ссылки:
Исходный код ·
Документация ·
Ход разработки ·
Сообщить об ошибке
Barrymore
Локальный ИИ-дворецкий, который хранит непрерывность работы и умеет подключать сменяемых исполнителей.
Barrymore исследует идею постоянного локального помощника, который не привязан к одной языковой модели или одному coding agent. Личность, память, состояние дел, правила безопасности и решения принадлежат собственному runtime; локальную модель или внешнего исполнителя можно заменить, не начиная работу заново с пустого контекста.
Основной пользовательский интерфейс — «Приёмная»: обычный разговор, в котором служебные сущности вроде нитей и поручений по возможности остаются скрытой инфраструктурой. Barrymore сам связывает разговор с текущими делами, предлагает новые нити, фиксирует память и может либо выполнить безопасное действие собственным инструментом, либо предложить поручить работу внешнему агенту.
Что уже реализовано
- разговорный интерфейс с локальной моделью через
llama-server; - долговечные асинхронные ходы разговора с отображением живого прогресса;
- нити, память и восстановление состояния между запусками;
- автоматическое обнаружение и supervision локального
llama-server; - собственные безопасные умения Barrymore для простых действий без вызова внешнего агента;
- делегирование Hermes, OpenCode и другим установленным агентам;
- объяснимый выбор исполнителя и модели;
- read-only запуск поручений через bubblewrap;
- контролируемая запись: исполнитель изменяет изолированную копию каталога, а изменения применяются к рабочему дереву только после решения владельца;
- накопление опыта по способам работы и отключение повторяющихся неудачных способов;
- подключение незнакомых инструментов через безопасное исследование их собственной справки;
- сквозные API- и browser E2E-проверки настоящего сервера.
Проект уже выполняет полный контур делегирования на реальных агентах, но остаётся исследовательским: ещё не закончены удалённый доступ, внешние интеграции и отдельная модель репутации исполнителей.
Статус: активная исследовательская разработка; базовые этапы 0–8 реализованы.
Платформа: Linux; проверяется на Debian 13.
Технологии: Go, SQLite, systemd, bubblewrap, llama.cpp / llama-server, Playwright.
Лицензия: пока не указана в репозитории.
Ссылки:
Исходный код ·
Текущее состояние ·
Документация ·
Сообщить об ошибке
PerfectWorld
Экспериментальная система процедурного построения связного мира для Luanti и Mineclonia.
PerfectWorld исследует возможность создавать не отдельные случайные здания, а связный мир: регионы, хутора, деревни и города, дороги, мосты, здания, население и специализации, зависящие от окружающей местности.
При планировании учитываются рельеф, вода, почва, лес, камень и другие особенности территории. Поселения получают специализацию, которую должна поддерживать окружающая среда: например рыболовство, земледелие, лесное хозяйство или добычу камня.
Здания описываются декларативными схемами. Сейчас каталог содержит десятки схем и несколько архитектурных стилей. Дороги пытаются следовать рельефу, обходить препятствия, пересекать воду, использовать мосты и тоннели или заканчиваться причалом там, где сухопутный путь продолжить невозможно.
Проект проверяется не только синтетическими тестами: отдельные инструменты физически генерируют участки мира и измеряют, что действительно увидит игрок. Это выявило класс проблем, которые обычные тесты планировщика раньше скрывали.
Что уже реализовано
- детерминированное деление мира на регионы;
- планирование хуторов, деревень и городов;
- экологический выбор места для поселения;
- 61 декларативная схема зданий в пяти архитектурных стилях;
- специализации поселений и население из жителей Mineclonia;
- региональная сеть дорог;
- мосты, тоннели, причалы и городские ворота;
- серверный интерфейс восприятия мира для автономного игрока;
- автоматическое тестирование и проверки на реальном сгенерированном мире;
- инструменты измерения качества генерации.
Что остаётся исследовательской задачей
Генератор уже способен создавать настоящие поселения с улицами и несколькими зданиями, но связный процедурный мир остаётся сложной задачей.
Часть запланированных мест всё ещё не удаётся материализовать из-за геометрии участков, склонов и конфликтов с дорогами. Реальные проверки также выявляют здания, до входа которых нельзя пройти по правилам игрового pathfinding.
Эти проблемы измеряются и воспроизводятся, но не все из них имеют простое локальное исправление. Поэтому PerfectWorld по-прежнему остаётся исследовательским проектом, а его архитектура может заметно меняться.
Статус: исследовательская разработка; рабочий генератор с известными нерешёнными проблемами геометрии и доступности.
Платформа: Luanti / Mineclonia.
Технологии: Lua, Luanti, Mineclonia, Docker, Python.
Лицензия: MIT.
Ссылки:
Текущее состояние ·
Документация ·
Исходный код
Другие разработки
Помимо основных проектов, в моих публичных репозиториях находятся небольшие утилиты, старые программы, скрипты системного администратора, проекты для Arduino, эксперименты с 3D-печатью и другие разработки.
Некоторые из них больше не поддерживаются. Другие создавались для решения одной конкретной задачи и не оформлялись как полноценные продукты.
Я сохраняю их открытыми: возможно, кому-нибудь пригодится исходный код, отдельная идея или описание найденного решения.
Об этих проектах
Я не компания и не команда разработчиков. Все эти проекты создаются в свободное время и развиваются неравномерно: один может некоторое время активно меняться, пока другой остаётся без обновлений.
Открытый репозиторий не всегда означает готовый продукт. Перед использованием стоит посмотреть текущее состояние проекта, список известных проблем и документацию по установке.
Сообщения об ошибках, предложения и практический опыт использования приветствуются. Даже простой рассказ о том, что проект удалось установить и применить в реальной работе, помогает понять, куда его развивать дальше.

