Skip to content

quarkslab/ziphyr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ziphyr

Ziphyr is an on-the-fly zip archiving applied on a streamed file source, with optional on-the-fly encryption.

GitHub GitHub Workflow Status (branch) PyPI PyPI - Python Version

Features

  • Disclaimer: the zip-native cryptography is unsecure
  • Streamed file turned into a streamed zip
  • Can be used password-less for a non-encrypted zip stream
  • Or with a password to apply on-the-fly zipcrypto to the stream
  • Retro-compatibility for py35 with writable ZipInfo port

Install

    $ pip install ziphyr

Usage

   from ziphyr import Ziphyr

   # init the Ziphyr object
   z = Ziphyr(b'infected')
   # z = Ziphyr() for crypto-less usage

   # prepare it for a specific file, from path or metadata directly
   z.from_filepath(filepath)

   # consume the generator to get the encrypted ziped chunk
   for k in z.generator(source):
       pass

Test

   $ python -m unittest -v tests/*.py

Contributing

Contributions are welcome and are always greatly appreciated. Every little bit helps and credit will always be given. You can contribute in many ways:

  • reporting a bug
  • submitting feedback
  • helping fix bugs
  • implementing new features
  • writting better documentation

Remember that before submitting a pull request, you should if relevant include tests and update documentation.

Credits and references

zip-related

Underlying works

The following works served as sources of inspiration or examples for implementation.

Cookiecutter

This package was kickstarted with Cookiecutter and the audreyr/cookiecutter-pypackage project template.