# Системный API (Требуется проверка методов) ## Расположение файлов ``` /home/xc_vm/wwwdir/api.php ``` ## Обзор Этот API предоставляет различные функциональные возможности, включая просмотр журналов, управление видео по запросу (VOD) и потоками, получение статистики, выполнение фоновых команд и многое другое. ## Обзор архитектуры API **Базовый URI**: `http://:25461/api.php` **Аутентификация**: `password` параметр, соответствующий конфигурации `live_streaming_pass` **Пример**: `http://:25461/api.php?&password=` --- ## Основные конечные точки 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 ``` --- ### 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. - Некоторые действия могут потребовать дополнительных разрешений или ограничений в зависимости от конфигурации сервера.