macOS
brew install tsnet-servelocal Homebrew formula metadata
安装
brew install tsnet-servelocal Homebrew formula metadata
概览
Expose HTTP applications to a Tailscale Tailnet network
历史
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.
安全态势
broad file, network, media, or database tool signal.
blue 风险 · 中 置信度 · tool
在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。
可执行文件
| 命令 | 类型 | 暴露范围 | 备注 |
|---|---|---|---|
tsnet-serve | 可执行文件 | 已索引可执行文件 | 从本地可执行文件索引发现。 |
新鲜度
这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。
安装元数据
| 软件包键 | brew:tsnet-serve |
|---|---|
| 版本 | 1.3.2 |
| 软件包管理器 | Homebrew |
| 主页 | https://github.com/shayne/tsnet-serve |
| 仓库 | https://github.com/shayne/tsnet-serve |
| 最后更新 | 2026-07-26T00:51:28+02:00 |
| Pulse | updated |
| Bottle | 未记录 |
| 服务 | 未声明 |
来源线索
此页面由 av-web 从 scripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。
View the package source record on GitHub.