Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Bash Uploader For ShareFlare
- version="2.0140618";
- # /usr/local/bin/shareFlareUploader.sh
- ####################################################################################################
- # CONFIGURATION SETTINGS #
- ####################################################################################################
- # Configure the following with your credentials between the ' ' marks.
- login=''
- pass=''
- project='shareflare.net'
- ####################################################################################################
- # SCRIPT #
- ####################################################################################################
- yellow=$(tput setaf 3); green=$(tput setaf 2); red=$(tput setaf 1); cyan=$(tput setaf 6); textreset=$(tput sgr0); STARTTIME=$(date +%s);
- echo $cyan"############################################"${textreset};
- echo $cyan"# Bash File Upload For ShareFlare v"$version" #"${textreset};
- echo $cyan"############################################"${textreset};
- for file in ./*; do
- fileExtension=`ls $file | cut -c3-`;
- fileName=`ls $file | sed 's/\.\///'`;
- if [[ $fileExtension == *.txt ]] || [[ $fileExtension == *.png ]] || [[ $fileExtension == *.jpeg ]] || [[ $fileExtension == *.jpg ]]; then
- echo $yellow"Skipping:"${textreset};
- echo $yellow"$fileName"${textreset};
- echo $cyan"***************************************************************"${textreset};
- fi
- if [[ $fileExtension != *.txt ]] && [[ $fileExtension != *.png ]] && [[ $fileExtension != *.jpeg ]] && [[ $fileExtension != *.jpg ]]; then
- echo $cyan"***************************************************************"${textreset};
- touch .shareflare.swp 2>/dev/null;
- successfulUploadCheck=`cat .shareflare.swp | wc -l`;
- while [[ $successfulUploadCheck == "0" ]]; do
- echo $yellow"Uploading "$fileName"..."${textreset};
- path=`readlink -e $file`;
- function md5 {
- local res=$(echo -n $1|md5sum|awk '{printf"%s",$1}')
- local var=$2
- eval $var=$res
- }
- function req {
- local res=$(wget --post-data='q='$1 -q -O /dev/stdout 'http://api.shareflare.net/'|sed 's/^.*data":\[//; s/]}$//')
- local var=$2
- eval $var=$res
- }
- md5 $pass passhash
- md5 $passhash passhash
- req '["",["key\/auth",{"login":"'$login'","pass":"'$passhash'","project":"'$project'"}]]' APIkey
- req '["'$APIkey'",["ftp\/flag_auto",{"flag":0}]]' resp
- req '["'$APIkey'",["ftp\/auth_data"]]' auth
- auth=$(echo "$auth"|sed 's/^.*login://; s/,pass:/ /; s/}//')
- req '["'$APIkey'",["ftp\/listing"]]' resp
- srv=''
- for i in $(echo "$resp"|sed 's/\],\[/\n/g'|sort --random-sort); do
- srv=$(echo $i|egrep -o '([0-9]+\.){3}[0-9]+')
- done;
- fname=$(basename $path)
- ftp -in $srv << EOF
- user $auth
- put $path $fname
- bye
- EOF
- sleep 1
- req '["'$APIkey'",["ftp\/process",{"server":"'$srv'","tmpname":"'$fname'","realname":"'$fname'"}]]' resp
- for l in $(echo "$resp"|sed 's/^\[{//; s/}\]$//; s/,/\n/'); do
- echo $l|sed 's/\\\//\//g' | grep link | sed 's/^link://;' > .shareflare.swp;
- done;
- successfulUploadCheck=`cat .shareflare.swp | wc -l`;
- if [[ $successfulUploadCheck != "1" ]]; then
- echo $red"FAILED "${texreset}$cyan"To upload "$file" re-attempting upload now..."${textreset};
- fi
- if [[ $successfulUploadCheck == "1" ]]; then
- uploadLink=`cat .shareflare.swp | tr -d '\n' | tr -d '\ ';`;
- uploadedFileSize=`ls -lh $file | awk {'print $5'}`;
- echo "[B]ShareFlare: [/B][URL="$uploadLink"]"$fileName" - "$uploadedFileSize"B[/URL]" >> ShareFlareLinks.txt
- echo $green$fileName" successfully uploaded!"${textreset};
- echo $green$uploadLink${textreset};
- rm .shareflare.swp 2>/dev/null;
- fi
- done;
- fi
- done;
- cat ShareFlareLinks.txt
- #Counts the number of links generated and display with number of files in current directory.
- numFiles=`ls ./* | grep -v \.txt$ | grep -v \.png$ | grep -v \.jpg$ | grep -v \.jpeg$ | wc -l`;
- numLinks=`cat ShareFlareLinks.txt | wc -l`; ENDTIME=$(date +%s);
- echo "Number of files in this directory: "$numFiles;
- echo "Total # ShareFlare URLs generated: "$numLinks;
- echo "Number of seconds this script ran for: "$(($ENDTIME - $STARTTIME));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement