Funnel class abstract

Public-internet publication for an existing local HTTP service.

Reached via Tailscale.funnel. Funnel is the public counterpart to Serve.forward: Tailscale publishes this node's MagicDNS HTTPS name to the open internet, then proxies requests through the tailnet to the local loopback HTTP service you own.

Requirements are controlled by the tailnet operator: HTTPS must be enabled, the node must have the Funnel node attribute, and the requested port must be allowed by policy.

Unlike Serve.forward, public Funnel requests do not include Tailscale identity headers. Authenticate public callers at the forwarded service layer if the endpoint is not intentionally anonymous.

Funnel publications are process-scoped in this package. Close returned handles explicitly; Tailscale.down() also tears down package-created Funnel listeners and clears their Funnel config best-effort.

Constructors

Funnel()

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

clear({int publicPort = 443, String path = '/'}) Future<void>
Removes a Funnel publication for publicPort and path.
forward({required int localPort, int publicPort = 443, String localAddress = '127.0.0.1', String path = '/'}) Future<TailscalePublishedService>
Publishes http://[localAddress]:[localPort] on the public internet.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited