nnn/plugins/upload
NRK 27e032fc96 plugins/upload: remove inactive services
this removes ix.io and ffsend since they are no longer active.

binary files are uploaded to file.io as before. selections are
now tar-balled and uploaded to file.io.

text files are uploaded to 0x0.st

Closes: https://github.com/jarun/nnn/pull/1900
2024-07-25 21:01:15 +00:00

39 lines
1.3 KiB
Bash
Executable file

#!/usr/bin/env sh
# Description: Selections are archived into a tar file (uncompressed) and uploaded to file.io
# For single files:
# Paste contents of a text file to http://ix.io
# Upload a binary file to file.io
#
# Dependencies: curl, jq, tar, file with `--mime-type` support
#
# Note: Binary file set to expire after a week
#
# Shell: POSIX compliant
# Author: Arun Prakash Jana
selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
if [ -s "$selection" ]; then
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 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!"
fi
fi
read -r _