There are no reviews yet. Be the first to send feedback to the community and the maintainers!
passage ======= passage is a fork of password-store (https://www.passwordstore.org) that uses age (https://age-encryption.org) as a backend instead of GnuPG. Differences from pass --------------------- The password store is at $HOME/.passage/store by default. For decryption, the age identities at $HOME/.passage/identities are used with the -i age CLI option. For encryption, the nearest .age-recipients file (that is, the one in the same directory as the secret, or in the closest parent) is used with the -R age CLI option. If no .age-recipients files are found, the identities file is used with the -i option. Extensions are searched at $HOME/.passage/extensions. password-store extensions that wish to be compatible with passage can switch on the PASSAGE variable. The init command is not currently available, and moving or copying a secret always re-encrypts it. Example: simple set up ---------------------- In this setup, the key is simply saved on disk, which can be useful if the password store is synced to a location less trusted than the local disk. age-keygen >> $HOME/.passage/identities Example: set up with a password-protected key --------------------------------------------- This setup allows using the identity file password as the primary password to unlock the store. KEY="$(age-keygen)" echo "$KEY" | age -p -a >> $HOME/.passage/identities echo "$KEY" | age-keygen -y >> $HOME/.passage/store/.age-recipients Example: set up with age-plugin-yubikey --------------------------------------- This setup requires age v1.1.0, or rage (https://github.com/str4d/rage), and the PIV plugin age-plugin-yubikey (https://github.com/str4d/age-plugin-yubikey). It's recommended to add more YubiKeys and/or age keys to the .age-recipients file as recovery options, in case this YubiKey is lost. age-plugin-yubikey # run interactive setup age-plugin-yubikey --identity >> $HOME/.passage/identities age-plugin-yubikey --list >> $HOME/.passage/store/.age-recipients Integrating with fzf -------------------- The following script can be invoked with any (or no) passage flags, and spawns a fuzzy search dialog using fzf (https://github.com/junegunn/fzf) for selecting the secret. #! /usr/bin/env bash set -eou pipefail PREFIX="${PASSAGE_DIR:-$HOME/.passage/store}" FZF_DEFAULT_OPTS="" name="$(find "$PREFIX" -type f -name '*.age' | \ sed -e "s|$PREFIX/||" -e 's|\.age$||' | \ fzf --height 40% --reverse --no-multi)" passage "${@}" "$name" Migrating from pass ------------------- #! /usr/bin/env bash set -eou pipefail cd "${PASSWORD_STORE_DIR:-$HOME/.password-store}" while read -r -d "" passfile; do name="${passfile#./}"; name="${name%.gpg}" [[ -f "${PASSAGE_DIR:-$HOME/.passage/store}/$name.age" ]] && continue pass "$name" | passage insert -m "$name" || { passage rm "$name"; break; } done < <(find . -path '*/.git' -prune -o -iname '*.gpg' -print0) Environment variables --------------------- PASSAGE_DIR Password store location PASSAGE_IDENTITIES_FILE Identities file location PASSAGE_AGE age binary (tested with age and rage) PASSAGE_RECIPIENTS_FILE Override recipients for encryption operations Passed to age with -R PASSAGE_RECIPIENTS Override recipients for encryption operations Space separated, each passed to age with -r All other environment variables from password-store are respected, such as PASSWORD_STORE_CLIP_TIME and PASSWORD_STORE_GENERATED_LENGTH.
mkcert
A simple zero-config tool to make locally trusted development certificates with any names you'd like.age
A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.yubikey-agent
yubikey-agent is a seamless ssh-agent for YubiKeys.Heartbleed
A checker (site and tool) for CVE-2014-0160whoami.filippo.io
A ssh server that knows who you are. $ ssh whoami.filippo.iogvt
gvt was a minimal go vendoring tool, based on gb-vendor. Today, you want to use modules instead.homebrew-musl-cross
Homebrew Formula for static-friendly musl-based GCC macOS-to-Linux cross-compilerscaptive-browser
A dedicated Chrome instance to log into captive portals without messing with DNS settings.awesome-age
A collection of projects and resources in the age file encryption ecosystem.mostly-harmless
A bag of various unrelated projects with varying levels of serviceability and destructiveness.CVE-2016-2107
Simple test for the May 2016 OpenSSL padding oracle (CVE-2016-2107)vendorcheck
Check that all your Go dependencies are properly vendorededwards25519
filippo.io/edwards25519 β A safer, faster, and more powerful low-level edwards25519 Go implementation.mlkem768
A Go implementation of the quantum-resistant key encapsulation method ML-KEM (formerly known as Kyber).sunlight
A Certificate Transparency log implementation and monitoring API designed for scalability, ease of operation, and reduced cost.ed25519-dalek-rustgo
Wrapper for curve25519-dalek using rustgo, a technique to directly call Rust code from Go programs with near-zero overhead, meant to replace manually written assembly.tracetools
Tools to process Go trace logs into various profiles. Complement for "go tool trace".typage
A TypeScript implementation of the age file encryption format, based on libsodium.zcash-mini
A minimal portable Zcash z-address generator for offline / paper walletsBERserk
A Go implementation of the BERserk attack against Mozilla NSS ASN.1 parsing of PKCS#1 RSA signatures with e = 3. Complete of a certificate generation tool, works with CAs in the trust store.hstools
Library and tools to interact with and analyze Tor HSDirs.homebrew-gomod
A brew command to cleanly install binaries from Go modules.blockchainr
Exploiting ECDSA Failures in the Bitcoin Blockchainopenbsd-fde-crack
Some code to bruteforce OpenBSD softraid encrypted drives - NOT A READY-TO-USE TOOLintermediates
Package filippo.io/intermediates embeds a bundle of known unexpired, unrevoked intermediate certificates chaining to roots in the Mozilla Root Programtravis-cron
This web app allows you to trigger Travis CI builds periodicallygorebuild
Extract the import path of Go binaries and rebuild them. No more stale GOROOT.nistec
NIST P elliptic curves (re-exported from crypto/internal/nistec)otherport
LD_PRELOAD hack to redirect connections to other portspowersoftau
An independent implementation of the Powers of Tau MPC ceremony.HNTitles
Tweet probabilistically generated HN post titles.go-cpace-ristretto255
An EXPERIMENTAL Go implementation of the CPace PAKE, instantiated with the ristretto255 group.alum
A forwarding mail server inspired by @alum.mit.eduxaes256gcm
Package xaes256gcm implements the XAES-256-GCM extended-nonce AEAD.FiloSottile
keygen
Deterministic key generation for Go.axel
Axel Download Accelerator [git mirror]b2
Efficient, idiomatic Go library for Backblaze B2 Cloud Storage.bigmod
A constant-time library for big integers modulo a prime, usable for cryptographic applications. Exported from crypto/internal/bigmod, the backend of crypto/rsa and crypto/ecdsa.crypto.py
A collection of pure Python crypto implementations. All modules are standalone. Available in Python 2 and Python 3 flavors!litetlog
A collection of liteweight transparency logging tools, compatible with the Sigsum and Omniwitness ecosystems.Pendolo-OpenCV
Griffith
Media collection manager [MIRROR]blog.filippo.io
blog.filippo.io theme. Slightly tweaked 0.9.4 Casper. Pretty please, don't just clone it <3homebrew-lite
Modified homebrew-core formula with fewer dependencies.torspec
Forked from git.torproject.org/torspec.git.github
hs-api-playground
Playground for the Hacker School APIWPA-hazard
Deep into the default WPA generation algorithmshomebrew-age
filosottile.github.io
An empty repository for redirecting filosottile.github.io to filippo.io (https://github.com/FiloSottile/filippo.io).crypto-tls-bogo-shim
A shim to test Go crypto/tls with the BoringSSL test suite. Which is based on crypto/tls. So meta.Love Open Source and this site? Check out how you can help us