#!/bin/sh set -eu usage() { cat <<-'EOF' Usage: src/development/security-txt.sh src/development/security-txt.sh -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: $ sh src/development/security-txt.sh > .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 eu@euandre.org | awk '/^pub/ { print substr($(NF), 1, 10) }' )T00:00:00z" LANGS="en$( echo po/??.po | sed 's|\.po$||' | sed 's|^po/|, |' | paste -sd, )" cat <<-EOF Contact: mailto:@EMAIL@ Encryption: https://@DOMAIN@/public.asc.txt Expires: $EXPIRES Preferred-Languages: $LANGS EOF