Skip to content

Latest commit

 

History

History

devrant-sticker

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

devRant Stickers

So, devRant is giving free stickers to everyone who get more than 20++ on an single rant. I wanted the stickers but it would take some time before I can get 20++ on single rant. So I devised a method to create proxy users and ++ my rant.

In my domain, I setup a catch-all domain which forwards all mails sent on non-exsistent MX records. E.g. if an email is sent to a non-exsisting email ID like [email protected], it is forwarded to my default email-ID. Therefore, opening possibility of infinite username and email-IDs.

Now, I automated the process of signup and login on devRant using python selenium webdriver. Then the user was verified by getting latest mail from default email-ID's imap account. Email was parsed using python's email.parser. The content of email was in HTML, so I used Beautiful Soup for parsing and extracting the `verify user` link. Finally the rant was upvoted, using selenium.

Steps involved:

  1. Generate email-ID and username, like [email protected] and yoyo.
  2. Go to devRant, fill signup details, click Submit.
  3. Check if total email count in imap account increased by 1
    1. No: Go to 3
    2. Yes: Go to 4
  4. Get confirmation link from email, verify the user.
  5. Go to the rant.
  6. Upvote.
  7. Repeat untill required amount is reached.

Notes

  • Initially I tried POP3 to read emails but it was doing weird shit, so switched to IMAP.
  • The stickers request is still pending, I have mailed to them. Waiting for the response. Update, I received stickers after 2-3 weeks.
  • Defualt password for each account, imap host, imap account and password are all set as environment variable. If they are not set, exception will be raised.
    • export PASSWORD=password, for default password
    • export IMAP_HOST=host, for IMAP_HOST
    • export IMAP_USER=user, for IMAP USER
    • export IMAP_PSSWD=imap_password, for IMAP PASSWORD
  • I know, the code, as well the design is horrible, but it works. Using classes is a much better design choice than normal functions but I didn't have that much time and this thing worked.
  • Whole source code is in the file rantupvote.py.

References