開発者向け Terminal Proxy ワークフロー
FreeGuard CLI は、トラフィックを暗号化された VPN トンネル経由でルーティングすることで、端末を安全な開発環境に変えます。制限のあるネットワークからリポジトリをクローンする場合でも、地域をまたいで API をデバッグする場合でも、安全なチャネル経由でコンテナをデプロイする場合でも、CLI は git、ssh、curl、docker など、すでに使っているツールに統合されます。

開発者向け Terminal Proxy ワークフロー

FreeGuard CLI は、トラフィックを暗号化された VPN トンネル経由でルーティングすることで、端末を安全な開発環境に変えます。制限のあるネットワークからリポジトリをクローンする場合でも、地域をまたいで API をデバッグする場合でも、安全なチャネル経由でコンテナをデプロイする場合でも、CLI は git、ssh、curl、docker など、すでに使っているツールに統合されます。

開発者に Terminal Proxy が必要な理由

多くの開発タスクでは、VPN 保護の恩恵を受けられるネットワークアクセスが必要です:

  • コーヒーショップや空港から内部 API にアクセスする
  • 開発中に地域制限のあるサービスをテストする
  • git トラフィックを制限または検査するネットワーク経由でコードを push する
  • 制限の厳しいファイアウォール越しにリモートサーバーへ接続する
  • CI/CD の認証情報を転送中も暗号化して保つ

FreeGuard CLI は、端末から離れることなくこれらすべてを処理します。


VPN 経由の Git

問題

企業ネットワーク、公共 Wi-Fi、一部の ISP は、git 操作を制限またはブロックします。SSH ベースの git 接続は、Deep Packet Inspection によってフラグ付けされることがあります。HTTPS の clone は、透過プロキシによって傍受される可能性があります。

解決策

git 操作の前に FreeGuard に接続します:

freeguard connect --server us-east

git clone [email protected]:your-org/private-repo.git
git fetch --all
git push origin feature-branch

freeguard disconnect

より自動化された方法として、スクリプトに組み込みます:

#!/bin/bash
freeguard connect --server us-east --json | jq -r '.status'
trap "freeguard disconnect" EXIT

git pull origin main
npm run build
git push origin main

trap により、スクリプトが途中で失敗しても VPN は確実に切断されます。

Proxy 対応の Git

FreeGuard CLI は、ローカルの SOCKS5 または HTTP Proxy も公開できます。git がそれを使用するように設定します:

# Set proxy for git globally
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080

# Or per-repository
git config http.proxy socks5://127.0.0.1:1080

完了したら Proxy 設定を削除します:

git config --global --unset http.proxy
git config --global --unset https.proxy

VPN を使った SSH トンネリング

リモートサーバーへのアクセス

信頼できないネットワークからサーバーへ SSH 接続する必要がある場合、VPN は SSH トラフィックがマシンを離れる前に暗号化レイヤーを追加します:

freeguard connect --server us-west
ssh [email protected]

VPN を経由した ProxyJump

FreeGuard と SSH ProxyJump を組み合わせて、多段アクセスを行います:

# Connect to VPN first
freeguard connect

# Then jump through a bastion host
ssh -J [email protected] [email protected]

ポートフォワーディング

リモートポートを VPN トンネル経由で転送します:

freeguard connect --server eu-west
ssh -L 5432:db.internal:5432 [email protected]
# Now connect to localhost:5432 to reach the remote database

API 開発

curl でのテスト

API リクエストを VPN 経由でルーティングし、異なる地域からテストします:

freeguard connect --server jp-tokyo

# Test geo-specific API responses
curl -s https://api.example.com/v1/content | jq '.region'
# Output: "ap-northeast-1"

freeguard connect --server de-frankfurt
curl -s https://api.example.com/v1/content | jq '.region'
# Output: "eu-central-1"

httpie の使用

httpie でも同じように動作します。FreeGuard CLI はシステムレベルで動作するため、すべての HTTP クライアントが恩恵を受けます:

freeguard connect --server uk-london
http GET https://api.example.com/v1/pricing Accept:application/json

選択的ルーティングのための Proxy モード

特定のリクエストだけを VPN 経由にしたい場合は、ローカル Proxy を使用します:

# Start FreeGuard with local proxy
freeguard connect

# Route specific requests through the proxy
curl --proxy socks5://127.0.0.1:1080 https://api.example.com/endpoint

# Direct requests bypass VPN
curl https://internal.company.com/api

Docker コンテナ + VPN

VPN を通すコンテナネットワーク

Docker コンテナのトラフィックを FreeGuard 経由でルーティングします:

# Connect host to VPN
freeguard connect --server us-east

# Containers using host network will route through VPN
docker run --network host my-app:latest

Docker Compose との統合

開発スタックに VPN 接続を追加します:

#!/bin/bash
# dev-start.sh
freeguard connect --server us-east --json | jq -r '.status'
docker compose up -d
echo "Development stack is running through VPN"

制限のあるネットワークの背後でイメージをビルドする

docker build が、ブロックされたり遅かったりするレジストリからパッケージをダウンロードする必要がある場合:

freeguard connect --server us-west
docker build --network host -t my-app:latest .
freeguard disconnect

CI/CD 統合

GitHub Actions

ビルド中に地域制限のあるリソースへアクセスするため、CI パイプラインで FreeGuard CLI を使用します:

- name: Connect VPN
  run: |
    curl -fsSL https://cli.freeguard.com/install.sh | bash
    freeguard login --method token --token ${{ secrets.FREEGUARD_TOKEN }}
    freeguard connect --server us-east --json

スクリプト向けの出力

すべての FreeGuard CLI コマンドは、機械可読な出力のための --json と、見やすいログファイルのための --no-color をサポートしています:

# Get connection status as JSON
freeguard status --json
# {"connected": true, "server": "us-east-1", "protocol": "hysteria2", "uptime": 3600}

# List servers as JSON for programmatic selection
freeguard servers --json --region us | jq '.[0].id'

終了コード

CLI は、スクリプトが確認できる標準の終了コードを使用します:

Exit Code 意味
0 成功
1 一般エラー
2 認証が必要
3 接続失敗
4 サーバーが見つからない
freeguard connect --server us-east
if [ $? -eq 0 ]; then
  echo "VPN connected, starting deployment..."
  ./deploy.sh
fi

日常利用のヒント

  1. Shell aliasalias vpn="freeguard connect"alias vpnoff="freeguard disconnect" をシェルのプロファイルに追加します。
  2. 自動接続 — 常に VPN を有効にしたい場合は、.zshrc または .bashrcfreeguard connect を追加します。
  3. サーバーブックマーク--server フラグを省略するには freeguard config set default-server us-east を使用します。
  4. プロンプトでの状態表示freeguard status --json を解析して、シェルプロンプトに VPN 状態を表示します。

次のステップ

Last updated: March 2026