Spaces:
Running
Running
File size: 1,442 Bytes
a21cd42 |
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 |
import hashlib
def get_domains(i_domains):
domains = []
for domain in i_domains.split(","):
domain = domain.strip()
domains.append(domain)
return domains
def prefix(domain):
domain_bytes = domain.encode()
prefix = hashlib.blake2b(domain_bytes, digest_size=12).hexdigest()
return prefix
def gen_cname_recs(domains):
cname_recs = []
for domain in domains:
cname_rec = f"_acme-challenge.{domain}"
cname_recs.append(cname_rec)
return cname_recs
def gen_cname_values(domains, cf_domain, exchange):
temp_cname_values = []
cname_values = []
for domain in domains:
cname_value = prefix(domain)
cname_value = f"{cname_value}.{domain}"
temp_cname_values.append(cname_value)
for cname_value in temp_cname_values:
modified_cname_value = cname_value.replace(exchange, cf_domain)
cname_values.append(modified_cname_value)
return cname_values
def gen_cname(domains, cf_domain, exchange):
cname_recs = gen_cname_recs(domains)
cname_values = gen_cname_values(domains, cf_domain, exchange)
return cname_recs, cname_values
def txt_recs(txt_records, exchange):
txt_record = txt_records.replace("_acme-challenge.", "")
txt_rec = txt_record.replace(f"{exchange}", "")
pre = prefix(txt_record)
rec = f"{pre}.{txt_rec}"
rec = rec.strip(".")
return rec |