ZboxFS Файловая система для параноиков (и не только)
Это архивный репозиторий и может быть устаревшим.
Представьте, что ваше приложение работает с конфиденциальными данными — финансовыми отчетами, медицинскими записями или личными сообщениями. Как защитить эти данные, если они хранятся на устройстве пользователя? Обычные файловые системы оставляют метаданные и структуру каталогов открытыми. Решение? ZboxFS — файловая система, где шифруется абсолютно всё.
Что в коробке?
ZboxFS — это не просто библиотека для шифрования файлов. Это полноценная in-app файловая система с рядом уникальных особенностей:
- Полное шифрование — не только содержимое файлов, но и метаданные, структура каталогов
- Гибкое хранилище — можно использовать память, файловую систему ОС, SQLite, Redis или облако
- Версионность — автоматическое отслеживание изменений файлов
- Дедупликация — экономия места за счет устранения дубликатов
Кому это нужно?
Разработчикам, которые:
- Создают приложения с повышенными требованиями к конфиденциальности
- Хотят избежать сложностей с ручным шифрованием данных
- Нужна кроссплатформенная файловая система (Linux, macOS, Windows, Android)
- Работают на Rust и ценят безопасность
Как это работает?
Технически ZboxFS — это виртуальная файловая система, работающая в пространстве памяти вашего приложения. Вот что скрывается под капотом:
- Шифрование: AES-256-GCM или XChaCha20-Poly1305
- Хеширование: Argon2 для паролей
- Дедупликация: Алгоритм Rabin для контента, Merkle-деревья для файлов
- Сжатие: LZ4 (опционально)
// Пример использования:
use zbox::{init_env, RepoOpener, OpenOptions};
fn main() {
init_env();
let mut repo = RepoOpener::new()
.create(true)
.open("file://./secure_repo", "strong_password")
.unwrap();
let mut file = OpenOptions::new()
.create(true)
.open(&mut repo, "/secret.txt")
.unwrap();
file.write_all(b"Confidential data").unwrap();
file.finish().unwrap(); // Фиксация изменений
}
Чем лучше альтернатив?
ZboxFS выгодно отличается от решений вроде EncFS или VeraCrypt:
| Особенность | ZboxFS | Обычные FS | |-------------------|--------|------------| | Шифрование метаданных | ✅ | ❌ | | API для разработчиков | ✅ | ❌ | | Встроенная дедупликация | ✅ | ❌ | | Версионность файлов | ✅ | ❌ |
Производительность
На MacBook Pro 2017 ZboxFS показывает:
- Чтение: до 605 МБ/с (в памяти)
- Запись: до 186 МБ/с
- Транзакции: до 1783 операций в секунду
Для большинства приложений этих показателей более чем достаточно.
Когда использовать?
- Мобильные приложения — безопасное хранение данных на устройстве
- Десктопные утилиты — защита конфигураций и кэшей
- Облачные сервисы — шифрование перед отправкой на сервер
- Блокчейн-проекты — безопасное хранение ключей
Начните использовать уже сегодня
Добавьте в Cargo.toml:
[dependencies]
zbox = { version = "0.9.2", features = ["libsodium-bundled"] }
ZboxFS — это не просто инструмент, а новый подход к безопасности данных. Если ваше приложение работает с чем-то ценным, возможно, пришло время пересмотреть подход к хранению информации.
