mrkeyoor.com_
Sat 08 Aug 21:01 UTC
Self-Hostedevaluationupdated 08 Aug 2026

sing-box

sing-box is a configurable network proxy engine for routing traffic through direct connections, tunnels, and many proxy protocols. It combines client and server roles, DNS policy, TUN-based device routing, rule sets, and endpoint support in one Go program, solving the mess of operating several protocol-specific tools.

Verdict

sing-box is a first-rate engine for people who understand packet routing and want one modern core instead of a pile of proxy daemons. Its protocol range, DNS model, tooling, and platform reach justify the configuration burden. Use stable builds, pin versions, run the built-in checker, and test real traffic before every upgrade, especially when TUN routing is involved.

Setup3/5Easy packages, demanding DNS, route, protocol, and TUN configuration
Docs5/5Deep English and Chinese references plus detailed migration guides
Community5/5Large user base and active reports, fixes, releases, and discussion
Maturity4/5Established core with fast-moving migrations and current regressions

Who it’s for

  • Network-savvy users who want one engine for TUN routing, DNS policy, and several proxy or tunnel protocols.
  • Self-hosters who need both inbound server listeners and outbound client connections in the same configuration system.
  • Operators replacing older V2Ray or Clash-style stacks and willing to maintain explicit JSON routing rules.
  • Developers building desktop or mobile proxy clients around a mature cross-platform core.

Who it’s NOT for

  • People looking for a normal click-to-connect consumer VPN: the core is driven by a large JSON configuration surface, while graphical clients and profile providers sit around it.
  • Operators who cannot schedule configuration migrations: the 1.14 guide deprecates inline ACME, legacy DNS address filters, old DNS server formats, and other earlier fields.
  • Linux TUN users who need to upgrade without regression testing: issue 4392 reports high-rate UDP session amplification in stable 1.13.15 and 1.13.16 and says rolling back to 1.13.14 stops it.
  • Windows users relying on complex IPv6 TUN routing without their own tests: issue 4178 reports a possible self-route loop and a log exceeding 10 MB from six failed requests.
  • Companies that require a standard permissive license: repository metadata cannot classify the license, and the LICENSE text uses GPLv3 plus an additional restriction on derivative naming and implied association.

Setup reality

Installing the binary is easy: official APT and DNF repositories, a release installer, containers, Homebrew, Scoop, Chocolatey, winget, and other packages are documented. Producing a correct configuration is the real job. You must choose inbounds and outbounds, design DNS and routing behavior, handle certificates and secrets, validate with sing-box check, and test TUN routes on every target operating system. Upgrades also require reading the migration guide because deprecated settings can become startup errors.

One engine for a complicated network job

sing-box calls itself a universal proxy platform, and the word universal is earned more than usual. It can accept traffic through TUN, SOCKS, HTTP, Shadowsocks, Trojan, VMess, VLESS, Hysteria, TUIC, AnyTLS, and other inbound types, then send that traffic through direct connections, proxies, SSH, Tor, WireGuard, OpenVPN, Tailscale, and related outbounds or endpoints. DNS resolution and route selection live in the same configuration.

The practical benefit is consolidation. A router, server, or desktop that once needed a local DNS forwarder, a transparent proxy, a protocol-specific client, and scripts to select routes can express the whole chain in one process. sing-box can also run server-side listeners, so the same core works on both ends of a connection. That makes it attractive to experienced self-hosters and to developers building graphical clients.

This is not a hosted VPN service and it does not provide access to a remote network by itself. You supply servers, credentials, certificates, routes, and policy. The project gives you a capable transport and decision engine. That distinction is crucial for anyone arriving from consumer VPN software.

Installation is the easy half

The package coverage is excellent. SagerNet documents official APT and DNF repositories, a shell installer for several Linux families and OpenWrt, and managed packages for Homebrew, Scoop, Chocolatey, winget, Alpine, NixOS, Arch, Android Termux, and FreeBSD. GitHub releases and a container image cover other deployments. Linux packages commonly include a systemd service with predictable start, restart, and journal commands.

After installation, sing-box expects JSON. A top-level file can define logging, DNS, NTP, certificate providers, HTTP clients, network namespaces, endpoints, inbounds, outbounds, routes, services, and experimental APIs. The supplied JSON Schema helps editors catch shape errors, while sing-box check validates configuration, format normalizes it, and merge combines files or configuration directories. These are useful tools because realistic configurations grow quickly.

