$surge
变量,控制 Surge。$done(value<Object>)
方法表示完成并返回相应结果。即使是不要求返回结果的脚本类型也应当在完成任务后调用 $done()
退出,否则脚本会因为超时而产生警告。console.log(message<String>)
输出到 Surge 日志setTimeout(function[, delay])
与浏览器的 setTimeout 方法一致$httpClient.post(URL<String> or options<Object>, callback<Function>)
发起一个 HTTP POST 请求。第一个参数可以是一个 URL 或参数表,参数表为。url
参数必选,其余选填,header
字段存在会覆盖默认的所有 Header。body
可以是 string 或 object。当为 object 时,将自动进行 JSON 编码,并设置 'Content-Type' 为 'application/json'。callback(error<String>, response<Object>, data<String>)
error 为 Null 表示请求成功,response 包含 status 和 headers 两个字段。$httpClient.get
,$httpClient.put
,$httpClient.delete
,$httpClient.head
,$httpClient.options
,$httpClient.patch
。$notification.post(title<String>, subtitle<String>, body<String>)
向通知中心发送通知,Surge iOS 上需开启通知总开关$utils.geoip(ip<String>)
进行 GeoIP 查询,返回结果为 ISO 3166 的国家编码$surge.setSelectGroupPolicy(groupName<String>, policyName<String>)
修改 select 策略组的当前选项,返回 bool 值表示是否成功$surge.selectGroupDetails()
获得当前 select 策略组的信息,包含组名称,子策略,和当前选择的策略$surge.setOutboundMode(mode<String>)
修改 Surge 的出站模式,返回 bool 值表示是否成功,取值可为 "direct", "global-proxy", "rule"$surge.setHTTPCaptureEnabled(enabled<Boolean>)
控制 Surge 截获 HTTP 功能的开启$surge.setCellularModeEnabled(enabled<Boolean>)
控制 Surge 计费网络模式的开启$surge.setRewriteEnabled(enabled<Boolean>)
控制 Surge 重写功能的开启$surge.setEnhancedModeEnabled(enabled<Boolean>)
控制 Surge 增强模式的开启 (仅 Surge Mac 可用)$network
当前网络状态的总览,包含 IP 和 SSID 等信息$script.name<String>
当前执行的脚本的文件名$script.startTime<Date>
当前执行的脚本的开始时间$persistentStore.write(data<String>, [key<String>])
持久化保存数据,返回 bool 值表示是否成功,仅支持传入 string$persistentStore.read([key<String>])
读取保存的持久化数据,返回 string 或 Null 不传入 key 时,同一个 script-path 的脚本共享一个存储池。可传入一个固定的 key 以在多个脚本间共享数据。