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