Hacking Tweeterwall to Autovote

Okay you may have seen my previous post which used a shell script to just vote every 20 seconds. Very simple, but they have got wise and now put a stop to that!

Tweeterwall is at http://tweeterwall.mallplace.com and is like a popularity contest. I got all my friends or people i knew into top 20, then we went into the continental (NZ and Aussies) at which point i had this setup to vote for all the NZ people, this way no Aussies got through into the finals (except one!).
We finally got into the World competitions at which point I really just couldn’t be buggered with it anymore, its no fun (shorter comps for people with low attention spans would be nice!). And secondly, I would get really beaten down if i beat Miley Cyrus by my 2 daughters! Hence why im making this post.

I’m not the first person to do this, im fairly sure, im just publicizing it so others can mess with it. So when  you see those people in the top of the polls, who only have only 30 odd followers and are kicking your butt, its not because you arn’t a cool person. its just that there isnt many ways to prevent people from doing this kind of thing.

Ideally they need to impliment some sort of statistics which checks what IP addresses are hitting what users and look for things like ‘never having a break’ (real people sleep!) and browser versions being different, time being an exact rather than random amount etc.  All of which can be faked with a few more lines of code anyway, but it will still make it hard enough that people wont bother with it.

After that i looked at Grease monkey and a co-worker came up some code that worked nicely. All you had to do was install the firefox Grease Monkey addon, then load this script and leave the browser open in a tab!

Grab this code, modify the URLs at the top to reflect the one you need, and edit your username near the bottom.

/ ==UserScript==
// @name Vote Velofille
// @namespace http://tweeterwall.mallplace.com/tw/new-zealand/ms-twitter
// @description Vote for Velofille
// @include http://tweeterwall.mallplace.com/tw/new-zealand/ms-twitter
// ==/UserScript==
var $;

// Add jQuery
var GM_JQ = document.createElement(“script”);
GM_JQ.src = “http://code.jquery.com/jquery-latest.min.js”;
GM_JQ.type = “text/javascript”;

document.body.appendChild(GM_JQ);

// Check if jQuery’s loaded
var checker=setInterval(function(){
if(typeof ($ = unsafeWindow.jQuery) != “undefined”) {
clearInterval(checker);
setTimeout(‘window.location.reload()’,1260000);
voteforperson();
}
},100);

function voteforperson() {
$(‘#velofille div.tweeter-vote > a’).click();
console.log(‘velofille voted’);
}

Save the file as something.user.js then open it with firefox. the file name must end in .user.js for Grease monkey to Pick it up.

So have fun with that, and go forth and hackery!

hacking tweetwall voting with wget and shell scripting

#!/bin/bash
# copious amount of useless comments 3 pages longer than the code should always be at the top of any shell script
# This is so you can run screen and vote for some person lots without looking like some automated voting system
# Feel free to use this, but please keep my name/website etc on it (need the fame ya know)
# I'm not gonna walk you through it, if you dont understand it then dont use it
# Yes im sure you could do better!
# Don't forget to edit it
# Written by Liz Quilty http://velofille.com

RAND=`dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -f1 -d" " |cut -c1-4`
if [ $RAND -lt 1200 ]; then RAND_SLEEP=$(($RAND+200)) ; else RAND_SLEEP=$RAND;fi

while [ 1 ] ; do
# the below line wgets the link the 12345 is the users number and the 45 is country number (view web page for these) - Edit this line to reflect user/url
wget --referer=http://tweeterwall.mallplace.com/tw/new-zealand/top-something-url -U Mozilla http://tweeterwall.mallplace.com/tw/vote/12345/45
sleep $RAND_SLEEP # sleep for random time before voting again
done