A minimal local SOCKS proxy is not hard. A dependable whole-device TUN setup is. The operator must understand which traffic enters the tunnel, how the program's own connections escape it, which DNS server resolves each class of name, whether FakeIP is acceptable, how IPv4 and IPv6 differ, and which process or domain rules win. On a server, add user authentication, TLS certificates, firewall policy, and log handling.

The breadth is genuinely useful

Protocol range alone can become checkbox collecting, but sing-box integrates its pieces into a coherent routing model. Route rules can consider domains, networks, ports, protocols, source attributes, processes, users, packages, and remote rule sets. DNS has its own rules and server types, rather than being an afterthought sent outside the tunnel. Selector and URLTest outbounds provide manual or latency-based path choice.

The newer endpoint model brings network-style connections such as WireGuard, Tailscale, OpenVPN, and OpenConnect into the configuration. Certificate providers, network namespaces, and services further widen what one process can own. Optional Clash and V2Ray APIs help existing dashboards and monitoring tools fit around it. Official graphical clients on Android, Apple platforms, and desktop systems define profiles, imports, status views, traffic, and selector controls around the same core.

That integration is sing-box's advantage over a narrow Shadowsocks implementation. It is also why replacing it is not a one-line decision. If you use only one proxy protocol, a smaller daemon is easier. If you depend on policy routing, split DNS, several transports, and mobile clients, consolidating those behaviors is valuable.

Configuration churn is part of the deal

sing-box develops quickly and is willing to remove old configuration concepts. The 1.14 migration guide moves inline ACME settings into certificate providers, changes address-based DNS filtering to explicit response matching, removes an independent cache option, replaces cache fields, and continues earlier DNS server and rule-action migrations. Some legacy combinations are rejected at startup.

This is responsible when old abstractions block a cleaner design, but it creates work for operators. Do not point an unattended package updater at a critical gateway and hope old JSON remains valid. Pin a stable release, read the migration page before crossing minor versions, run sing-box check against the new binary, and keep the previous package and configuration ready for rollback.

Current bugs reinforce that advice. Issue 4392 describes a regression in stable versions 1.13.15 and 1.13.16 where a qBittorrent NAT-PMP request on Linux produces high-rate TUN traffic; the reporter says 1.13.14 is unaffected. Issue 4178 reports a possible Windows IPv6 self-route loop under a 1.14 alpha build. These are specific network interactions, not proof the core is generally unreliable, but a proxy failure can disrupt all traffic on a machine.

The latest release, 1.13.16, also made a privacy-minded AnyTLS change. It stopped sending unused client metadata by default after reports that vendors used the data for profiling and discrimination. That is a good example of active maintenance addressing behavior outside raw connectivity.

Documentation, health, and the choice

The repository README is unusually thin, but the linked documentation site is extensive and available in English and Chinese. It has field-level configuration references, installation pages, client behavior, examples, migration instructions, and a long changelog. The weakness is discoverability for beginners: the documentation explains every component better than it teaches a newcomer how to design a safe routing policy.

The last push was August 8, 2026, and release 1.13.16 arrived five days earlier. The GitHub open count of 300 combines issues and pull requests, while reports and fixes were receiving updates on August 8. With more than 36,000 stars and frequent releases, this is clearly active. The high change rate is both a health signal and an operational cost.

sing-box is an excellent choice for an expert who wants a modern, cross-platform networking core and will treat configuration as infrastructure. It is a poor choice for someone who wants one server address, one connect button, and no routing homework. Start with the smallest configuration that works, add rules only when their purpose is testable, and never upgrade a gateway without checking the migration notes and exercising DNS, IPv6, UDP, and TUN traffic.

Alternatives

ProjectWhat it isPick it when
Xray-coreA V2Ray-derived proxy platform centered on XTLS, REALITY, and a large protocol ecosystem.pick this instead when XTLS-specific compatibility and the Xray ecosystem matter more than sing-box's unified DNS and endpoint design.
V2Ray-coreThe community-run proxy platform behind many established clients and configurations.pick this instead when you depend on V2Fly compatibility, documentation, or existing VMess and transport deployments.
shadowsocks-rustA focused, efficient Rust implementation of the Shadowsocks proxy protocol.pick this instead when Shadowsocks alone solves the problem and a smaller protocol surface is easier to audit and operate.

What people are saying

  1. [github-trending] SagerNet/sing-box

Sources

  1. sing-box repository and README
  2. sing-box installation documentation
  3. sing-box migration guide
  4. Release 1.13.16
  5. Linux TUN UDP amplification report
  6. Windows IPv6 routing report