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('['): if not line or line.startswith('!') or line.startswith('['):
continue 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('@@||'): if line.startswith('@@||'):
rule = line[4:] rule = line[4:]
@@ -220,16 +226,18 @@ def generate_clash_provider_yaml(domain_list, ip_list, filename, title="payload"
# 生成分离的临时文件用于 mrs 转换 # 生成分离的临时文件用于 mrs 转换
base_name = filename.replace('.yaml', '') base_name = filename.replace('.yaml', '')
# 域名规则 - YAML 格式 # 域名规则 - YAML 格式
domain_yaml = f"{title}:\n" if unique_domains:
for domain in unique_domains: domain_yaml = f"{title}:\n"
domain_yaml += f" - DOMAIN-SUFFIX,{domain}\n" for domain in unique_domains:
write_file(f"{base_name}_domain.yaml", domain_yaml) domain_yaml += f" - DOMAIN-SUFFIX,{domain}\n"
write_file(f"{base_name}_domain.yaml", domain_yaml)
# IP 规则 - YAML 格式 # IP 规则 - YAML 格式
ip_yaml = f"{title}:\n" if ip_rules:
for rule in ip_rules: ip_yaml = f"{title}:\n"
ip_yaml += f" - {rule}\n" for rule in ip_rules:
write_file(f"{base_name}_ip.yaml", ip_yaml) 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"): def generate_clash_ruleset_list(domain_list, ip_list, filename, title="GFWList"):
unique_domains = sorted(set(domain_list)) unique_domains = sorted(set(domain_list))
@@ -245,16 +253,18 @@ def generate_clash_ruleset_list(domain_list, ip_list, filename, title="GFWList")
# 生成分离的临时文件用于 mrs 转换 # 生成分离的临时文件用于 mrs 转换
base_name = filename.replace('.list', '') base_name = filename.replace('.list', '')
# 域名规则 - text 格式 # 域名规则 - text 格式
domain_text = "" if unique_domains:
for domain in unique_domains: domain_text = ""
domain_text += f"DOMAIN-SUFFIX,{domain}\n" for domain in unique_domains:
write_file(f"{base_name}_domain.list", domain_text) domain_text += f"DOMAIN-SUFFIX,{domain}\n"
write_file(f"{base_name}_domain.list", domain_text)
# IP 规则 - text 格式 # IP 规则 - text 格式
ip_text = "" if ip_rules:
for rule in ip_rules: ip_text = ""
ip_text += f"{rule}\n" for rule in ip_rules:
write_file(f"{base_name}_ip.list", ip_text) ip_text += f"{rule}\n"
write_file(f"{base_name}_ip.list", ip_text)
def main(): def main():
print("Fetching GFWList...") print("Fetching GFWList...")