Перейти к содержимому

Users API

Пользователи используются для управления доступом к веб-интерфейсу Astra, а также для доступа к HTTP MPEG-TS и HLS потокам.

{
"enable": true,
"type": 0,
"comment": "...",
"token": "...",
"ip": "...",
"expire": 0,
"conlimit": 0
}
  • enable – аккаунт включён или нет
  • type – тип пользователя
    • 1 - администратор. полный доступ к веб-интерфейсу Astra
    • 2 - наблюдатель. доступ только для чтения к веб-интерфейсу Astra
    • 3 - обычный пользователь. без доступа к веб-интерфейсу Astra
  • comment - необязательное поле, описание пользователя

Необязательные поля для встроенной авторизации доступа к HLS или HTTP MPEG-TS каналам:

  • token - токен, используемый в HTTP-запросах. Например: http://server:8000/play/a001/index.m3u8?token=secret
  • ip - разрешить доступ к каналам по IP-адресу клиента
  • expire - дата в формате unix timestamp, когда доступ к каналам будет ограничен
  • connlimit - ограничение количества подключений к каналам

Запрос: POST /control/

{
"cmd": "get-user",
"id": "..."
}
  • id - логин пользователя

В ответе будет JSON с конфигурацией пользователя

Запрос: POST /control/

{
"cmd": "set-user",
"id": "...",
"user": {
"enable": true,
"type": 0,
"password": "..."
}
}
  • id – логин пользователя
  • user - конфигурация пользователя
  • password - обычный пароль, в конфиге будет сохранён хеш пароля
Пример

Вы можете создать нового пользователя, выполнив следующую команду:

Окно терминала
curl -X POST --user login -d @- http://server:8000/control/ <<END
{
"cmd": "set-user",
"id": "new-admin",
"user": {
"enable": true,
"type": 1,
"password": "secret"
}
}
END

при успешном выполнении Astra возвращает:

{ "set-user": "ok" }

Запрос: POST /control/

{
"cmd": "set-user",
"id": "...",
"user": {
"remove": true
}
}

Запрос: POST /control/

Включить или отключить пользователя:

{
"cmd": "toggle-user",
"id": "..."
}
  • id - логин пользователя
Пример

Вы можете включить или отключить пользователя, выполнив следующую команду:

Окно терминала
curl \
-X POST \
--user login \
-d '{"cmd":"toggle-user", "id":"login"}' \
http://server:8000/control/

при успешном выполнении Astra возвращает:

{ "toggle-user": "ok" }