Skip to content

A backup decryptor and OTP generator for the vault of the Aegis Authenticator Android app.

License

Notifications You must be signed in to change notification settings

scollovati/Aegis-decrypt

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aegis-decrypt

A backup decryptor and OTP generator for the vault of the Aegis Authenticator Android app, inspired by asmw/andOTP-decrypt. It allows to decrypt the Aegis vault and export its values in different formats (stdout, CSV, QRCode, Json). It allows to generate TOTP codes on the fly.

⚠️ Currently, it supports only TOTP tokens. ⚠️ A few improvements are in progress:

  • export QRCodes in a unique PDF or HTML (simple paper backup)
  • support for HOTP format

Usage

After installing it with Poetry, run bash poetry run python aegis_decrypt.py -h.

The output is:

usage: aegis_decrypt.py [-h] --vault VAULT [--entryname ENTRYNAME] [--issuer ISSUER] [--output {csv,qrcode,json,otp,stdout}] [--password PASSWORD]

Decrypt an Aegis vault and produce an output as requested. Exported files are created in the folder `./export/` inside the project itself.

options:
  -h, --help            show this help message and exit
  --vault VAULT         The encrypted Aegis vault file or a folder containing only Aegis vault files. If it is a folder, the most recent file is considered.
  --entryname ENTRYNAME
                        The name of the entry for which you want to generate the OTP code.
  --issuer ISSUER       The name of the issuer for which you want to generate the OTP code.
  --output {csv,qrcode,json,otp,stdout}
                        The output format. Default: otp
  --password PASSWORD   The encryption password

Development Setup

  • Install Poetry (recommended)
  • Install the package: poetry install
  • Run the program : poetry run python aegis_decrypt.py [args] or poetry run aegis_decrypt [args]
  • Update dependencies: poetry update
  • Execute Bandit poetry run bandit -c pyproject.toml -r .
  • Execute Black poetry run black .
  • Execute MyPy poetry run mypy .
  • Execute Pylint poetry run pylint aegis_decrypt.py src/

Project Management

Since this repo is spread across several remotes, it may happen that there are some pull/merge request need to be handled locally.

  • Add the remote repository URL with a meaningful NAME: git remote add REMOTE-NAME REMOTE-URL
  • Create a local BRANCH name from the GitHub pull request ID: git fetch REMOTE-NAME pull/$ID/head:$BRANCHNAME

Contributors

About

A backup decryptor and OTP generator for the vault of the Aegis Authenticator Android app.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Python 100.0%