
Format de conteneur haute performance, priorisant le streaming, avec polymorphisme de codec par bloc et récupération robuste des données. Implémentation de référence en Rust.
Une implémentation Rust du format d'archive .6cy offrant :
# 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
| Commande | Description |
|---|---|
pack | Créer une archive à partir de fichiers/répertoires |
unpack | Extraire les fichiers de l'archive |
list | Lister le contenu de l'archive |
info | Afficher les métadonnées de l'archive |
scan | Analyser les blocs sans index |
recover | Extraire les données récupérables d'une archive endommagée |
optimize | Re-compresser à un niveau différent |
merge | Combiner plusieurs archives |
bench | Évaluer les performances du pré-filtre RLE |
vanta | Sous-commandes de stéganographie |
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 d'archive de haut niveau
├── block.rs # Format de bloc (en-têtes de 84 octets)
├── superblock.rs # En-tête d'archive (512 octets)
├── codec/ # Registre de codecs de compression
├── crypto/ # AES-256-GCM + Argon2id
├── cdc.rs # Découpage basé sur le contenu Gear64
├── fec.rs # Correction d'erreur directe Reed-Solomon
├── merkle.rs # Arbre Merkle binaire + preuves
├── sharding.rs # Partage de secret de Shamir
├── stego.rs # Stéganographie LSB
├── chaos.rs # Utilitaires de brouillage de blocs
├── io_stream/ # Lecteur/écrivain d'archive
├── index/ # Gestion d'index de fichiers
├── recovery/ # Scanner de récupération sans index
├── perf.rs # Utilitaires de performance
└── plugin.rs # ABI C pour plugins de codec
Actuelle : v2.1.0 (format_version = 2)
Le format .6cy est documenté dans spec.md.