feat: add automation scripts for NAS fixes, Authentik monitoring, and Technitium DNS management
This commit is contained in:
30
scripts/test_sn_nas_all_resources.py
Normal file
30
scripts/test_sn_nas_all_resources.py
Normal file
@@ -0,0 +1,30 @@
|
||||
import urllib.request
|
||||
import ssl
|
||||
import re
|
||||
|
||||
ctx = ssl.create_default_context()
|
||||
ctx.check_hostname = False
|
||||
ctx.verify_mode = ssl.CERT_NONE
|
||||
|
||||
url = "https://sn-nas.snarfnet.net/"
|
||||
req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"})
|
||||
resp = urllib.request.urlopen(req, context=ctx)
|
||||
html = resp.read().decode('utf-8', errors='replace')
|
||||
tags = re.findall(r'<(?:script|link)[^>]+(?:src|href)="([^"]+)"', html)
|
||||
|
||||
failed = []
|
||||
print(f"Testing {len(tags)} resources on sn-nas.snarfnet.net...")
|
||||
for t in tags:
|
||||
res_url = f"https://sn-nas.snarfnet.net/{t}"
|
||||
try:
|
||||
r = urllib.request.Request(res_url, headers={"User-Agent": "Mozilla/5.0"})
|
||||
with urllib.request.urlopen(r, context=ctx, timeout=5) as res:
|
||||
if res.status != 200:
|
||||
failed.append((res_url, res.status))
|
||||
except Exception as e:
|
||||
failed.append((res_url, str(e)))
|
||||
|
||||
print(f"Finished. Failures: {len(failed)}")
|
||||
for f in failed:
|
||||
print(" ", f)
|
||||
|
||||
Reference in New Issue
Block a user