#!/usr/bin/env python3
import requests
import xml.etree.ElementTree as ET

# Read credentials
with open('namesil.txt', 'r') as f:
    api_key = f.read().strip().split(',')[0].strip()

# Get domain list
url = f"https://www.namesilo.com/api/listDomains?version=1&type=xml&key={api_key}"
response = requests.get(url)
print("API响应:")
print(response.text)
print()
root = ET.fromstring(response.content)

domains = [d.text for d in root.findall('.//domain')]

print(f"找到 {len(domains)} 个域名\n")

# Query DNS records for each domain
for domain in domains:
    print(f"{'='*60}")
    print(f"域名: {domain}")
    print(f"{'='*60}")
    
    dns_url = f"https://www.namesilo.com/api/dnsListRecords?version=1&type=xml&key={api_key}&domain={domain}"
    dns_response = requests.get(dns_url)
    dns_root = ET.fromstring(dns_response.content)
    
    records = dns_root.findall('.//resource_record')
    
    if records:
        for record in records:
            record_id = record.find('record_id').text if record.find('record_id') is not None else 'N/A'
            rtype = record.find('type').text if record.find('type') is not None else 'N/A'
            host = record.find('host').text if record.find('host') is not None else 'N/A'
            value = record.find('value').text if record.find('value') is not None else 'N/A'
            ttl = record.find('ttl').text if record.find('ttl') is not None else 'N/A'
            
            print(f"  [{rtype:5}] {host:30} -> {value:40} (TTL: {ttl})")
    else:
        print("  无DNS记录")
    
    print()
