Tailscale Funnel
Tailscale Funnel is a Tailscale feature. It routes internet traffic to a local service running on a device in your tailnet, so people who don't have Tailscale installed can reach it through a public Funnel URL.
Alternatives
Tech stack
No tech stack added yet. Sign in to suggest some
Tailscale Funnel lets you expose a local service running on a device in your Tailscale network (tailnet) to the public internet through a unique Funnel URL. You can share local web apps, files, and directories. Visitors don't need to install or sign in to Tailscale. The official website currently marks the feature as Beta, and it is available on all plans.
How it works
- When you share a local resource, Funnel generates a unique URL that points only to that resource, in the form
https://device-name.tailnet-name.ts.net. - The visitor's device first resolves the URL through public DNS. The result is the IP of a Funnel relay server, not your device's IP, so your device's location is not exposed on the public internet.
- The relay server sets up a TCP proxy to your device through Tailscale, over an encrypted tunnel. According to the official documentation, the relay server cannot decrypt the traffic inside it.
- Tailscale on your device terminates the TLS connection, then passes the decrypted request to the local service.
Target users and use cases
- Developers who want to temporarily share a web app under local development with colleagues, clients, or external services, for example when debugging something that needs a public callback address.
- Homelab and self-hosting users who want people without Tailscale to access a local service.
- Individuals and small teams who need to quickly share a file or directory.
If you only want to share a service within your tailnet, the official recommendation is to use Tailscale Serve instead.
Key advantages
- No router port forwarding and no public IP required.
- Valid HTTPS certificates are configured automatically for your tailnet domain name.
- The real IP of your local device is hidden behind the Funnel relay.
- The
funnelnode attribute in the tailnet policy file controls which users can use Funnel.
Enabling and using it
Funnel is off by default and must be enabled and created through the Tailscale CLI:
tailscale funnel 3000
The first time you run it, a web interface appears asking you to approve enabling Funnel. Once you approve, Tailscale automatically generates an HTTPS certificate for your tailnet and adds the funnel node attribute to the policy file. By default, this attribute is granted to autogroup:member, and administrators can tighten it manually.
Technical requirements
- Tailscale v1.38.3 or later.
- MagicDNS and HTTPS enabled for the tailnet.
- The
funnelnode attribute in the policy file. Editing the policy file requires the Owner, Admin, or Network admin role. - A device platform that can run the Tailscale CLI.
Limitations and notes
- Only DNS names under the tailnet domain (
tailnet-name.ts.net) can be used; custom domains are not supported. - Funnel can only listen on ports 443, 8443, and 10000, and only supports TLS-encrypted connections.
- Traffic is subject to bandwidth limits that cannot be configured.
- The same port cannot be used for both Serve and Funnel at once. The most recent configuration command takes precedence: running
servemakes the port fully private, and runningfunnelmakes it fully public. - To share files and directories on macOS, you need the open-source version of the Tailscale client. Clients installed through the App Store or as the Standalone system extension can only share ports.
- Requesting new certificates too often may trigger Let's Encrypt rate limits.
- After you create a new Funnel, the public DNS record can take up to 10 minutes to take effect.
- While you use Funnel, the Funnel relay server appears in the device's Tailscale peer list.
Discover more
Zrok
Zrok is an open-source peer-to-peer tunneling and ingress service from NetFoundry, built on the OpenZiti zero-trust network. It lets you securely share local applications, files, and web content, either privately or publicly.
Cloudflare Tunnel
Cloudflare Tunnel runs a lightweight daemon, cloudflared, on your server and opens an outbound-only, post-quantum encrypted connection to Cloudflare. This lets you securely publish origins, APIs and internal services to the internet without a public IP or any open inbound ports.
Ngrok
ngrok is a developer infrastructure platform that routes and secures traffic to apps, APIs, and AI models, no matter where they run. It can expose a local app to the public internet in one step, and it can also serve as an API gateway and AI gateway in production.
ClickUp
ClickUp is a collaboration platform that brings project management, docs, chat, whiteboards, time tracking and an AI assistant (Brain) together in a single workspace, with the goal of replacing a scattered set of tools. Its website says it offers a free-forever plan and supports AI Agents that handle tasks automatically.
FeedbackTrace
FeedbackTrace is a user feedback management platform that helps teams collect, analyze, and prioritize user feedback to build better products.
Instinct
Instinct is a personal AI assistant that understands the work you're doing and what matters to you. You can talk to it by text message or phone call, and it can operate your phone and computer just as you would, completing tasks on your behalf across apps and devices.
