cloudflare-tunnel-setup

Configure Cloudflare Tunnel to expose local HTTP, TCP, and SSH endpoints.

Updated Apr 4, 2026
One-click install
npx skills add https://github.com/saintgo7/claude-skills --skill cloudflare-tunnel-setup
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cloudflare-tunnel-setup
Source: https://github.com/saintgo7/claude-skills/tree/main/cloudflare-tunnel-setup
Command: npx skills add https://github.com/saintgo7/claude-skills --skill cloudflare-tunnel-setup

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

This Skill solves the problem of securely exposing a locally running service (often behind NAT, firewall, or in a k8s pod) to the internet with HTTPS and optional SSH access, without needing inbound ports, manual certificate issuance, or fixed public IPs.

Core Features & Use Cases

  • Cloudflare Tunnel (outbound-only) setup: Connects your host to Cloudflare so inbound firewall rules are typically unnecessary, while routing external traffic to local ports.
  • Multi-hostname ingress configuration: Maps multiple DNS hostnames to different local services (HTTP, TCP like Postgres, and SSH) using a single tunnel UUID and an ingress config.
  • Operational run modes + validation: Supports foreground testing and background operation patterns (systemd or nohup) and includes practical verification and troubleshooting steps.
  • SSH ProxyCommand routing pattern: Enables external SSH access through Cloudflare by integrating tunnel TCP routing with an SSH client ProxyCommand.

Quick Start

Use the cloudflare-tunnel-setup skill to set up your Cloudflare Tunnel for app.example.com that forwards to your local HTTPS service on port 8080.

Frequently Asked Questions about cloudflare-tunnel-setup

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I expose local services behind a NAT firewall to the internet without opening inbound ports?

Configuring a Cloudflare Tunnel secures local HTTP, TCP, and SSH endpoints by establishing an outbound-only connection to Cloudflare, eliminating the need for inbound port openings, manual TLS certificates, or fixed public IPs.

How do I route SSH access through Cloudflare Tunnel using ProxyCommand?

Routing SSH access through Cloudflare Tunnel uses an ingress config to map a hostname to local SSH TCP routing, integrating with an SSH client ProxyCommand to enable external access without direct inbound exposure.

Can I map multiple DNS hostnames to different local services using a single Cloudflare Tunnel?

A single Cloudflare Tunnel UUID supports multi-hostname ingress configuration, mapping multiple DNS hostnames to distinct local HTTP, TCP, and SSH services through one ingress config file with a final catch-all rule.

What do I need to set up a Cloudflare Tunnel for Kubernetes pod access?

Setting up a Cloudflare Tunnel for Kubernetes pod access requires installing cloudflared, authenticating with Cloudflare DNS delegation, generating a tunnel UUID with credentials JSON, creating DNS routing records, and defining an ingress config.

Does Cloudflare Tunnel require manual TLS certificate management for HTTPS development endpoints?

Cloudflare Tunnel eliminates manual TLS certificate management by terminating TLS at the edge, routing external HTTPS traffic to local development endpoints over an outbound-only connection without requiring fixed IPs.