コンテンツにスキップ
日

トンネル

トンネルは Varin への公開リンクです。別ネットワークの普通のブラウザからアクセスできます。実行中のインスタンスに対して作成するには varin tunnel を使います。

自分のデバイス(モバイルアプリ、別のデスクトップ)の接続には、通常トンネルは不要です。代わりに ペアリング して、サーバーにリレーが設定(VARIN_RELAY_URL)されたら、エンドツーエンド暗号化の Private Relay に外出先アクセスを任せましょう。

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

ターミナルウィンドウ
brew install cloudflared
brew install ngrok

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

ターミナルウィンドウ
ngrok config add-authtoken <your-ngrok-token>
  1. Varin を起動します。
ターミナルウィンドウ
varin

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

  1. Cloudflare トンネルを開始します。
ターミナルウィンドウ
varin tunnel start --provider cloudflare --mode quick

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

ターミナルウィンドウ
varin tunnel start --provider ngrok --mode quick
  1. 状態を確認します。
ターミナルウィンドウ
varin tunnel status

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

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

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

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

ターミナルウィンドウ
varin tunnel start --provider cloudflare --mode managed-remote --token-file ~/.secrets/cf-token --hostname app.example.com

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

ターミナルウィンドウ
varin tunnel start --provider cloudflare --mode managed-local --config ~/.cloudflared/config.yml

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

ターミナルウィンドウ
varin tunnel profile add --provider cloudflare --mode managed-remote --name prod-main --hostname app.example.com --token-file ~/.secrets/cf-token

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

ターミナルウィンドウ
varin tunnel start --profile prod-main
ターミナルウィンドウ
varin tunnel providers
varin tunnel ready --provider cloudflare
varin tunnel ready --provider ngrok
varin tunnel doctor --provider cloudflare
varin tunnel doctor --provider ngrok
varin tunnel stop --port 3000
  • Varin インスタンス(ポート)ごとにアクティブなトンネルは 1 つです
  • 同じインスタンスで新しい mode/provider を開始すると、前のトンネルは置き換えられます
  • 新しい接続リンクを生成すると、以前の未使用リンクは無効化されます
  • トンネルの自動起動は、restart/update フローで使うインスタンス設定に --ui-password や --api-only などのサーバーフラグを保持します