Skip to content
/ as-ui Public
forked from alireza0/s-ui

An advanced Web Panel • Built for SagerNet/Sing-Box

License

Notifications You must be signed in to change notification settings

dzluck/as-ui

This branch is up to date with alireza0/s-ui:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f1b6c8a · Nov 21, 2024
Oct 29, 2024
Nov 21, 2024
Oct 29, 2024
Nov 21, 2024
Feb 13, 2024
Oct 29, 2024
Feb 13, 2024
Nov 17, 2024
Nov 17, 2024
Oct 29, 2024
Jul 18, 2024
Nov 17, 2024
Feb 13, 2024
Feb 13, 2024
Nov 17, 2024
Feb 13, 2024

Repository files navigation

S-UI

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

S-UI Docker pull S-UI-Singbox Docker pull 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🌟

"Buy Me A Coffee"

  • USDT (TRC20): TYTq73Gj6dJ67qe58JVPD9zpjW2cc9XgVz

Quick Overview

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

Default Installation Information

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

Install & Upgrade to Latest Version

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

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

  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

Uninstall S-UI

sudo -i

systemctl disable sing-box --now
systemctl disable s-ui  --now

rm -f /etc/systemd/system/s-ui.service
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 for s-ui only

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

Build your own image

docker build -t s-ui .

Manual run ( contribution )

Click for details

Build and run whole project

./runSUI.sh

- Frontend

Frontend codes are in frontend folder in the root of repository.

To run it locally for instant development you can use (apply automatic changes on file save):

cd frontend
npm run dev

By this command it will run a vite web server on separate port 3000, with backend proxy to http://localhost:2095. You can change it in frontend/vite.config.mts.

To build frontend:

cd frontend
npm run build

- Backend

Backend codes are in backend folder in the root of repository.

Please build frontend once before!

To build backend:

cd 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, Hysteri2, 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

Recommended OS

  • Ubuntu 20.04+
  • Debian 11+
  • CentOS 8+
  • Fedora 36+
  • Arch Linux
  • Parch Linux
  • Manjaro
  • Armbian
  • AlmaLinux 9+
  • Rocky Linux 9+
  • Oracle Linux 8+
  • OpenSUSE Tubleweed

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

About

An advanced Web Panel • Built for SagerNet/Sing-Box

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 55.9%
  • TypeScript 21.8%
  • Go 15.7%
  • Shell 6.0%
  • Dockerfile 0.3%
  • SCSS 0.2%
  • Other 0.1%