目次
設定エラーの相談では、ファイル全体を送るのが早く見えても、サブスクリプションやノードのパスワードまで渡してしまうことがあります。復元用の原本と相談用のコピーは分けて保存します。原本は完全な状態で暗号化し、相談用には同じエラーを再現できる構造と仮の値だけを残します。スクリーンショット、二次元コード、ログも併せて確認してください。
相談用ファイルで隠すべき情報は?
下の表に沿って設定、ログ、スクリーンショットを確認し、サブスクリプションの token、ノードのパスワード、コントローラーの secret、内部ネットワーク情報を隠します。相談用のコピーを別に保存し、手元で元の問題を再現できるか確認してください。原本のバックアップを直接書き換えず、次の節の保存方法を使います。
共有前に一項目ずつ探す
| 場所またはフィールド | 公開される可能性がある情報 | 処理方法 |
|---|---|---|
| サブスクリプション URL のクエリパラメーター | 設定全体を直接取得できる token | 完全な URL を削除し、ドメインとステータスコードだけを残す |
| proxies のノード | server、UUID、password、PSK、private-key | example.com と REDACTED をプレースホルダーとして使用する |
| external-controller / secret | ローカルの制御アドレスと API キー | フィールドの構造は維持し、実際の値を置き換える |
| ログとスクリーンショット | Authorization、Cookie、ユーザー名、QR コード | 無関係な画面を切り取り、もう一度全体を読む |
| LAN と会社のドメイン | 内部ネットワークのアドレス、ホスト名、構成 | 問題の説明に必要な最小範囲だけを残す |
元のバックアップは暗号化し、最小限の相談用コピーを別に作る
原本のバックアップには実際のサブスクリプション、ノード、ローカルの上書き設定を残し、自分で管理する暗号化ストレージにだけ保存します。トラブルの相談用コピーは新しいファイルから作り、問題の再現に必要な項目だけを追加してください。原本から項目を順に削除して作らないでください。長い URL、Provider header、スクリプトの引数などを見落としやすくなります。
バックアップのファイル名には、クライアント、カーネル、日付を含めることができます。例:verge-macos-2026-07-16-private.zip。圧縮ファイルは暗号化ではありません。クラウドストレージへ保存する場合は、プラットフォームのエンドツーエンド暗号化または暗号化アーカイブを使用し、共有権限を制限してください。
プレースホルダー値を使い、構造を理解できる最小限の設定を作成する
mixed-port: 7890
external-controller: 127.0.0.1:9090
secret: REDACTED
proxies:
- name: test-node
type: socks5
server: example.com
port: 1080
username: REDACTED
password: REDACTED
proxy-groups:
- name: Test
type: select
proxies: [test-node, DIRECT]
rules:
- DOMAIN,example.org,Test
- MATCH,DIRECTDNS の問題であれば、DNS、一つのテスト用ポリシーグループ、関連するルールだけを残します。YAML の解析エラーであれば、エラー行前後の階層を残します。プレースホルダーへ置き換えた後、ローカルで同じエラーを引き続き再現できることを確認してください。再現できなければ、他人が見る内容は元の問題と異なります。
送信前にテキスト検索を行い、人の目でもう一度確認する
まず共有するコピーのディレクトリへ移動します。最初のrgコマンドは、その中のファイルだけを検索します。続くGitコマンドは実際のGitリポジトリ内だけで実行してください。対象リポジトリのルートディレクトリへ移動し、path/to/config.yamlをリポジトリのルートから見た設定ファイルの実際の相対パスに変更します。
git diff --stagedでコミット予定の内容を、git log --allで各参照に含まれる関連履歴を確認します。コマンドのエラー、誤ったパス、該当コミットがないことは、認証情報が一度もリポジトリに入っていない証明にはなりません。Gitリポジトリではないコピーはテキストだけを確認し、履歴の削除が済んだとは扱わないでください。
rg -n -i 'token|secret|password|passwd|uuid|private-key|authorization|cookie' .
git diff --staged
git log --all -- path/to/config.yaml検索で確認できるのは一般的なフィールドだけで、カスタム header、QR コード、名前を変更した認証情報までは識別できません。検索結果を確認した後も、共有するファイルを一行ずつ読み、ターミナルのプロンプト、ブラウザのタブ、スクリーンショット内の通知を確認してください。
実際の設定をすでに送信した場合は、マスキングを続けるのではなく認証情報を変更する
元のファイルをグループチャット、サポート窓口、公開リポジトリに送ってしまった場合、機密情報を伏せた版を送り直しても、その後の悪用を減らせるだけで、古い認証情報は無効になりません。漏れた認証情報を変更し、古い値を使えなくしてください。
| 漏洩した内容 | 直ちに行う対処 |
|---|---|
| 完全なサブスクリプション URL | サービスの管理画面で token/サブスクリプションアドレスをリセットし、各デバイスを更新する |
| external-controller secret | 新しい secret を生成し、制御ポートが信頼できないネットワークへ公開されていないことを確認する |
| ノードの認証情報 | サーバー管理者に、パスワード、UUID、PSK、秘密鍵を変更してもらう |
| Git の履歴 | まず漏えいした認証情報をすべて失効または変更し、必要に応じて履歴を整理します。最新のファイルを削除するだけでは不十分です。 |
| 公開されたログまたはスクリーンショット | 拡散を減らすために取り下げ、そこに漏れた実際の認証情報をすべて変更する |
変更後は、未ログインのウィンドウから以前のサブスクリプションアドレスへアクセスするか、以前の secret で制御インターフェースへリクエストし、実際に無効になったことを確認してください。クライアント上の表示名を変更したことや、公開投稿を削除したことでは、この検証を代替できません。
設定、ログ、スクリーンショットを共有できる条件
送信できる条件
- 最小限のコピーでも、ローカルで同じエラーを再現できる
- すべての URL クエリパラメーター、ノード認証、secret を置き換えている
- ログに Authorization、Cookie、ローカルのユーザー名、絶対パスがない
- スクリーンショットに QR コード、アカウント、通知、無関係なタブがない
- 元の完全なバックアップを公開リポジトリや共有リンクへ送ったことがない
