# 233boy/sing-box: A Server-Side Install Script for sing-box

> The 233boy script wraps sing-box core in a one-command installer and manager aimed at people running a proxy server, not at people configuring a client. It automates REALITY key generation and TLS, but it is not a GUI and not a cross-platform client.

**233boy/sing-box** — 最好用的 sing-box 一键安装脚本 & 管理脚本，自动创建 REALITY 协议；支持 TUIC，Trojan，Hysteria2 等所有常见的协议

- Repository: https://github.com/233boy/sing-box
- Website: https://233boy.com/sing-box/sing-box-script/
- Stars: 4,721 · Forks: 1,759
- Language: Shell
- License: GPL-3.0
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/233boy-sing-box

## What 233boy/sing-box solves, and who it is actually for

sing-box itself is a core. You give it a config.json and it runs. Everything around that, generating a REALITY keypair, picking a free port, writing the inbound block, wiring TLS, restarting the service, is manual work. The 233boy script is a Shell wrapper that removes that work for one specific audience: someone with a Linux server who wants a working proxy inbound in seconds.

The README states the design goal directly: "高效率，超快速，极易用", and says the script is built around running multiple configurations at once, with the add, change, view and delete operations treated as the four things worth optimizing. The claim is that adding a configuration takes under a second.

That framing tells you who this is not for. The topics list includes hysteria2, sing-box, trojan, tuic, v2ray and xray, and the protocol coverage is broad, but every command in the help output operates on a server. There is no client, no GUI, no mobile app. If you arrived looking for something to install on a phone or a laptop, this repository is the wrong end of the connection.

## How the script wraps the sing-box core

The repository layout is small: install.sh, sing-box.sh, a src/ directory, README.md and LICENSE. There is no compiled artifact and no package manifest. The script is the product.

The help output shows the shape of the interface. A short set of subcommands covers the whole lifecycle: add, change, del, info, qr, url, log. Under those sit per-field changers (id, host, port, path, passwd, key, method, sni, web, new) and maintenance commands (fix, fix-all, fix-caddyfile, fix-config.json, import, reinstall, update, uninstall).

Two details matter for how it operates. First, the script is described as compatible with sing-box commands, and the help lists a bin passthrough plus a catch-all, so `sing-box generate uuid` reaches the core binary rather than the wrapper. Second, several commands accept `auto` as an argument, and the help exposes helpers that generate the values: pbk for a REALITY keypair, get-port for a free port, ss2022 for a Shadowsocks 2022 password. That is the automation layer. The wrapper calls the core to produce material, then writes it into a config and restarts the service.

The add command also defaults to VLESS-REALITY when no protocol is given, and there is a no-auto-tls variant for TLS-based protocols where you want to supply your own certificates instead of letting the script configure TLS. The README lists a separate fix-caddyfile command, which indicates Caddy is part of the TLS path the script manages.

## Installing on a Linux server and adding a first config

The README does not print an install command. It points to the documentation page at https://233boy.com/sing-box/sing-box-script/ for installation and usage, and the repository carries install.sh at the top level, so that is where the installer lives. Get the script from that page or from the repository, then run the management command.

Once installed, the entry point is the `sing-box` command itself. Asking for help is the safest first step because the help text is the only complete command reference available:

```bash
sing-box help
```

You should see the usage block reproduced in the README, with the basic, general, change, advanced, management and test groups.

To add a configuration, pass a protocol or let it default. The README says VLESS-REALITY is the default, and that `auto` fills in generated values:

```bash
sing-box add vless-reality auto
```

After that, inspect what was created and get a client-readable link. The info command shows the configuration, and url returns the share link:

```bash
sing-box info
sing-box url
```

The README does not show the exact output format of either command, so treat the result as something to read rather than something to parse. If you want to see the JSON before any file is written, the test group has a gen command described as behaving like add but printing JSON only.

## Where the script gets in your way

The delete commands are the sharpest edge. The help text says plainly: use del and ddel with care, because they delete the configuration directly and there is no confirmation. A typo in a name removes a working inbound. There is no documented undo, and the README does not describe a backup step before deletion.

The second limitation is scope. The README's feature list is entirely about creating and editing server configs. Nothing in it describes a client, a subscription format, a web panel, or a way to push configs to devices. The `url` and `qr` commands produce material you carry elsewhere yourself.

