mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-09-22 22:38:05 +03:00
293 lines
11 KiB
Markdown
293 lines
11 KiB
Markdown
# Командные аргументы
|
|
|
|
::: tip
|
|
Xray использует команды и аргументы в стиле Go.
|
|
:::
|
|
|
|
## Базовые команды
|
|
|
|
Вы можете запустить `xray help`, чтобы получить список всех базовых команд Xray, а также их описание и примеры использования.
|
|
|
|
```bash
|
|
Xray is a platform for building proxies.
|
|
|
|
Usage:
|
|
|
|
xray <command> [arguments]
|
|
|
|
The commands are:
|
|
|
|
run Запустить Xray с конфигурацией
|
|
version Показать текущую версию Xray
|
|
api Вызвать API в процессе Xray
|
|
convert Конвертировать конфигурации
|
|
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.
|
|
|
|
```
|
|
|
|
### xray run
|
|
|
|
Запуск Xray с указанием одного или нескольких файлов конфигурации.
|
|
|
|
Использование:
|
|
|
|
```bash
|
|
xray run [-c config.json] [-confdir dir]
|
|
```
|
|
|
|
```bash
|
|
Run Xray with config, the default command.
|
|
|
|
The -config=file, -c=file flags set the config files for
|
|
Xray. Multiple assign is accepted.
|
|
|
|
The -confdir=dir flag sets a dir with multiple json config
|
|
|
|
The -format=json flag sets the format of config files.
|
|
Default "auto".
|
|
|
|
The -test flag tells Xray to test config files only,
|
|
without launching the server.
|
|
|
|
The -dump flag tells Xray to print the merged config.
|
|
```
|
|
|
|
- `-config=` / `-c=`: Указывает расположение используемого файла конфигурации.
|
|
- `-confdir=`: Указывает путь к папке, содержащей несколько файлов конфигурации. Все файлы конфигурации в этом каталоге будут [объединены автоматически](/ru/config/features/multiple.md).
|
|
- `-format=`: Задает формат файлов конфигурации.
|
|
- `-test`: Проверяет корректность файлов конфигурации.
|
|
- `-dump`: Выводит объединенный результат слияния нескольких файлов конфигурации.
|
|
|
|
::: tip
|
|
Помимо формата JSON по умолчанию, файлы конфигурации также могут быть в формате TOML или YAML. Если формат не указан явно, он определяется по расширению файла.
|
|
:::
|
|
|
|
:::: tip
|
|
`-config=` / `-c=` поддерживает не только локальные пути к файлам, но и стандартный ввод, а также удаленные адреса.
|
|
|
|
::: details Разверните, чтобы посмотреть поддерживаемые формы `-config` и примеры
|
|
`-config=` можно указывать несколько раз, чтобы задать несколько источников конфигурации. Например:
|
|
|
|
```bash
|
|
xray run -config base.json -config routing.json -config outbounds.yaml
|
|
```
|
|
|
|
Xray прочитает эти файлы конфигурации в порядке аргументов и [автоматически объединит их](/ru/config/features/multiple.md) в итоговую конфигурацию.
|
|
|
|
Помимо обычных абсолютных и относительных путей к локальным файлам, поддерживаются и следующие формы:
|
|
|
|
- `stdin:`: Чтение содержимого конфигурации из стандартного ввода. Это удобно при использовании конвейеров, перенаправления или когда конфигурация динамически генерируется другой программой. После завершения ввода вызывающая сторона должна закрыть поток стандартного ввода, иначе Xray продолжит ждать окончания ввода.
|
|
- URL, начинающиеся с `http://` или `https://`: Загрузка содержимого конфигурации с удаленного адреса. Префикс протокола должен быть записан строчными буквами. **Этот способ связан с рисками безопасности. Не используйте его, если вы не вполне понимаете, что делаете.**
|
|
- `http+unix://`: Чтение конфигурации через HTTP-запрос, отправленный через Unix Domain Socket, в формате вроде `http+unix:///path/to/socket.sock/api/endpoint`. Это удобно, если конфигурация динамически выдается локальным сервисом, который слушает только Unix-сокет.
|
|
|
|
Примеры:
|
|
|
|
```bash
|
|
# Чтение из локального файла
|
|
xray run -config ./config.json
|
|
|
|
# Чтение из стандартного ввода
|
|
cat config.json | xray run -config stdin:
|
|
|
|
# Чтение с удаленного адреса
|
|
xray run -config https://example.com/xray/config.json
|
|
|
|
# Чтение через HTTP-эндпоинт на Unix Domain Socket
|
|
xray run -config http+unix:///run/xray-config.sock/config.json
|
|
```
|
|
|
|
:::
|
|
::::
|
|
|
|
::: tip
|
|
Когда `-config` не указан, Xray последовательно попытается загрузить `config.json` из следующих путей:
|
|
|
|
- Рабочий каталог (Working Directory)
|
|
- Путь, указанный в переменной окружения `Xray.location.asset` в [переменных окружения](../config/env.md#путь-к-файлам-ресурсов)
|
|
|
|
:::
|
|
|
|
```bash
|
|
xray run -dump
|
|
```
|
|
|
|
Выводит результат слияния нескольких файлов конфигурации.
|
|
|
|
### xray version
|
|
|
|
Выводит информацию о версии Xray, версии Golang и т. д.
|
|
|
|
Использование:
|
|
|
|
```bash
|
|
xray version
|
|
```
|
|
|
|
### xray api
|
|
|
|
Вызов gRPC API Xray, который должен быть включен в файле конфигурации.
|
|
|
|
Использование:
|
|
|
|
```bash
|
|
xray api <command> [arguments]
|
|
```
|
|
|
|
```bash
|
|
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 outbounds
|
|
```
|
|
|
|
### xray convert
|
|
|
|
Convert config to protobuf, or convert typedMessage to JSON
|
|
|
|
usage:
|
|
|
|
```bash
|
|
xray convert <command> [arguments]
|
|
|
|
The commands are:
|
|
|
|
pb Convert multiple json configs to protobuf
|
|
json Convert typedMessage to json
|
|
```
|
|
|
|
Sub-command `pb`
|
|
|
|
```bash
|
|
# 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 pb
|
|
```
|
|
|
|
Sub-command JSON
|
|
|
|
```bash
|
|
# 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 json
|
|
```
|
|
|
|
### xray tls
|
|
|
|
Инструменты для работы с TLS.
|
|
|
|
Использование:
|
|
|
|
```bash
|
|
xray tls <command> [arguments]
|
|
```
|
|
|
|
```bash
|
|
cert Generate TLS certificates
|
|
ping Ping the domain with TLS handshake
|
|
certChainHash Calculate TLS certificates hash.
|
|
```
|
|
|
|
### xray uuid
|
|
|
|
Генерация UUID.
|
|
|
|
Использование:
|
|
|
|
```bash
|
|
xray uuid [-i "example"]
|
|
```
|
|
|
|
### xray x25519
|
|
|
|
Генерация пары ключей x25519.
|
|
|
|
Использование:
|
|
|
|
```bash
|
|
xray x25519 [-i "(base64.RawURLEncoding)" --std-encoding ]
|
|
```
|
|
|
|
### xray wg
|
|
|
|
Генерация пары ключей curve25519 для WireGuard.
|
|
|
|
Использование:
|
|
|
|
```bash
|
|
xray wg [-i "(base64.StdEncoding)"]
|
|
```
|
|
|
|
::: tip
|
|
Если `-config` не указан, Xray попытается загрузить `config.json` из следующих мест:
|
|
|
|
- Рабочий каталог (Working Directory);
|
|
- Путь, указанный в переменной окружения `Xray.location.asset` (см. [Переменные окружения](../config/env.md#путь-к-файлам-ресурсов)).
|
|
|
|
:::
|
|
|
|
### xray mldsa65
|
|
|
|
Генерирует пару ключей для постквантовой подписи MLDSA-65, используемой в REALITY.
|
|
|
|
Использование:
|
|
|
|
```bash
|
|
xray mldsa65 [-i "seed (base64.StdEncoding)"]
|
|
```
|
|
|
|
### xray mlkem768
|
|
|
|
Генерирует пару ключей для постквантового обмена ключами ML-KEM-768, используемую в VLESS Encryption.
|
|
|
|
Использование:
|
|
|
|
```bash
|
|
xray mlkem768 [-i "seed (base64.StdEncoding)"]
|
|
```
|
|
|
|
### xray vlessenc
|
|
|
|
Генерирует содержимое опций `encryption`/`decryption`, которые могут быть непосредственно использованы в VLESS Encryption. В сгенерированной конфигурации достаточно использовать один из двух методов аутентификации: X25519 или ML-KEM-768, но сервер и клиент должны использовать один и тот же метод аутентификации. Обмен временными ключами остается постквантово безопасным, независимо от метода аутентификации.
|
|
|
|
Использование:
|
|
|
|
```bash
|
|
xray vlessenc
|
|
```
|