Диагностический пакет
Если Gately работает неправильно, экспортируйте диагностический пакет в разделе Настройки → Диагностика и приложите его к своему issue на GitHub. Так сопровождающие смогут найти причину, не запрашивая у вас скриншоты и скопированные журналы.
Пакет создаётся на вашей собственной машине и никуда не загружается. Перед скачиванием нажмите Предпросмотр содержимого, чтобы увидеть всё, что будет экспортировано. В zip-архиве только обычный текст и JSON, поэтому его можно распаковать и проверить каждый файл.
Что экспортируется
| Файл | Содержимое |
|---|---|
README.txt | Описание пакета на двух языках |
summary.json | Версия и сведения о сборке Gately, ОС и архитектура, модель и число ядер CPU, общий объём памяти и диска, время работы, статистика среды выполнения Go, номера портов интерфейса управления, имена сетевых интерфейсов с категориями адресов (например, private: 1, public: 2) |
modules.json | Список модулей и сводка состояния со страницы «Обзор» |
config/*.json | Структура конфигурации: имена полей, числа, переключатели и значения перечислений, например протокол и режим |
logs/*.log | Недавние журналы работы системы и каждого модуля, включая сохранённые на диск до перезапуска (можно отключить) |
Что никогда не экспортируется
- Пароли, хеши паролей, API-токены, секреты TOTP, ключи сеансов, секреты клиентов OAuth, ключи DNS-провайдеров, пароли и закрытые ключи SSH, сертификаты и закрытые ключи.
account.jsonиtokens.jsonникогда не читаются. - Доменные имена, имена хостов, реальные IP- и MAC-адреса. Они заменяются заполнителями вроде
<domain>,<ipv4:private>,<ipv4:public>и<mac>; порты сохраняются. - Путь к каталогу конфигурации и ваш домашний каталог (заменяются на
<config-dir>и<home>). - Названия, примечания и любой другой текст, введённый в конфигурации: каждая строка, не являющаяся известным значением перечисления, превращается в
<redacted>. - Содержимое файлов, контейнеры, образы и переменные окружения Docker, сеансы терминала и содержимое трафика.
Как работает обезличивание
- Конфигурация: значения по умолчанию удаляются. Остаются только имена полей, числа, логические значения, фиксированный список полей-перечислений (
protocol,mode,provider, …) и метки времени. У полей с адресами сохраняются только порт и категория IP. - Журналы: маскируются IP-адреса, домены, адреса e-mail, URL, пары вида
password=…, токеныBearer, длинные строки, похожие на токены, MAC-адреса и пользовательские каталоги. Домены публичных сервисов, напримерgithub.comиletsencrypt.org, сохраняются: по ним видно, связан ли сбой с сетью. - Введённое вами название (например, примечание к правилу) всё ещё может попасть в строку журнала, если оно не похоже на IP или домен. Просмотрите
logs/*.logперед публикацией и удалите то, чем не хотите делиться.
API
GET /api/system/diagnostics (только для сеанса входа, API-токены отклоняются). ?logs=0 исключает журналы, а ?preview=1 возвращает файлы в виде JSON.