Reference 0001 · keep this open while writing guides

Public no-auth URLs: 3 tools, side by side

Codespaces ports · Cloudflare quick tunnels · Tailscale Funnel. The exact commands, then the comparison. Every row is grounded in the official docs.

The exact commands

1 · GitHub Codespaces public port

No install. Works only from inside a Codespace. URL stable per codespace.

$ python3 -m http.server 8080            # your app on a port
$ gh codespace ports visibility 8080:public -c $CODESPACE_NAME
# → https://CODESPACENAME-8080.app.github.dev  (no login for anyone)

2 · Cloudflare quick tunnel (TryCloudflare)

No account. One binary. Random URL every run. Runs anywhere — laptop or inside a Codespace.

$ cloudflared tunnel --url http://localhost:8080
# → https://random-words-1234.trycloudflare.com  (printed in the output)

Install cloudflared: brew install cloudflared (mac) · see downloads for Linux/Codespaces.

3 · Tailscale Funnel

Needs a free Tailscale account + login on the host. Stable URL per device. Listens only on 443 / 8443 / 10000.

$ tailscale up                            # log in once
$ tailscale funnel 8080
# → https://DEVICE.TAILNET.ts.net  proxying http://127.0.0.1:8080

First run prompts you to approve Funnel + auto-issues HTTPS certs. Your tailnet needs the funnel node attribute (default policy grants it to members).

The comparison

DimensionCodespaces portCloudflare quick tunnelTailscale Funnel
Install neededNone (built in)cloudflared binarytailscale + login
Account neededGitHub (you have it)None at allTailscale (free)
No-auth public?Yes (set Public)Yes, alwaysYes
URL shape…-PORT.app.github.devrandom.trycloudflare.comdevice.tailnet.ts.net
URL stabilityStable per codespaceNew random each runStable per device
Runs whereOnly in a CodespaceAnywhereAnywhere
Port limitsAny forwarded portAny local HTTP portListen on 443/8443/10000 only
Free-tier catchOrg can disable public200 in-flight reqs · no SSE · no SLANon-configurable bandwidth cap
Best forLabs already in CodespacesThrowaway demo URLs anywhereReusable, stable lab URL
Decision shortcut Lab lives in a Codespace? → Codespaces port (nothing to install). Need it on a laptop/VM in seconds with zero signup? → Cloudflare quick tunnel. Want the same URL across many sessions? → Tailscale Funnel.
Shared caveat for all three These are free, no-auth, ephemeral-grade tools. Anyone with the link reaches your app — never expose anything sensitive, and treat the URL as throwaway. None offers a production SLA on the free tier.

Sources: GitHub port forwarding · Cloudflare TryCloudflare · Tailscale Funnel.