脚本
Egern 允许用户通过编写 JavaScript 脚本来灵活地控制网络请求/响应的处理、定时任务、网络变化事件以及手动触发的通用脚本。
脚本类型
scriptings 配置包含五种类型的脚本:
| 类型 | 说明 |
|---|---|
http_request | HTTP 请求脚本,在发送请求前执行 |
http_response | HTTP 响应脚本,在收到响应后执行 |
schedule | 定时脚本,按 cron 表达式定时执行 |
generic | 通用脚本,手动触发执行 |
network | 网络变化脚本,在网络环境变化时执行 |
HTTP 请求/响应脚本
-
name (string), 必填
脚本名称。
-
match (string), 必填
URL 匹配正则表达式。
-
script_url (string), 必填
脚本文件的 URL,可以是本地路径或远程链接。
-
arguments (object), 可选
传递给脚本的参数(键值对),在脚本中可通过
$argument.key访问。 -
update_interval (integer), 可选
脚本文件更新间隔(秒),默认 86400(24 小时)。
-
max_size (integer), 可选
最大处理的请求/响应体大小(字节),超过此大小不传递给脚本,默认 1048576 (1MB)。
-
timeout (integer), 可选
脚本执行超时时间(秒),默认 10 秒,最大 600 秒。
-
body_required (boolean), 可选
是否需要请求/响应体,默认
false。如需读取或修改 body 需设为true。 -
binary_body (boolean), 可选
是否以二进制方式处理请求/响应体,默认
false。处理图片等二进制内容时需设为true。 -
disabled (boolean), 可选
是否禁用此脚本。
定时脚本
按照 cron 表达式定时执行脚本,适用于定时签到、数据同步等场景。
支持标准 5 字段格式(分 时 日 月 周)和 6 字段格式(秒 分 时 日 月 周)。
-
name (string), 必填
脚本名称。
-
cron (string), 必填
Cron 表达式(如
0 8 * * *表示每天早上 8:00)。 -
script_url (string), 必填
脚本文件的 URL,可以是本地路径或远程链接。
-
arguments (object), 可选
传递给脚本的参数。
-
update_interval (integer), 可选
脚本文件更新间隔(秒),默认 86400。
-
timeout (integer), 可选
脚本执行超时时间(秒),默认 10 秒,最大 600 秒。
-
disabled (boolean), 可选
是否禁用此脚本。
通用脚本
手动触发执行的脚本,可用于实现自定义功能,如一键切换节点、批量操作等。
-
name (string), 必填
脚本名称。
-
script_url (string), 必填
脚本文件的 URL。
-
arguments (object), 可选
传递给脚本的参数。
-
update_interval (integer), 可选
脚本文件更新间隔(秒),默认 86400。
-
timeout (integer), 可选
脚本执行超时时间(秒),默认 10 秒,最大 600 秒。
-
disabled (boolean), 可选
是否禁用此脚本。