root
99e2e6c2e2
fix: resolve client traffic InboundId from DB in shared mode, set online clients
...
In shared mode the Xray API returns InboundId=0 for client traffic.
Collect() now looks up the real InboundId from the client_traffics table
by email, and skips unknown emails with a warning. Also computes and
sets online clients in XrayTrafficJob since addClientTraffic is bypassed.
2026-04-24 02:29:02 +08:00
root
6784f3e738
fix: install cron before acme.sh for all distros
...
Add cronie (rhel/fedora/centos/arch/opensuse) and dcron (alpine) to
install_base, and ensure crond is enabled+started before acme.sh runs.
2026-04-23 17:23:44 +08:00
root
f8c572e112
fix: detect stale mariadb service file when server package is missing
...
has_local_mariadb_service() only checked if the systemd unit file existed,
but not whether the mariadb-server package was actually installed. When the
package was removed but the service file remained, the script would skip
server installation and fail on restart. Now verifies the server package
is installed via dpkg/rpm in addition to the unit file check.
2026-04-23 15:20:34 +08:00
root
27c2430d4f
fix: show actual systemctl error when MariaDB restart fails
...
restart_mariadb_service() and start_mariadb_service() suppressed stderr
with 2>/dev/null, hiding the real failure reason. Now captures and displays
the systemctl error output and service status on failure for diagnostics.
2026-04-23 15:05:05 +08:00
Sora39831
df20cc7e0b
feat: add local mariadb port and remote ip access controls
2026-04-22 11:20:55 +08:00
Sora39831
cc66b073a4
fix: add remote mariadb config menu, pending verification
2026-04-22 10:33:24 +08:00
Sora39831
326abb3a44
fix: avoid admin credential prompt on fresh mariadb install
2026-04-22 10:10:04 +08:00
Sora39831
fa73367e7e
fix: avoid migrate blocking and allow uninstall of partial installs
2026-04-22 09:52:10 +08:00
Sora39831
afa0d5a5bd
fix: accept direct panel port input in install flow
2026-04-22 09:45:56 +08:00
Sora39831
e23e69bc48
Refine MariaDB setup and uninstall behavior
2026-04-15 17:48:18 +08:00
Sora39831
e50b2f471d
feat: improve mariadb flow, db settings init, and traffic flush
2026-04-15 16:58:49 +08:00
Sora39831
85cd0b60f2
docs: add multi-node shared control guidance
2026-04-10 15:33:04 +08:00
Sora39831
6b58044e00
feat: add node management shell and installer flows
2026-04-10 15:31:35 +08:00
Sora39831
87282dde33
feat: add durable traffic deltas and shared flush loop
2026-04-10 15:25:16 +08:00
Sora39831
3cfa554786
feat: add cache-backed worker sync and heartbeat loops
2026-04-10 15:15:42 +08:00
Sora39831
34b9f01d0a
feat: guard shared writes and bump version transactionally
2026-04-10 11:22:49 +08:00
Sora39831
fd0af148cb
feat: add shared metadata models and helpers
2026-04-10 11:16:16 +08:00
Sora39831
36826706ec
feat: add node config and startup validation
2026-04-10 11:13:52 +08:00
Sora39831
735e1d8ef0
chore: ignore local worktrees
2026-04-10 11:07:21 +08:00
Sora39831
46bf1b1404
docs: add multi-node shared control design spec
2026-04-10 10:33:53 +08:00
Sora39831
135ef32477
Add panel domain persistence
2026-04-09 21:39:39 +08:00
Sora39
87566d22ef
Merge pull request #9 from Sora39831/fix/v1.3.0-beta
...
Fix frontend bugs, state leaks, and enhance asset generation
2026-04-08 15:48:34 +08:00
Sora39831
8e9e36e1b8
Fix turnstile tab re-render and bump version
2026-04-08 15:34:50 +08:00
Sora39831
8a43a516ac
Fix turnstile reload after auth tab switch
2026-04-08 15:18:00 +08:00
Sora39831
ae08f4a50f
fix: separate register turnstile layout
2026-04-07 17:32:57 +08:00
Sora39831
b921ed740c
chore: add generated fingerprinted assets
2026-04-07 17:17:41 +08:00
Sora39831
5ad2203f24
build: generate fingerprinted assets before compile
2026-04-07 16:43:18 +08:00
Sora39831
cfb169d2fb
refactor: resolve template assets through manifest helper
2026-04-07 16:41:55 +08:00
Sora39831
e6752e04db
feat: load fingerprinted asset manifest
2026-04-07 12:24:33 +08:00
Sora39831
faeb8dd244
feat: add asset generation command
2026-04-07 12:08:10 +08:00
Sora39831
05ece0bd8e
feat: add fingerprinted asset generator
2026-04-07 11:59:25 +08:00
Sora39831
019603d55f
docs: add cloudflare asset optimization design
2026-04-07 11:32:30 +08:00
Sora39831
cc6d3daa3a
fix: harden migration and setting writes
2026-04-07 02:12:02 +08:00
Sora39831
e298996d77
Harden admin access for panel APIs
2026-04-06 22:12:38 +08:00
Sora39831
6131c55882
fix dashboard and inbounds load failure states
2026-04-06 21:51:33 +08:00
Sora39831
537c73c1b2
fix settings and xray load failure regressions
2026-04-06 21:22:33 +08:00
Sora39831
266f368b07
fix remaining modal state leaks
2026-04-06 21:03:50 +08:00
Sora39831
6564cf8202
fix settings and xray page state leaks
2026-04-06 21:02:58 +08:00
Sora39831
3e1b6ed76f
fix frontend loading and client modal bugs
2026-04-06 21:00:02 +08:00
Sora39831
39ba517d9f
Fix inbound email options on add modal
2026-04-06 17:14:12 +08:00
Sora39831
6eba2ac375
Remove docs from repository
2026-04-06 17:09:15 +08:00
Sora39
74a51e4265
Merge pull request #8 from Sora39831/Limit
...
Limit
2026-04-06 17:05:43 +08:00
Sora39831
2fad726ee1
Change IP limit to 3-minute temporary disable
2026-04-06 16:58:43 +08:00
Sora39831
e468a08a54
Fix IP limit fallback Xray API port resolution
2026-04-06 16:31:39 +08:00
Sora39831
9864224897
fix(iplimit): enforce limit without fail2ban via xray api fallback
2026-04-06 16:04:27 +08:00
Sora39831
2008ae6dc3
style(go): gofmt check_client_ip_job
2026-04-06 15:52:25 +08:00
Sora39831
c085fc3814
fix(iplimit): keep IP records working without fail2ban
2026-04-06 15:45:55 +08:00
Sora39831
03144a16ca
fix(mariadb): quote settings key column in xray template queries
2026-04-06 11:04:43 +08:00
Sora39831
15144e199d
test(limit): add regression tests for reentry and disabled-limit unban
...
- inject lightweight hooks in CheckDeviceLimitJob for deterministic tests
- add tests for run re-entrancy, disabled enforcement unban, and stale ban cleanup
2026-04-06 10:49:11 +08:00
Sora39831
83b61d9da4
feat(limit): add inbound device-limit enforcement with safe unban flow
...
- add inbound deviceLimit model/frontend fields and translations
- add CheckDeviceLimitJob with observation window and xray API ban/unban
- prevent job re-entrancy and restore users when limit is disabled
- reduce lock scope via snapshots to avoid blocking log parsing
2026-04-06 10:46:48 +08:00