跳转至

# 从源代码构建

##
要求

### sing-box 1.11

- Go 1.23.1 - ~

### sing-box 1.10

- Go 1.20.0 - ~
- Go 1.21.0 - ~ with tag `with_ech` enabled

### sing-box 1.9

- Go 1.18.5 - 1.22.x
- Go 1.20.0 - 1.22.x with tag `with_quic`, or `with_utls` enabled
- Go 1.21.0 - 1.22.x with tag `with_ech` enabled

您可以从 https://go.dev/doc/install 下载并安装 Go，推荐使用最新版本。

##
快速开始

    make

或者构建二进制文件并将其安装到 `$GOBIN`：

    make install

##
自定义构建

    TAGS="tag_a tag_b" make

or

    go build -tags "tag_a tag_b" ./cmd/sing-box

##
构建标记

构建标记 | 默认启动 | 说明
--- | --- | ---
`with_quic` |  | Build with QUIC support, see QUIC and HTTP3 DNS transports, Naive inbound, Hysteria Inbound, Hysteria Outbound and V2Ray Transport#QUIC.
`with_grpc` | ️ | Build with standard gRPC support, see V2Ray Transport#gRPC.
`with_dhcp` |  | Build with DHCP support, see DHCP DNS transport.
`with_wireguard` |  | Build with WireGuard support, see WireGuard outbound.
`with_utls` |  | Build with uTLS support for TLS outbound, see TLS.
`with_acme` |  | Build with ACME TLS certificate issuer support, see TLS.
`with_clash_api` |  | Build with Clash API support, see Experimental.
`with_v2ray_api` | ️ | Build with V2Ray API support, see Experimental.
`with_gvisor` |  | Build with gVisor support, see Tun inbound and WireGuard outbound.
`with_embedded_tor` (CGO required) | ️ | Build with embedded Tor support, see Tor outbound.
`with_tailscale` |  | Build with Tailscale support, see Tailscale endpoint

除非您确实知道您正在启用什么，否则不建议更改默认构建标签列表。