https://github.com/ndavd/agevault
Directory encryption tool using age file encryption
https://github.com/ndavd/agevault
age-encryption encryption
Last synced: about 1 year ago
JSON representation
Directory encryption tool using age file encryption
- Host: GitHub
- URL: https://github.com/ndavd/agevault
- Owner: ndavd
- License: mit
- Created: 2024-08-28T18:24:34.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-16T19:03:05.000Z (over 1 year ago)
- Last Synced: 2025-04-17T04:09:21.427Z (over 1 year ago)
- Topics: age-encryption, encryption
- Language: Go
- Homepage:
- Size: 21.5 KB
- Stars: 33
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - ndavd/agevault
README
# agevault
`agevault` is a directory encryption tool using
[age](https://github.com/FiloSottile/age) file encryption.
It locks/unlocks a vault (directory) with a passphrase-protected identity file.
Like age, it features no config options, allowing for a straightforward secure
flow.
## Disclaimer
**Use it at your own risk!** (see
[LICENSE](https://github.com/ndavd/agevault/blob/main/LICENSE))
Also, this is a project in early-development and hasn't been thoroughly tested.
So far, I've tested it on Linux.
## Installation
Always install the latest release to make sure you have the latest security
improvements and fixes. If the update has the same major version (e.g.
`v1.x.x`), then it's guaranteed to be backwards compatible.
Download the pre-built binaries from the
[latest release](https://github.com/ndavd/agevault/releases/latest).
Or using `go`:
```
$ go install github.com/ndavd/agevault@latest
```
Or using `docker`:
```
$ docker build -t agevault .
$ docker run --rm -it -u ${UID}:${GID} -v .:/tmp agevault
```
## Usage
```
lock/unlock directory with passphrase-protected identity file
usage: agevault [directory-name] lock|unlock|keygen
```
Securing `my-vault/`:
1. Generate identity file
```
$ agevault my-vault keygen
create identity passphrase:
confirm identity passphrase:
.age14tpkpl6vexufah8eq5dgrd5zy4xqs4slynh26j5n7gvxs87xhguqwu9zqc.my-vault.key.age CREATED (do not change the filename)
```
2. Lock vault
```
$ agevault my-vault lock
my-vault LOCKED with age14tpkpl6vexufah8eq5dgrd5zy4xqs4slynh26j5n7gvxs87xhguqwu9zqc
```
3. Unlock vault
```
$ agevault my-vault unlock
enter passphrase for identity file ".age14tpkpl6vexufah8eq5dgrd5zy4xqs4slynh26j5n7gvxs87xhguqwu9zqc.my-vault.key.age":
my-vault UNLOCKED
```
4. That's it. Do your changes, lock it again, etc.