Third, the wrapper is opinionated about TLS. It advertises automated TLS, and it has a fix-caddyfile command, which means the script owns a Caddy configuration on your host. If you already run Caddy or another web server on the same machine, that is a collision you have to reason about before installing, and the README does not discuss coexistence.

Finally, the README's own feature list is marketing rather than specification. Lines like "无敌好用" and "零学习成本" tell you nothing about which architectures, kernels or distributions the installer supports. That information is not in the README, and the documentation page is the place to check it.

## The alternative: configuring the core yourself

The obvious alternative is using sing-box directly. The difference is not features, it is who writes the config. With the core alone you write config.json by hand, run `sing-box generate reality-keypair` yourself, choose a port, and manage the systemd unit or process yourself. You get complete control over every inbound field, and you never inherit someone else's Caddy setup or file layout.

The cost is that every add, change and restart is manual, and multi-config setups get tedious fast. The 233boy script exists precisely to collapse that loop, and the README's emphasis on running multiple configurations at once is the case where the wrapper earns its place.

A second alternative is a graphical client on desktop or mobile. That is a different job, not a competing implementation. The related searches around Windows, Android, iOS, macOS and OpenWrt point at client-side needs, and the README offers nothing for them. If your problem is on the client, a server management script cannot solve it, and the sing-box core's own clients are the thing to look at instead.

## Maintenance, licence and what you are taking on

The repository is not archived, and the last push was on 2026-06-04, which is the same date as the v1.18 release. Before that, v1.17 landed on 2026-06-02 and v1.16 on 2026-04-14. The release cadence in that window was uneven: two releases two days apart, then a gap of roughly seven weeks. Treat the project as one that ships when it ships rather than on a schedule.

The script has its own update command, `sing-box update [core | sh | caddy] [ver]`, plus `sing-box update.sh` for the script itself and a reinstall command. That is a real maintenance surface: you are tracking three moving parts, the wrapper, the sing-box core, and Caddy. The fix and fix-all commands suggest that drift between those parts is expected enough to warrant repair tooling.

The project is GPL-3.0. That matters if you plan to redistribute a modified version or bundle it into something you ship, because the licence carries obligations that permissive licences do not. This is a description of the licence identifier in the repository, not legal advice; read the LICENSE file and get your own counsel if redistribution is on the table. Running the script on your own server is a different question from shipping it inside a product.

## Conclusion

Adopt it if you administer a Linux server and want REALITY, TUIC, Trojan or Hysteria2 configs created and edited from a single command without hand-writing JSON. Do not adopt it if you need a Windows, Android, iOS or router client, because the repository is a server-side Shell script and the README documents no client. Before you commit, read the install and usage page at 233boy.com/sing-box/sing-box-script/, confirm your kernel and architecture are supported, and note that del and ddel remove a config with no confirmation prompt.

## FAQ

### What is 233boy/sing-box used for?

It is a one-command install and management script for the sing-box core on a server. The README describes it as creating configs for protocols such as VLESS-REALITY, TUIC, Trojan, Hysteria2, AnyTLS, Shadowsocks 2022 and VMess, and managing them through a single command.

### How do I install 233boy/sing-box on a Linux server?

The README does not print an install command. It directs readers to the installation and usage page at 233boy.com/sing-box/sing-box-script/, and the repository contains install.sh at the top level.

### How do I add a config with the 233boy/sing-box script?

Use the add command, optionally passing a protocol. The README states that VLESS-REALITY is the default, and several arguments accept auto so the script generates the value for you.

### How do I use sing-box on Windows or Android?

The 233boy repository is a Shell script for managing a server, and the README documents no client for Windows or Android. Its commands all operate on server-side configurations.

### How do I set up sing-box with the 233boy script?

After installation the entry point is the sing-box command, and `sing-box help` lists every option. From there, add creates a configuration, change edits one, and info, url and qr read it back.

## Sources

- [233boy/sing-box on GitHub](https://github.com/233boy/sing-box)
- [License: GPL-3.0](https://github.com/233boy/sing-box/blob/main/LICENSE)
- [Project website](https://233boy.com/sing-box/sing-box-script/)
- [README](https://github.com/233boy/sing-box/blob/main/README.md)
- [Releases](https://github.com/233boy/sing-box/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/233boy-sing-box
