Advertisement
Guest User

shareFlareUploader.sh

a guest
Jul 4th, 2014
408
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.44 KB | None | 0 0
  1. #!/bin/bash
  2. # Bash Uploader For ShareFlare
  3. version="2.0140618";
  4. # /usr/local/bin/shareFlareUploader.sh
  5. ####################################################################################################
  6. #                                      CONFIGURATION SETTINGS                                      #
  7. ####################################################################################################
  8. # Configure the following with your credentials between the ' ' marks.
  9. login=''
  10. pass=''
  11. project='shareflare.net'
  12. ####################################################################################################
  13. #                                              SCRIPT                                              #
  14. ####################################################################################################
  15. yellow=$(tput setaf 3); green=$(tput setaf 2); red=$(tput setaf 1); cyan=$(tput setaf 6); textreset=$(tput sgr0); STARTTIME=$(date +%s);
  16. echo $cyan"############################################"${textreset};
  17. echo $cyan"# Bash File Upload For ShareFlare v"$version" #"${textreset};
  18. echo $cyan"############################################"${textreset};
  19.  
  20. for file in ./*; do
  21.   fileExtension=`ls $file | cut -c3-`;
  22.   fileName=`ls $file | sed 's/\.\///'`;
  23.   if [[ $fileExtension == *.txt ]] || [[ $fileExtension == *.png ]] || [[ $fileExtension == *.jpeg ]] || [[ $fileExtension == *.jpg ]]; then
  24.     echo $yellow"Skipping:"${textreset};
  25.     echo $yellow"$fileName"${textreset};
  26.     echo $cyan"***************************************************************"${textreset};
  27.   fi
  28.   if [[ $fileExtension != *.txt ]] && [[ $fileExtension != *.png ]] && [[ $fileExtension != *.jpeg ]] && [[ $fileExtension != *.jpg ]]; then
  29.     echo $cyan"***************************************************************"${textreset};
  30.     touch .shareflare.swp 2>/dev/null;
  31.     successfulUploadCheck=`cat .shareflare.swp | wc -l`;
  32.     while [[ $successfulUploadCheck == "0" ]]; do
  33.       echo $yellow"Uploading "$fileName"..."${textreset};
  34.       path=`readlink -e $file`;
  35.       function md5 {
  36.         local res=$(echo -n $1|md5sum|awk '{printf"%s",$1}')
  37.         local var=$2
  38.         eval $var=$res
  39.       }
  40.       function req {
  41.         local res=$(wget --post-data='q='$1 -q -O /dev/stdout 'http://api.shareflare.net/'|sed 's/^.*data":\[//; s/]}$//')
  42.         local var=$2
  43.         eval $var=$res
  44.       }
  45.       md5 $pass passhash
  46.       md5 $passhash passhash
  47.       req '["",["key\/auth",{"login":"'$login'","pass":"'$passhash'","project":"'$project'"}]]' APIkey
  48.       req '["'$APIkey'",["ftp\/flag_auto",{"flag":0}]]' resp
  49.       req '["'$APIkey'",["ftp\/auth_data"]]' auth
  50.       auth=$(echo "$auth"|sed 's/^.*login://; s/,pass:/ /; s/}//')
  51.       req '["'$APIkey'",["ftp\/listing"]]' resp
  52.       srv=''
  53.       for i in $(echo "$resp"|sed 's/\],\[/\n/g'|sort --random-sort); do
  54.         srv=$(echo $i|egrep -o '([0-9]+\.){3}[0-9]+')
  55.       done;
  56.       fname=$(basename $path)
  57. ftp -in $srv << EOF
  58. user $auth
  59. put $path $fname
  60. bye
  61. EOF
  62.       sleep 1
  63.       req '["'$APIkey'",["ftp\/process",{"server":"'$srv'","tmpname":"'$fname'","realname":"'$fname'"}]]' resp
  64.       for l in $(echo "$resp"|sed 's/^\[{//; s/}\]$//; s/,/\n/'); do
  65.         echo $l|sed 's/\\\//\//g' | grep link | sed 's/^link://;' > .shareflare.swp;
  66.       done;
  67.       successfulUploadCheck=`cat .shareflare.swp | wc -l`;
  68.       if [[ $successfulUploadCheck != "1" ]]; then
  69.         echo $red"FAILED "${texreset}$cyan"To upload "$file" re-attempting upload now..."${textreset};
  70.       fi
  71.       if [[ $successfulUploadCheck == "1" ]]; then
  72.         uploadLink=`cat .shareflare.swp | tr -d '\n' | tr -d '\ ';`;
  73.         uploadedFileSize=`ls -lh $file | awk {'print $5'}`;
  74.         echo "[B]ShareFlare: [/B][URL="$uploadLink"]"$fileName" - "$uploadedFileSize"B[/URL]" >> ShareFlareLinks.txt
  75.         echo $green$fileName" successfully uploaded!"${textreset};
  76.         echo $green$uploadLink${textreset};
  77.         rm .shareflare.swp 2>/dev/null;
  78.       fi
  79.     done;
  80.   fi
  81. done;
  82. cat ShareFlareLinks.txt
  83. #Counts the number of links generated and display with number of files in current directory.
  84. numFiles=`ls ./* | grep -v \.txt$ | grep -v \.png$ | grep -v \.jpg$ | grep -v \.jpeg$ | wc -l`;
  85. numLinks=`cat ShareFlareLinks.txt | wc -l`; ENDTIME=$(date +%s);
  86. echo "Number of files in this directory: "$numFiles;
  87. echo "Total # ShareFlare URLs generated: "$numLinks;
  88. echo "Number of seconds this script ran for: "$(($ENDTIME - $STARTTIME));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement