Breaking changes

Fix data URIs not correctly parsed.
Fix downloading files may be caught in infinite redirect loops.
Add experimental JavaScript support for providing subscriptions, filtering nodes, sorting nodes and generating groups.
Add tag support for adding group name to a specific link.
Add complete matcher support for Emoji and rename match rule.
Optimize codes.
Update build scripts.
This commit is contained in:
Tindy X
2020-05-29 19:15:05 +08:00
parent 8385792fec
commit f30b3c7cbf
19 changed files with 650 additions and 249 deletions

View File

@@ -22,6 +22,13 @@ exclude_remarks=(到期|剩余流量|时间|官网|产品)
;Only include nodes which remarks match the following patterns. Supports regular expression.
;include_remarks=V3.*港
;Enable script support for filtering nodes
enable_filter=false
;Script used for filtering nodes. Supports inline script and script path. A "filter" function with 1 argument which is a node should be defined in the script.
;Example: Inline script: Set value to content of script. Replace all line break with "\n".
; Script path: Set value to "path:/path/to/script.js".
;filter_script=function filter(node) {\n const info = JSON.parse(node.ProxyInfo);\n if(info.EncryptMethod.includes('chacha20'))\n return true;\n return false;\n}
;Setting an external config file as default when none is specified, supports local files/URL
;default_external_config=config/example_external_config.ini
@@ -84,7 +91,12 @@ time_rule=^.*?流量:(?:.*?) 剩:(.*)$|left=$1d
[node_pref]
;udp_flag=false
;tcp_fast_open_flag=false
sort_flag=false
;Script used for sorting nodes. A "compare" function with 2 arguments which are the 2 nodes to be compared should be defined in the script. Supports inline script and script path.
;Examples can be seen at the filter_script option in [common] section.
;sort_script=function compare(node_a, node_b) {\n const info_a = JSON.parse(node_a.ProxyInfo);\n const info_b = JSON.parse(node_b.ProxyInfo);\n return info_a.Remark > info_b.Remark;\n}
;skip_cert_verify_flag=false
filter_deprecated_nodes=false
append_sub_userinfo=true
@@ -152,7 +164,7 @@ update_ruleset_on_request=false
surge_ruleset=!!import:snippets/rulesets.txt
[clash_proxy_group]
;Generate Clash Proxy Group with the following patterns. Node filterting rule supports regular expression.
;Generate Clash Proxy Group with the following patterns. Node filtering rule supports regular expression.
;Format: Group_Name`select`Rule_1`Rule_2`...
; Group_Name`url-test|fallback|load-balance`Rule_1`Rule_2`...`test_url`interval[,timeout][,tolerance]
;Rule with "[]" prefix will be added directly.
@@ -170,6 +182,9 @@ surge_ruleset=!!import:snippets/rulesets.txt
;custom_proxy_group=g1hk`select`!!GROUPID=0!!(HGC|HKBN|PCCW|HKT|hk|港)
;custom_proxy_group=sstw`select`!!GROUP=V2RayProvider!!(深台|彰化|新北|台|tw)
;Also supports using script for filtering nodes. A "filter" function with one argument which is an array of all available nodes should be defined in the script.
;custom_proxy_group=script`select`script:/path/to/script.js
;for forcerule.yml
;custom_proxy_group=!!import:snippets/groups_forcerule.txt