Router
路由接受来自服务的连接,将其与规则匹配,然后将其发送到出站。
Router Object
字段
Rules
Rules 是 Rule 对象的列表。
当新连接传递到路由时,会逐一检查它们是否符合规则,直到它们与带有出站字段的规则匹配,然后传递到出站。
Rule 对象解释见下。
DefaultOutbound
默认出站的名称。
如果在检查所有规则后没有匹配的规则,则连接将传递到默认出站。
如果为空,则默认出站是系统出站。这是为了与旧版本兼容。
有一些预设的出站:
REJECT
: 直接关闭连接。RESET
: 使用 TCP 重置关闭连接。
Rule Object
{
"Type": "RuleType",
"Parameter": /* 规则类型特定字段 */,
"Rewrite": {
"TargetAddress": "",
"TargetPort": 0,
"Minecraft": {
"Hostname": "",
"Port": 0
}
},
"Sniff": [], //(1)!
"Outbound": "",
"Invert": false
}
- 这是一个 Listable 字段,如果只有一个元素,则可以是单个值。有关更多信息,请参阅命名定义。
Type
必需
规则的类型名称。转到左侧的规则分类查看规则类型的文档。
Parameter
规则的参数。
此字段在不同的规则类型之间是可变的。
有关更多信息,请转到特定规则类型的文档。
Rewrite
重写包含许多要重写的字段。
如果规则匹配,它将重写连接的元数据。 因此您可以实现一些功能,例如通过规则更改目标服务器。
Note
协议相关的元数据(如 Minecraft)需要在重写之前进行嗅探。 否则,它不起作用。
Sniff
要嗅探的协议名称列表(或单个)。
如果规则匹配,这将嗅探协议。
可用选项为:
- all(包括以下所有协议)
- minecraft
- tls
已经嗅探过的协议将被跳过,不会再次嗅探。
嗅探具有优先级,它将在重写之前完成。
Outbound
出站的名称。
如果规则匹配并且出站字段不为空, 则连接将跳出匹配进程并传递到出站。
如果为空,它将简单地返回匹配进程并匹配下一个规则。
出站字段优先级最低,将在嗅探和重写后完成。
有一些预设的出站:
REJECT
: 直接关闭连接。RESET
: 使用 TCP 重置关闭连接。
Invert
反转匹配结果。优先级最高,将在匹配后立即完成。