Surge 使用手册
搜索文档…
脚本规则
使用脚本进行规则判定,该类型下第二参数为规则名。
1
script = type=rule,script-path=rule.js
Copied!
然后在 [Rule] 中加入规则:
1
SCRIPT,ssid-rule,DIRECT
Copied!
脚本返回一个词典,字段 matched<Boolean> 表示是否匹配该规则。
传入参数有:
    $request.hostname<String>
    $request.destPort<Number>
    $request.processPath<String>
    $request.userAgent<String>
    $request.url<String>
    $request.sourceIP<String>
    $request.listenPort<Number>
    $request.dnsResult<Object>
默认情况下,SCRIPT 规则不会触发 DNS 解析,如果需要进行 DNS 解析,可使用 requires-resolve 修饰规则
1
SCRIPT,ssid-rule,DIRECT,requires-resolve
Copied!
DNS 结果将出现在 $request.dnsResult 字段。
一个简单样例:
1
var hostnameMatched = ($request.hostname === 'home.com');
2
var ssidMatched = ($network.wifi.ssid === 'My Home');
3
4
$done({matched: (hostnameMatched && ssidMatched)});
Copied!
最近更新 6mo ago
复制链接