falconiere/Toolu Cloudflare Tunnel — Start

Boots a Cloudflare Tunnel directly on the runner host (Linux + macOS), exposing a local HOST:PORT to the public internet. Quick tunnels (no account, ephemeral *.trycloudflare.com URL) by default; set `tunnel-token` to use a named tunnel. Because cloudflared runs on the host (not in a container), HOST:PORT resolves to your app and the tunnel survives across steps. Pair with the matching `stop` step (use `if: always()`) to clean up.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
nameTunnel instance name. Namespaces PID/URL tmpfiles so multiple tunnels can run in the same job.nodefault
hostLocal host to expose (quick mode only — ignored when `tunnel-token` is set). Resolves on the runner host.nolocalhost
portLocal port to expose (quick mode only — ignored when `tunnel-token` is set).no3000
tunnel-tokenCloudflare Tunnel token (from the dashboard or `cloudflared tunnel token`). When set, switches to named-tunnel mode.no""
tunnel-configPath to a cloudflared config.yml with custom ingress rules (named mode only). Copied to /etc/cloudflared/config.yml.no""
cloudflared-versioncloudflared release tag to download (see cloudflare/cloudflared releases).no2024.12.2
verify-checksumVerify cloudflared binary SHA256 against the release checksums.txt before installing. Defaults to false because the checksums.txt format is brittle (variable whitespace, optional BSD `*` prefix); opt in when you control the parser or have a pinned version known to parse cleanly.nofalse
protocolcloudflared transport protocol (`quic`, `http2`, or `auto`). Leave empty for cloudflared's default (QUIC). Set to `http2` on networks that block outbound UDP 7844 — otherwise cloudflared retries QUIC for ~5min before falling back, stalling registration past start-timeout.no""
start-timeoutSeconds to wait for the tunnel URL/ID to appear, then (separately) for the edge connection to register, before failing. Worst case is roughly twice this value.no30
namedescription
tunnel-urlPublic URL of the tunnel (quick mode only; empty in named mode unless ingress exposes a hostname).
tunnel-idTunnel ID (named mode only). Extracted by parsing the UUID from cloudflared stderr line matching `Registered tunnel connection.*<uuid>`.
tunnel-pidPID of the cloudflared process. Diagnostic only — stop reads its own tmpfile keyed by name, not this output.
tunnel-nameEcho of the name input (slugified), for downstream step convenience.