診断パッケージ
Gately の動作がおかしいときは、設定 → 診断 から診断パッケージをエクスポートし、GitHub の issue に添付してください。スクリーンショットやログの貼り付けを求められることなく、メンテナーが原因を特定できます。
診断パッケージは自分のマシン上で生成され、どこにもアップロードされません。ダウンロード前に 内容をプレビュー をクリックすると、エクスポートされる内容を正確に確認できます。zip にはプレーンテキストと JSON しか含まれないため、展開してすべてのファイルを確認することもできます。
エクスポートされる内容
| ファイル | 内容 |
|---|---|
README.txt | 診断パッケージの説明(中国語と英語の 2 言語) |
summary.json | Gately のバージョンとビルド情報、OS とアーキテクチャ、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 アドレス、ドメイン、メールアドレス、URL、
password=…形式のキーと値、Bearerトークン、トークンのような長い文字列、MAC アドレス、ユーザーディレクトリをマスクします。github.comやletsencrypt.orgなどの公共サービスのドメインは、障害がネットワークの問題かどうかを判断する手がかりになるため残します。 - 入力した名前(たとえばルールの備考)は、IP やドメインに見えなければログの行に残ることがあります。投稿する前に
logs/*.logに目を通し、共有したくない内容を削除してください。
API
GET /api/system/diagnostics(ログインセッションのみ。API トークンは拒否されます)。?logs=0 でログを除外し、?preview=1 でファイルを JSON として返します。