page ====== password manager using age (https://age-encryption.org/) for encryption. encrypted secrets are files in the $PAGE_SECRETS/ directory that are encrypted using the $PAGE_RECIPIENTS age public key. when opening/editing an encrypted secret the file is decrypted usingj $PAGE_PRIVKEY to a temporary file which is then opened in $EDITOR. after closing the temporary file the secret in $PAGE_SECRETS/ is replaced with the updated encrypted secret. since secrets are just plaintext files you can store whatever you want in them: passwords, notes, etc. when using the 'open' subcommand an entry's content is copied to the clipboard excluding any lines that start with a '#'. building ---------- to build run make: $ make $ make install to install do a different prefix: $ make PREFIX=$SOME_PREFIX install usage ------- usage: page <command> [args] where <command> can be any of: * help show help message * ls list password entries * open copy a password entry to the clipboard * edit create/edit an entry using $EDITOR * rm remove password entry see 'page <command> -h' to read the help message for a specific subcommand. environment ------------- page's functionality can be configured via environment variables. the following table lists environment variables and their defaults. env | default ------------------|---------------------------------- $PAGE_PRIVKEY | $XDG_CONFIG_HOME/page/privkey $PAGE_RECIPIENTS | $XDG_CONFIG_HOME/page/recipients $PAGE_SECRETS | $XDG_DATA_HOME/page/secrets/ $PAGE_PRIVKEY holds a path to an age(1) private key. $PAGE_RECIPIENTS contains the path to the associated age(1) public key. $PAGE_SECRETS should point to a directory containing encrypted entries. key setup ----------- in order to start using page you must first generate an age keypair. install age and use the age-keygen command: $ age-keygen -o $PAGE_PRIVKEY Public key: age1[...] copy the public key into the $PAGE_RECIPIENTS file. it is also recommended to lock down the permissions of these files: $ chmod 0600 $PAGE_PRIVKEY $ chmod 0644 $PAGE_RECIPIENTS scripting ----------- the contrib/ directory contains some scripts for working with page. feel free to open a PR if you have a script using page that you'd like to share. inspiration ------------- this project is inspired by: * https://github.com/somasis/passage * https://github.com/dylanaraps/pash * https://github.com/e-zk/cpass (predecessor)
password manager using age for encryption
Similar Resources
A convenience library for generating, comparing and inspecting password hashes using the scrypt KDF in Go 🔑
simple-scrypt simple-scrypt provides a convenience wrapper around Go's existing scrypt package that makes it easier to securely derive strong keys ("h
Custom GPG pinentry program for macOS that allows using Touch ID for fetching the password from the macOS keychain.
pinentry-touchid Custom GPG pinentry program for macOS that allows using Touch ID for fetching the password from the macOS keychain. Macbook Pro devic
A tool for secrets management, encryption as a service, and privileged access management
Vault Please note: We take Vault's security and our users' trust very seriously. If you believe you have found a security issue in Vault, please respo
A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
age age is a simple, modern and secure file encryption tool, format, and library. It features small explicit keys, no config options, and UNIX-style c
XXTEA is a fast and secure encryption algorithm.
XXTEA Golang Introduction xxtea is a fast and secure encryption algorithm. This project is the Golang implementation of the xxtea encryption algorithm
A light package for generating and comparing password hashing with argon2 in Go
argon2-hashing argon2-hashing provides a light wrapper around Go's argon2 package. Argon2 was the winner of the Password Hashing Competition that make
Argon2 password hashing package for go with constant time hash comparison
argon2pw Argon2 password hashing package with constant time hash comparison Preface: Argon2 was selected as the winner of the Password Hashing Competi
Password generator written in Go
go-generate-password Password generator written in Go. Use as a library or as a CLI. Usage CLI go-generate-password can be used on the cli, just insta
Validate the Strength of a Password in Go
go-password-validator Simple password validator using raw entropy values. Hit the project with a star if you find it useful ⭐ Supported by Qvault This
Comments
-
Does not report if key files are missing
If the recipient or identity files are missing,
page edit
just segmentation faults.To fix this we need to explicitly check the existence of the recipient and identity files.
Related tags
Database security suite. Database proxy with field-level encryption, search through encrypted data, SQL injections prevention, intrusion detection, honeypots. Supports client-side and proxy-side ("transparent") encryption. SQL, NoSQL.
Database protection suite with field level encryption and intrusion detection. | Acra Engineering Examples | Documentation | Installation | Examples a
Not Yet Another Password Manager written in Go using libsodium
secrets Secure and simple passwords manager written in Go. It aims to be NYAPM (Not Yet Another Password Manager), but tries to be different from othe
Encrypt embedded go files using age.
encembed Encrypt embedded resource in compiled binary using age. Meant for usage with go generate. This tool will generate a go source file that embed
A Go Module to interact with Passbolt, a Open source Password Manager for Teams
go-passbolt A Go Module to interact with Passbolt, a Open source Password Manager for Teams This Module tries to Support the Latest Passbolt Community
Password manager written in golang
Go password manager Password manager written in golang. Dependencies: gpg golang
Simple password manager app in GO
Introduction This is my first project in Go, a password manager application. A humble attempt at execution of an idea I've had for some time now. The
Convert SSH Ed25519 keys to age keys. This is useful for usage in sops-nix and sops
ssh-to-age Convert SSH Ed25519 keys to age keys. This is useful for usage in sops-nix and sops Usage Exports the private key: $ ssh-to-age -private-ke
Search for vulnerabilities and exposures while filtering based on age, keywords, and other parameters.
FAV/E FAV/E (Find A Vulnerability/Exposure) utilizes the NIST CVE database search API to search for vulnerabilities and exposures while filtering base
An easy-to-use XChaCha20-encryption wrapper for io.ReadWriteCloser (even lossy UDP) using ECDH key exchange algorithm, ED25519 signatures and Blake3+Poly1305 checksums/message-authentication for Go (golang). Also a multiplexer.
Quick start Prepare keys (on both sides): [ -f ~/.ssh/id_ed25519 ] && [ -f ~/.ssh/id_ed25519.pub ] || ssh-keygen -t ed25519 scp ~/.ssh/id_ed25519.pub
A probably paranoid Golang utility library for securely hashing and encrypting passwords based on the Dropbox method. This implementation uses Blake2b, Scrypt and XSalsa20-Poly1305 (via NaCl SecretBox) to create secure password hashes that are also encrypted using a master passphrase.
goSecretBoxPassword This is a Golang library for securing passwords it is based on the Dropbox method for password storage. The both passphrases are f