[分享] 2S-UI —— 把 s-ui 的前端整个重写了一遍的 sing-box 面板

6 条回复
53 次浏览

先说清楚:fork 自 alireza0/s-ui,前端整套重写,还新加了不少功能。GPL-3.0,仓库 https://github.com/shenaba/2s-ui

为什么 fork

一是界面。s-ui 功能是够的,但 UI 还停留在十来年前那套审美,用起来别扭,手机上基本没法用。

二是功能。跟 3x-ui 比,s-ui 缺的东西不少——同时在线 IP 数限制、登录防护这些都没有。这些我在一个个补:IP 限制 v1.7.0 已经上了,登录限速和 TOTP 两步验证在路上。

主界面

跟 s-ui 比多了什么

  • 改一个用户不再断掉所有人。s-ui 编辑客户端要把整个 inbound 摘掉重加,QUIC 的 session 跟着一起没,加个人全服掉线。这边是热更新用户表,只断被改的那个用户。
  • 前端全重写。Vue 3 + TS,深浅双主题,六种语言,手机上能正常用。
  • 多节点集群。一台面板管其他面板,5 秒心跳,用户自动下发,各节点流量回收进主面板,所有节点的线路合并进同一条订阅。节点端不用装 agent,建个 API token 就行。
  • 面板内一键升级。下载 → 校验 SHA256 → 新二进制先跑一次冒烟测试 → 才替换重启,不用 SSH。
  • 同时在线 IP 数限制。限制一个客户端最多能从几个源 IP 同时连接,超了的新连接直接拒掉,已经在的按最早的踢。v1.7.0 已上。
  • 登录防护。失败次数限速——按 IP 和用户名双轴计数,哪个轴都没法靠换另一个换来新额度,状态落库所以重启也不清零;TOTP 两步验证;改密码自动踢掉所有已签发的会话。下个版本。
  • 面板数据走 WebSocket 推送。流量、在线状态、系统负载都是服务端主动推过来的,不是前端每隔几秒轮询一次 API。数字是实时跳的,面板挂着也不会一直打接口。

功能

  • 协议:VLESS、VMess、Trojan、Shadowsocks、Hysteria2、TUIC、AnyTLS、ShadowTLS、Naive 等,入站出站都有;WireGuard / WARP / Tailscale 端点可单独测延迟
  • TLS:Reality、uTLS 指纹、XTLS,证书注册一次按入站选用
  • 路由:按域名、IP、端口、协议、进程、用户、rule-set 匹配,支持 and/or,DNS 规则独立成套
  • 客户端:流量配额、到期时间、同时在线 IP 数限制、实时在线状态、一键分享链接和二维码
  • 订阅:link / json / clash 三种格式,用量和到期时间回传给客户端 App
  • 统计:按入站、按客户端、按出站,可重置
  • HTTPS:Let's Encrypt 自动签发续期,能自动生成 nginx 反代 vhost,nginx -t 不过自动回滚
  • 面板:数据走 WebSocket 实时推送,不是轮询
  • 登录防护:失败次数限速(IP 和用户名双轴计数,重启不清零)、TOTP 两步验证、改密码自动踢掉所有旧会话

复制
bash <(curl -Ls https://raw.githubusercontent.com/shenaba/2s-ui/main/install.sh)

面板 2095 / 订阅 2096,admin/admin,装完记得改。Docker、Windows 装法看 README,Linux 七个架构都编了。

不好的地方先说

  • 项目才三个月,用的人不多,肯定有没踩到的坑
  • macOS 是实验性的
  • Windows 能装,但一键升级用不了——运行中的 exe 没法替换自己
  • README 那句「请勿用于生产环境」是认真的

仅供个人学习交流。有问题欢迎开 issue,想要什么功能也可以提。

前排打手

是我理解的那个 boy sb 吗,你弄了一个网页的面板
还是基于那个你弄了一个面板

OP

不太确定你说的 boy sb 具体指哪个,我这个是基于 SagerNet 的 sing-box 做的。
sing-box 本身只有配置文件和命令行,入站出站全靠手写 JSON,加个用户、查个流量都得上
服务器敲命令。2S-UI 就是给它做的 Web 管理面板——可视化配置协议、管客户端和配额、
看流量统计、生成订阅链接。

OP

@diudiuu 233boy 那个是 shell 脚本,在命令行里跑;我这个是 Web 面板。都是同一个内核 sing-box。
你可以理解是一样的,只不过 2s-ui 可以给每人的流量配额和到期时间、订阅链接、流量统计、多台机器一起管。这些是脚本没有的功能

展开 1 条评论
OP

你可以在 YouTube 上搜 s-ui 搭建教程,2s-ui 这个是 fork s-ui 的,搭建教程是通用的

发表一个评论

R保持