Skip to content

About

Mut Reader is an offline-first, privacy-focused Linux desktop e-reader and personal digital library archive. Built with Go, Wails v2, and Svelte, it encrypts all books, metadata, and reading progress at rest using Argon2id and XChaCha20-Poly1305. Features zero telemetry, format-agnostic storage, isolated readers (PDF, EPUB, FB2)

Topics

Resources

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Repository files navigation

mut

Локальная зашифрованная библиотека для Linux. PDF, EPUB и FB2 читаются внутри приложения; файлы других форматов сохраняются и экспортируются в оригинале. Без аккаунта, телеметрии и загрузки ресурсов книг из сети.

Текущая версия: 1.0.0-rc.1. Реализованы читалки, полки, обложки, поиск, позиции и закладки, автоблокировка, смена пароля, резервирование и проверяемое восстановление. До публичной 1.0 остаются независимое ревью безопасности и проверка поставки на других системах: состояние выпуска.

Скриншоты

Десктоп · Linux

Библиотека с обложками, полками и сохранёнными позициями чтения. Сборка и установка.

mut для Linux — библиотека, обложки, полки и прогресс чтения

Чтение и закладки Настройки текста
Десктопная читалка с бумажным фоном, навигацией по главам и сохранённой закладкой Настройки чтения с открытым меню выбора размера шрифта
Светлая тема

mut для Linux — библиотека в светлой теме

Мобильная версия · Android

Flutter-приложение находится в ветке app/mobile. Запуск и документация.

Библиотека О книге Читалка Оформление
Android — библиотека с обложками, прогрессом чтения и нижней навигацией Android — сведения о книге, обложка и прогресс чтения Android — чтение русского текста на бумажном фоне Android — выбор режима чтения, цвета страницы, размера текста и интервала

На снимках — демонстрационные книги. Десктопные экраны сняты в работающем 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. Пакеты включают тексты лицензий и списки версий зависимостей.

About

Mut Reader is an offline-first, privacy-focused Linux desktop e-reader and personal digital library archive. Built with Go, Wails v2, and Svelte, it encrypts all books, metadata, and reading progress at rest using Argon2id and XChaCha20-Poly1305. Features zero telemetry, format-agnostic storage, isolated readers (PDF, EPUB, FB2)

Topics

Resources

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages