{"id":13457398,"url":"https://github.com/alireza0/s-ui","last_synced_at":"2025-05-13T22:06:14.739Z","repository":{"id":222966248,"uuid":"756611765","full_name":"alireza0/s-ui","owner":"alireza0","description":"An advanced Web Panel • Built for SagerNet/Sing-Box","archived":false,"fork":false,"pushed_at":"2025-04-28T17:46:15.000Z","size":903,"stargazers_count":3593,"open_issues_count":83,"forks_count":598,"subscribers_count":32,"default_branch":"main","last_synced_at":"2025-04-29T17:47:57.142Z","etag":null,"topics":["hysteria","hysteria2","naive-proxy","shadowsocks","shadowtls","sing-box","trojan","tuic","vless","vmess"],"latest_commit_sha":null,"homepage":"https://t.me/XrayUI","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alireza0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"buy_me_a_coffee":"alireza7"}},"created_at":"2024-02-13T00:15:37.000Z","updated_at":"2025-04-29T13:36:37.000Z","dependencies_parsed_at":"2024-03-04T11:46:52.657Z","dependency_job_id":"8460af65-6d35-46b4-9e98-948548eaa29a","html_url":"https://github.com/alireza0/s-ui","commit_stats":{"total_commits":164,"total_committers":10,"mean_commits":16.4,"dds":"0.10365853658536583","last_synced_commit":"419cce250f9b03c0b700f55f9da63e4564689014"},"previous_names":["alireza0/s-ui"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alireza0%2Fs-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alireza0%2Fs-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alireza0%2Fs-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alireza0%2Fs-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alireza0","download_url":"https://codeload.github.com/alireza0/s-ui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251584566,"owners_count":21613059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hysteria","hysteria2","naive-proxy","shadowsocks","shadowtls","sing-box","trojan","tuic","vless","vmess"],"created_at":"2024-07-31T08:01:42.569Z","updated_at":"2025-04-29T21:25:34.920Z","avatar_url":"https://github.com/alireza0.png","language":"Go","funding_links":["https://buymeacoffee.com/alireza7","https://www.buymeacoffee.com/alireza7"],"categories":["Go"],"sub_categories":[],"readme":"# S-UI\n**An Advanced Web Panel • Built on SagerNet/Sing-Box**\n\n![](https://img.shields.io/github/v/release/alireza0/s-ui.svg)\n![S-UI Docker pull](https://img.shields.io/docker/pulls/alireza7/s-ui.svg)\n[![Go Report Card](https://goreportcard.com/badge/github.com/alireza0/s-ui)](https://goreportcard.com/report/github.com/alireza0/s-ui)\n[![Downloads](https://img.shields.io/github/downloads/alireza0/s-ui/total.svg)](https://img.shields.io/github/downloads/alireza0/s-ui/total.svg)\n[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html)\n\n\u003e **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\n\n**If you think this project is helpful to you, you may wish to give a**:star2:\n\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/alireza7)\n\n- USDT (TRC20): `TYTq73Gj6dJ67qe58JVPD9zpjW2cc9XgVz`\n\n## Quick Overview\n| Features                               |      Enable?       |\n| -------------------------------------- | :----------------: |\n| Multi-Protocol                         | :heavy_check_mark: |\n| Multi-Language                         | :heavy_check_mark: |\n| Multi-Client/Inbound                   | :heavy_check_mark: |\n| Advanced Traffic Routing Interface     | :heavy_check_mark: |\n| Client \u0026 Traffic \u0026 System Status       | :heavy_check_mark: |\n| Subscription Service (link/json + info)| :heavy_check_mark: |\n| Dark/Light Theme                       | :heavy_check_mark: |\n| API Interface                          | :heavy_check_mark: |\n\n## API Documentation\n\n[API-Documentation Wiki](https://github.com/alireza0/s-ui/wiki/API-Documentation)\n\n## Default Installation Information\n- Panel Port: 2095\n- Panel Path: /app/\n- Subscription Port: 2096\n- Subscription Path: /sub/\n- User/Password: admin\n\n## Install \u0026 Upgrade to Latest Version\n\n```sh\nbash \u003c(curl -Ls https://raw.githubusercontent.com/alireza0/s-ui/master/install.sh)\n```\n\n## Install legacy Version\n\n**Step 1:** To install your desired legacy version, add the version to the end of the installation command. e.g., ver `1.0.0`:\n\n```sh\nVERSION=1.0.0 \u0026\u0026 bash \u003c(curl -Ls https://raw.githubusercontent.com/alireza0/s-ui/$VERSION/install.sh) $VERSION\n```\n\n## Manual installation\n\n1. Get the latest version of S-UI based on your OS/Architecture from GitHub: [https://github.com/alireza0/s-ui/releases/latest](https://github.com/alireza0/s-ui/releases/latest)\n2. **OPTIONAL** Get the latest version of `s-ui.sh` [https://raw.githubusercontent.com/alireza0/s-ui/master/s-ui.sh](https://raw.githubusercontent.com/alireza0/s-ui/master/s-ui.sh)\n3. **OPTIONAL** Copy `s-ui.sh` to /usr/bin/ and run `chmod +x /usr/bin/s-ui`.\n4. Extract s-ui tar.gz file to a directory of your choice and navigate to the directory where you extracted the tar.gz file.\n5. Copy *.service files to /etc/systemd/system/ and run `systemctl daemon-reload`.\n6. Enable autostart and start S-UI service using `systemctl enable s-ui --now`\n7. Start sing-box service using `systemctl enable sing-box --now`\n\n## Uninstall S-UI\n\n```sh\nsudo -i\n\nsystemctl disable s-ui  --now\n\nrm -f /etc/systemd/system/sing-box.service\nsystemctl daemon-reload\n\nrm -fr /usr/local/s-ui\nrm /usr/bin/s-ui\n```\n\n## Install using Docker\n\n\u003cdetails\u003e\n   \u003csummary\u003eClick for details\u003c/summary\u003e\n\n### Usage\n\n**Step 1:** Install Docker\n\n```shell\ncurl -fsSL https://get.docker.com | sh\n```\n\n**Step 2:** Install S-UI\n\n\u003e Docker compose method\n\n```shell\nmkdir s-ui \u0026\u0026 cd s-ui\nwget -q https://raw.githubusercontent.com/alireza0/s-ui/master/docker-compose.yml\ndocker compose up -d\n```\n\n\u003e Use docker\n\n```shell\nmkdir s-ui \u0026\u0026 cd s-ui\ndocker run -itd \\\n    -p 2095:2095 -p 2096:2096 -p 443:443 -p 80:80 \\\n    -v $PWD/db/:/usr/local/s-ui/db/ \\\n    -v $PWD/cert/:/root/cert/ \\\n    --name s-ui --restart=unless-stopped \\\n    alireza7/s-ui:latest\n```\n\n\u003e Build your own image\n\n```shell\ngit clone https://github.com/alireza0/s-ui\ngit submodule update --init --recursive\ndocker build -t s-ui .\n```\n\n\u003c/details\u003e\n\n## Manual run ( contribution )\n\n\u003cdetails\u003e\n   \u003csummary\u003eClick for details\u003c/summary\u003e\n\n### Build and run whole project\n```shell\n./runSUI.sh\n```\n\n### Clone the repository\n```shell\n# clone repository\ngit clone https://github.com/alireza0/s-ui\n# clone submodules\ngit submodule update --init --recursive\n```\n\n\n### - Frontend\n\nVisit [s-ui-frontend](https://github.com/alireza0/s-ui-frontend) for frontend code\n\n### - Backend\n\u003e Please build frontend once before!\n\nTo build backend:\n```shell\n# remove old frontend compiled files\nrm -fr web/html/*\n# apply new frontend compiled files\ncp -R frontend/dist/ web/html/\n# build\ngo build -o sui main.go\n```\n\nTo run backend (from root folder of repository):\n```shell\n./sui\n```\n\n\u003c/details\u003e\n\n## Languages\n\n- English\n- Farsi\n- Vietnamese\n- Chinese (Simplified)\n- Chinese (Traditional)\n- Russian\n\n## Features\n\n- Supported protocols:\n  - General:  Mixed, SOCKS, HTTP, HTTPS, Direct, Redirect, TProxy\n  - V2Ray based: VLESS, VMess, Trojan, Shadowsocks\n  - Other protocols: ShadowTLS, Hysteria, Hysteria2, Naive, TUIC\n- Supports XTLS protocols\n- An advanced interface for routing traffic, incorporating PROXY Protocol, External, and Transparent Proxy, SSL Certificate, and Port\n- An advanced interface for inbound and outbound configuration\n- Clients’ traffic cap and expiration date\n- Displays online clients, inbounds and outbounds with traffic statistics, and system status monitoring\n- Subscription service with ability to add external links and subscription\n- HTTPS for secure access to the web panel and subscription service (self-provided domain + SSL certificate)\n- Dark/Light theme\n\n## Recommended OS\n\n- Ubuntu 20.04+\n- Debian 11+\n- CentOS 8+\n- Fedora 36+\n- Arch Linux\n- Parch Linux\n- Manjaro\n- Armbian\n- AlmaLinux 9+\n- Rocky Linux 9+\n- Oracle Linux 8+\n- OpenSUSE Tubleweed\n\n## Environment Variables\n\n\u003cdetails\u003e\n  \u003csummary\u003eClick for details\u003c/summary\u003e\n\n### Usage\n\n| Variable       |                      Type                      | Default       |\n| -------------- | :--------------------------------------------: | :------------ |\n| SUI_LOG_LEVEL  | `\"debug\"` \\| `\"info\"` \\| `\"warn\"` \\| `\"error\"` | `\"info\"`      |\n| SUI_DEBUG      |                   `boolean`                    | `false`       |\n| SUI_BIN_FOLDER |                    `string`                    | `\"bin\"`       |\n| SUI_DB_FOLDER  |                    `string`                    | `\"db\"`        |\n| SINGBOX_API    |                    `string`                    | -             |\n\n\u003c/details\u003e\n\n## SSL Certificate\n\n\u003cdetails\u003e\n  \u003csummary\u003eClick for details\u003c/summary\u003e\n\n### Certbot\n\n```bash\nsnap install core; snap refresh core\nsnap install --classic certbot\nln -s /snap/bin/certbot /usr/bin/certbot\n\ncertbot certonly --standalone --register-unsafely-without-email --non-interactive --agree-tos -d \u003cYour Domain Name\u003e\n```\n\n\u003c/details\u003e\n\n## Stargazers over Time\n[![Stargazers over time](https://starchart.cc/alireza0/s-ui.svg)](https://starchart.cc/alireza0/s-ui)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falireza0%2Fs-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falireza0%2Fs-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falireza0%2Fs-ui/lists"}