2026-01-13 19:13:22 +01:00
|
|
|
import requests, schedule, time, os
|
|
|
|
|
# from bs4 import BeautifulSoup
|
2026-01-24 22:53:51 +01:00
|
|
|
# from whatDomain import *
|
|
|
|
|
import whatDomain
|
2026-01-13 19:13:22 +01:00
|
|
|
|
|
|
|
|
EXTRAURL = []
|
|
|
|
|
|
|
|
|
|
repoListFile = open(os.getenv("REPOFILE", "customRepoList.list"), 'r')
|
|
|
|
|
i = 0
|
|
|
|
|
for repoUrl in repoListFile:
|
|
|
|
|
i += 1
|
|
|
|
|
print(repoUrl.strip())
|
|
|
|
|
EXTRAURL.append(repoUrl.strip())
|
|
|
|
|
repoListFile.close()
|
|
|
|
|
|
|
|
|
|
CUSTOMIPV4FILENAME = str(os.getenv("CUSTOMIPV4FILENAME", "CustomMirrorListV4"))
|
|
|
|
|
CUSTOMIPV6FILENAME = str(os.getenv("CUSTOMIPV6FILENAME", "CustomMirrorListV6"))
|
|
|
|
|
|
|
|
|
|
# EXTRAURL = list(os.getenv("EXTRAURL", "https://mdu.se/"))
|
|
|
|
|
IPv4FILE = f"/etc/debmirror/{CUSTOMIPV4FILENAME}"
|
|
|
|
|
IPv6FILE = f"/etc/debmirror/{CUSTOMIPV6FILENAME}"
|
|
|
|
|
|
|
|
|
|
def sanitizeURL(inpurl: str):
|
|
|
|
|
if "https://" in inpurl:
|
|
|
|
|
outurl = inpurl[8:]
|
|
|
|
|
elif "http://" in inpurl:
|
|
|
|
|
outurl = inpurl[7:]
|
|
|
|
|
elif "" in inpurl:
|
|
|
|
|
return 7
|
|
|
|
|
elif "http://" or "https://" not in url:
|
|
|
|
|
outurl = inpurl
|
|
|
|
|
else:
|
|
|
|
|
return inpurl
|
|
|
|
|
|
|
|
|
|
i = 0
|
|
|
|
|
for char in outurl:
|
|
|
|
|
i += 1
|
|
|
|
|
if char == "/":
|
|
|
|
|
outurl = outurl[:i]
|
|
|
|
|
|
|
|
|
|
if char == "/":
|
|
|
|
|
outurl = outurl[:-1]
|
|
|
|
|
return outurl
|
|
|
|
|
|
|
|
|
|
def LeJob():
|
|
|
|
|
|
|
|
|
|
print("Starting lookup")
|
|
|
|
|
|
|
|
|
|
# print(LeMirrorDict)
|
|
|
|
|
|
|
|
|
|
with open(IPv4FILE, "w",) as fW:
|
|
|
|
|
|
|
|
|
|
for url in EXTRAURL:
|
|
|
|
|
goodurl = sanitizeURL(url)
|
|
|
|
|
# print(goodurl)
|
|
|
|
|
|
|
|
|
|
if goodurl == 7:
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
# ip4Dict = ermWhatATheIpFromDomainYaCrazy(url)
|
|
|
|
|
ip4Dict = ermWhatATheIpFromDomainYaCrazy(goodurl)
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
for key, ip in ip4Dict.items():
|
|
|
|
|
print(ip + "/32")
|
|
|
|
|
|
|
|
|
|
fW.write(ip + "/32" + "\n")
|
|
|
|
|
except AttributeError:
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with open(IPv6FILE, "w",) as fW:
|
|
|
|
|
|
|
|
|
|
for url in EXTRAURL:
|
|
|
|
|
goodurl = sanitizeURL(url)
|
|
|
|
|
|
|
|
|
|
if goodurl == 7:
|
|
|
|
|
continue
|
|
|
|
|
# print(goodurl)
|
|
|
|
|
|
|
|
|
|
# ip6Dict = ermWhatAAAATheIpFromDomainYaCrazy(url)
|
|
|
|
|
ip6Dict = ermWhatAAAATheIpFromDomainYaCrazy(goodurl)
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
for key, ip in ip6Dict.items():
|
|
|
|
|
print(ip + "/128")
|
|
|
|
|
|
|
|
|
|
fW.write(ip + "/128" + "\n")
|
|
|
|
|
except AttributeError:
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-01-24 22:53:51 +01:00
|
|
|
if __name__ == "__main__":
|
|
|
|
|
LeJob()
|
2026-01-13 19:13:22 +01:00
|
|
|
|
2026-01-24 22:53:51 +01:00
|
|
|
print("Done")
|