AWAvenue-Ads-Rule/script
2024-09-14 18:38:31 +08:00
..
Adblock.py update Title 2024-07-23 17:35:38 +08:00
AdClose.py update Title 2024-07-23 17:35:38 +08:00
Adguard.py 修复转换正则表达式错误 2024-09-14 18:38:31 +08:00
Clash-classical.py update Title 2024-07-23 17:35:38 +08:00
Clash.py update Title 2024-07-23 17:35:38 +08:00
hosts.py update Title 2024-07-23 17:35:38 +08:00
Mosdns_v5.py update Title 2024-07-23 17:35:38 +08:00
QuantumultX.py 修复转换正则表达式错误 2024-09-14 18:38:31 +08:00
README.md update Title 2024-07-23 17:35:38 +08:00
RouterOS-Adlist.py update Title 2024-07-23 17:35:38 +08:00
RouterOS.py update Title 2024-07-23 17:35:38 +08:00
Singbox-regex.py 修复转换正则表达式错误 2024-09-14 18:38:31 +08:00
Singbox.py update Title 2024-07-23 17:35:38 +08:00
Surge-RULE-SET.py 修复转换正则表达式错误 2024-09-14 18:38:31 +08:00
Surge.py update Title 2024-07-23 17:35:38 +08:00

插件开发文档

插件入口函数为build(rule)

插件返回的list格式参考:

Adguard.py:

["||xxx.com^","||xxx.cc^"], ".txt", "!", xxx

处理后的域名列表(list), 文件后缀名(string), 注释符号(string), 规则数量(int|string)

API:

  • rule.domain_list(获取域名列表)
  • rule.regex_list(获取正则表达式的域名列表)
  • rule.ip_list(获取ip列表)
  • rule.ip6_list(获取ipv6列表)

所有变量均为列表 无需读取文件

模板:


def format_domain(List): # 转换域名规则
    domain = []
    for line in List:
        domain_lines = f"  - DOMAIN,{line.strip()}"
        domain.append(domain_lines)
    return domain

def format_regex(List): # 转换正则表达式规则
    regex = []
    for line in List:
        regex_lines = f"  - DOMAIN-REGEX,'{line.strip()}'"
        regex.append(regex_lines)
    return regex

def format_ip(List): # 转换ip列表
    ip = []
    for line in List:
        ip_lines = f"  - IP-CIDR,{line.strip()}"
        ip.append(ip_lines)
    return ip

def build(rule): # 入口函数
    clash_list = ["payload:"] + format_ip(rule.ip_list) + format_domain(rule.domain_list) + format_regex(rule.regex_list) 合并规则
    return clash_list, ".yaml", "#", len(clash_list)
    #

输出文件名=插件名