Crate fritzdecode

source ·
Expand description

Utilities for working with (encrypted) config backups from AVM FritzBox devices. This library is mostly designed as a backing for the fritzdecode binary, but might be useful on its own as well.

The main type is ConfigBackup, it allows reading, verifying, decrypting and writing backup files.

Examples

let file = BufReader::new(File::open("config.export").unwrap());

// Load the config backup
let config = ConfigBackup::load(file).unwrap();

// Decrypt any contained values using the password specified during export, update CRC
let config = config.decrypt("1234").unwrap().update_crc();

// Write the decrypted backup to standard output
config.serialize(stdout()).unwrap();

Modules

Utilities to handle encrypted values in config backup files.
Fritz!OS base32 encoding. Similar to RFC4648, but uses digits 1 through 6 instead of 2 through 7.

Structs

A parsed config backup. Created using ConfigBackup::load().
A file inside the config backup. It has a name and content; the content is either text or (base64-encoded) binary data.

Enums

The contents of a File entry.
A metadata line inside the backup. Used to separate file entries, as well as for framing the entire backup.