トンネル
トンネルは OpenChamber へのリンクです。別ネットワークの普通のブラウザから、または Tailscale Serve なら tailnet 内のどのデバイスからでもアクセスできます。実行中のインスタンスに対して作成するには openchamber tunnel を使います。
自分のデバイス(モバイルアプリ、別のデスクトップ)の接続には、通常トンネルは不要です。代わりに ペアリング して、エンドツーエンド暗号化の Private Relay にセットアップ不要で外出先アクセスを任せましょう。
前提条件
OpenChamber はあなたのマシン上でトンネルプロバイダー CLI を起動します。使いたいプロバイダーを先にインストールしてください。
brew install cloudflaredbrew install ngrokTailscale を使う場合は、Tailscale アプリをインストールしてサインインします。 Mac ではアプリだけで十分です。OpenChamber はアプリ内のコマンドラインツールを見つけます。
Cloudflare quick tunnel は cloudflared で実行できます。Ngrok には ngrok アカウントと ngrok ダッシュボードの authtoken が必要です。
ngrok config add-authtoken <your-ngrok-token>クイックスタート
- OpenChamber を起動します。
openchamberこの手順を省いた場合、openchamber tunnel start は CLI サーバーを自動起動できます。自動起動時には --port、--host、--lan、--ui-password、--api-only などのサーバーオプションを渡せます。
- Cloudflare トンネルを開始します。
openchamber tunnel start --provider cloudflare --mode quickまたは Ngrok トンネルを開始します。
openchamber tunnel start --provider ngrok --mode quickまたは、Tailscale Serve で tailnet 内のデバイスと共有します。
openchamber tunnel start --provider tailscale --mode serve- 状態を確認します。
openchamber tunnel statusトンネルが起動すると、status に公開 URL が表示されます。それを開くか QR コードをスキャンすると、どこからでも OpenChamber にアクセスできます。
デフォルトでは、OpenChamber は対話型 TTY セッションで QR コードを表示します。QR 出力を強制するには --qr、無効にするには --no-qr を使います。
プロバイダー
cloudflare: quick、managed remote、managed local モードngrok: quick モードtailscale: tailnet 内のデバイスからだけ開ける serve モードと、インターネット全体から開ける funnel モード
Tailscale
どちらのモードも https://laptop.example.ts.net のようなマシンの tailnet アドレスを使います。ポートは --https-port で 443(既定)、8443、10000 から選びます。Tailscale が 443 で別のものをすでに共有している場合に変更してください。
初回は、Tailscale が tailnet で HTTPS(Serve の場合)または Funnel を有効にするよう求めます。OpenChamber は停止して Tailscale のリンクを表示します。リンクを開いて承認し、トンネルをもう一度開始してください。Linux では、ポートを共有できるのは root か Tailscale のオペレーターだけです。sudo tailscale set --operator=$USER で一度だけ自分をオペレーターにします。
トンネルを停止すると、OpenChamber が Tailscale で共有したものだけが削除され、ほかの Tailscale の設定はそのまま残ります。
管理対象モード
Managed remote
Cloudflare が管理する token + hostname を使います。
openchamber tunnel start --provider cloudflare --mode managed-remote --token-file ~/.secrets/cf-token --hostname app.example.comManaged local
ローカルの cloudflared 設定を使います。
openchamber tunnel start --provider cloudflare --mode managed-local --config ~/.cloudflared/config.ymlプロファイル(managed-remote)
再利用可能なプロファイルを保存します。
openchamber tunnel profile add --provider cloudflare --mode managed-remote --name prod-main --hostname app.example.com --token-file ~/.secrets/cf-token保存したプロファイルで起動します。
openchamber tunnel start --profile prod-main便利なコマンド
openchamber tunnel providersopenchamber tunnel ready --provider cloudflareopenchamber tunnel ready --provider ngrokopenchamber tunnel doctor --provider cloudflareopenchamber tunnel doctor --provider ngrokopenchamber tunnel doctor --provider tailscaleopenchamber tunnel stop --port 3000動作メモ
- OpenChamber インスタンス(ポート)ごとにアクティブなトンネルは 1 つです
- 同じインスタンスで新しい mode/provider を開始すると、前のトンネルは置き換えられます
- 新しい接続リンクを生成すると、以前の未使用リンクは無効化されます
- トンネルの自動起動は、restart/update フローで使うインスタンス設定に
--ui-passwordや--api-onlyなどのサーバーフラグを保持します
関連
- デバイスを接続する — 公開 URL なしで自分のデバイスをペアリングする
- セキュリティ — 公開する前に UI を保護する
- デスクトップトンネル — CLI 起動なしでデスクトップアプリからトンネルを設定する
- モバイルアプリと PWA — スマートフォンから OpenChamber にアクセスする
- トラブルシューティング — トンネルリンクが動かない場合