Tactic Remote

Cloudflare Tunnel 設定

無料の Cloudflare Tunnel を使ってどこからでも Mac にアクセス。

Cloudflare Tunnel を使うと、セルラーデータ、別の WiFi、世界中のどこからでも Mac に接続できます。ポートフォワーディングやルーター設定は不要です。

使用するタイミング

  • iPhone と Mac が異なるネットワークにある(外出中など)
  • ネットワークがデバイス間の直接接続をブロックしている
  • デフォルトで HTTPS/WSS 暗号化が必要

仕組み

cloudflared が Mac から Cloudflare エッジへのアウトバウンド専用トンネルを作成。iPhone は Cloudflare URL に接続し、トラフィックが Mac にリレーされます。ルーターでポートを開ける必要はありません。

Option A: クイックトンネル(一時的)

最も速い方法。Cloudflare アカウント不要。URL はランダムで、再起動ごとに変わります。

Mac アプリを使用

Mac アプリの設定で Cloudflare Tunnel をトグル。アプリが cloudflared を内部で実行し、トンネル URL を表示します。

コマンドラインを使用

cloudflared をインストール:

brew install cloudflared

クイックトンネルを開始:

cloudflared tunnel --url http://localhost:8765

https://random-words.trycloudflare.com のような URL が出力されます。この URL を iPhone アプリで使用してください(接続モードを Public / Cloudflare に設定)。

Option B: 名前付きトンネル(固定 URL)

日常使用には、変わらない固定 URL の名前付きトンネルが便利です。

必要なもの:

  • 無料の Cloudflare アカウント
  • Cloudflare で管理するドメイン(無料ドメインでも可)

手順:

  1. 認証:

    cloudflared tunnel login
  2. トンネルを作成:

    cloudflared tunnel create claude-remote
  3. DNS 設定 — サブドメインをトンネルに向ける:

    cloudflared tunnel route dns claude-remote remote.yourdomain.com
  4. ~/.cloudflared/config.yml に設定ファイルを作成:

    tunnel: claude-remote
    credentials-file: ~/.cloudflared/<TUNNEL_ID>.json
    ingress:
      - hostname: remote.yourdomain.com
        service: http://localhost:8765
      - service: http_status:404
  5. 実行:

    cloudflared tunnel run claude-remote

固定 URL は wss://remote.yourdomain.com になります。

iPhone から接続

  1. iPhone アプリで Public (Cloudflare) 接続モードに切り替え
  2. トンネル URL を入力(ランダムの *.trycloudflare.com または名前付きドメイン)
  3. API キーを入力(公開アクセスには必須)
  4. Connect をタップ

重要:公開トンネルには必ず API キーを設定

サーバーがインターネットから到達可能な場合、API キーは必須です。サーバー起動前に環境変数として設定:

export CLAUDE_REMOTE_API_KEY="your-secret-key"

または Mac アプリに自動生成させてください(メニューバーパネルに表示)。

トラブルシューティング

  • トンネルは接続したが iPhone から到達できない: ローカルサーバーがトンネルと同じポート(デフォルト 8765)で動作していることを確認。
  • DNS が解決しない: 名前付きトンネルの場合、Cloudflare ダッシュボードで CNAME レコードの存在を確認。
  • ランダム URL が変わった: クイックトンネルは再起動ごとに新しい URL を生成。固定が必要なら名前付きトンネルを使用。