August 26th, 2024

Show HN: Ward – a file vault written in bash

The "ward" project on GitHub offers bash scripts for securely managing sensitive files, utilizing GPG for encryption, integrity checks, and TOTP generation, requiring specific installations and manual vault cleanup.

Read original articleLink Icon
Show HN: Ward – a file vault written in bash

The GitHub repository for the project called "ward" provides a set of bash scripts aimed at securely managing and encrypting sensitive files. Its primary purpose is to serve as a personal vault for secret files, utilizing GPG for encryption and offering integrity checks to ensure files have not been tampered with. Additionally, it can generate Time-based One-Time Passwords (TOTP) for account recovery. To use the tool, users must have `gpg`, `oath-toolkit`, and `bc` installed. The setup process involves installing these essentials, cloning the repository, and decrypting an example vault using a default password. Users can create a directory for their vault, encrypt files, decrypt them, verify checksums, and generate TOTP codes through simple commands. It is important to note that the vault folder does not automatically delete after encryption, requiring manual cleanup. The project is licensed under the MIT License, making it accessible for those looking to manage sensitive information securely while using version control systems like Git.

- "ward" is a bash script tool for encrypting and managing sensitive files.

- It uses GPG for encryption and includes integrity checks.

- Users can generate TOTP codes for account recovery.

- The tool requires installation of specific packages and manual cleanup of the vault folder.

- It is licensed under the MIT License, promoting open-source use.

Link Icon 6 comments
By @zufallsheld - 5 months
By @Octabrain - 5 months
Thanks for creating this. However, I was a bit puzzled when I found a packages.json and then saw that all the heavy lifting is done from bash. I don't understand the need for having to install Yarn for just running a bunch of bash scripts. IMHO, after seeing the size and the amount of logic within the scripts, I think you could have made it more ergonomic by just building a bash script that takes parameters and that's it.
By @latexr - 5 months
This all lowercase trend is getting out of hand. What are people even doing? Do you write everything normally then use a script to lowercase every letter? Uppercase letters have a purpose, they provide clarity. Please respect your readers.

Like it or not, presentation sends a signal. Why would someone trust a security project where the author hasn’t even bothered to write instructions properly or make legible commit messages?

By @janreges - 5 months
Thank you for this simple but useful tool! It works. I will be happy to use it e.g. with USB sticks, where I sometimes transfer sensitive data and so far I have only used dm-crypt.

Btw, if somebody's Ubuntu/Debian doesn't want to find "oath-toolkit", install "oathtool".

By @UI_at_80x24 - 5 months
Have you looked into pass? https://www.passwordstore.org/

I think it's a bit more elegant and keeps it 100% "bash" without needing the JavaScript.

By @mesrine - 5 months
Why do I need yarn (package manager for JavaScript) for invoking bash scripts?