Commit Graph

63 Commits

Author SHA1 Message Date
hellcat
6c9422d055 Add authenticated Telegram ticket replies and notification tracking 2026-10-11 11:58:19 +08:00
hellcat
ad42a0e1e7 feat(mail): add Resend delivery, inbox replies and notification tiers 2026-10-10 18:53:35 +08:00
hellcat
cd117604a3 feat: add branded tutorials and display-only plan device settings 2026-10-08 18:01:02 +08:00
socksprox
34bb1fdbcf Rename v2_order.refund_amount to surplus_credit (#967)
The old name was misleading — this column tracks surplus credit returned
to the user's internal balance during plan upgrades, not a payment
gateway refund. The new name aligns with the existing surplus_amount
and surplus_order_ids naming convention.

Co-authored-by: socksprox <info@shadowfly.net>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 11:49:58 +08:00
xboard
0fa4b4e0fc fix(security): prevent payment gateway credentials leakage via OrderResource 2026-04-23 10:26:35 +08:00
xboard
8131bf4748 fix: ticket reply_status semantics, N+1 query, and admin reply auto-reopen 2026-04-18 16:40:21 +08:00
xboard
d406e440a7 feat: email template management with DB override, modern mail redesign 2026-04-18 15:41:23 +08:00
xboard
7652882fe5 feat: add xhttp subscriptions, network monitoring, chart legend toggle and ticket sender labels 2026-04-18 02:02:06 +08:00
xboard
83b43e8664 feat: show install command on machine creation 2026-04-17 06:47:05 +08:00
xboard
6796b70179 feat: machine mode, ECH subscriptions, batch ops & security hardening 2026-04-17 03:02:53 +08:00
Xboard
f0af3b6832 Revert "feat: Track user traffic per node (server_id)" 2026-03-30 18:17:27 +08:00
xboard
209e862374 feat: add Vless Encryption support 2026-03-30 17:03:37 +08:00
Xboard
0ea23b24c9 Merge pull request #755 from socksprox/feat/server-id-stat-user
feat: Track user traffic per node (server_id)
2026-03-30 13:55:11 +08:00
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
7af0764031 feat: implement email case-insensitive queries (fix #318) 2026-03-28 07:09:21 +08:00
xboard
8b776b1ea1 feat: Trojan Reality support and protocol distribution optimizations 2026-03-23 14:56:41 +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
76edd15186 refactor: replace database logging with file logging and admin audit log 2026-03-11 06:50:07 +08:00
xboard
2b2a51e73b refactor: move subscribe templates to dedicated database table 2026-03-11 05:47:29 +08:00
socksprox
d046028bac User traffic can now be viewed by node 2025-11-29 13:47:15 +01:00
xboard
7801a0fb19 feat: add v2node support 2025-11-22 20:33:38 +08:00
xboard
c9fbd24c58 fix: remove smogate 2025-09-22 22:52:11 +08:00
xboard
34a9ed0fce feat(plugin): add user.subscribe.response hook 2025-09-17 00:02:59 +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
dcd1d64bbd feat: add multiple hooks, pligun schedule support ,add hook:list artisan command 2025-07-21 13:29:17 +08:00
xboard
b3a69bcd60 fix: gift card redemption limits validation 2025-07-21 09:28:00 +08:00
xboard
1493fe18eb fix: resolve issue where dynamic rate cannot be disabled 2025-07-21 08:29:14 +08:00
xboard
170923bad5 chore: code style and type declaration improvements 2025-07-15 02:55:58 +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
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
xboard
03a55bdd77 feat: add tags to plans, refactor order service, adn fix ticket lock 2025-07-01 11:14:18 +08:00
xboard
449c30d64e fix: resolve known issues and improve code standards
- Fix known bugs in user, plan, and server modules
- Standardize code formatting and structure
- Optimize database queries and model relationships
- Improve request validation and error handling
- Update admin controllers for better consistency
2025-06-22 17:38:17 +08:00
xboard
8f07e03b6e feat: enhance plan validation, traffic system and email verification
- feat: add plan price validation
- feat: make traffic packages stackable
- feat: add commission and invite info to admin order details
- feat: apply email whitelist to verification code API
- fix: subscription link copy compatibility for non-HTTPS
- fix: resolve route editing 500 error in certain cases
- refactor: restructure traffic reset logic
2025-06-22 01:18:38 +08:00
xboard
06d0f80960 feat: optimize settings management and admin functionality
- Add system log cleanup functionality with batch processing
- Optimize v2_settings table performance by unifying value storage
- Add comprehensive client support list for one-click subscription
- Fix QR code subscription links for specific node types
- Fix route addition issues in admin management panel
- Enhance admin system controller with log management APIs
2025-06-21 12:11:27 +08:00
xboard
b271238094 fix: improve node filtering by client base_version, set subscription content-type, and add hop_interval support for hysteria2
- Refactor node filtering logic to correctly handle client base_version requirements.
- Set appropriate Content-Type header for subscription responses.
- Add support for hop_interval configuration in hysteria2 node delivery.
2025-05-24 13:45:32 +08:00
xboard
64e68d7d65 feat: Add node load submission and display functionality
- Implemented node load status submission in UniProxyController with dynamic cache expiration based on server push interval.
- Added log filtering capability in the admin panel for better log management and analysis.
2025-05-24 12:31:18 +08:00
xboard
af420ea83a feat: add AnyTLS support and improve system functionality
- Add AnyTLS protocol support
- Add system logs viewing in admin panel
- Refactor client subscription delivery code
- Refactor hook mechanism
- Add plugin support for Shadowsocks protocol
- Add CSV export option for batch user creation
- Fix mobile admin login page width display issue
2025-05-22 17:58:22 +08:00
Fearless
0f672571b7 add anytls support 2025-05-19 09:25:52 +08:00
ztb
66c5c03203 Fix the bug of sub-node ss password mismatch 2025-05-13 21:55:18 +08:00
xboard
42f9eda8aa fix(admin): correct ticket message bubble alignment in admin panel 2025-05-11 17:44:18 +08:00
xboard
53e09f98d7 fix(node): resolve port type validation error 2025-05-09 19:53:59 +08:00
xboard
7b45351f99 fix(admin): Fix order assignment issue in admin panel 2025-05-08 22:14:56 +08:00
xboard
4845ff0739 fix: resolve PHPStan static analysis warnings 2025-05-07 19:48:19 +08:00
xboard
ea424ad0a8 Revert "fix: resolve PHPStan static analysis warnings"
This reverts commit b885e644a8.
2025-04-14 21:23:08 +08:00
xboard
b885e644a8 fix: resolve PHPStan static analysis warnings 2025-04-14 02:12:42 +08:00
xboard
7d5ef44e9f Fix: Handle null content in PlanResource::formatContent method
- Fix deprecated warning when passing null to str_replace() function\n- Use null coalescing operator to provide empty string as default value\n- Comply with PHP 8.2+ type requirements
2025-02-25 19:14:19 +08:00
xboard
e52895d2aa feat: Add TUIC protocol support and fix user filtering/export issues 2025-02-23 00:13:04 +08:00