Map

sing-box

Wiki entitygolangnetworkingproxyvpnsing-box โ†ณ show in map Markdown
title
sing-box
type
entity
summary
Universal proxy platform in Go โ€” the core underneath many modern circumvention clients
tags
golang, networking, proxy, vpn, sing-box
sources
karing
created
2026-04-21
updated
2026-04-21

sing-box is a Go-based proxy platform maintained by SagerNet. It sits in the same slot as mihomo and Xray-core: a proxy engine that speaks multiple inbound and outbound protocols, applies a rule-based routing layer, and runs as either a daemon or an embedded library.

What it does

Roughly: take inbound traffic (from a TUN interface, HTTP proxy, SOCKS5, transparent proxy, etc.), run it through a routing DAG that decides which outbound to use (direct, blocked, or a specific proxy), and hand it off. The outbounds cover most of the modern circumvention protocol surface:

  • VMess, VLESS, Trojan, Shadowsocks
  • Hysteria, Hysteria2, TUIC (UDP-over-QUIC variants)
  • WireGuard
  • ShadowTLS, Naive, SSH
  • Selector / URLTest / LoadBalance (protocol-level proxy groups)

Configuration is JSON (unlike Clash/mihomo's YAML). The routing rules are expressed as a list of matchers (domain, geoip, geosite, process-name, user) plus an outbound name, evaluated in order.

Why it matters for the wiki

Several tools in the toolbox wrap or embed sing-box rather than reimplement this protocol stack:

  • karing ships a Karing-team fork with a Flutter GUI wrapped around it.
  • mihomo isn't a sing-box fork, but the two engines solve the same problem and tend to share rule-file formats via GeoIP/GeoSite standards.
  • v2rayN's TUN mode uses sing-box under the hood to create the virtual interface โ€” mentioned in xray-tutorial.
  • Router-side setups like xkeen can run sing-box as an alternative core to Xray.

Understanding sing-box helps read many of the clients in the toolbox because they are thin UIs on top of it.

Relationship to Xray-core

Xray-core (covered implicitly in xray-tutorial and 3x-ui) and sing-box are the two dominant Go-based proxy cores in the Clash/V2Ray ecosystem. They overlap heavily on protocols โ€” both speak VLESS, VMess, Trojan, Shadowsocks. Differences are mostly operational:

  • sing-box is more aggressive about adopting newer protocols (Hysteria2, TUIC, ShadowTLS) and is the preferred core for mobile clients because it embeds cleanly.
  • Xray-core has deeper deployment history on servers, with a bigger panel ecosystem (see 3x-ui) and more subscription-format tooling built around it.

Clients like happ-proxy and Karing can point at either โ€” from the subscription layer they look interchangeable, and the vless-subscription-format URL works in both.

Repo

https://github.com/SagerNet/sing-box โ€” Go, GPLv3 with commercial use requirements. Documentation at sing-box.sagernet.org.

  • karing โ€” Flutter GUI on a Karing-team sing-box fork
  • mihomo โ€” alternative Go proxy core
  • 3x-ui โ€” panel for the Xray-core half of this ecosystem
  • xkeen โ€” router-level deployment that can use sing-box as its core
  • vless-subscription-format โ€” the subscription wire format consumed by both sing-box and Xray