python3 program to fetch hosting providers for invidious instances
- 📅 2023-05-08T19:40:39.236Z
- 👁️ 174 katselukertaa
- 🔓 Julkinen
# Usage: python3 invidious-hosting-providers.py > invidious-hosting-providers.csv
import shodan
import requests
import dns.resolver
api = shodan.Shodan('SHODAN_API_KEY')
print("domain;ip;invidious_api_cc;shodan_org;shodan_isp;shodan_cc")
for instance in requests.get("https://api.invidious.io/instances.json?pretty=1&sort_by=type,users").json():
domain = instance[0]
if ".onion" in domain or ".i2p" in domain:
break
result = dns.resolver.resolve(domain, 'A')
# Check how many A records domain has (only kavin.rocks has 2)
# print(domain, len(result))
ip = result[0].to_text()
try:
info = api.host(ip)
print(domain, ip, instance[1]["region"], info["org"], info["isp"], info["country_code"], sep=";")
except:
print(domain, ip, None, None, None, None, sep=";")