mirror of
https://github.com/TG-Twilight/AWAvenue-Ads-Rule.git
synced 2025-11-04 14:49:47 +08:00
32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
import os
|
|
import dns.resolver
|
|
|
|
|
|
SCRIPT_PATH = os.path.join(os.getcwd(), "script") # 插件文件夹
|
|
RULE_PATH = os.path.join(os.getcwd(), "rule") # 规则文件夹
|
|
OUT_PATH = os.getcwd() + "/out" # 输出文件夹
|
|
domain_file=RULE_PATH + "/domain.txt" # 规则文件
|
|
regex_file=RULE_PATH + "/domain_regex.txt" # 正则规则文件
|
|
ip_file=RULE_PATH + "/ip.txt" # IP规则文件
|
|
ip6_file=RULE_PATH + "/ip6.txt" # IPv6规则文件
|
|
|
|
|
|
|
|
def check_domain(domain):
|
|
resolver = dns.resolver.Resolver(configure=False)
|
|
resolver.nameservers = [ '223.5.5.5', '119.29.29.29', '8.8.8.8', '1.1.1.1', '2400:3200:baba::1']
|
|
resolver.timeout = 3
|
|
resolver.lifetime = 5
|
|
|
|
result = {"A": False, "AAAA": False}
|
|
try:
|
|
A = resolver.resolve(domain, "A", raise_on_no_answer=False)
|
|
result["A"] = bool(A and A.rrset)
|
|
except Exception as e:
|
|
print(f"{domain} 解析 A 记录时出错 从domain_list中去除 {e}")
|
|
try:
|
|
AAAA = resolver.resolve(domain, "AAAA", raise_on_no_answer=False)
|
|
result["AAAA"] = bool(AAAA and AAAA.rrset)
|
|
except Exception as e:
|
|
print(f"{domain} 解析 AAAA 记录时出错 从domainv6_list中去除 {e}")
|
|
return result |