from flask import Flask, render_template, request
import dns.resolver

app = Flask(__name__)

# این بخش آدرس اصلی سایت شما را مدیریت می کند
@app.route('/', methods=['GET', 'POST'])
def home():
    results = []
    error_message = None
    domain_name = ""
    record_type = "A"

    # اگر کاربر دکمه جستجو را زده باشد (ارسال فرم)
    if request.method == 'POST':
        domain_name = request.form.get('domain')
        record_type = request.form.get('record_type')
        
        if domain_name:
            try:
                # اجرای جستجوی DNS
                answers = dns.resolver.resolve(domain_name, record_type)
                for rdata in answers:
                    results.append(rdata.to_text())
                    
            except dns.resolver.NoAnswer:
                error_message = f"هیچ رکوردی از نوع {record_type} برای دامنه {domain_name} یافت نشد."
            except dns.resolver.NXDOMAIN:
                error_message = f"دامنه {domain_name} وجود ندارد."
            except Exception as e:
                error_message = f"خطایی رخ داد: {str(e)}"

    # ارسال اطلاعات به فایل HTML برای نمایش به کاربر
    return render_template('index.html', 
                           results=results, 
                           error=error_message, 
                           domain=domain_name, 
                           record_type=record_type)

if __name__ == '__main__':
    # اجرای سرور محلی وب روی پورت 5000
    app.run(debug=True)
