From 79b153819aa516e82c5751021e6cfdf40bbe266b Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 2 Jun 2025 16:41:42 +1200 Subject: [PATCH] 'Generic Commit' --- temp/sos | 151 ------------------------------------------------------- 1 file changed, 151 deletions(-) delete mode 100755 temp/sos diff --git a/temp/sos b/temp/sos deleted file mode 100755 index d2cf89e..0000000 --- a/temp/sos +++ /dev/null @@ -1,151 +0,0 @@ -#!/bin/bash -set -euo pipefail - - -# get dropshell -TEMP_DIR=$(mktemp -d) -ARCH=$(uname -m) -curl -L -s -o "${TEMP_DIR}/dropshell" "https://getbin.xyz/dropshell.${ARCH}" || die "Failed to download dropshell" -chmod +x "${TEMP_DIR}/dropshell" -trap 'rm -rf "${TEMP_DIR}"' EXIT -DROPSHELL="${TEMP_DIR}/dropshell" - - -function show_help() { - cat << EOF - - sos is a script to upload files to a simple object storage server. - -Usage: - sos upload [label:tag ...] - -Example: - sos upload tools.dropshell.app ./file.txt file:latest - -This will upload the file to the server, and return the download URL. - -Environment variables: - SOS_WRITE_TOKEN: The write token to use for the upload. If not set, - the script will look in $HOME/.config/sos/write_token.txt. - -EOF - exit 0 -} - -function die() { - echo "FATAL:" - echo "$@" - exit 1 -} - -function datetime() { - date -u +"%Y.%m%d.%H%M" -} - - -function upload() { - if [ "$#" -lt 3 ]; then - echo "Usage: sos upload [label:tag ...]" - exit 1 - fi - - server=$1 - file=$2 - first_label=$3 - LABELTAGS=("$first_label") - [[ "$first_label" =~ : ]] || die "Label $first_label does not contain a tag!" - - shift 3 - for label in "$@"; do - [[ "$label" =~ : ]] || die "Label $label does not contain a tag!" - LABELTAGS+=("$label") - done - - # check if file contains : - [[ ! "$file" =~ : ]] || die "File contains : - this is not allowed!" - [ -f "$file" ] || die "File not found: $file" - - - # upload the file - TARGET_URL="https://$server/upload" - echo "Uploading $file to $TARGET_URL" - - DATETIME=$(datetime) - - # deduplicate the labeltags - mapfile -t LABELTAGS < <(printf "%s\n" "${LABELTAGS[@]}" | sort -u) - LABELTAGS_JSON=$(printf '"%s",' "${LABELTAGS[@]}") - LABELTAGS_JSON="[${LABELTAGS_JSON%,}]" - -METADATA_JSON=$(cat < $FILENAME" - echo "Alternative: https://$server/$HASH > $FILENAME" -} - -# if no arguments, show help -[ "$#" -gt 0 ] || show_help - -CMD="$1" -shift - -if [ "$CMD" == "upload" ]; then - upload "$@" - exit $? -fi - -die "Unknown command: $CMD"