All Projects → robinmoisson → Staticrypt

robinmoisson / Staticrypt

Licence: mit
Password protect a static HTML page

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to Staticrypt

Age
A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
Stars: ✭ 9,409 (+312.68%)
Mutual labels:  cli, encryption
Passage
A password manager using https://age-encryption.org/
Stars: ✭ 48 (-97.89%)
Mutual labels:  encryption, password
Rage
A simple, secure and modern encryption tool (and Rust library) with small explicit keys, no config options, and UNIX-style composability.
Stars: ✭ 826 (-63.77%)
Mutual labels:  cli, encryption
Upash
🔒Unified API for password hashing algorithms
Stars: ✭ 484 (-78.77%)
Mutual labels:  cli, password
Gitpass
Open Source Your Password (Mismanagement)!
Stars: ✭ 113 (-95.04%)
Mutual labels:  encryption, password
Swifty
🔑 Free Offline Password Manager
Stars: ✭ 496 (-78.25%)
Mutual labels:  encryption, password
Node Argon2
Node.js bindings for Argon2 hashing algorithm
Stars: ✭ 1,008 (-55.79%)
Mutual labels:  encryption, password
Purse
GPG asymmetric (YubiKey) password manager
Stars: ✭ 313 (-86.27%)
Mutual labels:  encryption, password
Py7zr
7zip in python3 with ZStandard, PPMd, LZMA2, LZMA1, Delta, BCJ, BZip2, and Deflate compressions, and AES encryption.
Stars: ✭ 110 (-95.18%)
Mutual labels:  cli, encryption
Pwd.sh
GPG symmetric password manager
Stars: ✭ 1,468 (-35.61%)
Mutual labels:  encryption, password
Wireguard Manager
Self-hosted Wireguard Installer / Manager for CentOS, Debian, Ubuntu, Arch, Fedora, Redhat, Raspbian
Stars: ✭ 478 (-79.04%)
Mutual labels:  cli, encryption
Passw0rd
🔑securely checks a password to see if it has been previously exposed in a data breach
Stars: ✭ 159 (-93.03%)
Mutual labels:  cli, password
Pick
A secure and easy-to-use CLI password manager for macOS and Linux
Stars: ✭ 359 (-84.25%)
Mutual labels:  cli, password
Ffsend
📬 Easily and securely share files from the command line. A fully featured Firefox Send client.
Stars: ✭ 5,448 (+138.95%)
Mutual labels:  cli, encryption
Buttercup Core
🎩 The mighty NodeJS password vault
Stars: ✭ 340 (-85.09%)
Mutual labels:  encryption, password
Featherpasswordmanager
Highly portable extremely light-weight password manager that stores all your passwords in a local encrypted file.
Stars: ✭ 39 (-98.29%)
Mutual labels:  encryption, password
OormiPass
Free open source cross platform password manager
Stars: ✭ 50 (-97.81%)
Mutual labels:  encryption, password
Wormhole William
End-to-end encrypted file transfer. A magic wormhole CLI and API in Go (golang).
Stars: ✭ 256 (-88.77%)
Mutual labels:  cli, encryption
Mongoaudit
🔥 A powerful MongoDB auditing and pentesting tool 🔥
Stars: ✭ 1,174 (-48.51%)
Mutual labels:  cli, encryption
Chest
Bash glue to encrypt and hide files
Stars: ✭ 123 (-94.61%)
Mutual labels:  cli, encryption

StatiCrypt

Based on the crypto-js library, StatiCrypt uses AES-256 to encrypt your string with your passphrase in your browser (client side).

Download your encrypted string in a HTML page with a password prompt you can upload anywhere (see example).

You can encrypt a file online at https://robinmoisson.github.io/staticrypt.

HOW IT WORKS

Disclaimer if you have extra sensitive banking data you should probably use something else!

StatiCrypt generates a static, password protected page that can be decrypted in-browser: just send or upload the generated page to a place serving static content (github pages, for example) and you're done: the javascript will prompt users for password, decrypt the page and load your HTML.

It basically encrypts your page and puts everything with a user-friendly way to use a password in the new file.

AES-256 is state of the art but brute-force/dictionary attacks would be trivial to do at a really fast pace: use a long, unusual passphrase.

The concept is simple but I am not a cryptographer, feel free to contribute or report any thought to the GitHub project! (Though be warned it might take me a long time to get to it - I apologize in advance)

Similar project: MaxLaumeister/clientside-html-password

CLI

Staticrypt is available through npm as a CLI, install with npm install -g staticrypt and use as follow:

Usage: staticrypt <filename> <passphrase> [options]

Options:
  --help               Show help                                       [boolean]
  --version            Show version number                             [boolean]
  -e, --embed          Whether or not to embed crypto-js in the page (or use an
                       external CDN)                   [boolean] [default: true]
  -o, --output         File name / path for generated encrypted file
                                                        [string] [default: null]
  -t, --title          Title for output HTML page
                                            [string] [default: "Protected Page"]
  -i, --instructions   Special instructions to display to the user.
                                                        [string] [default: null]
  -f, --file-template  Path to custom HTML template with password prompt.
                          [string] [default: "[...]/cli/password_template.html"]

Example usages:

  • staticrypt test.html mysecretpassword -> creates a test_encrypted.html file
  • find . -type f -name "*.html" -exec staticrypt {} mypassword \; -> create encrypted files for all HTML files in your directory

You can use a custom template for the password prompt - just copy cli/password_template.html and modify it to suit your presentation style and point to your template file with the -f flag. Be careful to not break the encrypting javascript part, the variables replaced by staticrypt are between curly brackets: {instructions}.

ADBLOCKERS: If you do not embed crypto-js and serve it from a CDN, some adblockers see the crypto-js.min.js, think that's a crypto miner and block it.

Thanks Aaron Coplan for bringing the CLI to life!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].