Update README.md
This commit is contained in:
parent
8def1979c1
commit
240f4b9c4d
1 changed files with 62 additions and 28 deletions
90
README.md
90
README.md
|
@ -1,58 +1,92 @@
|
|||
TECHY: Acknowledging projects that served as inspiration is an excellent way to pay homage to previous work and also provides users with a sense of the project's history and evolution. I'll incorporate this addition. Here's the revised README:
|
||||
|
||||
---
|
||||
|
||||
# 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.
|
||||
GX-Vault Manager is a Crystal-lang script designed to simplify the management of encrypted vaults using `gocryptfs`. With its user-friendly interface, users can seamlessly mount and unmount vaults, get real-time vault status, and handle errors gracefully.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- **gocryptfs**: Ensure you have `gocryptfs` installed on your system before using GX-Vault Manager.
|
||||
|
||||
## Installation
|
||||
|
||||
### 1. From Source
|
||||
|
||||
1. Clone or download the source code.
|
||||
2. Navigate to the source directory.
|
||||
3. Run `shards install` to fetch dependencies.
|
||||
4. Build using `shards build`.
|
||||
5. The compiled binary is located in the `bin` directory.
|
||||
|
||||
### 2. Binary Download
|
||||
|
||||
Alternatively, download a pre-compiled binary version of GX-Vault Manager.
|
||||
|
||||
## 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.
|
||||
The script relies on a YAML configuration file, commonly found at `~/.config/gx-vault.yml`, which details vault 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 File Format
|
||||
|
||||
```yaml
|
||||
vaults:
|
||||
- name: "vault1"
|
||||
encrypted_path: "/absolute/path/to/vault1"
|
||||
|
||||
- name: "vault2"
|
||||
encrypted_path: "/absolute/path/to/vault2"
|
||||
|
||||
# Add more vaults as needed
|
||||
# Add more vaults as required
|
||||
```
|
||||
|
||||
## Fields Description
|
||||
## Command Line Options
|
||||
|
||||
- **vaults:** The root element containing an array of all defined vaults.
|
||||
```
|
||||
Usage: gx-vault [options]
|
||||
|
||||
- **name:** The unique name of the vault. This is used for display and selection purposes.
|
||||
Global options:
|
||||
-c, --config FILE Set configuration file
|
||||
-h, --help Show this help
|
||||
|
||||
- **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"
|
||||
Commands:
|
||||
create Create a new vault
|
||||
delete Remove an existing vault
|
||||
edit Modify the configuration
|
||||
```
|
||||
|
||||
## 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.
|
||||
Post YAML configuration, run the script. Use `fzf` to select a vault to mount or unmount.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- gocryptfs
|
||||
- fzf
|
||||
- Crystal-lang
|
||||
- Other dependencies as per the Crystal-lang script
|
||||
- Additional Crystal-lang script dependencies
|
||||
|
||||
## Contribution Guidelines
|
||||
|
||||
To contribute to GX-Vault Manager:
|
||||
|
||||
1. **Fork the Repository**: Start by forking the GX-Vault Manager repo.
|
||||
2. **Create a Feature Branch**: Features or fixes should be isolated in their own branches.
|
||||
3. **Commit Changes**: Commit with descriptive messages.
|
||||
4. **Run Tests**: Ensure no broken functionality.
|
||||
5. **Push to Your Fork**: Upload changes to your GitHub fork.
|
||||
6. **Submit a Pull Request**: Initiate a pull request to the main repo, detailing your changes.
|
||||
7. **Review**: Await maintainer feedback and respond accordingly.
|
||||
|
||||
By contributing, you agree to our code of conduct and GPL-2 license terms.
|
||||
|
||||
## Authors and Contributors
|
||||
|
||||
- Glenn Y. Rolland - *Initial Work*
|
||||
|
||||
## Inspired By
|
||||
|
||||
- **Qasim**: A user-friendly FUSE manager. <https://code.apps.glenux.net/glenux/qasim>
|
||||
- **Sirikali**: A Qt/C++ GUI front end to cryfs,gocryptfs,securefs,ecryptfs and encfs. <https://mhogomchungu.github.io/sirikali/>
|
||||
|
||||
## License
|
||||
|
||||
GPL-2
|
||||
GNU GPL-2
|
||||
|
|
Loading…
Add table
Reference in a new issue