> For AI agents: the complete documentation index is available at /ja/llms.txt, the full documentation bundle is available at /ja/llms-full.txt.

# プラットフォームプロキシ

GZCTFには、WebSocket-TCPの転送機能と対応するトラフィック記録機能が組み込まれており、関連する設定項目を通じて有効にすることができます。

## 設定

`appsettings.json` で `ContainerProvider` ノードを見つけて、以下のように設定します：

```json
{
  "ContainerProvider": {
    "PortMappingType": "PlatformProxy",
    "EnableTrafficCapture": false,
    "DockerConfig": {
      // オプション、チャレンジネットワークのプレフィックス（Docker バックエンド）
      "ChallengeNetwork": "challenges"
    }
  }
}
```

## 使用方法

プラットフォームプロキシが有効になった後、プラットフォームの `/api/proxy/{guid}` インターフェースを使用して、TCP over WebSocketのトラフィック転送を行うことができます。

任意のこの方式をサポートするプログラムを接続することができます。また、推奨クライアント：[WebSocketReflectorX](https://github.com/XDSEC/WebSocketReflectorX)を使用してローカルポートプロキシを行い、シームレスなインタラクションを行うことができます。

## 注意事項

`Docker` をバックエンドとして単体で使用し、`PlatformProxy` ポートマッピングタイプを使用する場合、GZCTFはチャレンジコンテナにアクセスするためにネットワークを経由する必要があります。

**v1.8.0 以降、**`ChallengeNetwork` の値は**ネットワークプレフィックス**として扱われます。GZCTF は `<ChallengeNetwork>-open` と `<ChallengeNetwork>-isolated` ネットワークを自動的に作成し（デフォルトのプレフィックスは `gzctf`）、自身もこれらのネットワークに自動的に接続するため、デフォルト（`open` / `isolated`）ネットワークモードではネットワークを手動で作成する必要はありません。

`custom` ネットワークモードを使用する場合は、チャレンジコンテナを起動する前に `<ChallengeNetwork>-custom` ネットワークを自分で作成する必要があります。例えば：

```bash
docker network create challenges-custom -d bridge --subnet 192.168.133.0/24
```

設定項目 **ChallengeNetwork** を対応するプレフィックス（例：`challenges`）に設定してください。
