MCPcopy Index your code
hub / github.com/alireza0/s-ui

github.com/alireza0/s-ui @v1.5.3 sqlite

repository ↗ · DeepWiki ↗ · release v1.5.3 ↗ · + Follow
559 symbols 1,833 edges 80 files 23 documented · 4%
README

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:star2:

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 :heavy_check_mark:
Multi-Language :heavy_check_mark:
Multi-Client/Inbound :heavy_check_mark:
Advanced Traffic Routing Interface :heavy_check_mark:
Client & Traffic & System Status :heavy_check_mark:
Subscription Link (link/json/clash + info) :heavy_check_mark:
Dark/Light Theme :heavy_check_mark:
API Interface :heavy_check_mark:

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>

Third-party Projects

Community-made projects built around S-UI. These are not affiliated with or maintained by S-UI — use them at your own discretion:

Building something on top of S-UI (a Telegram bot, monitoring, automation, ...)? Open an issue/PR to get it listed here.

Stargazers over Time

Stargazers over time

Core symbols most depended-on inside this repo

Get
called by 49
service/client.go
GetDB
called by 39
database/db.go
Warning
called by 35
logger/logger.go
NewError
called by 34
util/common/err.go
Error
called by 27
core/log.go
jsonMsg
called by 27
api/utils.go
Close
called by 24
core/box.go
NewErrorf
called by 24
util/common/err.go

Shape

Method 303
Function 185
Struct 70
TypeAlias 1

Languages

Go100%

Modules by API surface

service/setting.go48 symbols
api/apiService.go31 symbols
core/log.go30 symbols
core/tracker_conn.go25 symbols
util/genLink.go22 symbols
service/server.go17 symbols
core/box.go17 symbols
service/client.go15 symbols
service/inbounds.go13 symbols
util/linkToJson.go12 symbols
service/config.go12 symbols
logger/logger.go12 symbols

Dependencies from manifests, versioned

filippo.io/edwards25519v1.2.0 · 1×
github.com/ajg/formv1.5.1 · 1×
github.com/akutz/memconnv0.1.0 · 1×
github.com/alexbrainman/sspiv0.0.0-2023101608002 · 1×
github.com/andybalholm/brotliv1.1.0 · 1×
github.com/anthropics/anthropic-sdk-gov1.26.0 · 1×
github.com/anytls/sing-anytlsv0.0.11 · 1×
github.com/bytedance/gopkgv0.1.3 · 1×
github.com/caddyserver/zerosslv0.1.5 · 1×

For agents

$ claude mcp add s-ui \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact