#!/bin/bash unset CDPATH set -u set +o histexpand URL="http://pixelbanane.de/yafu" EMAIL="" PASSWORD="" COMMENT="" HIDDEN="" FILENAME="" while getopts ":c:p:e:hHf:" OPTION; do case "$OPTION" in 'c') COMMENT="$OPTARG" ;; 'p') PASSWORD="$OPTARG" ;; 'e') EMAIL="$OPTARG" ;; 'H') HIDDEN="-F hidden=true" ;; 'f') FILENAME="$OPTARG" ;; 'h') cat << EOF Usage: $0 [OPTIONS] FILE OPTIONS -c COMMENT -p PASSWORD -e EMAIL -h show help -H hide file in file list -f FILENAME (use FILENAME instead of basename(FILE)) EOF exit 0 ;; '?') echo "Unknown option: -$OPTARG" exit 1 ;; ':') echo "Option -$OPTARG needs an argument" exit 1 ;; esac done shift $(( OPTIND - 1 )) if (( $# == 0 )) ; then echo "Missing file" exit 1 elif (( $# > 1 )) ; then echo "Too many arguments" exit 1 fi UPLOAD_IDENTIFIER=$( wget -qO- "$URL" | sed -nr 's/.*name="UPLOAD_IDENTIFIER" value="([^"]+)".*/\1/p' ) FILE="$1" if ! [[ "$FILENAME" ]] ; then FILENAME=$(basename "$FILE") fi EXPIRES="max" OUT=$( curl \ -# \ -F "email=$EMAIL" \ -F "expires=$EXPIRES" \ -F "comment=$COMMENT" \ -F "filename=$FILENAME" \ -F "password=$PASSWORD" \ -F "upload=@$FILE" \ $HIDDEN \ "$URL/index.php" ) ID_AND_FILE=$(sed -nr 's!.*href="/yafu/info/([0-9]+/[^"]+).*!\1!p' <<< "$OUT") DIRECT_LINK="$URL/$ID_AND_FILE" INFO_LINK="$URL/info/$ID_AND_FILE" DELETION_LINK=$(sed -nr 's!.*(http://.+/delete/[^"]+).*!\1!p' <<< "$OUT") echo "Download Link: $DIRECT_LINK" echo "Info Link: $INFO_LINK" echo "Deltion Link: $DELETION_LINK"