Spaces:
Sleeping
Sleeping
import gradio as gr | |
import dns.resolver | |
supported_types = [ | |
'A', 'AAAA', 'CAA', 'CNAME', 'DS', 'DNSKEY', 'MX', | |
'NS', 'NSEC', 'NSEC3', 'RRSIG', 'SOA', 'TXT' | |
] | |
def dns_lookup(domain, record_type): | |
resolver = dns.resolver.Resolver() | |
try: | |
answers = resolver.resolve(domain, record_type) | |
records = [str(rdata) for rdata in answers] | |
return '\n'.join(records) | |
except Exception as e: | |
return f"Error: {e}" | |
iface = gr.Interface( | |
fn=dns_lookup, | |
inputs=[ | |
gr.Textbox(lines=1, placeholder="example.com", label="Domain Name"), | |
gr.Dropdown(choices=supported_types, value='A', label="Record Type") | |
], | |
outputs=gr.Textbox(), | |
title="DNS Resolver", | |
description="Enter a domain name and select a DNS record type to perform a DNS lookup." | |
) | |
iface.launch() | |