An advanced Web Panel • Built for SagerNet/Sing-Box https://t.me/XrayUI
Find a file
Alireza Ahmadi 1f393fc37f v1.4.1
2026-03-29 10:31:16 +02:00
.github v1.4.1 2026-03-29 10:31:16 +02:00
api fix crash on restart due to change #1030 2026-02-28 01:52:34 +01:00
app fix crash on restart due to change #1030 2026-02-28 01:52:34 +01:00
cmd Fetch IP address concurrently using multiple endpoints 2025-12-27 06:08:26 +08:00
config v1.4.1 2026-03-29 10:31:16 +02:00
core v1.4.1 2026-03-29 10:31:16 +02:00
cronjob fix db WAL memory leak #1056 2026-03-22 19:08:31 +01:00
database fix db WAL memory leak #1056 2026-03-22 19:08:31 +01:00
frontend@f65f58efbd v1.4.1 2026-03-29 10:31:16 +02:00
logger fix docker logs and db #1019 2026-02-17 21:14:37 +01:00
middleware separate frontend repository 2025-01-29 00:08:36 +01:00
network separate frontend repository 2025-01-29 00:08:36 +01:00
service fix tracker nil porinter #1057 2026-03-22 19:10:59 +01:00
sub fix: update ECH handling in ClashService 2026-03-28 20:49:25 +01:00
util Fix hy2 mport parsing compatibility 2026-03-21 14:43:44 +08:00
web fix http restart memory leak #1056 2026-03-22 18:46:43 +01:00
windows Sing-Box v1.13.4 2026-03-28 20:48:57 +01:00
.dockerignore v1.4.0 2026-03-09 02:37:15 +01:00
.gitignore build for windows #374 2025-08-20 22:49:00 +02:00
.gitmodules separate frontend repository 2025-01-29 00:08:36 +01:00
build.sh Sing-Box v1.13.4 2026-03-28 20:48:57 +01:00
CONTRIBUTING.md Sing-Box v1.13.4 2026-03-28 20:48:57 +01:00
docker-build-test.sh v1.4.0 2026-03-09 02:37:15 +01:00
docker-compose.yml update docker and release workflow 2025-01-06 00:09:15 +01:00
Dockerfile Sing-Box v1.13.4 2026-03-28 20:48:57 +01:00
Dockerfile.frontend-artifact Sing-Box v1.13.4 2026-03-28 20:48:57 +01:00
entrypoint.sh fix docker logs and db #1019 2026-02-17 21:14:37 +01:00
go.mod Sing-Box v1.13.4 2026-03-28 20:48:57 +01:00
go.sum Sing-Box v1.13.4 2026-03-28 20:48:57 +01:00
install.sh remove OS version dependency 2025-08-21 13:39:33 +02:00
LICENSE initial commit 2024-02-13 01:17:54 +01:00
main.go go package 2025-09-18 23:19:56 +02:00
README.md Add contribution guide 2026-02-12 23:43:51 +01:00
runSUI.sh initial commit 2024-02-13 01:17:54 +01:00
s-ui.service initial commit 2024-02-13 01:17:54 +01:00
s-ui.sh update compatibility docs and checks 2025-08-10 13:37:01 +02:00

S-UI

An Advanced Web Panel • Built on SagerNet/Sing-Box

S-UI Docker pull Go Report Card Downloads License

Disclaimer: This project is only for personal learning and communication, please do not use it for illegal purposes, please do not use it in a production environment

If you think this project is helpful to you, you may wish to give a🌟

Want to contribute? See CONTRIBUTING.md for development setup, coding conventions, testing, and the pull request process.

"Buy Me A Coffee"

Crypto donation button by NOWPayments

Quick Overview

Features Enable?
Multi-Protocol ✔️
Multi-Language ✔️
Multi-Client/Inbound ✔️
Advanced Traffic Routing Interface ✔️
Client & Traffic & System Status ✔️
Subscription Link (link/json/clash + info) ✔️
Dark/Light Theme ✔️
API Interface ✔️

Supported Platforms

Platform Architecture Status
Linux amd64, arm64, armv7, armv6, armv5, 386, s390x Supported
Windows amd64, 386, arm64 Supported
macOS amd64, arm64 🚧 Experimental

Screenshots

"Main"

Other UI Screenshots

API Documentation

API-Documentation Wiki

Default Installation Information

  • Panel Port: 2095
  • Panel Path: /app/
  • Subscription Port: 2096
  • Subscription Path: /sub/
  • User/Password: admin

Install & Upgrade to Latest Version

Linux/macOS

