diff --git a/rage/build.rs b/rage/build.rs index a74b32fe..494d9e3f 100644 --- a/rage/build.rs +++ b/rage/build.rs @@ -389,7 +389,18 @@ impl Cli { out_dir, "rage-mount", "rage-keygen(1), rage(1)", - self.rage_mount.about(fl!("man-mount-about")), + self.rage_mount + .about(fl!("man-mount-about")) + .long_about(fl!("man-mount-description")) + .mut_arg("types", |a| { + a.long_help(fl!( + "man-mount-flag-types", + types = crate::rage_mount::TYPES, + )) + }) + .mut_arg("identity", |a| { + a.long_help(fl!("man-rage-flag-identity-decrypt")) + }), |_, w| { Examples([ Example::new(fl!("man-mount-example-identity")) diff --git a/rage/i18n/en-US/rage.ftl b/rage/i18n/en-US/rage.ftl index 008bd6a4..308cf347 100644 --- a/rage/i18n/en-US/rage.ftl +++ b/rage/i18n/en-US/rage.ftl @@ -19,6 +19,8 @@ -identity-prefix = AGE-SECRET-KEY-1 -armor-pem-type = AGE ENCRYPTED FILE +-rage-mount = rage-mount + -ssh-rsa = ssh-rsa -ssh-ed25519 = ssh-ed25519 -ssh-authorized-keys = authorized_keys @@ -480,7 +482,28 @@ man-keygen-example-convert = Convert an identity to a recipient ## rage-mount manpage -man-mount-about = Mount an age-encrypted filesystem +man-mount-about = Mount an {-age} encrypted filesystem + +man-mount-description = + {-rage-mount} decrypts the {-age} encrypted filesystem at {mnt-filename} on the + fly, and mounts it as a directory on the local filesystem at {mnt-mountpoint}. + + Passphrase-encrypted files are detected automatically and the passphrase is + requested interactively. Otherwise, one or more {identities} specified with + {-flag-identity} are used to decrypt the file. + + The previous contents (if any) and owner and mode of {mnt-mountpoint} become + invisible, and as long as this filesystem remains mounted, the pathname + {mnt-mountpoint} refers to the root of the filesystem on {mnt-filename}. + +man-mount-flag-types = + Set the filesystem type. The following types are currently supported: {$types}. + + This option is required. {-rage-mount} does not attempt to guess the filesystem + format. + + In theory, any efficiently-seekable filesystem format can be supported. At + present, {-rage-mount} only supports seekable archive formats. man-mount-example-identity = Mounting an archive encrypted to a recipient man-mount-example-passphrase = Mounting an archive encrypted with a passphrase diff --git a/rage/i18n/es-AR/rage.ftl b/rage/i18n/es-AR/rage.ftl index 1b73a2eb..bdd27f72 100644 --- a/rage/i18n/es-AR/rage.ftl +++ b/rage/i18n/es-AR/rage.ftl @@ -19,6 +19,8 @@ -identity-prefix = AGE-SECRET-KEY-1 -armor-pem-type = AGE ENCRYPTED FILE +-rage-mount = rage-mount + -ssh-rsa = ssh-rsa -ssh-ed25519 = ssh-ed25519 -ssh-authorized-keys = authorized_keys diff --git a/rage/i18n/it/rage.ftl b/rage/i18n/it/rage.ftl index b216bc16..8f43adbd 100644 --- a/rage/i18n/it/rage.ftl +++ b/rage/i18n/it/rage.ftl @@ -19,6 +19,8 @@ -identity-prefix = AGE-SECRET-KEY-1 -armor-pem-type = AGE ENCRYPTED FILE +-rage-mount = rage-mount + -ssh-rsa = ssh-rsa -ssh-ed25519 = ssh-ed25519 -ssh-authorized-keys = authorized_keys diff --git a/rage/i18n/zh-CN/rage.ftl b/rage/i18n/zh-CN/rage.ftl index 0b5a6cb2..c65550d9 100644 --- a/rage/i18n/zh-CN/rage.ftl +++ b/rage/i18n/zh-CN/rage.ftl @@ -19,6 +19,8 @@ -identity-prefix = AGE-SECRET-KEY-1 -armor-pem-type = AGE ENCRYPTED FILE +-rage-mount = rage-mount + -ssh-rsa = ssh-rsa -ssh-ed25519 = ssh-ed25519 -ssh-authorized-keys = authorized_keys diff --git a/rage/i18n/zh-TW/rage.ftl b/rage/i18n/zh-TW/rage.ftl index 46be7619..7ca24f40 100644 --- a/rage/i18n/zh-TW/rage.ftl +++ b/rage/i18n/zh-TW/rage.ftl @@ -19,6 +19,8 @@ -identity-prefix = AGE-SECRET-KEY-1 -armor-pem-type = AGE ENCRYPTED FILE +-rage-mount = rage-mount + -ssh-rsa = ssh-rsa -ssh-ed25519 = ssh-ed25519 -ssh-authorized-keys = authorized_keys diff --git a/rage/src/bin/rage-mount/cli.rs b/rage/src/bin/rage-mount/cli.rs index 5da4e86d..0cb65dba 100644 --- a/rage/src/bin/rage-mount/cli.rs +++ b/rage/src/bin/rage-mount/cli.rs @@ -2,6 +2,8 @@ use clap::{builder::Styles, ArgAction, Parser}; use crate::fl; +pub(crate) const TYPES: &str = "\"tar\", \"zip\""; + #[derive(Debug, Parser)] #[command(display_name = "rage-mount")] #[command(name = "rage-mount")] @@ -39,7 +41,7 @@ pub(crate) struct AgeMountOptions { #[arg(short, long)] #[arg(value_name = fl!("mnt-types"))] - #[arg(help = fl!("help-arg-mnt-types", types = "\"tar\", \"zip\""))] + #[arg(help = fl!("help-arg-mnt-types", types = TYPES))] pub(crate) types: String, #[arg(long, value_name = "WF")]