# 使用 Homebrew 安装 tsnet-serve

查看 tsnet-serve 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:tsnet-serve
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install tsnet-serve
```

  证据: local Homebrew formula metadata

## 软件包事实

- **软件包键:** brew:tsnet-serve
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/tsnet-serve>
- **版本:** 1.3.2
- **来源摘要:** Expose HTTP applications to a Tailscale Tailnet network
- **主页:** <https://github.com/shayne/tsnet-serve>
- **仓库:** <https://github.com/shayne/tsnet-serve>
- **许可证:** MIT
- **源码归档:** <https://github.com/shayne/tsnet-serve/archive/refs/tags/v1.3.2.tar.gz>
- **最后更新:** 2026-07-26T00:51:28+02:00
- **已生成:** 2026-08-04T22:13:35+00:00

## 可执行文件

- tsnet-serve (cli)
- tsnet-serve (别名)

## 构建依赖

- go

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## 版本和新鲜度

- 页面生成时间: 2026-08-04
- 管理器版本: 1.3.2
- 管理器更新时间: 2026-07-26
- 本地数据: OK
- 上游仓库: https://github.com/shayne/tsnet-serve
- 检测到的最新版本: v1.3.2 (当前)
## 项目历史与用法

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.

### 时间线

- 2024-07-31: v1.1.2 release fixed Funnel mode and insecure HTTPS backend support.
- 2024-08-29: v1.1.4 release moved to GoReleaser and bumped the Tailscale dependency.
- 2025-04-19: v1.2.1 release moved the default state directory and added X-Forwarded headers in Funnel mode.
- 2025-06-22: v1.3.0 added allow/deny paths and request logs; v1.3.2 followed with a Tailscale bump and signal-handling fix.
- 2025-07-05: Winding-down issue opened and repository archived, with maintainers pointing users to `tsnsrv`.

### Related projects

- The README links directly to Tailscale Funnel and to `tsnsrv` as the recommended successor. Tailscale's own docs for tsnet, Tailscale Serve, and Funnel explain the platform features that tsnet-serve wrapped.

### 来源

- <https://github.com/shayne/tsnet-serve#readme>
- <https://github.com/shayne/tsnet-serve/issues/10>
- <https://github.com/shayne/tsnet-serve/releases>
- <https://tailscale.com/docs/features/tailscale-funnel>
- <https://tailscale.com/docs/features/tsnet>
- <https://tailscale.com/docs/reference/tailscale-cli/serve>


## 安全说明

broad file, network, media, or database tool signal.

- **Geiger 风险:** blue / 中
- broad file, network, media, or database tool signal

## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** tsnet-serve
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** yes
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable


## 相关链接

- [Source-control packages](https://pkg.so/zh-hans/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://pkg.so/zh-hans/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://pkg.so/zh-hans/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://pkg.so/zh-hans/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [go](https://pkg.so/zh-hans/brew/go/) - Build dependency declared by Homebrew.
- [lighttpd](https://pkg.so/zh-hans/brew/lighttpd/) - Shares pkgdb curated category or tags: cli, http-server, networking.
- [c-ares](https://pkg.so/zh-hans/brew/c-ares/) - Shares pkgdb curated category or tags: cli, networking.
- [unbound](https://pkg.so/zh-hans/brew/unbound/) - Shares pkgdb curated category or tags: cli, networking.
- [telnet](https://pkg.so/zh-hans/brew/telnet/) - Shares pkgdb curated category or tags: cli, networking.
- [caddy](https://pkg.so/zh-hans/brew/caddy/) - Shares pkgdb curated category or tags: cli, http-server, networking.
- [socat](https://pkg.so/zh-hans/brew/socat/) - Shares pkgdb curated category or tags: cli, networking.
- [gsasl](https://pkg.so/zh-hans/brew/gsasl/) - Shares pkgdb curated category or tags: cli, networking.
- [passt](https://pkg.so/zh-hans/brew/passt/) - Shares pkgdb curated category or tags: cli, networking.
- [miniserve](https://pkg.so/zh-hans/brew/miniserve/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, http, http-server, networking, server.
- [angular-http-server](https://pkg.so/zh-hans/npm/angular-http-server/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, http, http-server, networking, server.
- [http-server](https://pkg.so/zh-hans/npm/http-server/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, http, http-server, networking, server.

## Combined YAML source

View the package source record on GitHub. [combined/tsnet-serve.yml](https://github.com/mxcl/pkgdb/blob/main/combined/tsnet-serve.yml)


## 来源

- pkg.so package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- cross-ecosystem install command graph
