Home > Blog > Anti-Private IP Automation for ZTE F609

Anti-Private IP Automation for ZTE F609

# python anti_private_IP_ubuntu.py
# make sure chromedriver.exe is the same version as the currently installed chrome
# ZTE F609 Modem

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import time
from selenium.webdriver.chrome.options import Options
from datetime import datetime
import os

ipAdrress = "http://192.168.1.1"
uName = "" #default ZTE Indihome username
uPassword = "" #default ZTE Indihome password

def restart():    
    browser.get(ipAdrress)

    username = browser.find_element_by_id("Frm_Username")
    password = browser.find_element_by_id("Frm_Password")
    submit   = browser.find_element_by_id("LoginId")

    username.send_keys(uName) 
    password.send_keys(uPassword)
    submit.click()

    #browser.get("http://192.168.1.1/getpage.gch?pid=1002&nextpage=manager_dev_conf_t.gch")
    browser.get(ipAdrress + "/getpage.gch?pid=1002&nextpage=manager_dev_conf_t.gch")

    reboot = browser.find_element_by_id("Submit1")
    reboot.click()

    reboot_confirm = browser.find_element_by_id("msgconfirmb")
    reboot_confirm.click()
    print("Modem ter-restart pada " + str(now))

def checkIP():
    browser.get(ipAdrress)

    username = browser.find_element_by_id("Frm_Username")
    password = browser.find_element_by_id("Frm_Password")
    submit   = browser.find_element_by_id("LoginId")

    username.send_keys(uName) 
    password.send_keys(uPassword)
    submit.click()

    browser.get(ipAdrress + "/getpage.gch?pid=1002&nextpage=IPv46_status_wan2_if_t.gch")
    IP_WAN = browser.find_element_by_id("TextPPPIPAddress0").get_attribute('value')
    print(IP_WAN)

    depan = IP_WAN.split(".")
    print(depan[0])
    if depan[0] == "10":
        print("Private IP")
        restart()
    else:
        print("Not private IP, skipping")

while True:
    # Headless mode to save RAM and GPU usage
    now = datetime.now()

    options = Options()
    options.add_argument('--headless')
    options.add_argument('--disable-gpu')
    options.BinaryLocation = "/usr/bin/chromium-browser"
    try:
      browser = webdriver.Chrome(executable_path="/usr/bin/chromedriver", chrome_options=options) 
      checkIP()
      browser.quit()
    except:
      print("Error, coba lagi")
      os.system("killall chromium-browser")
    print("Sleep for 1 hour")
    time.sleep(1*3600)

Leave a Reply

Your email address will not be published. Required fields are marked *