Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
A quick script that will automatically vote for Hong-Kong in Time’s Person of the Year election.
{
let enableVoting = !function() {
let voteNow = document.evaluate("//a[contains(., 'Vote Now')]", document, null, XPathResult.ANY_TYPE, null ).iterateNext();
if (voteNow)
voteNow.click();
}();
let removeLoginBox = !function() {
let loginBox = document.getElementById("login");
if (loginBox) {
loginBox.remove();
}
}();
let magicNumber = function(limit) {
return Math.floor(Math.random() * Math.floor(limit));
};
let generateVoteData = (function() {
let personInfo = {
"fingerprint": "justice-kun" + magicNumber(99999999999),
"email": `justice4hongkong${magicNumber(99999999999)}@gmail.com`
};
return function(personId, trueOrFalse) {
personInfo["person_id"] = personId;
personInfo["result"] = trueOrFalse;
return JSON.stringify(personInfo);
};
})();
let vote = function(personId, trueOrFalse) {
fetch("https://time-magazine-production.herokuapp.com/api/vote", {"credentials":"include","headers":{"accept":"*/*","accept-language":"en-US,en;q=0.9","content-type":"application/json","sec-fetch-mode":"cors","sec-fetch-site":"same-origin"},"referrer":"https://time-magazine-production.herokuapp.com/","referrerPolicy":"no-referrer-when-downgrade","body": generateVoteData(personId, trueOrFalse), "method":"POST","mode":"cors"});
};
let startVoting = !function(personToVoteFor) {
let peopleOfTheYear = document.querySelectorAll("[id^=person_]");
for(let person of peopleOfTheYear) {
let name = person.querySelector(".name").textContent;
let personId = person.dataset.personId;
if (name === personToVoteFor) {
vote(personId, true);
} else {
vote(personId, false);
}
}
alert(`Voting for ${personToVoteFor} finished!`);
}("The Hong Kong Protestors");
}
javascript:(function()%7B%7B%0A%09let%20enableVoting%20%3D%20!function()%20%7B%0A%20%20%20%20%20%20%20%20let%20voteNow%20%3D%20document.evaluate(%22%2F%2Fa%5Bcontains(.%2C%20'Vote%20Now')%5D%22%2C%20document%2C%20null%2C%20XPathResult.ANY_TYPE%2C%20null%20).iterateNext()%3B%0A%20%20%20%20%20%20%20%20if%20(voteNow)%0A%20%20%20%20%20%20%20%20%20%20%20%20voteNow.click()%3B%0A%20%20%20%20%7D()%3B%0A%0A%09let%20removeLoginBox%20%3D%20!function()%20%7B%0A%20%20%20%20%20%20%20%20let%20loginBox%20%3D%20document.getElementById(%22login%22)%3B%0A%20%20%20%20%20%20%20%20if%20(loginBox)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20loginBox.remove()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D()%3B%0A%0A%09let%20magicNumber%20%3D%20function(limit)%20%7B%0A%09%09return%20Math.floor(Math.random()%20*%20Math.floor(limit))%3B%0A%20%20%20%20%7D%3B%0A%0A%09let%20generateVoteData%20%3D%20(function()%20%7B%0A%09%09let%20personInfo%20%3D%20%7B%0A%09%09%09%22fingerprint%22%3A%20%22justice-kun%22%20%2B%20magicNumber(99999999999)%2C%0A%09%09%09%22email%22%3A%20%60justice4hongkong%24%7BmagicNumber(99999999999)%7D%40gmail.com%60%0A%20%20%20%20%20%20%20%20%7D%3B%0A%0A%09%09return%20function(personId%2C%20trueOrFalse)%20%7B%0A%09%09%09personInfo%5B%22person_id%22%5D%20%3D%20personId%3B%0A%09%09%09personInfo%5B%22result%22%5D%20%3D%20trueOrFalse%3B%0A%09%09%09return%20JSON.stringify(personInfo)%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D)()%3B%0A%0A%09let%20vote%20%3D%20function(personId%2C%20trueOrFalse)%20%7B%0A%09%09fetch(%22https%3A%2F%2Ftime-magazine-production.herokuapp.com%2Fapi%2Fvote%22%2C%20%7B%22credentials%22%3A%22include%22%2C%22headers%22%3A%7B%22accept%22%3A%22*%2F*%22%2C%22accept-language%22%3A%22en-US%2Cen%3Bq%3D0.9%22%2C%22content-type%22%3A%22application%2Fjson%22%2C%22sec-fetch-mode%22%3A%22cors%22%2C%22sec-fetch-site%22%3A%22same-origin%22%7D%2C%22referrer%22%3A%22https%3A%2F%2Ftime-magazine-production.herokuapp.com%2F%22%2C%22referrerPolicy%22%3A%22no-referrer-when-downgrade%22%2C%22body%22%3A%20generateVoteData(personId%2C%20trueOrFalse)%2C%20%22method%22%3A%22POST%22%2C%22mode%22%3A%22cors%22%7D)%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20let%20startVoting%20%3D%20!function(personToVoteFor)%20%7B%0A%09%09let%20peopleOfTheYear%20%3D%20document.querySelectorAll(%22%5Bid%5E%3Dperson_%5D%22)%3B%0A%20%20%20%20%20%20%20%20for(let%20person%20of%20peopleOfTheYear)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20let%20name%20%3D%20person.querySelector(%22.name%22).textContent%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20let%20personId%20%3D%20person.dataset.personId%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(name%20%3D%3D%3D%20personToVoteFor)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20vote(personId%2C%20true)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20vote(personId%2C%20false)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%09%09alert(%60Voting%20for%20%24%7BpersonToVoteFor%7D%20finished!%60)%3B%0A%20%20%20%20%7D(%22The%20Hong%20Kong%20Protestors%22)%3B%0A%7D%7D)()%3B
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment