Releases: shenaba/2s-ui
Releases · shenaba/2s-ui
v1.5.0-alpha.1
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
v1.4.7-alpha.3
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.shinstead 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
--reloadcmdimmediately on first--installcert;systemctl restart s-uithere 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
--homeinstall flag (caused "Unknown parameter: ----home").
How to test
bash <(curl -Ls https://raw.githubusercontent.com/shenaba/2s-ui/main/install.sh) v1.4.7-alpha.3sui -v->1.4.7-alpha.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
✨ 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-uifor upgrade compatibility. - Remove
/usr/bin/2s-uireferences from install/update/uninstall scripts & docs. - Bump backend & frontend to 1.4.6.