forked from glenux/mfm
59 lines
1.8 KiB
Markdown
59 lines
1.8 KiB
Markdown
|
# 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:
|
||
|
|
||
|
```yaml
|
||
|
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":
|
||
|
|
||
|
```yaml
|
||
|
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
|