Add immich-upload to screenshot tool
This commit is contained in:
parent
38d52ea4b3
commit
065953fdc7
2 changed files with 69 additions and 9 deletions
|
@ -2,10 +2,13 @@
|
||||||
|
|
||||||
tool="grim"
|
tool="grim"
|
||||||
|
|
||||||
|
now=$(date '+%F_%H-%M-%S')
|
||||||
|
now_iso=$(date -Is)
|
||||||
|
expire_date=$(date -Is -d "+1hour")
|
||||||
rclone_remote="s3-serguzim-me:public/screenshots"
|
rclone_remote="s3-serguzim-me:public/screenshots"
|
||||||
screenshot_host="https://s3.serguzim.me/public/screenshots"
|
screenshot_host="https://s3.serguzim.me/public/screenshots"
|
||||||
screenshot_path="/tmp/screenshot.webp"
|
screenshot_path="/tmp/screenshot_$now.webp"
|
||||||
file="$(date '+%F_%H-%M-%S').webp"
|
file="$now.webp"
|
||||||
|
|
||||||
clip_image()
|
clip_image()
|
||||||
{
|
{
|
||||||
|
@ -19,18 +22,73 @@ clip_image()
|
||||||
|
|
||||||
upload_image()
|
upload_image()
|
||||||
{
|
{
|
||||||
|
share_url=$(upload_image_immich)
|
||||||
|
echo "$share_url"
|
||||||
|
|
||||||
|
if [ -n "$share_url" ]
|
||||||
|
then
|
||||||
|
notify-send "Screenshot" "Uploaded screenshot"
|
||||||
|
else
|
||||||
|
notify-send "Screenshot" "Failed to upload screenshot"
|
||||||
|
fi
|
||||||
|
|
||||||
|
xdg-open "$share_url"
|
||||||
|
|
||||||
# to have link available in clipboard manager
|
# to have link available in clipboard manager
|
||||||
if [ -n "$WAYLAND_DISPLAY" ]
|
if [ -n "$WAYLAND_DISPLAY" ]
|
||||||
then
|
then
|
||||||
wl-copy "$screenshot_host/$file"
|
wl-copy "$share_url"
|
||||||
wl-copy -p "$screenshot_host/$file"
|
wl-copy -p "$share_url"
|
||||||
else
|
else
|
||||||
printf '%s' "$screenshot_host/$file" | xclip -selection clipboard
|
printf '%s' "$share_url" | xclip -selection clipboard
|
||||||
printf '%s' "$screenshot_host/$file" | xclip -selection primary
|
printf '%s' "$share_url" | xclip -selection primary
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
rclone copyto "$screenshot_path" "$rclone_remote/$file"
|
upload_image_rclone()
|
||||||
notify-send -a "Screenshot" "Uploaded screenshot to s3"
|
{
|
||||||
|
set -e
|
||||||
|
|
||||||
|
rclone copyto "$screenshot_path" "$rclone_remote/$file" >/dev/null
|
||||||
|
echo "$screenshot_host/$file"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Immich url to get api key for service account (skip oauth)
|
||||||
|
# https://my.immich.app/auth/login?autoLaunch=0
|
||||||
|
upload_image_immich()
|
||||||
|
{
|
||||||
|
set -e
|
||||||
|
|
||||||
|
result_upload=$(curl -sSfL "$IMMICH_INSTANCE_URL/api/assets" \
|
||||||
|
-H 'Content-Type: multipart/form-data' \
|
||||||
|
-H 'Accept: application/json' \
|
||||||
|
-H "x-api-key: $IMMICH_API_KEY_SCREENSHOTS" \
|
||||||
|
-F 'deviceId="screenshots"' \
|
||||||
|
-F "deviceAssetId=\"screenshots-$screenshot_path\"" \
|
||||||
|
-F "fileModifiedAt=\"$now_iso\"" \
|
||||||
|
-F "fileCreatedAt=\"$now_iso\"" \
|
||||||
|
-F "assetData=@\"$screenshot_path\"")
|
||||||
|
asset_id=$(echo "$result_upload" | jq -r '.id')
|
||||||
|
|
||||||
|
result_share=$(curl -sSfL "$IMMICH_INSTANCE_URL/api/shared-links" \
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-H 'Accept: application/json' \
|
||||||
|
-H "x-api-key: $IMMICH_API_KEY_SCREENSHOTS" \
|
||||||
|
-d "{
|
||||||
|
\"allowDownload\": true,
|
||||||
|
\"allowUpload\": false,
|
||||||
|
\"assetIds\": [
|
||||||
|
\"$asset_id\"
|
||||||
|
],
|
||||||
|
\"expiresAt\": \"$expire_date\",
|
||||||
|
\"showMetadata\": true,
|
||||||
|
\"type\": \"INDIVIDUAL\"
|
||||||
|
}")
|
||||||
|
share_key=$(echo "$result_share" | jq -r '.key')
|
||||||
|
|
||||||
|
#share_url="$IMMICH_INSTANCE_URL/share/$share_key/photos/$asset_id"
|
||||||
|
share_url="$IMMICH_INSTANCE_URL/api/assets/$asset_id/original?key=$share_key"
|
||||||
|
echo "$share_url"
|
||||||
}
|
}
|
||||||
|
|
||||||
call_screenshot_tool() {
|
call_screenshot_tool() {
|
||||||
|
@ -64,7 +122,7 @@ main()
|
||||||
{
|
{
|
||||||
if [ -n "$1" ] && [ -e "$1" ]
|
if [ -n "$1" ] && [ -e "$1" ]
|
||||||
then
|
then
|
||||||
convert "$1" "$screenshot_path"
|
magick "$1" "$screenshot_path"
|
||||||
upload_image
|
upload_image
|
||||||
clip_image
|
clip_image
|
||||||
else
|
else
|
||||||
|
|
|
@ -4,6 +4,8 @@ export DRONE_SERVER="https://ci.serguzim.me"
|
||||||
|
|
||||||
export HASTE_SERVER="https://haste.snrd.eu"
|
export HASTE_SERVER="https://haste.snrd.eu"
|
||||||
|
|
||||||
|
export IMMICH_INSTANCE_URL="https://gallery.serguzim.me"
|
||||||
|
|
||||||
export LINKWARDEN_URL="https://bookmarks.serguzim.me"
|
export LINKWARDEN_URL="https://bookmarks.serguzim.me"
|
||||||
|
|
||||||
export OPENFAAS_URL="https://faas.serguzim.me"
|
export OPENFAAS_URL="https://faas.serguzim.me"
|
||||||
|
|
Loading…
Reference in a new issue