commit 9fc320d56ed8b8e7d0533fe00b7bdad627a97fda
parent 86d883eee4986c7125bd77415e1a9b6b94e6bb83
Author: Arun <engineerarun@gmail.com>
Date: Sat, 27 Jul 2024 11:48:04 +0530
Merge pull request #1917 from N-R-K/upload
plugins/upload: remove inactive services
Diffstat:
1 file changed, 15 insertions(+), 22 deletions(-)
diff --git a/plugins/upload b/plugins/upload
@@ -1,12 +1,11 @@
#!/usr/bin/env sh
-# Description: Selections are uploaded using Firefox Send
+# Description: Selections are archived into a tar file (uncompressed) and uploaded to file.io
# For single files:
-# Upload to Firefox Send if ffsend is found, else
-# Paste contents of a text a file http://ix.io
+# Paste contents of a text file to http://ix.io
# Upload a binary file to file.io
#
-# Dependencies: ffsend (https://github.com/timvisee/ffsend), curl, jq, tr
+# Dependencies: curl, jq, tar, file with `--mime-type` support
#
# Note: Binary file set to expire after a week
#
@@ -15,30 +14,24 @@
selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
if [ -s "$selection" ]; then
- if type ffsend >/dev/null 2>&1; then
- # File name will be randomized foo.tar
- xargs -0 < "$selection" ffsend u
- else
- printf "ffsend is required to upload selection."
- fi
+ xargs -0 tar -c < "$selection" | \
+ curl -s -F "file=@/dev/stdin;filename=selection.tar" 'https://file.io/?expires=1w' | \
+ jq '.link' | tr -d '"'
# Clear selection
printf "-" > "$NNN_PIPE"
else
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
+ if file --mime-type "$1" | grep -q -F "text/"; then
+ curl -F "file=@$1" https://0x0.st
+ 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!"
+ printf "empty file!"
fi
fi