blob: 7026969aae7cfdc545b57feb67eacf29ab63a3b9 (
plain) (
tree)
|
|
#!/bin/sh
set -eu
usage() {
cat <<-'EOF'
Usage:
security-txt
security-txt -h
EOF
}
help() {
cat <<-'EOF'
Options:
-h, --help show this message
Generate the RFC 9116 "security.txt" file from data in the
repository.
Examples:
Just run it:
$ security-txt > .well-known/security.txt
EOF
}
for flag in "$@"; do
case "$flag" in
--)
break
;;
--help)
usage
help
exit
;;
*)
;;
esac
done
while getopts 'h' flag; do
case "$flag" in
h)
usage
help
exit
;;
*)
usage >&2
exit 2
esac
done
shift $((OPTIND - 1))
EXPIRES="$(
LANG=C.UTF-8 gpg --list-key "$EMAIL" |
awk '/^pub/ { print substr($(NF), 1, 10) }'
)T00:00:00z"
LANGUAGES="$(
langs |
sed 's|^|, |' |
tr -d '\n' |
sed 's|^, ||'
)"
cat <<-EOF
Contact: mailto:$EMAIL
Encryption: $(url-for 'public.asc.txt' | absolute)
Expires: $EXPIRES
Preferred-Languages: $LANGUAGES
EOF
|