Build from source
⚠️ Requirements
sing-box 1.10
- Go 1.20.0 - ~
- Go 1.20.0 - ~ with tag
with_quic
, orwith_utls
enabled - 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
, orwith_utls
enabled - Go 1.21.0 - 1.22.x with tag
with_ech
enabled
You can download and install Go from: https://go.dev/doc/install, latest version is recommended.
⏩ Simple Build
bash
make
Or build and install binary to $GOBIN
:
bash
make install
⚙️ Custom Build
bash
TAGS="tag_a tag_b" make
or
bash
go build -tags "tag_a tag_b" ./cmd/sing-box
📌 Build Tags
Build Tag | Enabled by default | Description |
---|---|---|
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_ech | ✅ | Build with TLS ECH extension support for TLS outbound, see TLS. |
with_utls | ✅ | Build with uTLS support for TLS outbound, see TLS. |
with_reality_server | ✅ | Build with reality TLS server support, 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. |
It is not recommended to change the default build tag list unless you really know what you are adding.