From aef319700fe28752604149f25c2d2e8bc45a0c03 Mon Sep 17 00:00:00 2001 From: elysias123 <118418714+elysias123@users.noreply.github.com> Date: Mon, 19 May 2025 15:22:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E6=97=A0=E6=95=88=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E6=9F=A5=E8=AF=A2(action=E6=97=A0=E6=B3=95=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E6=AD=A3=E7=A1=AE=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E6=9C=89=E6=95=88)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 19 +++---------------- script/Dnsmasq.py | 6 ++---- script/RouterOS-Adlist.py | 6 ++---- script/RouterOS.py | 6 ++---- script/hosts.py | 7 +++---- 5 files changed, 12 insertions(+), 32 deletions(-) diff --git a/main.py b/main.py index 1faa049..00b3555 100755 --- a/main.py +++ b/main.py @@ -20,7 +20,7 @@ def get_latest_git_tag(): # 获取最新的git tag class RuleList: def __init__(self, domain_file, regex_file, ip_file, ip6_file): - self.domain_list, self.domainv6_list = self.domain_file(domain_file) + self.domain_list = self.domain_file(domain_file) self.regex_list = self.regex_file(regex_file) self.ip_list = self.ip_file(ip_file) self.ip6_list = self.ip6_file(ip6_file) @@ -30,20 +30,7 @@ class RuleList: def domain_file(self, filename): with open(filename, 'r') as file: - domains = {line.strip() for line in file} - - valid_domains = set() - valid_domains_v6 = set() - with concurrent.futures.ThreadPoolExecutor(max_workers=8) as executor: - future_to_domain = {executor.submit(config.check_domain, domain): domain for domain in domains} - for future in concurrent.futures.as_completed(future_to_domain): - domain = future_to_domain[future] - result = future.result() - if result["A"] or result["AAAA"]: - valid_domains.add(domain) - if result["AAAA"]: - valid_domains_v6.add(domain) - return sorted(valid_domains), sorted(valid_domains_v6) + return sorted({line.strip() for line in file}) def regex_file(self, filename): with open(filename, 'r') as file: @@ -118,7 +105,7 @@ def RunScript(): # 判断插件是否有list、total、suffix、comment四个属性 if len(plugins) == 4: WriteFile(plugins_name, plugins['list'], plugins['suffix'], plugins['comment'], str(plugins['total'])) - print(f"{plugins_name}转换成功") + print(f"{plugins_name}转换成功 共计 "+ str(plugins['total'])+ " 条规则") else: print(f"转换插件:{plugins_name}执行失败: 缺少必要属性") diff --git a/script/Dnsmasq.py b/script/Dnsmasq.py index 8ac5912..df3b995 100644 --- a/script/Dnsmasq.py +++ b/script/Dnsmasq.py @@ -1,16 +1,14 @@ -def format_domain(List, Listv6): +def format_domain(List): domain = [] for line in List: domain_lines = f"address=/{line.strip()}/0.0.0.0" domain.append(domain_lines) - - for line in Listv6: domain_lines = f"address=/{line.strip()}/::" domain.append(domain_lines) return domain def build(rule): - list = format_domain(rule.domain_list, rule.domainv6_list) + list = format_domain(rule.domain_list) return {'list': list, 'suffix': '.conf', 'comment': '#', 'total': len(list)} \ No newline at end of file diff --git a/script/RouterOS-Adlist.py b/script/RouterOS-Adlist.py index f7e43a3..f1b258b 100755 --- a/script/RouterOS-Adlist.py +++ b/script/RouterOS-Adlist.py @@ -1,17 +1,15 @@ import json -def format_domain(List, Listv6): +def format_domain(List): domain = ["0.0.0.0 localhost", "::1 localhost", "", ""] for line in List: domain_lines = f"0.0.0.0 {line.strip()}" domain.append(domain_lines) - - for line in Listv6: domain_lines = f":: {line.strip()}" domain.append(domain_lines) return domain def build(rule): - list = format_domain(rule.domain_list, rule.domainv6_list) + list = format_domain(rule.domain_list) return {'list': list, 'suffix': '.txt', 'comment': '#', 'total': len(list)} \ No newline at end of file diff --git a/script/RouterOS.py b/script/RouterOS.py index fbad858..b7b828c 100755 --- a/script/RouterOS.py +++ b/script/RouterOS.py @@ -1,16 +1,14 @@ import json -def format_domain(List, Listv6): +def format_domain(List): domain = [] for line in List: domain_line = f"ip dns static add address=240.0.0.1 name={line.strip()}" domain.append(domain_line) - - for line in Listv6: domain_line = f"ip dns static add address=:: name={line.strip()}" domain.append(domain_line) return domain def build(rule): - list = format_domain(rule.domain_list, rule.domainv6_list) + list = format_domain(rule.domain_list) return {'list': list, 'suffix': '.txt', 'comment': '!', 'total': len(list)} diff --git a/script/hosts.py b/script/hosts.py index 401e4fd..6006531 100755 --- a/script/hosts.py +++ b/script/hosts.py @@ -1,16 +1,15 @@ -def format_domain(List, Listv6): +def format_domain(List): domain = ["127.0.0.1 localhost", "::1 localhost", "", ""] for line in List: domain_lines = f"0.0.0.0 {line.strip()}" domain.append(domain_lines) - - for line in Listv6: domain_lines = f":: {line.strip()}" domain.append(domain_lines) + return domain def build(rule): - list = format_domain(rule.domain_list, rule.domainv6_list) + list = format_domain(rule.domain_list) return {'list': list, 'suffix': '.txt', 'comment': '!', 'total': len(list)} \ No newline at end of file