レビュー

localhostを爆速でインターネットへ安全に公開する「Cloudflare Quick Tunnels」、たった1つのコマンドで暗号化された公開URLを作成可能でアカウント・DNSレコード・ポート開放は一切不要


PC上で開発中のWebアプリを外部から確認するには、ポート開放やサーバー設定などの手間がかかります。以前レビューした「Cloudflare Tunnel」からさらに手軽になり、アカウント登録不要かつコマンド1つで利用可能でAI向けのJSON出力にも対応した「Cloudflare Quick Tunnels」を実際に使ってみました。

Cloudflare Quick Tunnels
https://try.cloudflare.com/



◆Cloudflare Quick Tunnelsをインストール
今回はWindows11にパッケージマネージャーのWinGetが利用できる環境で、以下のコマンドを実行してコマンドラインツール「cloudflared」をインストールするだけで準備完了です。

winget install Cloudflare.cloudflared


◆localhostを1コマンドでインターネットへ公開
動作確認用として作業フォルダーに「index.html」を作成。Git for WindowsのGit Bashを利用する場合。

echo "Cloudflare Quick Tunnels Test" > index.html


Pythonの簡易HTTPサーバーを8000番ポートで起動します。

python -m http.server 8000


ブラウザで「http://localhost:8000」へアクセスすると、PC内だけで動作しているテストページを確認できます。


続いて別のGit Bashを開き、以下のコマンドを実行します。

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


CloudflareアカウントへのログインやDNS設定を行わなくてもランダムな文字列を含む「trycloudflare.com」のURLが発行されます。


◆スマートフォンからlocalhostへアクセス
発行されたURLをPCとは別回線のモバイルデバイスで開くとテストページが表示されました。


これは外部からPCへ直接接続しているのではなくcloudflaredからCloudflareへ確立した外向きの暗号化接続を経由してリクエストをlocalhostへ届ける仕組みで、ルーター側に受信用ポートを開放する必要がありません。


◆メールアドレスでアクセスを制限
通常のQuick TunnelはURLを知っている人なら誰でもアクセスできてしまいますが、「--allowed-mail」オプションを付けることで指定したメールアドレスへ送信されるワンタイムPINによる認証を追加できます。

cloudflared tunnel --url http://localhost:8000 --allowed-mail [email protected]


生成されたURLへアクセスするとメールアドレスの入力画面が表示されるので「Email」に設定したメールアドレスを入力して「Send login code」をクリック。


メールアドレスへ認証コードが送信されるので「Code」に入力し「Verify」をクリック。


テストページが表示されます。


◆AIエージェントから扱えるJSON形式にも対応
コマンドに「--output json」オプションを付けて実行すると…

cloudflared tunnel --url http://localhost:8000 --output json


スクリプトやAIコーディングエージェントが解析しやすいJSON形式で情報を取得できます。


◆Quick Tunnelsは開発・テスト向け
Quick Tunnelsは一時的な開発環境向けの機能で「cloudflared」を終了すると公開URLも利用できなくなり、新しくTunnelを作成するたびにホスト名も変化します。

また、1つのQuick Tunnelで処理中にできるリクエストは最大200件で、Server-Sent Events(SSE)にも対応しておらず、Cloudflareも本番環境では通常のCloudflare Tunnelを利用するよう案内しています。

◆Cloudflare Quick Tunnelsの評価
ソーシャル系ニュースサイトのHacker Newsでは、Cloudflare Quick Tunnelsについてさまざまな議論が行われており、「Homebrewでインストールして15秒ほどで動作するTunnelを作成できた」という評価がある一方、「Cloudflare Quick Tunnelsは5年以上前から存在しており、2021年の機能であることをタイトルに示すべき」という意見も投稿されています。

また、ngrokの創業者はngrokでは匿名利用がサービス上の悪用の大きな原因となったため以前に廃止したとして、アカウント不要の匿名Tunnelについてセキュリティ面から懸念する意見を投稿しています。これに対してCloudflare Tunnelの開発に携わっていたadamch氏は「Tunnelに取り組んだことは自分のキャリアのハイライトで、バグ修正や機能追加、アーキテクチャ設計などに取り組んだ」と説明しています。

Quick Tunnelsでは外部からPCへ直接通信を受け入れる代わりにcloudflared側からCloudflareへ接続しますが、生成されたURL自体は公開URLとなるため、機密情報を含む開発環境では「--allowed-mail」による認証を組み合わせるなど、公開範囲を意識した利用が重要です。

・関連記事
無料でポート開放など面倒な設定不要でローカル環境を外部に公開できる「Cloudflare Tunnel」を使ってみた - GIGAZINE

無料で使えるCloudflare Accessで安全にローカルのAIを外部から使えるように設定してみた - GIGAZINE

netcatと同様だがTailscaleのデータプレーン上で動作する「Tailcat」 - GIGAZINE

SSHを使用したポート転送やトンネリングの設定をわかりやすく図示したビジュアルガイド - GIGAZINE

混乱しがちな「SSHトンネルの確立方法」をイメージ図とセットでまとめたコマンド集 - GIGAZINE

AdGuardが独自のVPNプロトコル「TrustTunnel」をオープンソース化 - GIGAZINE

in ソフトウェア,   レビュー, Posted by darkhorse_logmk

You can read the machine translated English article Cloudflare Quick Tunnels allows you to s….