You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/bin/bash
|
|
|
|
IMAGEPATH="$HOME/Pictures/" # Where to store screenshots before they're deleted
|
|
|
|
IMAGENAME="ass" # Not really important, tells Flameshot what file to send and delete
|
|
|
|
KEY="" # Your ass upload token
|
|
|
|
DOMAIN="" # Your upload domain (without http:// or https://)
|
|
|
|
|
|
|
|
flameshot config -f "$IMAGENAME" # Make sure that Flameshot names the file correctly
|
|
|
|
flameshot gui -r -p "$IMAGEPATH" > /dev/null # Prompt the screenshot GUI, also append the random gibberish to /dev/null
|
|
|
|
|
|
|
|
FILE="$IMAGEPATH$IMAGENAME.png" # File path and file name combined
|
|
|
|
|
|
|
|
# Check if file exists to handle Curl and rm errors
|
|
|
|
# then upload the image and copy the response URL
|
|
|
|
if [ -f "$FILE" ]; then
|
|
|
|
echo "$FILE exists."
|
|
|
|
URL=$(curl -X POST \
|
|
|
|
-H "Content-Type: multipart/form-data" \
|
|
|
|
-H "Accept: application/json" \
|
|
|
|
-H "User-Agent: ShareX/13.4.0" \
|
|
|
|
-H "Authorization: $KEY" \
|
|
|
|
-F "file=@$IMAGEPATH$IMAGENAME.png" "https://$DOMAIN/" | grep -Po '(?<="resource":")[^"]+')
|
|
|
|
# printf instead of echo as echo appends a newline
|
|
|
|
printf "%s" "$URL" | xclip -sel clip
|
|
|
|
rm "$IMAGEPATH$IMAGENAME.png" # Delete the image locally
|
|
|
|
else
|
|
|
|
echo "Aborted."
|
|
|
|
fi
|