# Администрирование ИКАР Панель доступна по адресу `https://ikar.kusoft.xyz/admin/`. Вход использует `Admin__Username` и `Admin__Password` из закрытой серверной конфигурации. Учётная запись обычного пользователя мессенджера доступа к панели не даёт. Панель включает: - Обзор: база, пользователи, чаты, сообщения, вложения и активные сессии. - Пользователи: поиск, фильтры, страницы, профиль, устройства уведомлений, отзыв одной или всех сессий, блокировка, разблокировка и удаление. - Чаты и каналы: настройки приватности, публичное имя, срок жизни сообщений, темы, роли и разрешения, передача владения, приглашения и заявки на вход. - Сообщения: поиск в чате, скрытие и восстановление. Вложения сохраняются при скрытии сообщения для возможности восстановления; истёкшие сообщения восстанавливать нельзя. Зашифрованное содержимое отображается в том виде, в котором оно хранится на сервере: расшифровка на сервере отсутствует. - Жалобы: очередь, исходные данные, просмотр объекта, подтверждение или отклонение, блокировка автора или скрытие сообщения, повторное открытие. Старые жалобы автоматически переносятся из журнала модерации. - Боты: поиск, включение и отключение, имя, описание, HTTPS-адрес мини-приложения и замена токена. Новый токен показывается один раз. Создание ботов сохраняет существующий процесс через `@botfatherbot`. - Медиа: поиск, наличие файла, скачивание и удаление. - Обновления: текущая версия Android, размер APK, SHA-256, сохранённые пакеты, совместимость клиентов и переход к каталогу Аргус. Публикация релизов выполняется существующими проверенными инструментами `tool/publish_*`. - Обслуживание: состояние диска, память, резервные копии, отложенные сообщения, очередь push, повтор доставки, удаление задач и очистка TTL партиями до 500 сообщений. - Журнал администратора: действия, объект, результат, комментарий, IP, поиск, страницы и экспорт текущей страницы в CSV. - Доступ: действующие административные сессии и их отзыв. Сессия администратора действует 12 часов. Выход, отзыв сессии и смена серверных реквизитов делают её cookie недействительным. Запросы изменения требуют CSRF-токена. В production cookie передаётся только по HTTPS. Административные страницы и ответы не кешируются; в журнал не записываются пароли, токены ботов и содержимое запросов. Вход ограничен десятью попытками за пять минут с одного IP. Отзыв сессии пользователя закрывает её SignalR соединения и отключает токены API. Ключи cookie хранятся в `Data/AdminKeys`, на постоянном томе данных. Для работы за reverse proxy параметр `ReverseProxy__KnownProxies` задаёт список точных доверенных IP через запятую. На рабочем сервере инструмент `tool/deploy_server_fixes.py` определяет адрес существующего Docker gateway; порт API остаётся привязан к `127.0.0.1`. ## Проверка ```powershell dotnet test ikar_server/src/Ikar.Server.Tests/Ikar.Server.Tests.csproj ./tool/start_admin_test_server.ps1 python tool/seed_admin_ui_test.py node tool/verify_admin_ui.cjs ``` Для браузерной проверки нужны Playwright и Chromium/Edge. При необходимости `PLAYWRIGHT_MODULE` указывает путь к установленному модулю Playwright, а `ADMIN_BROWSER` — к браузеру. Тестовый сервер слушает только loopback, использует отдельную временную базу и тестовые реквизиты. После проверки остановите PID из `artifacts/admin-local-server.json`. После установки `tool/verify_admin_console.py` запускается на Pi вместе с `tool/admin_http.py`: реквизиты читаются внутри сервера, проверяется доступ, защита изменений, резервные копии и целостность базы. В отчёт секреты не входят.