
Высокопроизводительный контейнерный формат, ориентированный на потоковую передачу, с полиморфизмом кодеков на уровне блоков и надежным восстановлением данных. Эталонная реализация на Rust.
Реализация формата архивов .6cy на Rust с поддержкой:
# Pack files into an archive
6cy pack -o archive.6cy -i file1.txt file2.txt
# List archive contents
6cy list archive.6cy
# Extract files
6cy unpack archive.6cy -C ./output_dir
# View archive info
6cy info archive.6cy
# Create encrypted archive
6cy pack -o secure.6cy -i sensitive.dat --password "mypassword"
# Use FEC for error recovery (10 data shards, 4 parity shards)
6cy pack -o resilient.6cy -i data/ --fec 10/4
# Use content-defined chunking for deduplication
6cy pack -o dedup.6cy -i data/ --cdc --merkle
# Recover from damaged archive
6cy recover damaged.6cy -o recovered.6cy
# Merge archives
6cy merge archive1.6cy archive2.6cy -o merged.6cy
| Команда | Описание |
|---|---|
pack | Создать архив из файлов/каталогов |
unpack | Извлечь файлы из архива |
list | Вывести содержимое архива |
info | Показать метаданные архива |
scan | Сканировать блоки без индекса |
recover | Извлечь восстанавливаемые данные из повреждённого архива |
optimize | Пересжать на другом уровне |
merge | Объединить несколько архивов |
bench | Тестировать производительность RLE-префильтра |
vanta | Подкоманды стеганографии |
use sixcy::Archive;
let opts = sixcy::PackOptions {
default_codec: sixcy::CodecId::Zstd,
level: 3,
use_cdc: true,
build_merkle: true,
..Default::default()
};
let mut ar = Archive::create("data.6cy", opts)?;
ar.add_file("readme.txt", b"Hello, world!")?;
ar.finalize()?;
src/
├── archive.rs # Высокоуровневый API архива
├── block.rs # Формат блока (заголовки 84 байта)
├── superblock.rs # Заголовок архива (512 байт)
├── codec/ # Реестр кодеков сжатия
├── crypto/ # AES-256-GCM + Argon2id
├── cdc.rs # Разбиение на блоки по содержимому (Gear64)
├── fec.rs # Помехоустойчивое кодирование Рида–Соломона
├── merkle.rs # Бинарное дерево Меркла + доказательства
├── sharding.rs # Схема разделения секрета Шамира
├── stego.rs # Стеганография в младших битах (LSB)
├── chaos.rs # Утилиты перемешивания блоков
├── io_stream/ # Чтение/запись архива
├── index/ # Управление индексом файлов
├── recovery/ # Сканер восстановления без индекса
├── perf.rs # Утилиты производительности
└── plugin.rs # C-совместимый ABI для плагинов кодеков
Текущая: v2.1.0 (format_version = 2)
Формат .6cy описан в spec.md.