MASQUE
MASQUE CONNECT-IP(RFC 9484)的服务端,可被 MASQUE 出站 以及其他遵循该标准、使用 HTTP Basic 认证的客户端连接。
每条隧道都需要通过 HTTP Basic 认证,失败时返回 401。服务端从 address 中为每条隧道分配地址,并为分配到的地址族下发覆盖整个地址空间的路由。隧道内的 TCP 与 UDP 由服务端的用户态网络栈还原为普通连接,再交给路由处理,此时的来源地址是客户端在隧道内的地址;发往其他隧道地址的包直接转发,不经过路由。
监听的 HTTP 版本由 tlsSettings 的 alpn 决定,path 在传输配置 masqueSettings 中设置。
TIP
MASQUE 入站只能搭配 masque 传输方式,且必须使用 tls。
InboundConfigurationObject
InboundConfigurationObject 对应 InboundObject 中的 settings 项。
{
"inbounds": [
{
// ...
"protocol": "masque",
"settings": {
"users": [
{
"email": "love@xray.com",
"pass": "password",
"level": 0
}
],
"address": ["10.0.0.1/24", "fd00::1/64"],
"mtu": 1280
}
}
]
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
users: [ UserObject ]
一个数组,代表一组服务端认可的用户,也可以写作 clients。没有用户时所有连接都会被拒绝。
通过 API 删除用户时,该用户正在使用的隧道会被立即关闭。
address: [ string ]
分配给隧道的地址段,必填,最多一个 IPv4 和一个 IPv6 前缀(IPv4 前缀长度最大为 30,IPv6 最大为 126)。
前缀中的地址是服务端自己的地址,其余地址依次分配给各条隧道(IPv4 不含网络地址与广播地址),隧道断开后回收。某个地址族的地址用完时,新隧道只拿到另一个地址族的地址,两个都用完时返回 503。
mtu: number
隧道的 MTU,范围为 1280 到 65535,默认为 1280。
UserObject
{
"email": "love@xray.com",
"pass": "password",
"level": 0
}2
3
4
5
用户名,必填,不能包含 :,不能重复(不区分大小写)。对应出站 masqueSettings 中的 user。
pass: string
密码,必填。对应出站 masqueSettings 中的 pass。
level: number
用户等级。MASQUE 入站只使用该等级 本地策略 中的用户流量统计设置。