Skip to content
This repository has been archived by the owner on Sep 18, 2020. It is now read-only.

DizzyHSlightlyVoided/DieFledermaus

Repository files navigation

DieFledermaus (.maus file) and DiefledermauZ (.mauz file)

Disclaimer

This project is depreciated and no longer supported or in development.

Version 0.3.11.0

The DieFledermaus file format is simply a DEFLATE- or LZMA-compressed file, with metadata and magic number mAuS; it has been extended with the DieFledermauZ archive file format, magic number mAuZ, which can contain multiple files. This project exists primarily to be a bilingual pun. Version 1.01 of each file format (not currently finalized) is specified in [DieFledermaus Format.md](DieFledermaus Format.md) and [DieFledermauZ Format.md](DieFledermauZ Format.md).

The project has two components: the DieFledermaus class library, which is intended for programmers, and which allows the full range of capabilities when creating and consuming DieFledermaus and DieFledermauZ files; and the DieFlede command-line utility, which is intended for end users, and which is meant to more accurately reflect the "best practices" when encoding DieFledermaus and DieFledermauZ files.

Note: The DieFledermaus and DieFledermauZ formats do not support setting file-permissions, because it's just too obnoxious to try to figure out how to do that in Windows. Therefore, neither format is recommended for file system backups.

Features

  • DEFLATE compression, LZMA compression, or no compression.
  • Storing the filename, creation time, and modified time of the original file.
  • Comments on individual files, or in an entire archive in DieFledermauZ.
  • Signing both DieFledermaus and DieFledermauZ files using RSA, DSA, and/or ECDSA.
  • Encryption using AES, Twofish, or Threefish, using either a binary key or a password. This includes encrypting any of the above. Also allows RSA-based key encryption.
  • Error checking and encryption verification using SHA-2, SHA-3, or Whirlpool.

Supported platforms

The libraries are built for the following platforms:

  • Standard Mono/.Net Framework 3.5, 4.0, 4.5, and 4.6
  • PCL for .Net 4.0 and 4.5
  • Android and iOS

DieFlede

A command-line utility for creating DieFledermaus files, using the DieFledermaus class library. The name is an even worse pun.

Usage:

Compress files into an archive:

DieFlede.exe -cf archive.maus file1 file2 file3

Decompress files:

DieFlede.exe -xf archive.maus -o [output directory]

List files verbosely:

DieFlede.exe -lvf archive.maus

Show extended help:

DieFlede.exe --help

On Unix and OSX systems, use mono DieFlede.exe. Make sure you have Mono installed.

Class Library

The DieFledermaus library contains a public type, DieFledermaus.DieFledermausStream, which provides the same functionality as the System.IO.Compression.DeflateStream or System.IO.Compression.GZipStream classes. Unlike either of these classes, however, DieFledermausStream must read part of the underlying stream before Stream.Read() is called.

It also contains DieFledermaus.DieFledermauZArchive, which is more or less modelled after System.IO.Compression.ZipArchive.

The DieFledermaus library computes SHA-3 data using the C# Bouncy Castle library. For information on third-party licenses, see LICENSE-ThirdParty.md.

About

A C# library for an archive format which exists solely to be a bilingual pun.

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE.md
Unknown
LICENSE-ThirdParty.md

Stars

Watchers

Forks

Packages

No packages published

Languages