diff --git a/bin/b2-ul_me b/bin/b2-ul_me new file mode 100644 index 0000000..d15b7bd --- /dev/null +++ b/bin/b2-ul_me @@ -0,0 +1,20 @@ + #!/bin/bash + +echo "** backblaze b2 custom uploader **" + +export FILE_TO_UPLOAD=/run/cache/archives/$(ls /run/cache/archives | head -1) +export FILE_TO_UPLOAD=${1} +export MIME_TYPE=${2} +export B2_KEY_ID=${3} +export B2_KEY=${4} +export B2_BUCKET_ID=${5} +export B2_TOKEN=${6} +export SHA1_OF_FILE=$(openssl dgst -sha1 $FILE_TO_UPLOAD | awk '{print $2;}') + +export apiUrl=$(curl -s 'https://api.backblazeb2.com/b2api/v2/b2_authorize_account' -u "$B2_KEY_ID:$B2_KEY" | python -c "import sys, json; print (json.load(sys.stdin)['apiUrl'])") + +export UPLOAD_URL=$(curl -s -H 'Authorization:$B2_TOKEN' -d '{"bucketId":"$B2_BUCKET_ID"}' $apiUrl/b2api/v2/b2_get_upload_url | python -c "import sys, json; print (json.load(sys.stdin)['uploadUrl'])") + +curl -s -H "Authorization:$B2_TOKEN" -H "X-Bz-File-Name:$FILE_TO_UPLOAD" -H "Content-Type:$MIME_TYPE" -H "X-Bz-Content-Sha1:$SHA1_OF_FILE" -H "X-Bz-Info-Author:${DRONE_COMMIT_AUTHOR}" --data-binary "@$FILE_TO_UPLOAD" $UPLOAD_URL + +echo "** done **"