Отчёт для поддержки
Как отдать поддержке нужное, не отдав лишнего.
Отчёт одной кнопкой
Настройки → Основные → «Отчёт для поддержки» (значок копирования); тот же отчёт кладёт кнопка «Скопировать логи для поддержки» в любом уведомлении об ошибке. В буфер обмена кладётся готовый текст: версия приложения и системы, режим работы ядра, настройки подключения, состояние подписки (имя, трафик, срок, какие заголовки прислала панель), что фильтр заглушек выбросил в последний раз и хвосты логов приложения и ядра.
Его можно вставить в чат поддержки не глядя:
- от любого адреса остаётся только схема и хост — путь, запрос и
user:pass@заменены на***; - значения после
secret,token,password,uuid,authorization,x-hwidи похожих ключей замаскированы, как и всё послеBearer/Basic; - длинные случайные строки и hex-последовательности вырезаны;
- домашний каталог заменён на
~, имени пользователя в путях нет; - строки ядра о соединениях (куда вы ходили) в отчёт не попадают; от ошибок соединений остаются только узел, порт и текст ошибки, без адресов.
Намеренно остаётся домен провайдера — без него отчёт бесполезен — и цифры состояния подписки.
Архив логов
Если поддержке нужен полный лог, а не хвост: «Выгрузить логи в архив» в
Продвинутые настройки → Обслуживание. Приложение спросит, куда сохранить
.zip, и положит в него отчёт и файлы логов приложения и ядра (от больших —
последние 8 МБ) — каждый уже пропущен через ту же маскировку, строки о
соединениях выброшены, а от их ошибок остались узел, порт и текст ошибки.
Маскировка стоит и в самом журнале: файлы логов на диске уже пишутся без токенов и адресов подписки.
Идентификатор устройства
В подсказке рядом с переключателем Настройки → Основные → «Идентификация
устройства» видно ровно то, что уходит панели: x-hwid, x-device-os,
x-ver-os, x-device-model и User-Agent. Идентификатор отправляется только на
адреса подписки — основной и запасной.
Он считается из машинного идентификатора системы:
| Система | Источник |
|---|---|
| Windows | HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid |
| macOS | IOPlatformUUID |
| Linux | /etc/machine-id, если нет — /var/lib/dbus/machine-id |
Значение солится и хешируется SHA-256, наружу уходят первые 32 hex-символа. Сам машинный идентификатор и имя компьютера никуда не отправляются. Результат запоминается, поэтому не меняется при обновлении приложения. Если системного идентификатора нет, берётся случайный и тоже запоминается.
Выключенная идентификация убирает все четыре x-* разом; User-Agent уходит
всегда — по нему панель узнаёт клиент. Панель с лимитом устройств тогда может
отказать — приложение предложит включить идентификацию обратно.