From f1d3afc92e29f78007498e316dd13fd7d0842de7 Mon Sep 17 00:00:00 2001 From: Avril Date: Sun, 27 Aug 2023 22:39:24 +0100 Subject: [PATCH] Initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fortune for canary's current commit: Blessing − 吉 --- .gitignore | 1 + canary.salt | Bin 0 -> 512 bytes canary.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 .gitignore create mode 100644 canary.salt create mode 100755 canary.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..180bf68 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +canary.txt diff --git a/canary.salt b/canary.salt new file mode 100644 index 0000000000000000000000000000000000000000..bd5ccf6c9597b7236af5230f540aff289ba56642 GIT binary patch literal 512 zcmV+b0{{KqS2l(4(T4tkl&6-ZKwba^25pE2+c*ck9l|)>0r7>#gsN{wVCn1rPzmB2oN-ll6N!!!(Ha@@Y!p0NJU>8gui}A+ZBS);j#%cthx&4iZmNN6p#BxMD==dQf9P_N7PF* z`m_#H79q1-Np_n*0jFE}n{=emz4-G9Zu~=bA7W_q^**FwqjfjZe)vqim4F+UBkW%Z zP3*@|v?DZnel`IO=4*W%D7l&>!U2BM%qfR6nImwTUf@bGlq_yT3JDD`2kPeWok@u_ zspp(8a^IaU>6Idg_Ql;gBQcZB%-|m>2#J8>4`iF+^W9k;@US-slaqLq4ZoEzeIkR5 C@%!cg literal 0 HcmV?d00001 diff --git a/canary.sh b/canary.sh new file mode 100755 index 0000000..a0fab7a --- /dev/null +++ b/canary.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +FILE="${FILE:-canary.txt}" +SALT="${CANARY_SALT_FILE:-canary.salt}" + +die() { + if [[ -z "$1" ]]; then + >&2 echo "Fatal error" + else + >&2 echo "Fatal error: $*" + fi + \exit 1 +} + +hash-extra() ( + local sep= + case "$1" in + -sec) sep=1 + shift ;; + *) ;; + esac + local salt_file="$1" + local tag="${2:-"tagged"}" + if head -c 1 "$salt_file" >/dev/null; then + [[ -z "$sep" ]] || printf '\n---- extra tags (via %s) ----\n' "$salt_file" + { echo -n "$tag: " && \ + sha256sum - "$salt_file" | sha256sum | grep -o '[^- ]*' + } || die "Failed to write location hash to output" + else + die "Specified salt file '$salt_file' cannot be read: $?" + fi +) + +echo "" > $FILE || die "Cannot write to file '$FILE'" +echo "---- $(date -u) ----" >> $FILE || die "Cannot append to file '$FILE'" +echo "$1" >> $FILE || die "Cannot write message: '$1', to '$FILE'" +[[ "$CANARY_ADD_LOCATION" != 0 ]] && eval-with-aliases 'ip-ext 2>/dev/null' | hash-extra -sec "$SALT" "Source location" >> "$FILE" || >&1 echo "[!] Warning: Asked to add location, but failed to hash extra: $?, ignoring" +#sha256sum | +echo "" >> $FILE || die "Cannot append to file '$FILE'" + +gpg --armor --sign "$FILE" || die "GPG signing failed" +cat $FILE.asc >> "$FILE" || die "Failed to append signed message (tmp '${FILE}.asc') to output '$FILE'" + +rm $FILE.asc || die "failed to remove temporary signed message file '${FILE}.asc'" + +\exit 0