_attic | ||
src | ||
.gitignore | ||
Makefile | ||
README.md | ||
shard.lock | ||
shard.yml |
GX-Vault Manager
GX-Vault Manager is a Crystal-lang script that helps in managing encrypted vaults using gocryptfs
. The script offers a user-friendly interface for mounting and unmounting vaults, providing real-time status and handling errors gracefully.
Configuration
The script uses a YAML configuration file, typically stored at ~/.config/gx-vault.yml
. This file contains details about the vaults, including their names and paths.
YAML File Format
The configuration file consists of an array of vaults, with each vault having a name and an encrypted path. Below is the structure of the YAML file:
vaults:
- name: "vault1"
encrypted_path: "/absolute/path/to/vault1"
- name: "vault2"
encrypted_path: "/absolute/path/to/vault2"
# Add more vaults as needed
Fields Description
-
vaults: The root element containing an array of all defined vaults.
-
name: The unique name of the vault. This is used for display and selection purposes.
-
encrypted_path: The absolute path to the directory where the encrypted data is stored. This path is used by
gocryptfs
for mounting the vault.
Example
Here is a sample configuration with two vaults named "Personal" and "Work":
vaults:
- name: "Personal"
encrypted_path: "/home/user/encrypted/personal"
- name: "Work"
encrypted_path: "/home/user/encrypted/work"
Usage
Once the YAML configuration file is set up, run the script. It will read the configuration, and you can select a vault to mount or unmount using the fzf
interactive selector. The status of each vault (whether it's open or closed) is displayed next to the vault's name.
Dependencies
- gocryptfs
- fzf
- Crystal-lang
- Other dependencies as per the Crystal-lang script
License
GPL-2