開発者向け 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
日常利用のヒント
- Shell alias —
alias vpn="freeguard connect"とalias vpnoff="freeguard disconnect"をシェルのプロファイルに追加します。 - 自動接続 — 常に VPN を有効にしたい場合は、
.zshrcまたは.bashrcにfreeguard connectを追加します。 - サーバーブックマーク —
--serverフラグを省略するにはfreeguard config set default-server us-eastを使用します。 - プロンプトでの状態表示 —
freeguard status --jsonを解析して、シェルプロンプトに VPN 状態を表示します。
次のステップ
- FreeGuard CLI — インストールと完全なコマンドリファレンス
- CLI command documentation — すべてのコマンドとフラグの詳細リファレンス
- Deploy on headless servers — FreeGuard CLI をシステムサービスとして実行する
- Pricing — 開発者向けプラン
Last updated: March 2026