From 7a82afaf4c2bbf3ceb02394f055be17f95fc7eec Mon Sep 17 00:00:00 2001 From: Your Name <j@842.be> Date: Thu, 29 May 2025 23:26:50 +1200 Subject: [PATCH] :-'Generic Commit' --- sos/sos | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/sos/sos b/sos/sos index 635a738..ef74922 100755 --- a/sos/sos +++ b/sos/sos @@ -27,6 +27,7 @@ EOF } function die() { + echo "FATAL:" echo "$@" exit 1 } @@ -50,14 +51,40 @@ function upload() { fi # upload the file - echo "Uploading $file to $server - $label..." + TARGET_URL="https://$server/upload" + echo "Uploading $file to $TARGET_URL" + + METADATA_JSON=$(cat<<EOF +{ + "labeltags": ["$label"], + "description": "Uploaded by sos" +} +EOF +) + + echo "Metadata:" + echo "$METADATA_JSON | jq" + + TOKENPATH="$HOME/.config/sos/write_token.txt" + if [ ! -f "$TOKENPATH" ]; then + die "Token file not found: $TOKENPATH. Please create it and put your write token in it." + fi + WRITE_TOKEN=$(cat "$TOKENPATH") - METADATA="{\"labeltags\":[\"$label\"],\"description\":\"Uploaded by sos\"}" - HASH="" - JSON=$(curl -s -X POST -F "file=@$file" -F "metadata=$METADATA" "https://$server/$label") || die "Failed to upload $file to $server - $label" - HASH=$(echo "$JSON" | jq -r '.hash') - JSON2=$(curl -s "https://$server/meta/$HASH") || die "Failed to get meta for $HASH" + + UPLOAD_RESPONSE=$(curl -X PUT \ + -H "Authorization: Bearer ${WRITE_TOKEN}" \ + -F "file=@${file}" \ + -F "metadata=${METADATA_JSON}" \ + "$TARGET_URL" \ + ) || die "Failed to upload $file to $TARGET_URL" + + echo "Repsonse:" + echo "$UPLOAD_RESPONSE" + + HASH=$(echo "$UPLOAD_RESPONSE" | jq -r '.hash') + JSON2=$(eval "curl -s \"https://$server/meta/$HASH\"") || die "Failed to get meta for $HASH" FILENAME=$(echo "$JSON2" | jq -r '.filename') echo "Download URL: https://$server/$label > $FILENAME"