domain = sys.argv[1]
headers = {
- "user-agent": "Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0"
+ "user-agent": "Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0"
}
def get_type(instdomain: str) -> str:
try:
res = get(f"https://{instdomain}/nodeinfo/2.1.json", headers=headers, timeout=5)
+ if res.status_code == 404:
+ res = get(f"https://{instdomain}/nodeinfo/2.0", headers=headers, timeout=5)
if res.status_code == 404:
res = get(f"https://{instdomain}/nodeinfo/2.0.json", headers=headers, timeout=5)
if res.ok and "text/html" in res.headers["content-type"]:
if res.ok:
if res.json()["software"]["name"] == "akkoma":
return "pleroma"
+ elif res.json()["software"]["name"] == "hometown":
+ return "mastodon"
+ elif res.json()["software"]["name"] == "ecko":
+ return "mastodon"
else:
return res.json()["software"]["name"]
elif res.status_code == 404:
)
for instance in peerlist:
+ instance = instance.lower()
print(instance)
try:
+ c.execute(
+ "select domain from instances where domain = ?", (instance,)
+ )
if c.fetchone() == None:
c.execute(
"insert into instances select ?, ?, ?",