#!/bin/sh #---------------------------------------------------- # Author: Florian "Bluewind" Pritz # Contributor: Moritz Wilhelmy # # Licensed under WTFPL v2 # (see COPYING for full license text) # #---------------------------------------------------- # Dependencies: curl # Optional: xclip #---------------------------------------------------- VERSION="0.6.8" DELETE= EXTENSION="" GET= TAR= COMPRESS=0 TAREXT=".tar" TAROPTS="" PASTEBIN="http://paste.xinu.at" WARNSIZE=10485760 USERAGENT="fb-client/$VERSION" CLIPBOARD="" EXITCODE=0 do_upload() { local EXTRA="" file="$1" basefilename="`basename "$file"`" basedirname="`dirname "$file"`" if [ -d "$file" ]; then cd "$basedirname" tar $TAROPTS -cf "$TMPDIR/$basefilename$TAREXT" "$basefilename" COMPRESS=0 file="$TMPDIR/$basefilename$TAREXT" fi if [ "$COMPRESS" == "1" ]; then gzip -c "$file" > "$TMPDIR/$basefilename.gz" file="$TMPDIR/$basefilename.gz" elif [ "$COMPRESS" == "2" ]; then xz -c "$file" > "$TMPDIR/$basefilename.xz" file="$TMPDIR/$basefilename.xz" fi if [ "$EXTENSION" ]; then EXTRA="-F extension=$EXTENSION" fi TMPFILE=`mktemp "$TMPDIR/data.XXXXXX"` if [ `stat -c %s "$file"` -gt "$WARNSIZE" ]; then WARNSIZE=`curl -s "$PASTEBIN/file/get_max_size"` if [ `stat -c %s "$file"` -gt "$WARNSIZE" ]; then echo "Warning: Your upload is too big and would be rejected. Maximum size is: $WARNSIZE bytes. Skipping..." >&2 EXITCODE=1 return 1 fi fi if ! curl -# -n -L -A $USERAGENT $EXTRA -F "file=@$file" "$PASTEBIN/file/do_upload" > $TMPFILE; then EXITCODE=1 return 1 fi sed '$d' $TMPFILE >&2 URL=`tail -1 $TMPFILE` echo $URL CLIPBOARD="$CLIPBOARD $URL" } read_stdin() { if tty -s; then echo "^C to exit, ^D to send" fi cat > "$1" } help() { cat </dev/null`" ] && echo -n $CLIPBOARD | nohup xclip >/dev/null 2>&1 exit $EXITCODE