Содержание
Скачать плагин
Скачать плагин можно по ссылке
MD5: 51F51D7F1EF274CF2984F720C03E7B20
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-копии.

