MASQUE
Сервер MASQUE CONNECT-IP (RFC 9484). К нему могут подключаться исходящее подключение MASQUE и другие клиенты, которые следуют этому стандарту и используют аутентификацию HTTP Basic.
Каждый туннель должен пройти аутентификацию HTTP Basic, при неудаче возвращается 401. Сервер назначает каждому туннелю адреса из address и для назначенных семейств адресов выдаёт маршруты, покрывающие всё адресное пространство. TCP и UDP внутри туннеля восстанавливаются сетевым стеком сервера в пространстве пользователя в обычные соединения и затем передаются на обработку маршрутизации; адресом источника при этом является адрес клиента внутри туннеля. Пакеты, направленные на адреса других туннелей, пересылаются напрямую, минуя маршрутизацию.
Версия HTTP, на которой ведётся прослушивание, определяется параметром alpn в tlsSettings, а path задаётся в конфигурации транспорта masqueSettings.
TIP
Входящее подключение MASQUE можно использовать только со способом передачи masque, при этом обязательно использование tls.
InboundConfigurationObject
InboundConfigurationObject соответствует элементу settings в InboundObject.
{
"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
Имя пользователя, обязательный параметр. Не может содержать : и не может повторяться (без учёта регистра). Соответствует user в masqueSettings исходящего подключения.
pass: string
Пароль, обязательный параметр. Соответствует pass в masqueSettings исходящего подключения.
level: number
Уровень пользователя. Входящее подключение MASQUE использует только настройки статистики трафика пользователей из локальной политики этого уровня.