xboard
1e7fa93f99
feat: node traffic limit & batch operations
...
- Traffic monitoring with transfer_enable limit
- Batch delete nodes
- Reset traffic (single/batch)
2026-03-30 02:50:56 +08:00
xboard
7cd1fb185b
Revert "fix: escape Telegram Markdown special characters ( fix #450 )"
...
This reverts commit e10ec47140 .
2026-03-29 17:48:49 +08:00
xboard
e10ec47140
fix: escape Telegram Markdown special characters ( fix #450 )
2026-03-28 09:10:54 +08:00
xboard
7af0764031
feat: implement email case-insensitive queries ( fix #318 )
2026-03-28 07:09:21 +08:00
xboard
c8ef04d55f
fix: use ServerService::getServer() for node lookup in WebSocket
2026-03-26 03:51:58 +08:00
xboard
b9276470eb
fix: resolve device sync issues and refactor WebSocket server
2026-03-26 03:33:01 +08:00
xboard
b487d6c561
refactor: restructure device limit system
2026-03-25 17:50:16 +08:00
xboard
d179f49bbb
feat: ws notify nodes when user traffic is exhausted
2026-03-25 01:44:55 +08:00
xboard
8b776b1ea1
feat: Trojan Reality support and protocol distribution optimizations
2026-03-23 14:56:41 +08:00
xboard
8137a11008
feat: Add admin bulk-mail placeholder variables and template rendering
2026-03-19 05:02:16 +08:00
xboard
63f5080006
fix(runtime): force app_url/force_https per-request via middlewar
2026-03-19 04:22:17 +08:00
xboard
2e4bfe08df
feat: Refactor uTLS & Multiplex Support, Node Status Push Optimization
...
- Server/ServerSave/Server.php: Unified utls and multiplex schema, validation, and defaults for vmess/vless/trojan/mieru protocols, enabling more flexible protocol configuration.
- Protocols (SingBox/ClashMeta/Shadowrocket/Stash/General): All protocol generators now support utls (client-fingerprint/fp) and multiplex options. Removed getRandFingerprint, replaced with getTlsFingerprint supporting random/custom fingerprints.
- Helper.php: Refactored TLS fingerprint utility to support object/string/random input.
- ServerService: Abstracted updateMetrics method to unify HTTP/WS node status caching logic.
- NodeWebSocketServer: Improved node connection, status push, and full sync logic; adjusted log levels; clarified push logic.
- ServerController: Reused ServerService for node metrics handling, reducing code duplication.
- Docs: Improved aapanel installation docs, added fix for empty admin dashboard.
2026-03-16 23:09:56 +08:00
xboard
d92c32fab5
feat: introduce WebSocket sync for XBoard nodes
...
- Implement Workerman-based `xboard:ws-server` for real-time node synchronization.
- Support custom routes, outbounds, and certificate configurations via JSON.
- Optimize scheduled tasks with `lazyById` to minimize memory footprint.
- Enhance reactivity using Observers for `Plan`, `Server`, and `ServerRoute`.
- Expand protocol support for `httpupgrade`, `h2`, and `mieru`.
2026-03-15 09:49:11 +08:00
xboard
e355f2b61a
fix(register): handle invalid invite code as API error ( #792 )
2026-03-11 02:09:25 +08:00
xboard
48fd340b0b
fix: apply device_limit from plan when assigning via gift card ( #630 )
2026-03-09 06:51:10 +08:00
xboard
6f860c784a
fix: return dynamic rate instead of base rate in user server list ( #709 )
2026-03-09 06:47:30 +08:00
Xboard
8d5ead43ac
Merge pull request #734 from kelly5454/master
...
fix: Type error when redeeming gift card
2026-03-09 04:56:14 +08:00
xboard
7801a0fb19
feat: add v2node support
2025-11-22 20:33:38 +08:00
xboard
af431d178e
fix: preserve theme config when upgrading theme
2025-11-07 19:25:40 +08:00
kelly5454
e26677813c
fix: exchange gift card type error
2025-10-30 21:08:39 +08:00
xboard
fc685ae9b5
feat(plugin): auto-decode JSON config values by type in PluginManager
2025-10-20 18:56:44 +08:00
xboard
245ddc56e7
fix: avoid getCurrentCommit on cache hit
2025-09-26 19:04:17 +08:00
xboard
8176afb073
fix(plugin): remove stale plugin records when files missing; adjust logging
2025-09-23 14:59:22 +08:00
xboard
471ec94ae3
fix
2025-09-16 18:44:44 +08:00
xboard
371fd791ac
fix: improve date calculation for month-end reset schedules
2025-08-31 20:30:02 +08:00
Miku
69637949ce
fix(order): correct renewal handling for onetime plan
...
fixes onetime plan renewal logic
2025-08-29 23:24:48 +08:00
xboard
4f7f3d7168
feat: optimize server.user.get hook definition
2025-08-29 19:21:49 +08:00
xboard
72ead1cf8f
fix: support resources/views directory for plugin views
2025-08-23 15:26:09 +08:00
xboard
95c5a6e94c
fix(auth): handle null redirect in quick login url
2025-08-21 18:57:19 +08:00
xboard
adc8b61359
fix: fix user expiration date display and update issues
...
- Fix 1970 year display for unlimited validity users
- Resolve SQL error in user update endpoint
- Closes #625
2025-08-08 03:04:44 +08:00
xboard
fe4f8d5875
fix: change user default_at to 0
2025-07-27 08:11:42 +08:00
xboard
06cffa32b4
feat: add plugin migrations and fix plan management bugs
...
- Plugin database migration support
- Fix empty prices error in plan management
- Plugin update functionality
- Custom shadowsocks encryption algorithms
2025-07-27 00:19:14 +08:00
xboard
5b8cf681f9
feat: enhance plugin management
...
- Add command support for plugin management
- Optimize plugin management page layout
- Add email copy functionality for users
- Convert payment methods and Telegram Bot to plugin system
2025-07-26 18:49:58 +08:00
xboard
abd549c3e2
fix: correct return_url generation for payment in frontend-backend separated deployment
2025-07-21 23:54:00 +08:00
xboard
dcd1d64bbd
feat: add multiple hooks, pligun schedule support ,add hook:list artisan command
2025-07-21 13:29:17 +08:00
xboard
05e8feedfb
fix: resolve theme refresh issue after updates
2025-07-21 08:27:41 +08:00
xboard
b1f15995b6
refactor: rename hook form traffic.before_process to traffic.process.before
2025-07-18 23:39:19 +08:00
xboard
7fc913e853
refactor: refactor subscription delivery logic, change payment return_url to origin_url concatenation
...
- Unify protocol filter configuration to client.type.field (dot-path, three-segment) format, support strict whitelist mode
- Refactor AbstractProtocol and all protocol classes for more flexible and maintainable subscription delivery
- Change payment callback logic: use origin_url concatenation instead of return_url for more accurate redirects
2025-07-18 15:42:58 +08:00
xboard
f2fbcc86d8
feat(hook): add order.create.after, order.open.before, order.open.after, and protocol.servers.filtered hooks
2025-07-17 12:34:31 +08:00
xboard
480e6162cb
feat: consider remaining traffic in surplus calculation when resetting traffic on plan change
2025-07-17 12:13:03 +08:00
xboard
ac77a73098
refactor: optimize surplus value calculation for plan deduction
2025-07-17 11:32:34 +08:00
xboard
36f0704360
fix: theme switch service
2025-07-15 20:50:04 +08:00
xboard
170923bad5
chore: code style and type declaration improvements
2025-07-15 02:55:58 +08:00
xboard
5a86c46ab9
feat: improve traffic reset precision and admin features
...
- Increase traffic reset granularity to seconds
- Add next reset time display in admin pane
2025-07-15 02:18:33 +08:00
xboard
6ac0cc7ce5
feat: support theme update and various improvements
...
- Add support for updating themes if a newer version is uploaded
- Hide config button for plugins without configuration items
- Auto refresh theme cache after panel update
- Fix issue where user used traffic cannot be set as a decimal
- Fix subscription issue for shadowrocket in v2board theme
2025-07-15 01:26:14 +08:00
xboard
c80dd82558
feat: multiple improvements and bug fixes
...
- Add gift card redemption feature
- Resolve custom range selection issue in overview
- Allow log page size to be modified
- Add subscription path change notification
- Improve dynamic node rate feature
- Support markdown documentation display for plugins
- Reduce power reset service logging
- Fix backend version number not updating after update
2025-07-14 00:33:04 +08:00
xboard
939d1c2b65
fix(register): handle invalid invite code gracefully
...
Fix an issue where entering a non-existent invite code during registration would result in an unclear HTTP code 0 error. Now, the system properly validates the invite code and returns a clear error response if the code does not exist.
2025-07-13 21:19:33 +08:00
xboard
c95448b4b0
feat: add plugin update support + fix bugs
2025-07-13 08:53:00 +08:00
xboard
a7192493bb
fix(plugin): auto-remove plugin record if class file is missing
2025-07-12 21:54:12 +08:00
xboard
613c769e42
feat: Add client.subscribe.servers hook for plugin-based server extension
...
- Add HookManager::filter('client.subscribe.servers') hook in ClientController::subscribe()
- Allow plugins to inject custom servers into subscription responses
- Update protocol classes to support extended server configurations
- Enable dynamic server list modification before protocol processing
2025-07-11 21:19:23 +08:00