Командные аргументы
TIP
Xray использует команды и аргументы в стиле Go.
Базовые команды
Вы можете запустить xray help, чтобы получить список всех базовых команд Xray, а также их описание и примеры использования.
Xray is a platform for building proxies.
Usage:
xray <command> [arguments]
The commands are:
run Запустить Xray с конфигурацией
version Показать текущую версию Xray
api Вызвать API в процессе Xray
tls Инструменты TLS
uuid Сгенерировать UUIDv4 или UUIDv5 (VLESS)
x25519 Сгенерировать ключевую пару для обмена ключами X25519 (REALITY, VLESS Encryption)
wg Сгенерировать ключевую пару для обмена ключами X25519 (WireGuard)
mldsa65 Сгенерировать ключевую пару для постквантовой подписи ML-DSA-65 (REALITY)
mlkem768 Сгенерировать ключевую пару для постквантового обмена ключами ML-KEM-768 (VLESS Encryption)
vlessenc Сгенерировать пару json для дешифрования/шифрования (VLESS Encryption)
Use "xray help <command>" for more information about a command.2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
xray run
Запуск Xray с указанием одного или нескольких файлов конфигурации.
Использование:
xray run [-c config.json] [-confdir dir] [-format auto|json|yaml|toml|protobuf] [-test] [-dump] [-json-to-yaml] [-yaml-to-json] [-src file|dir] [-dst file|dir] [-yaml-flip n] [-yaml-no-alias] [-multi]Параметры:
-config= / -c=
Указывает один или несколько файлов конфигурации (можно задавать несколько раз). При -format=auto (по умолчанию) Xray определяет формат по расширению файла:
*.json/*.jsonc-> JSON (jsoncдопускает комментарии)*.yaml/*.yml-> YAML*.toml-> TOML*.pb-> Protobuf (разрешён только один файл)
-confdir=
Указывает каталог с несколькими файлами конфигурации. Xray читает файлы по имени (сортировка) и объединяет их (см. Мульти-конфиг).
WARNING
Если confdir содержит одновременно JSON (*.json/*.jsonc) и YAML (*.yaml/*.yml) файлы, Xray завершится с ошибкой.
-format=
Формат конфигурации: auto (по умолчанию), json, yaml, toml, protobuf. При значении, отличном от auto, все файлы -c/-config будут разобраны как указанный формат.
-test
Проверяет корректность конфигурации (загружает конфиг и создаёт экземпляр ядра, но не запускает сервер).
-dump
Печатает результат слияния конфигов и выходит (не запускает сервер). Также разворачивает подписки (блок subscription {} удаляется из вывода). Примечание: -dump имеет смысл только для json/yaml/toml.
-json-to-yaml
Печатает объединённую конфигурацию в формате YAML и выходит (не запускает сервер). Требует одновременно указать -src и -dst. Аналогично -dump, разворачивает подписки (блок subscription {} удаляется из вывода).
По умолчанию используется block style (-yaml-flip=0), чтобы по возможности избегать flow style с {}.
Примеры:
# Рекомендуется: указать вход/выход (файл или каталог)
xray --json-to-yaml --src config.json --dst config.yaml
# Вывод в каталог (запишет out/config.yaml)
xray --json-to-yaml --src config.json --dst ./out
# Источник - каталог (confdir), вывод в каталог (запишет out/config.yaml)
xray --json-to-yaml --src ./confs --dst ./out
# Читать из STDIN (нужно явно указать stdin:)
cat config.json | xray --json-to-yaml --src stdin: --dst config.yaml2
3
4
5
6
7
8
9
10
11
Поиск конфигурации по умолчанию
Если -c/-config не указан и каталог confdir не передан через флаги/переменные среды, Xray попытается:
config.json/config.jsonc/config.toml/config.yaml/config.ymlв рабочем каталогеconfig.jsonв каталоге, заданномxray.location.config(илиXRAY_LOCATION_CONFIG)- прочитать конфигурацию из STDIN (эквивалентно
stdin:как источник)
xray run -dumpВыводит результат слияния нескольких файлов конфигурации.
xray version
Выводит информацию о версии Xray, версии Golang и т. д.
Использование:
xray versionxray api
Вызов gRPC API Xray, который должен быть включен в файле конфигурации.
Использование:
xray api <command> [arguments] restartlogger Restart the logger
stats Get statistics
statsquery Query statistics
statssys Get system statistics
adi Add inbounds
ado Add outbounds
rmi Remove inbounds
rmo Remove outbounds2
3
4
5
6
7
8
xray convert
Convert config to protobuf, or convert typedMessage to JSON
usage:
xray convert <command> [arguments]
The commands are:
pb Convert multiple json configs to protobuf
json Convert typedMessage to json2
3
4
5
6
Sub-command pb
# Usage: xray convert pb [-outpbfile out.pb] [-debug] [-type] [json file] [json file] ...
# mix three config files to mix.pb
xray convert pb -outpbfile mix.pb c1.json c2.json c3.json
# Use -debug option to view the content of mix.pb
xray convert pb -debug mix.pb
# Start Xray-core with mix.pb
xray -c mix.pb
# Detailed usage
xray help convert pb2
3
4
5
6
7
8
9
10
11
12
13
Sub-command JSON
# Usage: xray convert json [-type] [stdin:] [typedMessage file]
tmsg='{
"type": "xray.proxy.shadowsocks.Account",
"value": "CgMxMTEQBg=="
}'
echo ${tmsg} | xray convert json stdin:
# Outputs from above:
'{
"cipherType": "AES_256_GCM",
"password": "111"
}'
# Detailed usage
xray help convert json2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
xray tls
Инструменты для работы с TLS.
Использование:
xray tls <command> [arguments] cert Generate TLS certificates
ping Ping the domain with TLS handshake
certChainHash Calculate TLS certificates hash.2
3
xray uuid
Генерация UUID.
Использование:
xray uuid [-i "example"]xray x25519
Генерация пары ключей x25519.
Использование:
xray x25519 [-i "(base64.RawURLEncoding)" --std-encoding ]xray wg
Генерация пары ключей curve25519 для WireGuard.
Использование:
xray wg [-i "(base64.StdEncoding)"]xray mldsa65
Генерирует пару ключей для постквантовой подписи MLDSA-65, используемой в REALITY.
Использование:
xray mldsa65 [-i "seed (base64.StdEncoding)"]xray mlkem768
Генерирует пару ключей для постквантового обмена ключами ML-KEM-768, используемую в VLESS Encryption.
Использование:
xray mlkem768 [-i "seed (base64.StdEncoding)"]xray vlessenc
Генерирует содержимое опций encryption/decryption, которые могут быть непосредственно использованы в VLESS Encryption. В сгенерированной конфигурации достаточно использовать один из двух методов аутентификации: X25519 или ML-KEM-768, но сервер и клиент должны использовать один и тот же метод аутентификации. Обмен временными ключами остается постквантово безопасным, независимо от метода аутентификации.
Использование:
xray vlessenc