Files
XC_VM/docs/ru/api/system_api.md
T
Divarion-D 040143215a docs: Full Docsify documentation (EN + RU) and migration replacement
Full bilingual documentation for XC_VM has been added
with Docsify SPA and the outdated database migration has been replaced.

## Docsify

- docs/index.html — SPA entry point: en-us/ru-ru routing,
search, syntax highlighting (bash, PHP, SQL, nginx, JSON)

## EN Documentation

- docs/en/info/faq.md — FAQ (12 questions: streams, access, database, SSL, updates, permissions)
- docs/en/info/migration_guide.md — migration guide from other systems
- docs/en/info/update.md — step-by-step update via the web panel
- docs/en/info/watch_folder.md — Watch Folder: workflow, PTN/guessit parsers, configuration
- docs/en/updates_checklist.md — release preparation checklist

## RU Documentation (fully localized)

- docs/ru/README.md — Main Page
- docs/ru/_sidebar.md — Sidebar Navigation
- docs/ru/administration/ssl-generation.md — Self-Signed SSL Generation
- docs/ru/administration/update-system.md — Update Mechanism (PHP → Python → Post-Update)
- docs/ru/api/playlist.md — Playlist API with Error Codes
- docs/ru/api/system_api.md — System API (13 endpoints)
- docs/ru/api/xtreamcodes_api.md — XtreamCodes API (Authorization, Live, VOD, TV Series, EPG)
- docs/ru/builds/build_binaries.md — nginx build, nginx_rtmp, PHP-FPM, network
- docs/ru/builds/build_ffmpeg.md — Building FFmpeg 8.0 with NVENC/CUDA
- docs/ru/builds/build_system.md — MAIN vs. LB build system
- docs/ru/development/cli-tools.md — CLI: 26 commands, 25 crons, 8 daemons, database migrations
- docs/ru/info/faq.md — FAQ (12 questions)
- docs/ru/info/migration_guide.md — Migration guide
- docs/ru/info/update.md — Updating via the control panel
- docs/ru/info/watch_folder.md — Watch Folder
- docs/ru/updates_checklist.md — Release checklist

## Migrations

- Removed: 001_drop_watch_folders_plex_token.sql (Deprecated)
- Added: 001_update_crontab_filenames.sql — removes the .php suffix from filenames in the crontab table (switches to console.php commands)
2026-03-15 00:02:19 +03:00

169 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 align="center">📡 Системный API (Требуется проверка методов)</h1>
<p align="center">
Этот API предоставляет различные функциональные возможности, включая просмотр журналов, управление видео по запросу (VOD) и потоками, получение статистики, выполнение фоновых команд и многое другое.
</p>
---
## Расположение файлов
System API обрабатывается контроллером:
```
src/public/Controllers/Api/AdminApiController.php
```
HTTP entry-point: `/api.php` → роутится nginx на `public/index.php` с параметром `XC_API=internal`.
## Обзор архитектуры API
**Базовый URI**: `http://<host>:<http port>/api.php`
**Аутентификация**: `password` параметр, соответствующий конфигурации `live_streaming_pass`
**Пример**: `http://<host>:<http port>/api.php?password=<live_streaming_pass>&action=<api endpoint>`
---
## Основные конечные точки API
### 1. Управление VOD
#### **GET** `/api.php?action=vod`
**Описание:** Запуск или остановка потоков видео по запросу (VOD).
**Параметры:**
| Параметр | Тип | Требуется | Описание |
|------------|----------|----------|-------------|
|stream_ids |массив целых чисел |yes |Список идентификаторов потоков. |
|function |string |yes |Действие, которое необходимо выполнить (`start` или `stop`)|
---
### 2. Управление трансляций
#### **GET** `/api.php?action=stream`
**Описание:** Запуск или остановка прямых трансляций.
**Параметры:**
| Параметр | Тип | Требуется | Описание |
|------------|----------|----------|-------------|
|stream_ids |массив целых чисел |yes |Список идентификаторов потоков. |
|function |string |yes |Действие, которое необходимо выполнить (`start` или `stop`)|
---
### 3. Телеметрия системы
#### **GET** `/api.php?action=stats`
**Описание:** Получает системную статистику.
**Ответ:**
```json
{
"cpu": 8.32,
"cpu_cores": 56,
"cpu_avg": 8.86,
"cpu_name": "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz",
...,
}
```
---
### 4. Проверка жизненного цикла процесса
#### **GET** `/api.php?action=pidsAreRunning`
**Описание:** Проверяет, запущены ли заданные идентификаторы процессов (PID).
| Параметр | Тип | Требуется | Описание |
|------------|----------|----------|-------------|
|pids |массив целых чисел | yes | Список PID для проверки. |
|program |string |yes |Имя программы. |
---
### 5. Получение файла
#### **GET** `/api.php?action=getFile`
**Описание:** Загружает указанный файл.
**Параметры:**
| Параметр | Тип | Требуется | Описание |
|------------|----------|----------|-------------|
|filename |string |yes |Путь к файлу.|
**Ответ:**
- Содержимое файла.
---
### 6. Список содержимого каталога
#### **GET** `/api.php?action=viewDir`
**Описание:** Получает список каталогов.
**Параметры:**
| Параметр | Тип | Требуется | Описание |
|------------|----------|----------|-------------|
|dir |string |yes |Путь к каталогу.|
**Ответ:**
```html
<ul class="jqueryFileTree" style="display: none;">
<li class="directory collapsed"><a href="#" rel="/path/to/directory/">directory_name</a></li>
<li class="file ext_txt"><a href="#" rel="/path/to/file.txt">file.txt</a></li>
</ul>
```
---
### 7. Перенаправление соединения
#### **GET** `/api.php?action=redirect_connection`
**Описание:** Перенаправляет соединение на основе идентификатора активности и идентификатора потока.
**Параметры:**
| Параметр | Тип | Обязательный | Описание |
|------------|----------|----------|-------------|
|activity_id |целое число |да |Идентификатор активности. |
|stream_id |целое число |да |Идентификатор потока. |
---
### 8. Отправить сигнал
#### **GET** `/api.php?action=signal_send`
**Описание:** Отправляет сигнальное сообщение для выполнения действия.
**Параметры:**
| Параметр | Тип | Обязательный | Описание |
|------------|----------|----------|-------------|
|message |строка |да |Предложение для отмены. |
|activity_id |целое число |да |Идентификатор активности.|
---
### 9. Очистить папку с временными файлами
#### **GET** `/api.php?action=free_temp`
**Описание:** Удаляет временные файлы и запускает скрипт для кэширования.
---
### 10. Очистить папку трансляций
#### **GET** `/api.php?action=free_streams`
**Описание:** Очищает папку потоков.
---
### 11. Получить свободное место
#### **GET** `/api.php?action=get_free_space`
**Описание:** Возвращает информацию о свободном дисковом пространстве.
---
### 12. Получить PID
#### **GET** `/api.php?action=get_pids`
**Описание:** Возвращает список запущенных процессов.
---
### 13. Завершить процес по PID
#### **GET** `/api.php?action=kill_pid`
**Описание:** Убивает процесс по PID.
---
## Коды ошибок
| Код | Описание |
|----------------------|-------------|
| INVALID_API_PASSWORD | Пароль API неверен |
| API_IP_NOT_ALLOWED | IP-адрес не разрешен |
| INVALID_REQUEST | Неверные параметры запроса |
---
## Примечания
- Все запросы должны быть аутентифицированы с помощью правильного пароля API.
- Некоторые действия могут потребовать дополнительных разрешений или ограничений в зависимости от конфигурации сервера.