# Руководство пользователя

## Язык интерфейса

Панель говорит на английском (по умолчанию), русском, китайском, хинди, немецком и испанском. Язык определяется автоматически по настройкам браузера (`Accept-Language`); если определить не удалось — включается английский.

Переключатель — в шапке (рядом с темой) и на экране входа. Выбор сохраняется в cookie и localStorage и учитывается API (`Accept-Language`).

## Вход

Откройте адрес панели. Введите логин и пароль, выданные при создании (`regru user:create`). Сессия завершается через 30 минут бездействия. Тема переключается кнопкой в правом верхнем углу и запоминается в браузере.

## Обзор

- **Баланс** — предоплата REG.RU (кэш 5 минут, кнопка обновления на странице «Биллинг»).
- **Домены / Хостинги / Доступы / DNS-записи** — счётчики инвентаря.
- **Истекают в ближайшие 60 дней** — список с остатком дней; красным — до 14 дней.
- **Хостинги и серверы** — адреса и ссылки на панели.
- **Синхронизация** — время последнего запуска и кнопки «полная»/«только DNS».
- **Быстрые действия** — переходы к частым разделам.

Если аккаунт REG.RU не подключён, сверху появится предупреждение со ссылкой в настройки.

## Домены

Поиск, фильтр по статусу и сроку оплаты, сортировка. Кнопка «Скачать CSV» выгружает текущую выборку.

Клик по строке открывает карточку:

- даты регистрации и оплаты, остаток дней, ID услуги, автопродление, число записей в кэше;
- **DNS-серверы**: до четырёх NS, галочка «снять с делегирования», кнопка «Сохранить NS»;
- если домен на NS хостинга (`ns5/ns6.hosting.reg.ru`, `ns1/ns2.shop.reg.ru`), зона ведётся в панели ISPmanager — панель честно об этом сообщает;
- кнопки «Открыть DNS-зону», «Продлить», «Скопировать имя».

**Продление** — от 1 до 10 лет, сумма списывается с баланса REG.RU; при нехватке средств создаётся счёт.

**Автопродление** — переключатель в таблице; состояние берётся из `service/get_info`.

## DNS-зоны

Доступны только зоны на `ns1.reg.ru`/`ns2.reg.ru`. Для остальных доменов страница показывает список «Домены на NS хостинга» с пояснением.

На странице зоны:

- селектор домена, время синхронизации и источник данных (кэш/API);
- **SOA/TTL** — правка `ttl` и `minimum_ttl` форматами `3600` или `1h`;
- таблица записей: тип, поддомен, приоритет, содержимое, кнопки изменения и удаления;
- **Добавить запись** — форма с подсказками для каждого типа (`@` — сам домен, `*` — все поддомены). Для MX/SRV/CAA поля зависят от типа;
- **Обновить из REG.RU** — перечитать зону;
- **Очистить зону** (администратор) — требует ввести `DELETE`;
- блок **DNSSEC** — статус и включение/выключение.

Изменение записи выполняется как атомарная пара «удалить + добавить», после чего кэш перечитывается из реестра.

## Хостинги и серверы

Таблица услуг: название/план, состояние, IP (с копированием), ссылка на панель, логин, пароль, дата оплаты.

- **Показать** — расшифровать пароль панели (если REG.RU его вернул); событие попадает в журнал.
- **Вручную** — перейти в хранилище доступов и сохранить пароль, который API не отдаёт.
- **Запросить данные услуг** — повторный `service/get_details` с принудительным обновлением.
- Карточка услуги (иконка «i») — ID, тариф, IP, DNS хостинга, доступные поля из ответа API.

Важно: REG.RU API возвращает `login/passwd/server_ip` не для всех типов услуг. Если данных нет, панель прямо говорит «API не вернул» и предлагает сохранить пароль вручную — он будет зашифрован и доступен агенту по API.

## Доступы

Хранилище паролей: панели, FTP/SFTP, SSH, базы данных, почта, DNS, регистратор.

- поиск по названию/хосту/логину и фильтр по типу;
- **Добавить доступ** — название, тип, хост, порт, логин, пароль (кнопки «показать» и «сгенерировать»), ссылка, домен, ID услуги, заметки;
- **Показать** — расшифровка с предупреждением и записью в журнал;
- изменение и удаление.

Пароли синхронизированных хостингов создаются автоматически, если REG.RU их отдал.

## Биллинг

- Баланс: предоплата, заблокированная сумма, кредит; кнопка «Обновить баланс» сбрасывает кэш.
- Неоплаченные счета.
- История счетов за выбранный период: номер, дата, сумма, способ и статус оплаты, число позиций.

## Синхронизация

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

Что происходит при полной синхронизации: список услуг → NS и автопродление → данные хостингов (если ещё не запрашивались) → DNS-зоны. Ошибка одного этапа не отменяет остальные; запуск получит статус «partial».

Синхронизация также выполняется по cron каждые 30 минут (если настроено при развёртывании).

## API REG.RU

- **Токены** — создание (права, срок), показ plaintext один раз, отзыв. Для агента достаточно `read` + `secrets:read`, для произвольных команд — `regru:raw`.
- **Каталог команд** — все 116 документированных команд с назначением и доступностью (клиенты/партнёры), поиск и копирование имени.
- **Raw-консоль** — вызов любой команды с JSON-входом; ответ показывается как есть. Осторожно: команды выполняются на реальном аккаунте и могут списывать деньги.
- **Примеры для агента** — готовые `curl` для инвентаря, DNS, паролей и raw-вызова.

## Настройки

- **REG.RU API** — логин, пароль API (шифруется), валюта; «Сохранить и проверить» и «Проверить соединение». Напоминание про белый список IP.
- **Безопасность** — смена пароля панели.
- **Синхронизация** — интервал, после которого данные считаются устаревшими.
- **Оформление** — тёмная/светлая тема.
- **Система** — версия PHP, SQLite, размер БД, расширения, лимиты.
- **Экспорт** — JSON без паролей (безопасно) или с паролями (только администратор, подтверждение `EXPORT`, событие в журнале).

## Журнал

Фильтры по актору и действию. Клик по строке — детали: время, актор, IP, request id, JSON с подробностями. Здесь видны входы, изменения, синхронизации и все раскрытия паролей.

## Горячие клавиши

- `/` — фокус в поиск домена (в верхней панели).
- `Esc` — закрыть диалог/панель.
- `Tab` — навигация внутри диалога (фокус зациклен).
