Локальная зашифрованная библиотека для Linux. PDF, EPUB и FB2 читаются внутри приложения; файлы других форматов сохраняются и экспортируются в оригинале. Без аккаунта, телеметрии и загрузки ресурсов книг из сети.
Текущая версия: 1.0.0-rc.1. Реализованы читалки, полки, обложки, поиск, позиции и закладки, автоблокировка, смена пароля, резервирование и проверяемое восстановление. До публичной 1.0 остаются независимое ревью безопасности и проверка поставки на других системах: состояние выпуска.
Библиотека с обложками, полками и сохранёнными позициями чтения. Сборка и установка.
| Чтение и закладки | Настройки текста |
|---|---|
![]() |
![]() |
Flutter-приложение находится в ветке app/mobile. Запуск и документация.
| Библиотека | О книге | Читалка | Оформление |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
На снимках — демонстрационные книги. Десктопные экраны сняты в работающем Linux-приложении, мобильные взяты из галереи тестового Flutter UI. Источники изображений.
Готовые пакеты находятся в dist/: AppImage для Linux x86-64 и DEB.
AppImage включает GTK/WebKit и требует glibc >= 2.39; DEB требует системный
WebKitGTK >= 2.54.0. Установка, сборка и публикация.
Проверены Arch и runtime в Ubuntu 24.04 (X11); установка DEB — в Debian 13.
При создании выберите новую папку, например ~/.local/share/mut/vault
(в поле вводится полный абсолютный путь). Запишите полный код восстановления
отдельно от архива. Последние шесть символов нужны только для подтверждения
записи кода; при входе и восстановлении нужен весь код.
«Добавить» открывает импорт файлов или папки. Карточка книги содержит полки, экспорт оригинала и удаление из каталога. Позиции и закладки сохраняются в зашифрованном каталоге. После закрытия приложение запоминает выбранные папки, но запрашивает секрет снова. Инструкция восстановления.
Для готовых пакетов в отдельной Debian-среде:
python3 scripts/build-linux-release.pyТребования к rootless-среде описаны в инструкции пакетов. Для сборки под библиотеки своей системы:
Go 1.27.2, Node.js 24+, npm, Python 3 и заголовки GTK 3/WebKitGTK 4.1.
cd frontend
npm ci
npm run check
npm run build
cd ..
go install github.com/wailsapp/wails/v2/cmd/wails@v2.16.0
wails generate module -tags webkit2_41
wails build -tags webkit2_41 -skipbindings -o mut
go build -trimpath -o build/bin/vaultctl ./cmd/vaultctl
python3 scripts/collect-licenses.py
python3 scripts/package-linux.pyПроверки:
go vet -tags webkit2_41 ./...
go test -race -tags webkit2_41 ./...Для просмотра дизайна: cd frontend && npm run dev, затем ?preview=library.
Этот режим использует демонстрационные данные. Для работы с архивом запускайте
Wails-приложение. Контракт моста: frontend/BRIDGE.md.
Импорт одного оригинала — до 256 МиБ; встроенное чтение — до 64 МиБ. EPUB: до 4096 ZIP-записей, 8 МиБ на запись, 128 МиБ распакованного содержимого, включая повторные чтения. Модель EPUB/FB2 ограничена 32 МиБ с учётом повторений изображений и текста. PDF с паролем пока не поддерживается. EPUB и FB2 преобразуются в ограниченную модель текста и растровых изображений: сложная вёрстка, ссылки и интерактивные элементы не воспроизводятся. PDF отображает страницы и слой выделения текста.
На диске видны UUID, количество и размеры зашифрованных файлов, параметры KDF
и факт существования архива. Содержимое vault.json не является секретом,
но позволяет проверять догадки пароля офлайн. Используйте длинный пароль.
Recovery-код даёт полный доступ. Блокировка очищает ключи Go и убирает данные
из интерфейса; она не гарантирует стирание всех копий из памяти WebKit,
подкачки, снимков экрана или заражённой ОС.
Удаление книги убирает её из текущего каталога. Старые снимки и объекты пока не очищаются автоматически и входят в копии. Смена пароля не меняет пароль у ранее созданных копий. Формат v1, модель угроз, план 1.0.
MPL-2.0. PDF.js — Apache-2.0; Onest и Literata — SIL OFL 1.1. Пакеты включают тексты лицензий и списки версий зависимостей.







