Repolode
cloudflare

cloudflare/cloudflared

Command-line client for Cloudflare Tunnel that connects your origin servers to the Cloudflare network without opening inbound firewall ports.

Open-source alternative to:ngrok

Stars
16,233
Forks
1,496
Open issues
568
Last commit
yesterday

What is it?

cloudflared is the daemon behind Cloudflare Tunnel. It runs next to your origin, such as a web server, and makes outbound connections to the Cloudflare network. Cloudflare then sends client requests back through that connection, so the origin can stay closed to inbound traffic.

Beyond HTTP and WebSocket proxying, cloudflared can also reach tunneled origins for Layer 4 TCP traffic such as SSH or RDP through its access subcommands. Tunnels can be routed through public DNS records, a Cloudflare Load Balancer, or WARP client private network traffic. A TryCloudflare mode is available for testing without a Cloudflare-managed domain.

The client is written in Go and ships as standalone binaries, Docker images, and Debian, RPM, and Homebrew packages, with Windows and macOS builds also provided.

Key features

  • 01Creates outbound-only connections so origins need no inbound firewall holes.
  • 02Proxies HTTP and WebSocket traffic from Cloudflare to local origins.
  • 03Provides Layer 4 TCP access for SSH, RDP and similar protocols via the access command.
  • 04Routes traffic through DNS records, Cloudflare Load Balancers, or WARP private networks.
  • 05Offers TryCloudflare for temporary testing without a managed domain.
  • 06Distributed as binaries, Docker images, and Debian, RPM, and Homebrew packages.

Use cases

  • Exposing a self-hosted web app or API without opening ports on the home or office firewall.
  • Giving remote staff SSH or RDP access to internal servers through Cloudflare Zero Trust.
  • Quickly sharing a local development server with a public URL for testing.

Quick start

  1. 1

    Install the required Go version listed in the README

  2. 2

    Build cloudflared from source

    make cloudflared
  3. 3

    Or download a prebuilt binary, Docker image, or package from the releases page

Things to know

  • You must add a website to your Cloudflare account and point its nameservers to Cloudflare before using Tunnel, though TryCloudflare offers a test path without one.
  • Cloudflare only supports versions released within the past year, and older versions may break.

Topics

FAQ

What is cloudflared?
Command-line client for Cloudflare Tunnel that connects your origin servers to the Cloudflare network without opening inbound firewall ports. cloudflared is the daemon behind Cloudflare Tunnel. It runs next to your origin, such as a web server, and makes outbound connections to the Cloudflare network. Cloudflare then sends client requests back through that connection, so the origin can stay closed to inbound traffic.
Is cloudflared free to use? What license does it have?
cloudflared is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is cloudflared still maintained?
Actively maintained. The last commit to cloudflared was on Oct 23, 2026.
What can I use cloudflared for?
Exposing a self-hosted web app or API without opening ports on the home or office firewall. Giving remote staff SSH or RDP access to internal servers through Cloudflare Zero Trust. Quickly sharing a local development server with a public URL for testing.
How do I install cloudflared?
Install the required Go version listed in the README Build cloudflared from source: make cloudflared Or download a prebuilt binary, Docker image, or package from the releases page
Where can I get cloudflared?
The source code and installation instructions are on GitHub: https://github.com/cloudflare/cloudflared

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects