# インストール {#installation}

接続用プログラム `takumigateway` は単一の静的バイナリとして配布しています。対応環境は Linux（amd64、arm64）、macOS（arm64）、Windows（amd64、arm64）です。お使いのプラットフォームに合ったものをダウンロードし、実行権限を付与してください。

以下のコマンドは、最新の公開バージョンを [https://dist.takumi-san.ai/gateway/latest/VERSION](https://dist.takumi-san.ai/gateway/latest/VERSION) から取得し、ホームディレクトリ内の `takumi-gateway` フォルダーにダウンロードします。特定のバージョンを使いたい場合は、この取得部分をバージョン番号に置き換えてください。

<Tabs>
<TabItem value="linux-amd64" label="Linux (amd64)" default>

```sh
GATEWAY_VERSION=$(curl -fsSL https://dist.takumi-san.ai/gateway/latest/VERSION)
GATEWAY_URL="https://dist.takumi-san.ai/gateway/${GATEWAY_VERSION}/linux/amd64/takumigateway"
mkdir -p "$HOME/takumi-gateway" && cd "$HOME/takumi-gateway"
curl -fL "$GATEWAY_URL" -o takumigateway
chmod +x takumigateway
```

</TabItem>

<TabItem value="linux-arm64" label="Linux (arm64)">

```sh
GATEWAY_VERSION=$(curl -fsSL https://dist.takumi-san.ai/gateway/latest/VERSION)
GATEWAY_URL="https://dist.takumi-san.ai/gateway/${GATEWAY_VERSION}/linux/arm64/takumigateway"
mkdir -p "$HOME/takumi-gateway" && cd "$HOME/takumi-gateway"
curl -fL "$GATEWAY_URL" -o takumigateway
chmod +x takumigateway
```

</TabItem>

<TabItem value="macos-arm64" label="macOS (arm64)">

```sh
GATEWAY_VERSION=$(curl -fsSL https://dist.takumi-san.ai/gateway/latest/VERSION)
GATEWAY_URL="https://dist.takumi-san.ai/gateway/${GATEWAY_VERSION}/darwin/arm64/takumigateway"
mkdir -p "$HOME/takumi-gateway" && cd "$HOME/takumi-gateway"
curl -fL "$GATEWAY_URL" -o takumigateway
chmod +x takumigateway
```

</TabItem>

<TabItem value="windows-amd64" label="Windows (amd64)">

```powershell
$GatewayDir = Join-Path $HOME 'takumi-gateway'
New-Item -ItemType Directory -Force -Path $GatewayDir | Out-Null
Set-Location $GatewayDir
$Version = (Invoke-RestMethod https://dist.takumi-san.ai/gateway/latest/VERSION).Trim()
Invoke-WebRequest -Uri "https://dist.takumi-san.ai/gateway/$Version/windows/amd64/takumigateway.exe" -OutFile "takumigateway.exe"
```

</TabItem>

<TabItem value="windows-arm64" label="Windows (arm64)">

```powershell
$GatewayDir = Join-Path $HOME 'takumi-gateway'
New-Item -ItemType Directory -Force -Path $GatewayDir | Out-Null
Set-Location $GatewayDir
$Version = (Invoke-RestMethod https://dist.takumi-san.ai/gateway/latest/VERSION).Trim()
Invoke-WebRequest -Uri "https://dist.takumi-san.ai/gateway/$Version/windows/arm64/takumigateway.exe" -OutFile "takumigateway.exe"
```

</TabItem>
</Tabs>

## バイナリの検証 {#verify}

接続用プログラムは、インストール先の端末でコマンドを実行します。実行する前に、ダウンロードしたファイルが改ざんされていないことを確認してください。各バージョンのハッシュ値は `https://dist.takumi-san.ai/gateway/<version>/SHA256SUMS` で公開しています。

ダウンロードしたファイルのハッシュ値を以下のコマンドで計算し、`SHA256SUMS` の中で利用する OS とアーキテクチャに対応する行と一致することを確認します。

| OS                    | コマンド                                                    |
| --------------------- | ----------------------------------------------------------- |
| Linux                 | `sha256sum ./takumigateway`                                 |
| macOS                 | `shasum -a 256 ./takumigateway`                             |
| Windows（PowerShell） | `(Get-FileHash .\takumigateway.exe -Algorithm SHA256).Hash` |

以下のコマンドで、接続用プログラムのバージョンを確認できます。

```sh
# Linux / macOS
./takumigateway --version

# Windows (PowerShell)
.\takumigateway.exe --version
```

## 自動更新 {#updates}

接続用プログラムは起動時に新しいバージョンがあるかを確認し、署名済みの更新情報を検証してから、接続前に更新します。接続中に新しいバージョンが公開された場合は通知を表示し、次回の起動時に更新します。更新を確認できない場合も、インストール済みのバージョンで動作を続けます。

:::warning
自動更新するには、接続用プログラムを起動するユーザーが書き込めるフォルダーに配置する必要があります。管理者権限が必要な場所に置くと、自動更新できません。
:::

## 次のステップ {#next-steps}

[内部起点テストを始める](/docs/ja/t/assessment/features/pentest/gateway/quickstart.md)に進んで、ゲートウェイを登録し、Takumi に接続しましょう。
