| Краткое описание | Безопасно сканирует, проверяет и очищает остатки базы данных, оставшиеся после удаления плагинов. | |
| Ссылка на репозиторий | GitHub - canbekcan/discourse-plugin-cleaner · GitHub | |
| Руководство по установке | Как установить плагины в Discourse | |
| Разработка | Vibe Coding - Gemini |
Возможности
При удалении плагина Discourse в базе данных часто остаются скрытые данные. Со временем эти «остатки» могут загромождать базу данных и усложнять поддержку сайта. Discourse Plugin Cleaner — это комплексный административный инструмент, предназначенный для безопасного выявления и удаления таких остаточных данных.
Основные возможности включают:
- Глубокое сканирование: Сканирует несколько таблиц базы данных, включая пользовательские поля (Пользователь, Тема, Сообщение, Категория, Группа), настройки плагинов, темы, значки, API-ключи, веб-хуки, группы тегов и загрузки.
- Безопасный режим аудита (без автоматического удаления): Плагин работает строго как инструмент аудита до тех пор, пока вы не примете решение. Он никогда не будет автоматически удалять данные. Вы должны вручную выбрать и подтвердить элементы, которые хотите удалить.
- Оценка рисков: Автоматически присваивает «Уровень риска» (Критический, Высокий, Средний, Низкий, OK) обнаруженным элементам, помогая администраторам принимать обоснованные решения о том, что безопасно удалять.
- Отслеживание истории версий: Делает снимки установленных плагинов при запуске. Если плагин удален, фиксируется изменение состояния, создавая историческую запись о том, какой плагин и когда был удален.
- Современный административный интерфейс: Предоставляет стильную и интуитивно понятную панель управления, созданную с использованием компонентов Ember strict-mode для бесшовной интеграции в интерфейс администратора Discourse.
Конфигурация
Плагин работает из коробки с разумными настройками по умолчанию. Чтобы использовать плагин:
- Доступ к панели управления: Перейдите в панель администратора Discourse. В боковой панели в разделе Плагины нажмите Plugin Cleaner.
- Запуск сканирования: Нажмите кнопку «Выполнить глубокое сканирование». Система запросит данные из вашей базы данных и сформирует отчет в реальном времени обо всех обнаруженных остаточных данных.
- Проверка проблем: Просмотрите вкладки по категориям (Пользовательские поля, Настройки плагинов и т. д.). Обращайте особое внимание на столбцы
Risk(Риск) иStatus(Статус). - Выбор и очистка: Установите флажки рядом с остаточными элементами, которые хотите удалить.
- Подтверждение удаления: Нажмите «Удалить выбранные». Перед окончательным удалением данных вам будет предложено финальное подтверждение с предупреждением. Все удаления автоматически записываются в журналы действий персонала Discourse для аудита безопасности.
(Примечание для загрузок: Если обнаружены остаточные загрузки, плагин предложит вам выполнить команду rake uploads:clean из консоли сервера для физического освобождения места на диске).
Настройки
Вы можете настроить строгость сканера через настройки вашего сайта.
| Имя | Описание |
|---|---|
plugin_cleaner_orphan_threshold |
Максимальное количество записей, которое может иметь пользовательское поле, чтобы считаться «осиротевшим». Если пользовательское поле содержит меньше записей, чем этот порог, оно будет помечено для проверки. (По умолчанию: 5, Мин: 1, Макс: 100) |
plugin_cleaner_stale_api_key_days |
Количество дней бездействия API-ключа, после которого сканер пометит его как устаревший/осиротевший. (По умолчанию: 90 дней, Мин: 7, Макс: 365) |
plugin_cleaner_stale_upload_days |
Количество дней, в течение которых несвязанная загрузка может существовать, прежде чем она будет помечена как осиротевшая. (По умолчанию: 30 дней, Мин: 1, Макс: 365) |
(Примечание: Этот проект поможет вам понять, как работают плагины Discourse)