Favicon of sing-box

sing-box

sing-box is a Go-based universal proxy platform supporting many protocols, built for flexible routing and cross-platform deployment.

sing-box website screenshot
sing-box GitHub repository preview

sing-box is a proxy platform written in Go that aims to unify many different proxy protocols under a single configuration format and runtime. It's built for developers and network-savvy users who need to run, route, or chain multiple proxy protocols (like Shadowsocks, VMess, Trojan, and others documented on its site) without stitching together separate tools for each one. The full protocol list, config schema, and platform-specific guides live on the official documentation site rather than in the repo's README, so this tool is best approached by referencing those docs directly.

Because the README itself is minimal, most practical details, like supported inbound/outbound types, rule-based routing syntax, and platform builds, are found at sing-box.sagernet.org. The GitHub repo mainly hosts the source code and licensing information; it's part of a broader project ecosystem including GUI clients and platform-specific wrappers referenced from the docs site.

Key features

  • Protocol unification: brings together support for multiple proxy protocols under one binary and one config format, avoiding the need to run separate daemons per protocol.
  • Rule-based routing: sing-box supports routing logic to direct traffic based on rules (domain, IP, process, etc.), documented in depth on the official site.
  • Cross-platform builds: written in Go, which makes it straightforward to build and run on multiple operating systems and architectures.
  • Active packaging support: the project is packaged across a wide range of Linux distributions and package managers, visible via its Repology badge, which signals ongoing maintenance and community adoption.
  • Single binary deployment: like many Go tools, it compiles to a self-contained binary, simplifying deployment on servers or edge devices.

Ideal use cases

sing-box fits scenarios where you need to run or manage several different proxy protocols from one place, such as a personal VPN/proxy server, a home router setup, or a self-hosted gateway that needs protocol flexibility. It's a good fit for developers building on top of a proxy core who want a single configuration language instead of juggling multiple protocol-specific daemons.

It's also useful for users migrating from single-protocol tools (like a standalone Shadowsocks or VMess server) who want more routing control or plan to support multiple protocols going forward.

It is not a good fit if you need a fully managed, GUI-first consumer VPN experience out of the box; the core project here is a platform/engine, and you'll likely need a companion client or GUI wrapper (referenced in the docs ecosystem) for a friendlier experience. It's also not the right choice if you want a tool with extensive inline documentation in the repository itself, since detailed setup and protocol info lives externally on the documentation site rather than in the README.

Installation

The repository's README does not include detailed installation commands; it points to the official documentation site for setup. Given it's a Go project, the general approach is:

  1. Check the official docs for prebuilt binaries or packages for your platform (the project is packaged for many Linux distributions, per the Repology badge).
  2. If a package is available for your distro, install via your package manager, for example:
# Example only, check the docs for the exact package name/repo
sudo apt install sing-box
  1. Alternatively, build from source using Go:
git clone https://github.com/SagerNet/sing-box.git
cd sing-box
go build ./cmd/sing-box
  1. Refer to https://sing-box.sagernet.org for configuration file format, protocol-specific options, and platform guides (Linux, Windows, macOS, Android, etc.) before running the binary.

Because the README is intentionally minimal, treat the documentation site as the primary source of truth for install and config details rather than this repo page.

Frequently asked questions

Share:

Stars
38.9K
Forks
4.8K
Last commit
4 days ago
Repository age
4 years
Self-hosted
Yes
Activity score
85/100
View Repository
Ad
Favicon

 

  
 

Similar to sing-box

Favicon

 

  
 
Favicon

 

  
 
Favicon