Skip to content

Releases: shenaba/2s-ui

v1.5.0-alpha.1

12 Jun 07:35

Choose a tag to compare

v1.5.0-alpha.1 Pre-release
Pre-release

Redesigned web panel (pre-release)

The panel frontend has been rebuilt from scratch on a handwritten design system — Vuetify and all UI-framework dependencies are gone.

Highlights

  • New console UI: dark-first dual themes, redesigned dashboard with pure-SVG charts (live traffic, gauges, protocol donut), card-based entity pages, centered edit dialogs
  • 6 languages (en / ru / vi / zh-CN / zh-TW) with first-class RTL Farsi
  • Responsive mobile layout (≤820px): tables become card lists, sidebar becomes an overlay drawer, safe-area aware
  • Hardened UI primitives: full keyboard navigation (combobox/listbox patterns), focus traps + body scroll lock + layered Esc handling for dialogs, IME-safe Escape (cancelling a CJK candidate list no longer closes the dialog), ARIA throughout
  • Lighter bundle (~413 KB gzip JS) embedded in the binary as before

Notes

  • Backend is unchanged from v1.4.7 (embedded sing-box v1.13.12); database and config are fully compatible
  • This is an alpha of the new UI — visual or interaction regressions are expected to exist; please report them with a screenshot and your browser/locale

v1.4.7

11 Jun 13:41

Choose a tag to compare

What's Changed

  • docs: showcase automatic ACME/Let's Encrypt certificate feature in README by @shenaba in #7
  • Fix downloads badge linking to raw SVG image instead of releases page by @shenaba in #9
  • acme.sh TLS integration + error message cleanup by @shenaba in #11

Full Changelog: v1.4.6...v1.4.7

v1.4.7-alpha.3

08 Jun 13:20

Choose a tag to compare

v1.4.7-alpha.3 Pre-release
Pre-release

v1.4.7-alpha.3 — Pre-release (testing only, not for production)

The amd64 asset was built locally (musl static); CI rebuilds the same commit for the other arches.

Fixes vs alpha.2

  • Robust acme.sh path discovery: probes $HOME/.acme.sh, /root/.acme.sh, /.acme.sh instead of one hard-coded path. Fixes "not found after install" under systemd (HOME empty → acme.sh lands in /.acme.sh); reuses an existing install if present.
  • Fix self-killing reloadcmd (no-nginx mode): acme.sh runs --reloadcmd immediately on first --installcert; systemctl restart s-ui there killed the request doing the issuance, so the UI showed "failed" even when the cert succeeded. No-nginx mode now configures no reloadcmd (restart the panel manually after issuing).
  • Concurrency mutex: a second issuance is rejected while one is in progress (avoids LE rate limits from double-clicks).
  • Port-80 precheck before standalone issuance (friendly error if occupied, e.g. by nginx).
  • curl/wget adaptive acme.sh install + PATH fallback for systemd's minimal PATH.
  • Removed the broken --home install flag (caused "Unknown parameter: ----home").

How to test

  1. bash <(curl -Ls https://raw.githubusercontent.com/shenaba/2s-ui/main/install.sh) v1.4.7-alpha.3
  2. sui -v -> 1.4.7-alpha.3
  3. Settings -> domain + email -> "Issue Certificate". No nginx: certs at /root/cert/{domain}/, then Save + restart panel. With nginx: dropdown auto-detects, uses --nginx.

Prerequisites

Linux + root; a real domain pointing here; port 80 free for the no-nginx case.

v1.4.6

04 Jun 02:38

Choose a tag to compare

✨ New: Automatic Certificates (ACME / Let's Encrypt)

Enter a domain in Panel Settings (cert mode → ACME) and 2S-UI
auto-issues and auto-renews a free Let's Encrypt certificate — no certbot, no
cron. Needs port 80 reachable; falls back to HTTP if misconfigured.
See the README for details.

Maintenance

  • Keep the Linux script entrypoint at /usr/bin/s-ui for upgrade compatibility.
  • Remove /usr/bin/2s-ui references from install/update/uninstall scripts & docs.
  • Bump backend & frontend to 1.4.6.