A small, portable file system with encryption capabilities.
- Vault Opening : Open an existing vault to access its contents.
- Vault Closing : Close a directory and save its contents to a single file.
- Vault Encryption : Encrypt and decrypt the vault with a password.
- Vault Compression: Compress and decompress files stored in a vault.
You can also simply install a pre-built version here.
You first need to clone the repository with git.
git clone https://github.com/Horizon-NTH/Vault.gitEnsure you have CMake and Conan are installed.
Generate the build environment using CMake, Conan will automatically install all the
dependencies needed so you can build the application.
You can also enable the tests by setting the
ENABLE_TESTSoption toON.
mkdir build && cd build
cmake .. [-DENABLE_TESTS=ON]
make You can also install the application on your system using the following command:
sudo make installYou can now run the application with the following command:
vault <command> [options]Tip
If you have installed the app, you will have auto-completion for both Zsh and Bash.
To have a list of all available commands, you can use the --help option.
vault [help | --help | -h]You can also check the manual page for more information.
man vaultTo close a vault and save its contents to a single file, you can use the close command.
You can also specify the path where the vault will be saved and the extension of the file.
If you want to encrypt the vault, you can use the -E | --encrypt option.
vault close <vault_name> [-E | --encrypt] [--destination <path>] [--extension <ext>]Note
If you choose to encrypt the vault, you will be prompted to enter a password.
To open an existing vault file, you can use the open command. You can also specify the path where the vault will be
opened.
vault open <vault_name> [--destination <path>]Note
If the vault is encrypted, you will be prompted to enter the password.
- Botan is used for encryption and password derivation.
- GoogleTest (gtest) is used for testing.
- CLI11 is used for command-line argument parsing.
- PugiXML is used for XML parsing.
- ZLib is used for compression and decompression.
This project is licensed under the MIT License - see the LICENSE file for details.