コンテンツにスキップ

トンネル

トンネルは OpenChamber への公開リンクです。スマートフォンや別ネットワークからアクセスできます。実行中のインスタンスに対して作成するには openchamber tunnel を使います。

前提条件

OpenChamber はあなたのマシン上でトンネルプロバイダー CLI を起動します。使いたいプロバイダーを先にインストールしてください。

Terminal window
brew install cloudflared
brew install ngrok

Cloudflare quick tunnel は cloudflared で実行できます。Ngrok には ngrok アカウントと ngrok ダッシュボードの authtoken が必要です。

Terminal window
ngrok config add-authtoken <your-ngrok-token>

クイックスタート

  1. OpenChamber を起動します。
Terminal window
openchamber

この手順を省いた場合、openchamber tunnel start は CLI サーバーを自動起動できます。自動起動時には --port--host--lan--ui-password--api-only などのサーバーオプションを渡せます。

  1. Cloudflare トンネルを開始します。
Terminal window
openchamber tunnel start --provider cloudflare --mode quick

または Ngrok トンネルを開始します。

Terminal window
openchamber tunnel start --provider ngrok --mode quick
  1. 状態を確認します。
Terminal window
openchamber tunnel status

トンネルが起動すると、status に公開 URL が表示されます。それを開くか QR コードをスキャンすると、どこからでも OpenChamber にアクセスできます。

デフォルトでは、OpenChamber は対話型 TTY セッションで QR コードを表示します。QR 出力を強制するには --qr、無効にするには --no-qr を使います。

プロバイダー

  • cloudflare: quick、managed remote、managed local モード
  • ngrok: quick モード

管理対象モード

Managed remote

Cloudflare が管理する token + hostname を使います。

Terminal window
openchamber tunnel start --provider cloudflare --mode managed-remote --token-file ~/.secrets/cf-token --hostname app.example.com

Managed local

ローカルの cloudflared 設定を使います。

Terminal window
openchamber tunnel start --provider cloudflare --mode managed-local --config ~/.cloudflared/config.yml

プロファイル(managed-remote)

再利用可能なプロファイルを保存します。

Terminal window
openchamber tunnel profile add --provider cloudflare --mode managed-remote --name prod-main --hostname app.example.com --token-file ~/.secrets/cf-token

保存したプロファイルで起動します。

Terminal window
openchamber tunnel start --profile prod-main

便利なコマンド

Terminal window
openchamber tunnel providers
openchamber tunnel ready --provider cloudflare
openchamber tunnel ready --provider ngrok
openchamber tunnel doctor --provider cloudflare
openchamber tunnel doctor --provider ngrok
openchamber tunnel stop --port 3000

動作メモ

  • OpenChamber インスタンス(ポート)ごとにアクティブなトンネルは 1 つです
  • 同じインスタンスで新しい mode/provider を開始すると、前のトンネルは置き換えられます
  • 新しい接続リンクを生成すると、以前の未使用リンクは無効化されます
  • トンネルの自動起動は、restart/update フローで使うインスタンス設定に --ui-password--api-only などのサーバーフラグを保持します

関連