bash <(curl -Ls https://raw.githubusercontent.com/alireza0/s-ui/master/install.sh)

Windows

  1. Download the latest Windows release from GitHub Releases
  2. Extract the ZIP file
  3. Run install-windows.bat as Administrator
  4. Follow the installation wizard

Install legacy Version

Step 1: To install your desired legacy version, add the version to the end of the installation command. e.g., ver 1.0.0:

VERSION=1.0.0 && bash <(curl -Ls https://raw.githubusercontent.com/alireza0/s-ui/$VERSION/install.sh) $VERSION

Manual installation

Linux/macOS

  1. Get the latest version of S-UI based on your OS/Architecture from GitHub: https://github.com/alireza0/s-ui/releases/latest
  2. OPTIONAL Get the latest version of s-ui.sh https://raw.githubusercontent.com/alireza0/s-ui/master/s-ui.sh
  3. OPTIONAL Copy s-ui.sh to /usr/bin/ and run chmod +x /usr/bin/s-ui.
  4. Extract s-ui tar.gz file to a directory of your choice and navigate to the directory where you extracted the tar.gz file.
  5. Copy *.service files to /etc/systemd/system/ and run systemctl daemon-reload.
  6. Enable autostart and start S-UI service using systemctl enable s-ui --now
  7. Start sing-box service using systemctl enable sing-box --now

Windows

  1. Get the latest Windows version from GitHub: https://github.com/alireza0/s-ui/releases/latest
  2. Download the appropriate Windows package (e.g., s-ui-windows-amd64.zip)
  3. Extract the ZIP file to a directory of your choice
  4. Run install-windows.bat as Administrator
  5. Follow the installation wizard
  6. Access the panel at http://localhost:2095/app

Uninstall S-UI

sudo -i

systemctl disable s-ui  --now

rm -f /etc/systemd/system/sing-box.service
systemctl daemon-reload

rm -fr /usr/local/s-ui
rm /usr/bin/s-ui

Install using Docker

Click for details

Usage

Step 1: Install Docker

curl -fsSL https://get.docker.com | sh

Step 2: Install S-UI

Docker compose method

mkdir s-ui && cd s-ui
wget -q https://raw.githubusercontent.com/alireza0/s-ui/master/docker-compose.yml
docker compose up -d

Use docker

mkdir s-ui && cd s-ui
docker run -itd \
    -p 2095:2095 -p 2096:2096 -p 443:443 -p 80:80 \
    -v $PWD/db/:/app/db/ \
    -v $PWD/cert/:/root/cert/ \
    --name s-ui --restart=unless-stopped \
    alireza7/s-ui:latest

Build your own image

git clone https://github.com/alireza0/s-ui
git submodule update --init --recursive
docker build -t s-ui .

Manual run ( contribution )

Click for details

Build and run whole project

./runSUI.sh

Clone the repository

# clone repository
git clone https://github.com/alireza0/s-ui
# clone submodules
git submodule update --init --recursive

- Frontend

Visit s-ui-frontend for frontend code

- Backend

Please build frontend once before!

To build backend:

# remove old frontend compiled files
rm -fr web/html/*
# apply new frontend compiled files
cp -R frontend/dist/ web/html/
# build
go build -o sui main.go

To run backend (from root folder of repository):

./sui

Languages

  • English
  • Farsi
  • Vietnamese
  • Chinese (Simplified)
  • Chinese (Traditional)
  • Russian

Features

  • Supported protocols:
    • General: Mixed, SOCKS, HTTP, HTTPS, Direct, Redirect, TProxy
    • V2Ray based: VLESS, VMess, Trojan, Shadowsocks
    • Other protocols: ShadowTLS, Hysteria, Hysteria2, Naive, TUIC
  • Supports XTLS protocols
  • An advanced interface for routing traffic, incorporating PROXY Protocol, External, and Transparent Proxy, SSL Certificate, and Port
  • An advanced interface for inbound and outbound configuration
  • Clients’ traffic cap and expiration date
  • Displays online clients, inbounds and outbounds with traffic statistics, and system status monitoring
  • Subscription service with ability to add external links and subscription
  • HTTPS for secure access to the web panel and subscription service (self-provided domain + SSL certificate)
  • Dark/Light theme

Environment Variables

Click for details

Usage

Variable Type Default
SUI_LOG_LEVEL "debug" | "info" | "warn" | "error" "info"
SUI_DEBUG boolean false
SUI_BIN_FOLDER string "bin"
SUI_DB_FOLDER string "db"
SINGBOX_API string -

SSL Certificate

Click for details

Certbot

snap install core; snap refresh core
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot

certbot certonly --standalone --register-unsafely-without-email --non-interactive --agree-tos -d <Your Domain Name>

Stargazers over Time

Stargazers over time