Skip to content

Commit

Permalink
plugins/upload: handle selection using ffsend
Browse files Browse the repository at this point in the history
  • Loading branch information
Darukutsu authored and jarun committed Nov 18, 2022
1 parent 3359b8f commit 4bb7ffc
Showing 1 changed file with 26 additions and 11 deletions.
37 changes: 26 additions & 11 deletions plugins/upload
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/usr/bin/env sh

# Description: Upload to Firefox Send if ffsend is found, else
# Description: Selections are uploaded using Firefox Send
# For single files:
# Upload to Firefox Send if ffsend is found, else
# Paste contents of a text a file http://ix.io
# Upload a binary file to file.io
#
Expand All @@ -11,20 +13,33 @@
# Shell: POSIX compliant
# Author: Arun Prakash Jana

if [ -n "$1" ] && [ -s "$1" ]; then
selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
if [ -s "$selection" ]; then
if type ffsend >/dev/null 2>&1; then
ffsend -fiq u "$1"
elif [ "$(mimetype --output-format %m "$1" | awk -F '/' '{print $1}')" = "text" ]; then
curl -F "f:1=@$1" ix.io
# File name will be randomized foo.tar
xargs -0 < "$selection" ffsend u
else
# Upload the file, show the download link and wait till user presses any key
curl -s -F "file=@$1" https://file.io/?expires=1w | jq '.link' | tr -d '"'

# To write download link to "$1".loc and exit
# curl -s -F "file=@$1" https://file.io/?expires=1w -o `basename "$1"`.loc
printf "ffsend is required to upload selection."
fi

# Clear selection
printf "-" > "$NNN_PIPE"
else
printf "empty file!"
if [ -n "$1" ] && [ -s "$1" ]; then
if type ffsend >/dev/null 2>&1; then
ffsend -fiq u "$1"
elif [ "$(mimetype --output-format %m "$1" | awk -F '/' '{print $1}')" = "text" ]; then
curl -F "f:1=@$1" ix.io
else
# Upload the file, show the download link and wait till user presses any key
curl -s -F "file=@$1" https://file.io/?expires=1w | jq '.link' | tr -d '"'

# To write download link to "$1".loc and exit
# curl -s -F "file=@$1" https://file.io/?expires=1w -o `basename "$1"`.loc
fi
else
printf "empty file!"
fi
fi

read -r _

0 comments on commit 4bb7ffc

Please sign in to comment.