Guest User

DUO

a guest
Jan 26th, 2022
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.00 KB | None | 0 0
  1. '''
  2. Гайд по установке
  3. Установленный python 3.7+(если будет время потом скомпилирую,или скомпилируй ты анонче)
  4. потом в терминал
  5. pip install requests
  6. pip install selenium
  7. pip install webdriver-manager
  8.  
  9. Нихуя не надо, просто запускай.
  10.  
  11. Вроде прокси не требуются,ну если возникли проблемы с регой - юзай впн
  12.  
  13. По всем вопросам,багам в тред
  14. КТО БУДЕТ ПИСАТЬ СООБЩЕНИЯ ПО ТИПУ - "КОКОКО ГОВНОКОД","ХРЮХРЮХРЮ ПИТОН";Просьба пойти срать на хабр
  15. Удачного вечера анон!
  16. '''
  17.  
  18. import requests
  19. import string,random,time,re
  20. import warnings
  21. import uuid
  22. from selenium import webdriver
  23.  
  24. warnings.filterwarnings("ignore")
  25.  
  26.  
  27.  
  28. banner = """
  29. +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+
  30. |O|P|E|R|A|T|I|O|N| |B|L|A|C|K| |M|A|M|B|A|
  31. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  32. |B|y| |A|n|o|n| |f|o|r| |2|c|h|.|h|k|+|O|G|N|E|L|I|S|-|K|U|N|
  33. +-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  34. |V|e|r| |1|.|2|DUO-HEADLESS|
  35. +-+-+-+ +-+-+-+-+-+-+-+-+-+-
  36. """
  37.  
  38. def getEmailMessage(token):
  39. resp = requests.get('https://api.mail.tm/messages', headers={'Authorization': 'Bearer ' + token})
  40. if resp.status_code != 200:
  41. raise Exception
  42. emails = resp.json()['hydra:member']
  43. if len(emails) != 0:
  44. id = emails[0]['id']
  45. resp = requests.get('https://api.mail.tm/messages/' + id, headers={'Authorization': 'Bearer ' + token})
  46. if resp.status_code != 200:
  47. raise Exception
  48. return resp.json()['html'][0]
  49. return None
  50.  
  51. def ExtractPwd(message):
  52. match = re.search(r'href=[\'"]?([^\'" >]+)', message)
  53. if match:
  54. return match.group(0).replace('href="',"")
  55. else:
  56. return None
  57.  
  58. def GenPassword(min: int = 20, max: int = 20):
  59. pwd = ""
  60. special_list = ["!","@","#","$","%"]
  61. pwd += ''.join(random.choice(string.ascii_uppercase) for i in range(5))
  62. pwd += ''.join(random.choice(string.ascii_lowercase) for i in range(5))
  63. pwd += ''.join(random.choice(string.digits) for i in range(5))
  64. pwd += ''.join(random.choice(special_list) for i in range(5))
  65. return ''.join(random.sample(pwd,len(pwd)))
  66.  
  67. def main():
  68. itter = 0
  69. print(banner)
  70. ch = "nothing"
  71. v = ["f", "F", "c", "C"]
  72. while ch not in v:
  73. ch = input("Firefox (F) или Chrome (C)?: ")
  74. is_headless = None
  75. while is_headless not in ["y", "Y", "n", "N"]:
  76. is_headless = input("Без показа окна браузера? С ХРОМОМ ВОЗМОЖНО НЕ РАБОТАЕТ (Y/N): ")
  77. while True:
  78. try:
  79. login = uuid.uuid4().hex.replace('-', '-')
  80. resp = requests.post(f"https://api.mail.tm/accounts", json={"address": login + "@sinaite.net",
  81. "password": "2@k6O8iJ"})
  82. if resp.status_code != 201:
  83. raise Exception
  84. email = resp.json()['address']
  85.  
  86. resp = requests.post(f"https://api.mail.tm/token", json={"address": email,
  87. "password": "2@k6O8iJ"})
  88. if resp.status_code != 200:
  89. raise Exception
  90. token = resp.json()['token']
  91.  
  92. resp = requests.get('https://api.mail.tm/messages', headers={'Authorization': 'Bearer ' + token})
  93. if resp.status_code != 200:
  94. raise Exception
  95.  
  96. driver = None
  97. if ch in ["c", "C"]:
  98. print("Запускаем Chrome")
  99. from selenium.webdriver.chrome.options import Options
  100. from webdriver_manager.chrome import ChromeDriverManager
  101. chrome_options = Options()
  102. if is_headless in ["y", "Y"]:
  103. chrome_options.add_argument("--disable-extensions")
  104. #chrome_options.add_argument("--disable-gpu")
  105. #chrome_options.add_argument("--headless")
  106. chrome_options.headless = True
  107. driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)
  108.  
  109. if ch in ["f", "F"]:
  110. print("Запускаем Firefox")
  111. from selenium.webdriver.firefox.options import Options
  112. from webdriver_manager.firefox import GeckoDriverManager
  113. options = Options()
  114. if is_headless in ["y", "Y"]:
  115. options.add_argument("--disable-extensions")
  116. #options.add_argument("--disable-gpu")
  117. #options.add_argument("--headless")
  118. options.headless = True
  119. driver = webdriver.Firefox(executable_path=GeckoDriverManager().install(), options=options)
  120.  
  121.  
  122. driver.implicitly_wait(5)
  123. print("Начинаем регистрацию...")
  124. driver.get("https://63.ru")
  125. try:
  126. driver.find_element_by_xpath('//*[@id="onesignal-slidedown-cancel-button"]').click()
  127. except:
  128. print()
  129. driver.find_element_by_xpath('//*[@id="app"]/div[2]/header/div[1]/div[2]/a').click()
  130. driver.find_element_by_xpath('//*[@id="app"]/div[2]/div[3]/div/div/div[2]/div/form/div[3]/button').click()
  131. driver.find_element_by_xpath('//*[@id="register_login"]').send_keys(email)
  132. driver.find_element_by_xpath('//*[@id="register_password"]').send_keys(GenPassword())
  133. driver.find_element_by_xpath('//*[@id="app"]/div[2]/div[4]/div/div/div[2]/div/form/button').click()
  134. print(f"Мыло: {email}")
  135. while True:
  136. time.sleep(1)
  137. message = getEmailMessage(token)
  138. if message is not None:
  139. break
  140. print("Ожидаем письмо...")
  141. driver.get(ExtractPwd(message))
  142. print("Пароль получен")
  143. driver.get("https://63.ru/text/education/2022/01/25/70386878/")
  144. print("Голосуем за нигру")
  145. driver.find_element_by_xpath(
  146. '//*[@id="app"]/div[2]/div[1]/div/div/div[3]/div[2]/div[1]/div[1]/div[1]/div/div[2]/div[21]/div[2]/div[7]/div[2]/div[2]/div/button').click()
  147. driver.close()
  148. itter += 1
  149. print(f"Успешно! Итерация:{itter}")
  150. except Exception as e:
  151. print("shhiiet: " + str(e))
  152. if driver is not None:
  153. try:
  154. driver.close()
  155. except:
  156. print("sssssshhhhhhhhieeet")
  157. finally:
  158. time.sleep(5)
  159.  
  160. if __name__ == '__main__':
  161.  
  162. main()
Add Comment
Please, Sign In to add comment