commit 4a60501de57e54ac20d69f83fc02cf73a651f27d Author: trinity-1686a Date: Sun Feb 9 23:45:36 2025 +0100 init diff --git a/additional_keys b/additional_keys new file mode 100644 index 0000000..e69de29 diff --git a/operators b/operators new file mode 100644 index 0000000..16699e3 --- /dev/null +++ b/operators @@ -0,0 +1 @@ +curl https://git.deuxfleurs.fr/trinity-1686a.gpg | gpg --import # 0xA2EDA98C6B86D9D0 diff --git a/update_key.sh b/update_key.sh new file mode 100644 index 0000000..98b6973 --- /dev/null +++ b/update_key.sh @@ -0,0 +1,16 @@ +#!/bin/sh +set -xeuo pipefail + +TMP_FILE=".ssh/authorized_keys.tmp" +CMD="$HOME/wol.sh" + + +truncate --size 0 $TMP_FILE +for target in $(cat operators | sed 's/curl \([^ ]*\).gpg .*/\1.keys/'); do + curl "$target" | sed 's#.*#command="'"$CMD"'" \0 '"$target"'#' >> $TMP_FILE +done + +cat additional_keys | sed 's#.*#command="'"$CMD"'" \0#' >> $TMP_FILE + +chmod 600 $TMP_FILE +mv $TMP_FILE .ssh/authorized_keys diff --git a/wol.sh b/wol.sh new file mode 100644 index 0000000..5ebe367 --- /dev/null +++ b/wol.sh @@ -0,0 +1,15 @@ +#!/bin/sh +set -euo pipefail + +TARGETS=( +"origan (staging): 00:23:24:af:fd:ec" +"onion (prod): 00:23:24:b0:e8:66" +"oseille (prod): 00:23:24:af:f9:0b" +"ortie (prod): 00:23:24:b0:01:b9" +) + +MACS=$(gum choose --no-limit "${TARGETS[@]}" | sed 's/^[^:]*: *//') + +[ -z "$MACS" ] && echo You must select at least one server to wake up && exit 1 + +wakeonlan -- $MACS