Скачать плагин
Скачать плагин можно по ссылке ↗
MD5: E3D535A683682823A3E3F86A0C293286
1. Список необходимых пакетов
Для ВМ без внешних репозиториев и без доступа в интернет.
1.1. Что должно быть установлено (пакеты / команды)
На сервере Корпоративный сервер 2024.
Обязательно:
- nodejs
- Backend-плагин написан на Node.js;
- Сервис запускает node *.js;
- Версия ≥ 10 (рекомендуется 16+).
Установщик пытается установить nodejs сам, но в офлайне рекомендуется установить заранее системным пакетом
Дополнительно (обычно уже есть в системе, но важно):
- openssl
- ss (из пакета iproute2)
Используется для проверки занятости портов
Скрипт активно:
- Патчит index.html;
- Модифицирует nginx-конфиг;
- Создает systemd-unit.
2. Назначение скрипта
r7-ssl-install.sh
Скрипт выполняет установку / обновление / удаление SSL Monitor:
- Разворачивает backend в:
/opt/r7-ssl-status - Создаёт systemd-сервис: r7-ssl-status r7-ssl-change
- Копирует JS-инжекты:
- inject-ssl-status.js
- inject-ssl-tab.js
- Патчит index.html админки;
- Добавляет nginx location:
/ssl-status/ssl-change
- Проверяет и запрашивает порты.
- Поддерживает удаление с выбором:
- Оставить или удалить inject-manager.js
3. Подготовка перед запуском
3.1. Подготовить файлы рядом со скриптом
SSL Monitor.
r7-ssl-install.sh
data/
├── inject-manager.js
├── inject-ssl-status.js
├── inject-ssl-tab.js
└── ssl-status/
──├── index.html
──├── ssl-status.js
──└── ssl-change.js
inject-manager.js копируется только если его ещё нет используется всеми плагинами совместно
3.2. Проверить ожидаемые пути
Скрипты жёстко рассчитывают на следующие пути:
- assets:
/var/www/r7-office/admin/assets - index.html:
/var/www/r7-office/admin/index.html - nginx config:
/etc/nginx/sites-available/admin
Если у вас нестандартная установка — требуется адаптация скрипта.
4. Запуск скрипта
4.1. Установка
unzip Plugin-ssl.zip -d r7-ssl-monitor && cd r7-ssl-monitor chmod +x r7-ssl-install.sh sudo ./r7-ssl-install.sh
Запуск сразу указывает на ключ —info для получения описания скрипта и предлагает сменить пароль, если предлагаемый порт занят или выбрать по умолчанию:

Далее происходит установки и вывод конечного результата:
Во время установки:
- Скрипт требует root;
- Запрашивает порт(ы);
- Проверяет, свободны ли они;
- При конфликте предлагает выбрать другой;
- Выполняет установку;
- Выводит финальный статус.
4.2. Повторный запуск
При повторном запуске:
- Выполняется обновление;
- Существующие файлы корректно перезаписываются;
- inject-manager.js не дублируется;
- Порядок инжектов сохраняется.
Использование ключей

4.3. Проверка после установки
systemctl status r7-ssl-status r7-ssl-change --no-pager journalctl -u r7-ssl-status -n 200 --no-pager
nginx -t systemctl reload nginx
4.4. Удаление
SSL:
sudo ./r7-ssl-install.sh --uninstall
Во время удаления:
- Сервис останавливается и удаляется;
- Backend-каталоги очищаются;
- Nginx-патчи удаляются.
- Будет задан вопрос:Важно
Удалять ли inject-manager.js?
Это важно, если установлены другие плагины.
5. Порядок работы скрипта (последовательность)
Установка
- Проверка прав root;
- Проверка / запрос портов;
- Проверка занятости портов (ss);
- Проверка Node.js (установка при необходимости);
- Проверка структуры файлов;
- Копирование backend в
/opt/... - Создание systemd-unit’ов (inline);
- systemctl daemon-reload;
- Включение и запуск сервисов;
- Копирование JS в assets;
- Патч index.html
(manager → plugin-инжекты) - Патч nginx (location + websocket);
- nginx -t и reload;
- Финальный отчёт и статус сервисов.
6. Как работают плагины (архитектура)
6.1. Общая схема
- Пользователь работает только через админку R7 Office.
- Админка:
- Загружает JS-инжекты;
- Отправляет HTTP / WS-запросы.
- nginx:
- Проксирует запросы на localhost.
- backend:
- Обрабатывает API;
- Отдаёт данные интерфейсу.
6.2. inject-manager.js
- Общий менеджер вкладок / карточек;
- Подключается один раз.
- Все плагины:
- Вставляются ниже него;
- Не дублируют его установку.
6.3. SSL Monitor
- backend:
- ssl-status.js
- ssl-change.js
- UI:
- Вкладка SSL.
- nginx проксирует:
/ssl-status /ssl-change
7. Что именно меняется в системе (для аудита)
Установка затрагивает:
/opt/r7-ssl-status/*/etc/systemd/system/*.service/etc/nginx/sites-available/admin/var/www/r7-office/admin/assets/*.js/var/www/r7-office/admin/index.html
Для критичных файлов создаются .bak-копии.










