Quick Tunnels create a temporary trycloudflare.com URL for a local service. You do not need a Cloudflare account or domain.
- Install
cloudflared. - Start a local HTTP server. This example uses
http://localhost:8080.
-
In a terminal, start a Quick Tunnel:
cloudflared tunnel --url http://localhost:8080 -
Open the
trycloudflare.comURL printed bycloudflared.
Anyone with the URL can access your local service. The URL stops working when you stop the cloudflared process.
Use --allowed-mail to require email authentication. Visitors receive a one-time PIN before they can access your service.
-
Start a Quick Tunnel with an allowed email address:
cloudflared tunnel --url http://localhost:8080 --allowed-mail alice@example.com -
Share the generated URL with the allowed visitor.
-
The visitor opens the URL and enters their email address.
-
The visitor enters the one-time PIN sent to their email.
The visitor does not need a Cloudflare account.
Repeat --allowed-mail to allow multiple email addresses:
cloudflared tunnel --url http://localhost:8080 \
--allowed-mail alice@example.com \
--allowed-mail bob@example.comSeparate multiple email addresses with commas:
cloudflared tunnel --url http://localhost:8080 \
--allowed-mail 'alice@example.com,bob@example.com'Use *@example.com to allow every address from a domain. Enclose wildcard values in quotes to prevent shell expansion:
cloudflared tunnel --url http://localhost:8080 --allowed-mail '*@example.com'To change who can access the service, stop cloudflared and start a new Quick Tunnel. Access ends for everyone when the process stops.
- Quick Tunnels have no uptime guarantee.
- Each Quick Tunnel supports up to 200 in-flight requests. Additional requests return a
429response. - Quick Tunnels do not support Server-Sent Events (SSE).
- Email authentication requires an interactive browser session. It does not support non-interactive clients.
- The hostname changes each time you create a Quick Tunnel.
For stable hostnames and production traffic, create a Cloudflare Tunnel.