From 1b55b7345f207d2f2acda0fb8189704eba9f845e Mon Sep 17 00:00:00 2001 From: core Date: Thu, 27 Nov 2025 20:39:02 -0500 Subject: [PATCH] rel: v0.1.1 --- Cargo.lock | 2 +- Cargo.toml | 2 +- README.txt | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 README.txt diff --git a/Cargo.lock b/Cargo.lock index 9912093edd540280bc6365f2fb78abfe0145bb3d..20d7f400b2ccbb7b0df2646e100c38e3a8fc001e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1028,7 +1028,7 @@ dependencies = [ [[package]] name = "sage" -version = "0.1.0" +version = "0.1.1" dependencies = [ "age", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 74af25563ad1a0e7015b925cf92f244b0150d8e8..e9fde1cbb89fd18e6a2904bf32fb4aeb3561a286 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sage" -version = "0.1.0" +version = "0.1.1" edition = "2024" license = "AGPL-3.0-only" description = "A simple wrapper for `age` to add a named identity system." diff --git a/README.txt b/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..43c2234d5d80d6e4f6177437e9ced4ddf0367329 --- /dev/null +++ b/README.txt @@ -0,0 +1,75 @@ +sage - simple age wrapper for named identities + +USAGE: + sage [OPTIONS] [SUBCOMMAND] + sage [--encrypt] (-r RECIPIENT | -R PATH)... [--armor] [-o OUTPUT] [INPUT] + sage [--encrypt] --passphrase [--armor] [-o OUTPUT] [INPUT] + sage --decrypt [-i PATH]... [-o OUTPUT] [INPUT] + +OPTIONS: + -h, --help Prints help information + -D, --database Set the database file (default {CONFIGFILE}) + + -v, --verbose Enable debug logging + -e, --encrypt Encrypt the input to the output. Default if omitted. + -d, --decrypt Decrypt the input to the output. + -o, --output OUTPUT Write the result to the file at path OUTPUT. + -a, --armor Encrypt to a PEM encoded format. + -p, --passphrase Encrypt with a passphrase. + -r, --recipient RECIPIENT Encrypt to the specified RECIPIENT. Can be repeated. + -R, --recipients-file PATH Encrypt to the recipients listed at PATH. Can be repeated. + -i, --identity IDENTITY Use the specified identity. Can be repeated. + +INPUT defaults to standard input, and OUTPUT defaults to standard output. +If OUTPUT exists, it will be overwritten. + +RECIPIENT can be an age public key generate by age-keygen (\"age1...\") +an SSH public key (\"ssh-ed25519 AAAA...\", \"ssh-rsa AAAA...\"), OR +a fuzzy search term to use the database to locate a key. + +Recipient files contain one or more recipients, one per line. Empty lines +and lines starting with \"#\" are ignored as comments. \"-\" may be uised to +read recipients from standard input. + +An IDENTITY may either be a fuzzy search term to search the database, or +an identity file. + +Identity files contain one or more secret keys (\"AGE-SECRET-KEY-1...\"), +one per line, or an SSH key. Empty lines and lines starting with \"#\" are +ignored as comments. Passphrase encrypted age files can be used as +identity files. Multiple key files can be provided, and any unused ones +will be ignored. \"-\" may be used to read identities from standard input. + +When --encrypt is specified explicitly, -i can also be used to encrypt to an +identity file symmetrically, instead or in addition to normal recipients. + +If an identity is omitted and only one local identity exists in the database, +it will be chosen automatically. + +SUBCOMMANDS: + +create-id + Create a new local identity in the database. + Name for the new identity + Email of the new identity + +ls [OPTIONS] + List keys in the database + OPTIONS: + + -l, --local Show only local (your) keys + -p, --peer Show only peer (other's) keys + -f, --full List full public keys instead of key IDs + +show [OPTIONS] + Search the database (fuzzy) and show a specific key + + OPTIONS: + -e, --expose-secret Output the secret key, if it is a local key + +import [OPTIONS] + Imports the provided key into the database. + If the keyid already exists, it will do nothing. + + OPTIONS: + -i, --insert-anyway Insert even if a matching identity is already present \ No newline at end of file