35 lines
846 B
Bash
Executable file
35 lines
846 B
Bash
Executable file
#!/bin/bash
|
|
|
|
URL="https://bin.wzray.com"
|
|
SILENT=0
|
|
declare -a files
|
|
|
|
while [ "$#" -gt 0 ]; do
|
|
case "$1" in
|
|
"-"*) SILENT=1;;
|
|
*) files+=("$1");;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [ "${#files}" -gt 0 ]; then
|
|
for file in "${files[@]}"; do
|
|
r="$(curl -X PUT --data-binary "@$file" "$URL" 2>/dev/null)"
|
|
ext="$(basename -- "$file")"
|
|
ext=".${ext##*.}"
|
|
[ "$ext" = ".$file" ] && ext=
|
|
done
|
|
else
|
|
if [ "$SILENT" = 1 ]; then
|
|
TMP_FILENAME="$(mktemp)"
|
|
cat > "$TMP_FILENAME"
|
|
r="$(curl -X PUT --data-binary "@$TMP_FILENAME" "$URL" 2>/dev/null)"
|
|
cat < "$TMP_FILENAME"
|
|
else
|
|
r="$(curl -X PUT --data-binary @- "$URL" 2>/dev/null)"
|
|
fi
|
|
[ -n "$TMP_FILENAME" ] && rm "$TMP_FILENAME"
|
|
fi
|
|
r="$(tr -d $'\n' <<< "$r$ext")"
|
|
xclip -selection clipboard <<< "$r"
|
|
echo "$r"
|