Package Manager
Repository Installation
sudo curl -fsSL https://sing-box.app/gpg.key -o /etc/apt/keyrings/sagernet.asc
sudo chmod a+r /etc/apt/keyrings/sagernet.asc
echo "deb [arch=`dpkg --print-architecture` signed-by=/etc/apt/keyrings/sagernet.asc] https://deb.sagernet.org/ * *" | \
sudo tee /etc/apt/sources.list.d/sagernet.list > /dev/null
sudo apt-get update
sudo apt-get install sing-box # or sing-box-beta
Manual Installation
(This applies to any distribution that uses
rpm
and systemd
. Because of how rpm
defines dependencies, if it installs, it probably works.)
Managed Installation
Type | Platform | Command | Link |
---|---|---|---|
AUR | Arch Linux | ? -S sing-box |
|
nixpkgs | NixOS | nix-env -iA nixos.sing-box |
|
Homebrew | macOS / Linux | brew install sing-box |
|
APK | Alpine | apk add sing-box |
|
DEB | AOSC | apt install sing-box |
Problematic Sources
Type | Platform | Link | Promblem(s) |
---|---|---|---|
DEB | AOSC | aosc-os-abbs | Problematic build tag list modification |
Homebrew | / | homebrew-core | Problematic build tag list modification |
Termux | Android | termux-packages | Problematic build tag list modification |
FreshPorts | FreeBSD | FreeBSD ports | Old Go (go1.20) |
If you are a user of them, please report issues to them:
- Please do not modify release build tags without full understanding of the related functionality: enabling non-default labels may result in decreased performance; the lack of default labels may cause user confusion.
- sing-box supports compiling with some older Go versions, but it is not recommended (especially versions that are no longer supported by Go).
Service Management
For Linux systems with systemd, usually the installation already includes a sing-box service, you can manage the service using the following command:
Operation | Command |
---|---|
Enable | sudo systemctl enable sing-box |
Disable | sudo systemctl disable sing-box |
Start | sudo systemctl start sing-box |
Stop | sudo systemctl stop sing-box |
Kill | sudo systemctl kill sing-box |
Restart | sudo systemctl restart sing-box |
Logs | sudo journalctl -u sing-box --output cat -e |
New Logs | sudo journalctl -u sing-box --output cat -f |