import requests import json # Cloudflare API credentials API_TOKEN = 'YOUR_API_TOKEN' ZONE_ID = 'YOUR_ZONE_ID' BASE_URL = f'https://api.cloudflare.com/client/v4/zones/{ZONE_ID}/dns_records' PATH = '' # Headers for the API request headers = { 'Authorization': f'Bearer {API_TOKEN}', 'Content-Type': 'application/json' } def get_dns_records(page=1): params = { 'page': page, 'per_page': 100 } response = requests.get(BASE_URL, headers=headers, params=params) response.raise_for_status() return response.json() def extract_a_and_cname_records(records): filtered_records = [record for record in records if record['type'] in ['A', 'CNAME']] return filtered_records def get_record(): all_records = [] page = 1 while True: result = get_dns_records(page) all_records.extend(result['result']) if result['result_info']['total_pages'] == page: break page += 1 a_and_cname_records = extract_a_and_cname_records(all_records) with open(f'{PATH}/records.txt', 'w') as f: for record in a_and_cname_records: f.write(f"{record['name']}\n") def read_domains(file_path): with open(file_path, 'r') as file: domains = file.readlines() return [domain.strip() for domain in domains] def extract_subdomains(domain): parts = domain.split('.') if len(parts) > 2: subdomain = '.'.join(parts[:-2]) else: subdomain = parts[0] return subdomain def generate_html(domains): domains.sort() html_content = '''