Skip to content

A small, portable file system with encryption capabilities.

License

Notifications You must be signed in to change notification settings

Horizon-NTH/Vault

Repository files navigation

Vault

Release Language Licence

Introduction

A small, portable file system with encryption capabilities.

Features

  • 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.

Installation

You can also simply install a pre-built version here.

Get Source Code

You first need to clone the repository with git.

git clone https://github.com/Horizon-NTH/Vault.git

Build

Ensure 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_TESTS option to ON.

mkdir build && cd build
cmake .. [-DENABLE_TESTS=ON]
make 

Install

You can also install the application on your system using the following command:

sudo make install

Execute

You can now run the application with the following command:

vault <command> [options]

Usage

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 vault

Close a Vault

To 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.

Open a Vault

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.

Dependencies

  • 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.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A small, portable file system with encryption capabilities.

Resources

License

Stars

Watchers

Forks

Packages

No packages published