Why Sing-Box?
Sing-Box is a free and open-source proxy platform that allows users to bypass internet censorship and access blocked websites. It is an alternative to V2ray and XRAY. It can be used with various V2Ray clients on platforms such as Windows, macOS, Linux, Android, and iOS.
Sing-Box is designed to focus on performance, lightweight design, usability, modularity, and code quality.
In addition to supporting shadowsocks, trojan, vmess, and socks protocols, it also supports newer protocols like ShadowTLS, Hysteria, and NaiveProxy. For transport, it can be used with V2ray transport options such as TCP, WebSocket, QUIC, and gRPC. Additionally, it can be used to obtain certificates if you have TLS set up in your configuration.
This is why I chose sing-box for my home VPN router gateway:
Currently, the project is in active development. For a list of Sing-Box recent releases, visit https://github.com/SagerNet/sing-box/releases.
A variety of v2ray protocols and transports are supported.
The software allows simultaneous use as a client and server, which makes setting up multi-hop VPNs a breeze.
The documentation is available in English.
It’s incredibly easy to set up and configure.
Android, Windows, iOS, and Linux compatible clients are available.
The code for the project can be found on GitHub.
It can easily be used as your home router. It is possible to route traffic in a variety of ways.
It is even possible to load-balance multiple protocols.
A VPN gateway can be provided on your LAN by Sing-box.
To use the VPN gateway, you do not need to install any additional software on your devices.
While I’ve been using the latest beta version for two months, it’s surprisingly stable.
It is written in my beloved Go language.
It offers more features than v2ray-core and clash premium.
Sing-Box uses about 70 MB of memory, compared to 240+ MB for v2ray-core.
It outperforms its competitors in every benchmark test.
You can connect Sing-Box to the Tor network.
Sing-Box has its configuration stored in a single JSON file. JSON (JavaScript Object Notation) is a lightweight data interchange format that is easy for humans to read and write and easy for machines to parse and generate.
I provided an explanation of the structure of the Sing-Box config.json file so that you can understand how to create your own. If you don’t have time to do that, you can start by installing Sing-Box and then downloading one of my pre-made config.json files to use.