Skip to content

Страница дополнений ​

Дополнение — это отдельная программа, которая работает рядом с панелью: магазин, сервис уведомлений, ваш собственный бот. Оно работает в своём контейнере или службе, со своим интерфейсом и базой данных, и обращается к панели по сети. Панель никогда не запускает код дополнения и не показывает его страницы внутри своих. Она хранит только то, что нужно для работы с дополнением: его адрес, ссылку на его интерфейс, путь проверки состояния и две вещи, которые ему можно выдать, — токен API и вебхук. Страница находится в Сервисы → Дополнения и открыта главным администраторам.

Страница дополнений: вкладка зарегистрированных со списком дополнений, их состоянием, подписью и выданными правами рядом с вкладкой каталогаСтраница дополнений: вкладка зарегистрированных со списком дополнений, их состоянием, подписью и выданными правами рядом с вкладкой каталога

Какие дополнения существуют, см. Дополнения. Первая установка от начала до конца описана в Установка дополнения.

Две вкладки ​

  • Зарегистрированные: дополнения, с которыми работает эта панель, и установки, которые ещё в состоянии Ожидают ответа дополнения.
  • Каталог: каталог дополнений на addons.nexora-panel.org; он читается раз в день и при нажатии Прочитать сейчас. Каждое дополнение там — Официальное, Проверенное или Неофициальное; что означают эти уровни и как направить панель на зеркало кнопкой Изменить источник, описано в Каталог дополнений.

Пункт меню дополнений получает точку, когда в каталоге есть более новая версия установленного у вас дополнения.

Установка из каталога ​

На вкладке Каталог выберите дополнение и нажмите Установка. Форма строится по собственному описанию дополнения и спрашивает:

  1. Кто запускает: Я запущу команду, Панель, по SSH или Панель, на этом сервере (предлагается, когда панель работает прямо на Linux-сервере, а не в Docker).
  2. Способ: Как служба, С Docker или Файл compose.
  3. Адрес, по которому панель его достанет и Адрес панели для дополнения.
  4. Его вопросы: порт, пароль, ответ про HTTPS и всё остальное, что объявляет дополнение.

При выборе Я запущу команду кнопка Получить команду выдаёт одну команду, которую нужно выполнить от root на сервере дополнения; команда с введённым вами секретом показывается только один раз. При SSH или установке на этом сервере Установить запускает её и показывает журнал в реальном времени. В любом случае панель затем ждёт ответа дополнения по его адресу, показывает, что оно запрашивает, и регистрирует его, когда вы нажмёте Одобрить и зарегистрировать. Тем временем форму можно закрыть и вернуться кнопкой Продолжить. Каждый вариант разобран в Установка дополнения.

Регистрация уже работающего дополнения ​

Подписанное дополнение по коду привязки ​

Дополнение, опубликованное через каталог, несёт подписанное описание самого себя. Чтобы зарегистрировать такое дополнение, запущенное вами:

  1. Запустите дополнение. Оно показывает одноразовый Код привязки в своём журнале или на своей странице.
  2. Зарегистрировать подписанное, введите Адрес дополнения и нажмите Прочитать.
  3. Панель читает описание дополнения, проверяет его подпись и показывает, что оно запрашивает: каждое право своего токена с причиной, нужную частоту запросов и каждое событие, которое должен слышать его вебхук. Прочитайте это. Неофициальное дополнение несёт предупреждение, что Nexora его не проверяла.
  4. Введите код привязки и нажмите Одобрить и зарегистрировать.

Панель создаёт ровно этот токен и вебхук и передаёт их дополнению, которое принимает их только вместе со своим кодом. Неверный код не оставляет следов. До вашего одобрения ничего не создаётся.

Токен дополнения привязан к владельцу панели и переходит вместе с владением, если его передают (см. Администраторы).

Своё дополнение вручную ​

Бот или скрипт, который вы запускаете сами, добавляется кнопкой Добавить своё дополнение:

Поле
Название
Идентификаторкороткий идентификатор (a-z, 0-9, _, -); если пусто, берётся из названия; после регистрации не меняется
Адресгде панель его достаёт
Ссылка входагде находится его интерфейс: путь под адресом или полный URL
Здоровьепуть, который панель может проверять; пусто — без проверки
API-токенвключите и выберите его права
Вебхуквключите, укажите путь под адресом или полный URL и выберите события

Дополнению нужен токен, вебхук или и то и другое. При сохранении токен и секрет подписи вебхука показываются один раз: внесите их в настройки своей программы. В той же форме их потом можно изменить.

Адрес ​

Обычный http:// принимается только для дополнения на этом сервере, в частной сети или в сети Docker. В любом другом месте нужен https:// с сертификатом, которому доверяет панель, потому что туда отправляется токен дополнения.

