3x-ui/node/README.md
Konstantin Pichugin d7175e7803 multi-node support
2026-01-06 00:12:53 +03:00

2.3 KiB

3x-ui Node Service

Node service (worker) для multi-node архитектуры 3x-ui.

Описание

Этот сервис запускается на отдельных серверах и управляет XRAY Core инстансами. Панель 3x-ui (master) отправляет конфигурации на ноды через REST API.

Функциональность

  • REST API для управления XRAY Core
  • Применение конфигураций от панели
  • Перезагрузка XRAY без остановки контейнера
  • Проверка статуса и здоровья

API Endpoints

GET /health

Проверка здоровья сервиса (без аутентификации)

POST /api/v1/apply-config

Применить новую конфигурацию XRAY

  • Headers: Authorization: Bearer <api-key>
  • Body: JSON конфигурация XRAY

POST /api/v1/reload

Перезагрузить XRAY

  • Headers: Authorization: Bearer <api-key>

GET /api/v1/status

Получить статус XRAY

  • Headers: Authorization: Bearer <api-key>

Запуск

Docker Compose

cd node
NODE_API_KEY=your-secure-api-key docker-compose up -d --build

Примечание: XRAY Core автоматически скачивается во время сборки Docker-образа для вашей архитектуры. Docker BuildKit автоматически определяет архитектуру хоста. Для явного указания архитектуры используйте:

DOCKER_BUILDKIT=1 docker build --build-arg TARGETARCH=arm64 -t 3x-ui-node -f node/Dockerfile ..

Вручную

go run node/main.go -port 8080 -api-key your-secure-api-key

Переменные окружения

  • NODE_API_KEY - API ключ для аутентификации (обязательно)

Структура

node/
├── main.go           # Точка входа
├── api/
│   └── server.go     # REST API сервер
├── xray/
│   └── manager.go    # Управление XRAY процессом
├── Dockerfile        # Docker образ
└── docker-compose.yml