blob: 5cfe2d1675bff47288b654ca75ee0b4c42df41b7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#!/usr/bin/env /bin/sh
file=$1
if [[ ! -f $file ]]; then
echo "Invalid File: ${file}"
exit 1
fi
extension=$(basename "${file}" | cut -d'.' -f2)
filename="$(openssl rand -hex 8).${extension}"
ACCESS_KEY=
SECRET_KEY=
BUCKET=c.r8x.net
VANITY_URL=https://c.r8x.net
RESOURCE="/${BUCKET}/${filename}"
DATE=$(TZ=UTC date -j "+%a, %d %b %Y %T %z")
CONTENT_TYPE=$(file --mime-type -b ${file})
ACL="x-amz-acl:public-read"
STRING_TO_SIGN="PUT\n\n${CONTENT_TYPE}\n${DATE}\n${ACL}\n${RESOURCE}"
SIGNATURE=$(echo -en ${STRING_TO_SIGN} | openssl sha1 -hmac ${SECRET_KEY} -binary | openssl base64)
HOST="eu-central-1.linodeobjects.com"
notify-send -u low -t 2000 -a Flameshot Uploading... "Uploading screenshot"
curl -X PUT -T "${file}" \
-H "Date: ${DATE}" \
-H "Content-Type: ${CONTENT_TYPE}" \
-H "${ACL}" \
-H "Authorization: AWS ${ACCESS_KEY}:${SIGNATURE}" \
https://${HOST}${RESOURCE}
echo "${VANITY_URL}/${filename}" | tr -d '\n' | xsel -b
notify-send -u low -t 2000 -a Flameshot Uploaded... "Successfully uploaded screenshot"
|