ian

Login's Free OGUsers Auto-Bumper

ian
Apr 21st, 2019
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 9.65 KB | None | 0 0
  1. import time
  2. import requests
  3. import configparser
  4. from selenium import webdriver
  5. from selenium.webdriver.common.by import By
  6. from selenium.webdriver.firefox.options import Options
  7. from selenium.webdriver.common.keys import Keys
  8. from selenium.webdriver.support.ui import WebDriverWait
  9. from selenium.webdriver.support import expected_conditions as EC
  10. from datetime import datetime
  11.  
  12. config = configparser.RawConfigParser()
  13. config.read("settings.ini")
  14.  
  15. ogusers_username = config.get("Settings", "ogusers_username")
  16. ogusers_password = config.get("Settings", "ogusers_password")
  17. post_delay = int(config.get("Settings", "post_delay"))
  18. sleep_time = int(config.get("Settings", "sleep_time"))
  19. API_KEY = config.get("Settings", "2captcha_api_key")
  20. headless = int(config.get("Settings", "headless"))
  21.  
  22. sleep_time_hours = round(sleep_time/60/60, 2)
  23.  
  24. options = Options()
  25. if headless < 1:
  26.     options.headless = False
  27. else:
  28.     options.headless = True
  29. browser = webdriver.Firefox(options=options)
  30. wait = WebDriverWait(browser,15)
  31.  
  32. browser.get("https://ogusers.com/member.php?action=login")
  33. print("  _                 _       _                     _        ____                                   ")
  34. print(" | |               (_)     ( )         /\       | |      |  _ \                                 ")
  35. print(" | |     ___   __ _ _ _ __ |/ ___     /  \ _   _| |_ ___ | |_) |_   _ _ __ ___  _ __   ___ _ __  ")
  36. print(" | |    / _ \ / _` | | '_ \ / __|   / /\ \| | | | __/ _ \|  _ <| | | | '_ ` _ \| '_ \ / _ \ '__| ")
  37. print(" | |___| (_) | (_| | | | | | \__ \ / ____ \ |_| | || (_) | |_) | |_| | | | | | | |_) |  __/ |    ")
  38. print(" |______\___/ \__, |_|_| |_| |___/ /_/    \_\__,_|\__\___/|____/ \__,_|_| |_| |_| .__/ \___|_|    ")
  39. print("               __/ |                                                            | |               ")
  40. print("              |___/                                                             |_|               ")
  41. try:
  42.     wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="fullcontainment"]/div[1]/form/table/tbody/tr[2]/td[2]/input')))
  43. except:
  44.     try:
  45.         solved = 0
  46.         while solved < 1:
  47.             print("Solving captcha, please wait...")
  48.             site_key = '6LfBixYUAAAAABhdHynFUIMA_sa4s-XsJvnjtgB0'  # site-key, read the 2captcha docs on how to get this
  49.             url = 'http://ogusers.com/'  # example url
  50.            
  51.             s = requests.Session()
  52.            
  53.             # here we post site key to 2captcha to get captcha ID (and we parse it here too)
  54.             captcha_id = s.post("http://2captcha.com/in.php?key={}&method=userrecaptcha&googlekey={}&pageurl={}".format(API_KEY, site_key, url)).text.split('|')[1]
  55.             # then we parse gresponse from 2captcha response
  56.             recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
  57.             while 'CAPCHA_NOT_READY' in recaptcha_answer:
  58.                 time.sleep(5)
  59.                 recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
  60.             recaptcha_answer = recaptcha_answer.split('|')[1]
  61.             browser.execute_script("document.getElementById('g-recaptcha-response').style.display = 'block';")
  62.             browser.execute_script("document.getElementById('recaptcha_submit').style.display = 'block';")
  63.             browser.find_element_by_xpath('//*[@id="g-recaptcha-response"]').send_keys(recaptcha_answer)
  64.             browser.switch_to.active_element.send_keys(Keys.TAB)
  65.             browser.switch_to.active_element.send_keys(Keys.RETURN)
  66.             time.sleep(3)
  67.             try:
  68.                 browser.get("https://ogusers.com/member.php?action=login")
  69.                 wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="fullcontainment"]/div[1]/form/table/tbody/tr[1]/td/span/strong')))
  70.                 print("Captcha solved.")
  71.                 solved = 1
  72.             except:
  73.                 print("Captcha solved incorrectly.")
  74.                 solved = 0
  75.                 browser.refresh()
  76.     except:
  77.         print("An unknown error has occured.")
  78.         sttime_3 = datetime.now().strftime('%Y_%m_%d_%H_%M_%S')
  79.         file_name_3 = "unknown_error_" + sttime_3 + ".png"
  80.         browser.save_screenshot(file_name_3)
  81.         print("Error screenshot saved as " + file_name_3 + ".")
  82.         browser.quit()
  83.         exit()
  84. print("Logging into OGUsers.")
  85. try:
  86.     browser.find_element_by_xpath('//*[@id="fullcontainment"]/div[1]/form/table/tbody/tr[2]/td[2]/input').send_keys(str(ogusers_username))
  87.     browser.find_element_by_xpath('//*[@id="fullcontainment"]/div[1]/form/table/tbody/tr[3]/td[2]/input').send_keys(str(ogusers_password))
  88.     browser.find_element_by_xpath('//*[@id="fullcontainment"]/div[1]/form/table/tbody/tr[5]/td/span/input').click()
  89.     wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="cat_1_e"]/tr[1]/td[2]/a')))
  90.     print("Successfully logged into OGUsers.")
  91. except:
  92.     print("There was an error logging into OGUsers.")
  93.     sttime = datetime.now().strftime('%Y_%m_%d_%H_%M_%S')
  94.     file_name = "login_error_" + sttime + ".png"
  95.     browser.save_screenshot(file_name)
  96.     print("Error screenshot saved as " + file_name + ".")
  97.     browser.quit()
  98.     exit()
  99.  
  100. if post_delay < 15:
  101.     print("WARNING: Post delays are recommended to be atleast 15 seconds.")
  102. if sleep_time_hours < 1:
  103.     print("WARNING: Auto-bump delays are recommended to be atleast 1 hour.")
  104.    
  105. print("Running a " + str(post_delay) + " second delay between posts.")
  106. print("Running a " + str(sleep_time_hours) + " hour delay between auto-bumps.")
  107.  
  108. while True:
  109.     try:
  110.         browser.get("https://ogusers.com/")
  111.         wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="cat_1_e"]/tr[2]/td[2]/a')))
  112.         error = 0
  113.     except:
  114.         try:
  115.             solved = 0
  116.             while solved < 1:
  117.                 print("Solving captcha, please wait...")
  118.                 site_key = '6LfBixYUAAAAABhdHynFUIMA_sa4s-XsJvnjtgB0'  # site-key, read the 2captcha docs on how to get this
  119.                 url = 'http://ogusers.com/'  # example url
  120.                
  121.                 s = requests.Session()
  122.                
  123.                 # here we post site key to 2captcha to get captcha ID (and we parse it here too)
  124.                 captcha_id = s.post("http://2captcha.com/in.php?key={}&method=userrecaptcha&googlekey={}&pageurl={}".format(API_KEY, site_key, url)).text.split('|')[1]
  125.                 # then we parse gresponse from 2captcha response
  126.                 recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
  127.                 while 'CAPCHA_NOT_READY' in recaptcha_answer:
  128.                     time.sleep(5)
  129.                     recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
  130.                 recaptcha_answer = recaptcha_answer.split('|')[1]
  131.                 browser.execute_script("document.getElementById('g-recaptcha-response').style.display = 'block';")
  132.                 browser.execute_script("document.getElementById('recaptcha_submit').style.display = 'block';")
  133.                 browser.find_element_by_xpath('//*[@id="g-recaptcha-response"]').send_keys(recaptcha_answer)
  134.                 browser.switch_to.active_element.send_keys(Keys.TAB)
  135.                 browser.switch_to.active_element.send_keys(Keys.RETURN)
  136.                 time.sleep(3)
  137.                 try:
  138.                     browser.get("https://ogusers.com/")
  139.                     wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="cat_1_e"]/tr[2]/td[2]/a')))
  140.                     print("Captcha solved.")
  141.                     solved = 1
  142.                     error = 0
  143.                 except:
  144.                     print("Captcha solved incorrectly.")
  145.                     solved = 0
  146.                     browser.refresh()
  147.                     error = 0
  148.         except:
  149.             print("An unknown error has occured.")
  150.             sttime_3 = datetime.now().strftime('%Y_%m_%d_%H_%M_%S')
  151.             file_name_3 = "unknown_error_" + sttime_3 + ".png"
  152.             browser.save_screenshot(file_name_3)
  153.             print("Error screenshot saved as " + file_name_3 + ".")
  154.             error = 1
  155.             time.sleep(30)
  156.     if error == 0:
  157.         thread = 1
  158.         for line in open('threads.txt'):
  159.             if thread >= 10:
  160.                 print("WARNING: Bumping over 10 threads an hour is not recommended, you risk getting warned or banned for spamming.")
  161.             print("Posting on thread number " + str(thread) + ".")
  162.             url = line.split(',')[0]
  163.             text = line.split(',')[1]
  164.             try:
  165.                 browser.get(url)
  166.                 browser.switch_to.active_element.send_keys(Keys.TAB)
  167.                 browser.switch_to.active_element.send_keys(Keys.CONTROL + "a")
  168.                 browser.switch_to.active_element.send_keys(str(text))
  169.                 browser.find_element_by_xpath("//input[@value='Post Reply']").click()
  170.                 print("Successfully posted to thread number " + str(thread) + ".")
  171.             except:
  172.                 print("There was an error posting to thread number " + str(thread) + ".")
  173.                 sttime_2 = datetime.now().strftime('%Y_%m_%d_%H_%M_%S')
  174.                 file_name_2 = "post_error_" + sttime_2 + ".png"
  175.                 browser.save_screenshot(file_name_2)
  176.                 print("Error screenshot saved as " + file_name_2 + ".")
  177.             time.sleep(post_delay)
  178.             thread = thread + 1
  179.         print("Finished auto-bumping, sleeping for " + str(sleep_time_hours) + " hours. " + datetime.now().strftime('%H:%M'))
  180.         time.sleep(sleep_time)
Add Comment
Please, Sign In to add comment