Last active
February 20, 2019 03:04
-
-
Save eioo/1a33668c3b0f34a2e4f208b3a474ca6b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import queue | |
| import random | |
| import string | |
| import sys | |
| from threading import Thread | |
| import requests | |
| from user_agent import generate_user_agent | |
| hosts = [ | |
| { | |
| 'login_url': 'https://services.runescape.com-leg.top/weblogin/loginForm/', | |
| 'action_url': 'https://services.runescape.com-boy.top/actions.php', | |
| 'usesLive': True | |
| }, | |
| { | |
| 'login_url': 'https://services.runescape.com-boy.top/weblogin/loginForm/', | |
| 'action_url': 'https://services.runescape.com-boy.top/actions.php', | |
| 'usesLive': True | |
| } | |
| ] | |
| bank_pin_url = '' | |
| email_providers = ["gmail.com", "hotmail.com", "live.com", "outlook.com"] | |
| words = None | |
| def random_string(size, chars): | |
| return ''.join(random.choice(chars) for _ in range(size)) | |
| def load_usernames(): | |
| global words | |
| with open('words.txt', 'r') as f: | |
| words = f.read().split('\n') | |
| def random_username(): | |
| return random.choice(words) | |
| def random_password(): | |
| password = random.choice(words) | |
| n = random.randint(0, 5) | |
| if n == 0: | |
| password += "123" | |
| elif n == 1: | |
| password += random.choice(list("!\"#¤%&/()=")) + str(random.randint(0, 100)) | |
| elif n == 2: | |
| password = str(random.randint(0, 100)) + password | |
| cap = random.randint(0, 5) | |
| if cap == 0: | |
| password = password.capitalize() | |
| return password | |
| def login(): | |
| random_host = random.choice(hosts) | |
| sess = requests.session() | |
| sess.headers.update({ | |
| 'User-Agent': generate_user_agent() | |
| }) | |
| email = random_username() + '@' + random.choice(email_providers) | |
| password = random_password() | |
| payload = { | |
| 'username': email, | |
| 'password': random_password(), | |
| 'recaptcha_response': random_string(356, string.ascii_uppercase + string.ascii_lowercase + string.digits), | |
| 'login': 'submit', | |
| 'mod': 'eww', | |
| 'ssl': random_string(32, string.ascii_lowercase + string.digits), | |
| 'dest': 'community', | |
| 'page_referral': '', | |
| 'token': random_string(32, string.ascii_lowercase + string.digits) | |
| } | |
| sess.post(random_host['login_url'], data=payload) | |
| payload = { | |
| 'service': 'true', | |
| 'type': 'pin', | |
| 'pin': random_string(4, string.digits) | |
| } | |
| sess.post(random_host['action_url'], data=payload) | |
| for i in range(1, 7): | |
| payload = { | |
| 'service': 'true', | |
| 'type': 'authcode', | |
| 'authcode': random_string(i, string.ascii_uppercase + string.digits) | |
| } | |
| if random_host['usesLive'] and i == 6: | |
| payload['livestatus'] = '1' | |
| sess.post(random_host['action_url'], data=payload) | |
| sys.stdout.write(f"{email} : {password} : {random_host['login_url']}\n") | |
| def login_worker(): | |
| while True: | |
| login() | |
| def main(): | |
| work_threads = 20 | |
| load_usernames() | |
| print("Starting threads") | |
| for i in range(work_threads): | |
| t = Thread(target=login_worker) | |
| t.start() | |
| main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment