fetch ip and send to no-ip
This commit is contained in:
parent
7bf01c3e80
commit
f7e7d5df2d
48
ipupdate.py
Normal file
48
ipupdate.py
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
import requests
|
||||||
|
import re
|
||||||
|
|
||||||
|
LOGIN_URL = "https://portal.dhivehinet.net.mv/adsls/login_api"
|
||||||
|
HOME_URL = "https://portal.dhivehinet.net.mv/home"
|
||||||
|
|
||||||
|
#The creds
|
||||||
|
DHIRAAGU_USERNAME=""
|
||||||
|
DHIRAAGU_PASSWORD=""
|
||||||
|
NOIP_USERNAME=""
|
||||||
|
NOIP_PASSWORD=""
|
||||||
|
NOIP_DOMAIN=""
|
||||||
|
|
||||||
|
def login(username= DHIRAAGU_USERNAME, password=DHIRAAGU_PASSWORD):
|
||||||
|
|
||||||
|
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
|
||||||
|
form_data = {"data[adsl][username]": username, "data[adsl][password]": password}
|
||||||
|
|
||||||
|
login_req = requests.post(LOGIN_URL,headers=headers, data=form_data)
|
||||||
|
|
||||||
|
# 200 means the creds are correct
|
||||||
|
if login_req.status_code == 200:
|
||||||
|
cookie = login_req.cookies
|
||||||
|
home_page = requests.get(HOME_URL,cookies=cookie) #get the home page with the returned cookie
|
||||||
|
return home_page.text
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
#tries to find ip address from the homepage with regex
|
||||||
|
|
||||||
|
def getIp(string):
|
||||||
|
#tries to filter so it will work if two ip matches are found
|
||||||
|
results = re.findall('<td colspan="2">(.*)</td>', string)
|
||||||
|
result = ' '.join(result for result in results)
|
||||||
|
#finds the ip in the new string
|
||||||
|
ip_candidates = re.findall(r"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b", result)
|
||||||
|
if len(ip_candidates) == 1:
|
||||||
|
return ip_candidates[0]
|
||||||
|
else:
|
||||||
|
return "NULL"
|
||||||
|
|
||||||
|
page = login()
|
||||||
|
DHIRAAGU_IPADDRESS = getIp(page)
|
||||||
|
|
||||||
|
print("IP Adress: {}".format(DHIRAAGU_IPADDRESS))
|
||||||
|
|
||||||
|
#Send IP to no-ip.com for DNS update
|
||||||
|
requests.get("http://"+(NOIP_USERNAME)+":"+(NOIP_PASSWORD)+"@dynupdate.no-ip.com/nic/update?hostname="+(NOIP_DOMAIN)+"&myip="+(DHIRAAGU_IPADDRESS))
|
Loading…
x
Reference in New Issue
Block a user