From ce932e2a064e923b12f2fe422c3a798dfdedb103 Mon Sep 17 00:00:00 2001 From: Fabian Montero Date: Fri, 7 Feb 2025 18:50:42 -0600 Subject: [PATCH 1/2] fix errors --- exhumate.sh | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/exhumate.sh b/exhumate.sh index 0499dfe..bb9c4c4 100755 --- a/exhumate.sh +++ b/exhumate.sh @@ -19,26 +19,31 @@ check_dependencies "firefox" "ncat" "gpg" "cryptsetup" "unzip" "shred" [ -n "$FSOCIETY_TELEGRAM_BACKUP_LOCATION" ] || { echo "error: N env var not set." >&2; exit 1; } +[ -n "$1" ] || { echo "error: Provide a beacon address" >&2; exit 1; } +BEACON="$1" + ALPHABET="0 1 2" -BEACON="quien manda la key" BEACONPORT="60666" WORKDIR="/run/user/$UID/ftb" -[ ! -e "$WORKDIR" ] || {mkdir -p "$WORKDIR"} +[ ! -e "$WORKDIR" ] || { echo "error: Delete $WORKDIR." >&2; exit 1; } +mkdir -p "$WORKDIR" cd "$WORKDIR" -gpg -d "$FSOCIETY_TELEGRAM_BACKUP_LOCATION/fsociety-archive-secret-slot$FSOCIETY_TELEGRAM_BACKUP_N.zip.gpg" > keys.zip +ZIPPED_KEYS="$FSOCIETY_TELEGRAM_BACKUP_LOCATION/fsociety-archive-secret-slot$FSOCIETY_TELEGRAM_BACKUP_N.zip.gpg" +TOMB="$FSOCIETY_TELEGRAM_BACKUP_LOCATION/fsociety-archive-2024-01-05.img" +sudo sudo chattr -i "$TOMB" "$ZIPPED_KEYS" + +gpg -d "$ZIPPED_KEYS" > keys.zip unzip keys.zip HEADER="$WORKDIR/fsociety-archive-secret-slot$FSOCIETY_TELEGRAM_BACKUP_N/header$(echo $ALPHABET | tr " " $'\n' | grep -v "^$FSOCIETY_TELEGRAM_BACKUP_N$" | sed 's/^/-slot/' | tr -d $'\n').luks-header" -TOMB="$FSOCIETY_TELEGRAM_BACKUP_LOCATION/fsociety-archive-2024-01-05.img" -sudo echo "jajaja" ncat -v --ssl "$BEACON" "$BEACONPORT" Date: Fri, 7 Feb 2025 19:11:17 -0600 Subject: [PATCH 2/2] add TRAP --- exhumate.sh | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/exhumate.sh b/exhumate.sh index bb9c4c4..681659b 100755 --- a/exhumate.sh +++ b/exhumate.sh @@ -3,35 +3,43 @@ set -e set -o pipefail +[ -n "$1" ] || { echo "error: Provide a beacon address" >&2; exit 1; } +BEACON="$1" + +[ -n "$FSOCIETY_TELEGRAM_BACKUP_N" ] || { echo "error: N env var not set." >&2; exit 1; } +[ -n "$FSOCIETY_TELEGRAM_BACKUP_LOCATION" ] || { echo "error: N env var not set." >&2; exit 1; } + +ALPHABET="0 1 2" +BEACONPORT="60666" +WORKDIR="/run/user/$UID/ftb" +ZIPPED_KEYS="$FSOCIETY_TELEGRAM_BACKUP_LOCATION/fsociety-archive-secret-slot$FSOCIETY_TELEGRAM_BACKUP_N.zip.gpg" +TOMB="$FSOCIETY_TELEGRAM_BACKUP_LOCATION/fsociety-archive-2024-01-05.img" + + +cleanup() { + sudo umount ./backup + sudo cryptsetup close /dev/mapper/fsociety_backup + + sudo sudo chattr +i "$TOMB" "$ZIPPED_KEYS" + rm -rfd "$WORKDIR" +} +trap cleanup EXIT + check_dependency() { command -v $1 > /dev/null || { echo "error: $1 not found" >&2; exit 1; } } - check_dependencies() { for dep in "$@"; do check_dependency "$dep" done } - check_dependencies "firefox" "ncat" "gpg" "cryptsetup" "unzip" "shred" -[ -n "$FSOCIETY_TELEGRAM_BACKUP_N" ] || { echo "error: N env var not set." >&2; exit 1; } - -[ -n "$FSOCIETY_TELEGRAM_BACKUP_LOCATION" ] || { echo "error: N env var not set." >&2; exit 1; } - -[ -n "$1" ] || { echo "error: Provide a beacon address" >&2; exit 1; } -BEACON="$1" - -ALPHABET="0 1 2" -BEACONPORT="60666" -WORKDIR="/run/user/$UID/ftb" [ ! -e "$WORKDIR" ] || { echo "error: Delete $WORKDIR." >&2; exit 1; } mkdir -p "$WORKDIR" cd "$WORKDIR" -ZIPPED_KEYS="$FSOCIETY_TELEGRAM_BACKUP_LOCATION/fsociety-archive-secret-slot$FSOCIETY_TELEGRAM_BACKUP_N.zip.gpg" -TOMB="$FSOCIETY_TELEGRAM_BACKUP_LOCATION/fsociety-archive-2024-01-05.img" sudo sudo chattr -i "$TOMB" "$ZIPPED_KEYS" gpg -d "$ZIPPED_KEYS" > keys.zip @@ -50,10 +58,6 @@ mkdir -p "$FFPROFILE" firefox -profile "$FFPROFILE" --no-remote ./backup/messages.html find "$FFPROFILE" -type f -exec shred {} \; -sudo umount ./backup -sudo cryptsetup close /dev/mapper/fsociety_backup - -sudo sudo chattr +i "$TOMB" "$ZIPPED_KEYS" -rm -rfd "$WORKDIR" +cleanup() echo "I go to my fathers... in whose mighty company... I shall not now feel ashamed."