noip-auto-confirm/script.py

79 lines
2.9 KiB
Python
Raw Normal View History

2022-11-25 10:17:37 +07:00
import requests
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
from datetime import datetime
import base64
import json
import urllib.parse
from selenium.webdriver.chrome.options import Options
def has_numbers(inputString):
return any(char.isdigit() for char in inputString)
# Login credentials
username = "" # Your noip username
password = "" # Your noip passowrd
while(1):
try:
now = datetime.now()
dt_string = now.strftime("%d-%m-%Y %H:%M:%S")
# To bypass CloudFlare's detection
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.50 Safari/537.36'
options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox') # Required if you run your script as Administrators / sudoers
options.add_argument('--window-size=1920,1080')
# To bypass CloudFlare's detection
# options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument(f'user-agent={user_agent}')
browser = webdriver.Chrome(executable_path="/usr/bin/chromedriver", chrome_options=options)
browser.delete_all_cookies()
browser.get("https://www.noip.com/login")
browser.implicitly_wait(3)
browser.save_screenshot('ss_noip.png')
browser.find_element_by_xpath("/html/body/section[3]/section/div/div/div/div/div/div[2]/form/section[1]/input").send_keys(username)
browser.find_element_by_xpath("/html/body/section[3]/section/div/div/div/div/div/div[2]/form/section[2]/input").send_keys(password)
browser.find_element_by_xpath("/html/body/section[3]/section/div/div/div/div/div/div[2]/form/button").click()
browser.get("https://my.noip.com/dynamic-dns")
try:
browser.find_element_by_xpath("/html/body/div[1]/div/div/div[3]/div[1]/div[2]/div/div/div[1]/div[1]/table/tbody/tr[1]/td[5]/button[1]").click()
except:
print("Skip")
try:
browser.find_element_by_xpath("/html/body/div[1]/div/div/div[3]/div[1]/div[2]/div/div/div[1]/div[1]/table/tbody/tr[2]/td[5]/button[1]").click()
except:
print("Skip")
try:
browser.find_element_by_xpath("/html/body/div[1]/div/div/div[3]/div[1]/div[2]/div/div/div[1]/div[1]/table/tbody/tr[3]/td[5]/button[1]").click()
except:
print("Skip")
# Optional, to see the result in the form of screenshot image
browser.save_screenshot('ss_noip.png')
browser.quit()
print("Sleep for 1 hour")
time.sleep(60*60)
except Exception as e:
print(e)
browser.quit()
print("Sleep for 1 hour")
time.sleep(60*60)