File size: 1,734 Bytes
a655661
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
from dns import resolver
from gen_client_cnames import gen_client_cnames

def verify_cname(i_domains):
    cname_rec = []
    cname_value_expected = []
    cname_value_found = []
    cname_status = []
    cf_domain = "silerudaagartha.eu.org"
    cname_recs, cname_values = gen_client_cnames(i_domains, cf_domain)
    
    for rec, value in zip(cname_recs, cname_values):
        redirect_domain = None
        cname_record = None
        status = None
        
        try:
            cname_answers = resolver.resolve(rec, 'CNAME')
            for answer in cname_answers:
                cname_record = answer.to_text().rstrip(".")
                if cname_record.startswith('_acme-challenge'):
                    redirect_domain = cname_record.split('.')[-1]
                else:
                    redirect_domain = cname_record
        except Exception as e:
            print(f"An error occurred while resolving {rec}: {e}")
            redirect_domain = None
            cname_record = None
        
        if redirect_domain in cname_values:
            status = "Verified"
        elif cname_record in cname_values:
            status = "Verified"
        else:
            status = "Not Verified"
        
        cname_rec.append(rec)
        cname_value_expected.append(value)
        cname_value_found.append(redirect_domain or cname_record)
        cname_status.append(status)
    
    table_data = []
    for record, expvalue, foundval, stat in zip(cname_rec, cname_value_expected, cname_value_found, cname_status):
        table_data.append([record, expvalue, foundval, stat])
    
    return table_data

table_data = verify_cname("thenayankasturi.eu.org, dash.thenayankasturi.eu.org, www.thenayankasturi.eu.org")