piapia123
ja

WireGuard 設定ジェネレーター&検証

Web

処理はすべてブラウザ内で完結します。データは送信されません

入力
ファイルをここにドロップすると読み込めます
出力

モードは 2 つ。生成:秘密鍵(または `crypto.getRandomValues` で作った乱数鍵)を貼り付けると、対応する公開鍵を導出し、そのまま使えるクライアント設定を組み立てます。サーバー公開鍵・エンドポイント・DNS・Keepalive を埋めるだけです。検証:`.conf` 全体を貼り付けると行ごとに判定します —— 鍵が 32 バイトか、ポートが 1–65535 か、`AllowedIPs` が有効な CIDR か、Peer 公開鍵が重複していないか、そして最も多い「`Address` と `AllowedIPs` の書き間違い」。公開鍵は X25519(RFC 7748)を素の JavaScript で実装して導出します。`crypto.subtle` は安全なコンテキスト(https)にしか存在せず、本サイトは静的ページで http で開かれる可能性があるため使いません。秘密鍵は結果では `<REDACTED>` と表示されコピーできません。すべてブラウザ内で完結し、何もアップロードしません。

機能

  • 2 つのモード:設定の生成、または既存の .conf の検証
  • 秘密鍵から公開鍵を導出(X25519 をローカル実装)
  • 完全な [Interface] / [Peer] クライアント設定をワンクリック生成
  • 秘密鍵は乱数生成も可能 —— crypto.getRandomValues を使用(Math.random は使いません)
  • 秘密鍵は結果で <REDACTED> と伏せ、スクリーンショット等による漏えいを防ぎます
  • 行ごとの検証:鍵が 32 バイトか、ポート範囲、AllowedIPs が有効な CIDR か
  • Peer 公開鍵の重複や、Address と AllowedIPs の書き間違いを検出
  • すべてブラウザ内で完結し、何もアップロードしません

使い方

  1. 「生成」か「検証」のモードを選びます
  2. 生成:秘密鍵を貼り付け(または乱数生成にチェック)、サーバー公開鍵・エンドポイント等を入力します
  3. 結果から公開鍵、または設定ブロック全体をコピーします
  4. 検証:.conf 全体を貼り付け、行ごとの判定を確認します

よくある質問

秘密鍵はサーバーに送信されますか?
いいえ。導出と検証はすべてブラウザ内の JavaScript で行い、ページは一切のネットワーク通信をしません。秘密鍵も設定も端末の外に出ません。
結果に秘密鍵が表示されないのはなぜですか?
その行は常に <REDACTED> と表示されコピーできません。スクリーンショットや誤操作による漏えいを防ぐためです。実際の値は下のそのまま使える設定(PrivateKey = …)に含まれますので、設定は秘密として扱い、転送しないでください。
ブラウザ内蔵の暗号 API を使わないのはなぜですか?
crypto.subtle は https や localhost といった安全なコンテキストにしか存在しないからです。本サイトは静的ページで、http で開かれたり社内 IP に置かれたりすることがあり、その場合 crypto.subtle は取得できません。そこで X25519(RFC 7748)を素の JavaScript で実装し、どの環境でも同じ結果が得られるようにしています。
検証モードでは何が分かりますか?
各鍵が 32 バイトの Base64 か、エンドポイントのポートが 1–65535 か、AllowedIPs と Address が有効な CIDR か、Peer 公開鍵が重複していないか、そして最も多い「Address と AllowedIPs の書き間違い」です。AllowedIPs は [Peer] だけ、Address は [Interface] だけに書けます。行ごとに判定を示します。

関連ツール