macOS
brew install tsnet-servelocal Homebrew formula metadata
brew / rank 10954
Expose HTTP applications to a Tailscale Tailnet network. Version 1.3.2 via Homebrew; verified 2026-07-26.
install
brew install tsnet-servelocal Homebrew formula metadata
overview
Expose HTTP applications to a Tailscale Tailnet network
history
tsnet-serve was a standalone Go reverse proxy that embedded Tailscale via tsnet so an HTTP backend could appear as its own machine on a tailnet, roughly like `tailscale serve` without being tied to an existing node.
The README presents tsnet-serve as a lightweight reverse proxy for a tailnet: users give it a hostname, backend URL, and auth key, and the app joins the tailnet as a machine with Tailscale connectivity, TLS, and the same reverse proxy behavior as `tailscale serve`.
The project belongs to the wave of tsnet tooling around Tailscale's Go library. Tailscale's official docs describe tsnet as a way to embed Tailscale inside a Go program so the program can make direct tailnet connections and appear like a separate device. tsnet-serve packaged that pattern as a CLI/container app for people who wanted a private service endpoint without writing Go.
Development was explicitly wound down in July 2025. The repository was archived by its owner on July 5, 2025, and the linked winding-down issue says maintainers were switching to `tsnsrv` because it had the desired features and a complete Nix module.
Official release pages show a short but active release period, with versions such as v1.1.2 through v1.3.2 carrying Funnel fixes, path allow/deny features, request logging, Tailscale dependency bumps, Go toolchain updates, and GoReleaser-based binary releases.
The README documents several distribution surfaces: prebuilt GitHub releases, OCI container images on GitHub Container Registry at `ghcr.io/shayne/tsnet-serve`, and Homebrew. That made the tool easy to use in homelab and package-manager workflows where a container or single binary could turn a local backend into a tailnet service.
The primary usage model was `tsnet-serve -hostname ... -backend ...`, optionally setting listen port, Funnel mode, allow/deny path regular expressions, a state directory, and a custom control URL for Headscale. Environment variables such as `TSNS_HOSTNAME`, `TSNS_BACKEND`, `TSNS_LISTEN_PORT`, and `TSNS_FUNNEL` mirrored the flags.
For containers, the README shows a persistent state volume, hostname/backend variables, optional Funnel and control URL variables, and `TS_AUTHKEY` for initial registration. Without an auth key, the app prints a registration link.
tsnet-serve matters in the package-nerd niche because it turned Tailscale's embedded-networking library into a one-command appliance: install the formula or run the container, provide a backend, and get a tailnet hostname and certificate.
Its archival is also useful metadata. The project documents a real migration path from a small package-manager-friendly CLI to a successor (`tsnsrv`) once the surrounding Tailscale Serve/Funnel and tsnet tooling matured.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
tsnet-serve | executable | indexed executable | Discovered from the local executable index. |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:tsnet-serve |
|---|---|
| Version | 1.3.2 |
| Package manager | Homebrew |
| Homepage | https://github.com/shayne/tsnet-serve |
| Repository | https://github.com/shayne/tsnet-serve |
| Last updated | 2026-07-26T00:51:28+02:00 |
| Pulse | updated |
| Bottle | not recorded |
| Service | none declared |
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.