fix some bugs

This commit is contained in:
BROBIRD
2026-06-02 02:06:58 +08:00
parent 888f54dfac
commit 259afe8321

View File

@@ -112,6 +112,12 @@ def parse_gfwlist(content):
if not line or line.startswith('!') or line.startswith('['):
continue
# 忽略特定的无效规则
if line == '||addons.mozilla.org/*-*/firefox/addon/ublock-origin/*':
continue
if line == '||addons.mozilla.org/firefox/downloads/file/*/ublock_origin-*.xpi':
continue
if line.startswith('@@||'):
rule = line[4:]
@@ -220,16 +226,18 @@ def generate_clash_provider_yaml(domain_list, ip_list, filename, title="payload"
# 生成分离的临时文件用于 mrs 转换
base_name = filename.replace('.yaml', '')
# 域名规则 - YAML 格式
domain_yaml = f"{title}:\n"
for domain in unique_domains:
domain_yaml += f" - DOMAIN-SUFFIX,{domain}\n"
write_file(f"{base_name}_domain.yaml", domain_yaml)
if unique_domains:
domain_yaml = f"{title}:\n"
for domain in unique_domains:
domain_yaml += f" - DOMAIN-SUFFIX,{domain}\n"
write_file(f"{base_name}_domain.yaml", domain_yaml)
# IP 规则 - YAML 格式
ip_yaml = f"{title}:\n"
for rule in ip_rules:
ip_yaml += f" - {rule}\n"
write_file(f"{base_name}_ip.yaml", ip_yaml)
if ip_rules:
ip_yaml = f"{title}:\n"
for rule in ip_rules:
ip_yaml += f" - {rule}\n"
write_file(f"{base_name}_ip.yaml", ip_yaml)
def generate_clash_ruleset_list(domain_list, ip_list, filename, title="GFWList"):
unique_domains = sorted(set(domain_list))
@@ -245,16 +253,18 @@ def generate_clash_ruleset_list(domain_list, ip_list, filename, title="GFWList")
# 生成分离的临时文件用于 mrs 转换
base_name = filename.replace('.list', '')
# 域名规则 - text 格式
domain_text = ""
for domain in unique_domains:
domain_text += f"DOMAIN-SUFFIX,{domain}\n"
write_file(f"{base_name}_domain.list", domain_text)
if unique_domains:
domain_text = ""
for domain in unique_domains:
domain_text += f"DOMAIN-SUFFIX,{domain}\n"
write_file(f"{base_name}_domain.list", domain_text)
# IP 规则 - text 格式
ip_text = ""
for rule in ip_rules:
ip_text += f"{rule}\n"
write_file(f"{base_name}_ip.list", ip_text)
if ip_rules:
ip_text = ""
for rule in ip_rules:
ip_text += f"{rule}\n"
write_file(f"{base_name}_ip.list", ip_text)
def main():
print("Fetching GFWList...")