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
Sora39831
4a1dac89b6
fix(inbounds): avoid undefined filterEmailOption in client form
2026-04-05 04:40:24 +08:00
Sora39
ba06dcbfb8
Merge pull request #7 from Sora39831/codex
...
Delete user inbounds and sync-remove inbound clients
2026-04-05 03:59:25 +08:00
Sora39831
67d24ca0e6
fix(user): sync-remove inbound clients when deleting managed user
2026-04-05 03:52:41 +08:00
Sora39831
dfbe02c2b8
feat(user): delete all user inbounds when deleting user
2026-04-05 03:40:32 +08:00
Sora39
d3897398bd
Merge pull request #6 from Sora39831/codex
...
Fix turnstile rendering and migration panic; update release workflow
2026-04-05 03:17:42 +08:00
Sora39831
062f2bd714
fix migrate panic and include release workflow updates
2026-04-05 03:12:29 +08:00
Sora39831
7db5b9e214
fix(login): reliably render turnstile on register tab
2026-04-05 02:55:28 +08:00
Sora39831
67e0fb62b4
ci: optimize release workflow
2026-04-05 02:31:22 +08:00
Sora39831
78767c082e
feat(users): cascade delete user-owned inbounds when deleting user
2026-04-04 22:35:33 +08:00
Sora39831
0775c5f10d
fix(panel): correct user.html i18n quoting to avoid template parse failure
2026-04-04 22:16:34 +08:00
Sora39831
b03bb96899
fix(panel): resolve blank /panel/user caused by invalid i18n template quotes
2026-04-04 20:04:38 +08:00
Sora39831
ec70c4ce07
feat: add user email dropdown for inbound clients
2026-04-04 15:05:37 +08:00
Sora39831
2a9d9a0a6b
feat: add admin user management
2026-04-04 14:59:40 +08:00
Sora39831
b0ce1a7ace
refactor(settings): organize x-ui.json by module and purpose
2026-04-04 14:46:24 +08:00
Sora39831
4a5d8aa702
fix(settings): preserve turnstile and omitted config fields
2026-04-04 14:45:31 +08:00
Sora39831
37c184aa45
Fix shared-email client traffic deletion scope
2026-04-04 14:29:37 +08:00
Sora39831
d192056af2
ci: run analyze and build jobs in parallel
...
Remove build's dependency on analyze so both jobs execute concurrently.
2026-04-03 16:37:22 +08:00
Sora39
5026795c0e
Merge pull request #3 from Sora39831/dev
...
Add MariaDB installation detection and fix auth failure
2026-04-03 11:21:34 +08:00
Sora39831
90c5e72f1d
fix: set AllowNativePasswords in MariaDB DSN to fix auth failure
...
Zero-value struct literal caused allowNativePasswords=false to be
written into the DSN, rejecting mysql_native_password auth from
the MariaDB server.
2026-04-03 11:20:54 +08:00
Sora39831
9fe77450b9
feat: add MariaDB installation detection and database creation in x-ui.sh
2026-04-03 10:28:46 +08:00
Sora39831
0cfa431107
feat: add MariaDB installation detection and database creation in x-ui.sh
2026-04-03 10:28:25 +08:00
Sora39
e74ae4ef1f
Merge pull request #2 from Sora39831/dev
...
Enhance user registration, dashboard, and MariaDB support
2026-04-03 10:04:19 +08:00