Список зарегистрированных ​

Каждая строка показывает название и версию дополнения, Подписано ли оно (и кем) или это Собственное, его состояние, выданные права и время последнего использования токена. Состояние — одно из:

СостояниеЗначение
Зарегистрированоработает нормально
Приостановленоостановлено вами (см. ниже)
Не отвечаетпроверка состояния дважды подряд не прошла

В меню строки собрано всё, что с ним можно сделать:

  • Открыть: собственный интерфейс дополнения в новой вкладке.
  • Ссылка входа (подписанные дополнения) или Изменить (свои).
  • Проверить обновление (подписанные дополнения).
  • Просмотреть обновление, когда обновление ждёт.
  • Сертификат.
  • Обновить на сервере и Удалить с сервера — для дополнения, которое панель установила по SSH или на этом сервере.
  • Приостановить или Возобновить.
  • Удалить.

Ссылка входа ​

Адрес, который вы регистрируете, — это адрес, по которому до дополнения достаёт панель. В Docker это часто имя контейнера, которое ваш браузер открыть не может. Ссылка входа задаёт адрес, который браузер использует для Открыть; если пусто, используется адрес, объявленный дополнением, а новая версия дополнения сохраняет ваш.

Состояние ​

Если у дополнения есть путь проверки состояния, панель опрашивает его каждую минуту; 200 означает, что всё в порядке. Две неудачи подряд отмечают его как Не отвечает, с последней ошибкой на странице, и один раз создают panel.addon_unhealthy. Следующий 200 возвращает его и создаёт panel.addon_recovered. Дополнение без пути проверки не опрашивается. Отправляйте эти два события в Telegram или на почту, чтобы узнавать о них (см. Telegram).

Приостановка ​

Приостановить останавливает дополнение, не удаляя его: его токен сразу перестаёт работать, а вебхук перестаёт получать события. События, созданные во время приостановки, для него не сохраняются. Состояние приостановленного дополнения не проверяется. Возобновить включает всё обратно.

Обновления и одобрение ​

Панель заново читает описание подписанного дополнения каждый час и при нажатии Проверить обновление:

  • Новая версия, которая не просит ничего сверх уже выданного, применяется сама.
  • Новая версия, которая просит больше прав, больше событий или более высокую частоту запросов, ждёт. Дополнение сохраняет ровно то, что у него есть, строка показывает Ждёт обновление версия, и один раз создаётся panel.addon_update_waiting. Просмотреть обновление перечисляет только то, что она добавляет, каждое с причиной, чтобы вы могли нажать Одобрить.
  • Обновление, которое просит токен или вебхук, которых у дополнения никогда не было, одобрить на месте нельзя: удалите дополнение и зарегистрируйте его заново.

Сама установка новой версии происходит там, где работает дополнение: Обновить на сервере для дополнения, установленного панелью, или повторный запуск команды установки на его сервере. Команды есть в Установка дополнения.

Сертификаты от панели ​

Дополнение, у которого ответ про HTTPS — panel, отдаёт свой публичный адрес с сертификатом из хранилища самой панели, поэтому ему не нужны ни свой сертификат, ни порт 443. Панель выпускает и продлевает сертификат, а дополнение само его забирает. Сертификат в строке выбирает или меняет его. Для дополнения на другом сервере предлагаются только сертификаты, выпущенные через dns-01, самоподписанные и загруженные, и никогда — собственный HTTPS-сертификат панели. О хранилище см. Сертификаты.

Дополнение, которое отдаёт собственный самоподписанный сертификат, показывает его отпечаток SHA-256 на экране согласия; перед одобрением сравните его с тем, что показывает собственная страница настройки дополнения. Когда дополнение обновляет этот сертификат, проверка состояния перестаёт проходить, потому что панель ему больше не доверяет: откройте Сертификат, сравните Что отдаёт сейчас и нажмите Доверять этому сертификату.

Удаление ​

Удалить сначала сообщает дополнению событием panel.addon_removed, затем удаляет его токен и вебхук. То, что дополнение хранит в своей базе, остаётся, поэтому при повторной регистрации оно это найдёт.

Удалить с сервера удаляет дополнение, которое установила панель: отметьте Удалить и данные, чтобы удалить и его каталог данных, — это необратимо. Дополнение остаётся зарегистрированным, пока вы не нажмёте здесь и Удалить.

На других страницах ​

Токен и вебхук дополнения видны также на страницах Токены API и Вебхуки и события с меткой Дополнение: имя. Там их нельзя изменить или удалить, только здесь.

Текст и изображения — CC BY 4.0.