Commit Graph

123 Commits

Author SHA1 Message Date
xboard
7fbd1bb92d feat: implement email case-insensitive queries (fix #318) 2026-03-28 07:09:21 +08:00
xboard
74b5ef0b27 fix: resolve device sync issues and refactor WebSocket server 2026-03-26 03:33:01 +08:00
xboard
420521d90a refactor: restructure device limit system 2026-03-25 17:50:16 +08:00
xboard
7dacb69275 feat: Trojan Reality support and protocol distribution optimizations 2026-03-23 14:56:41 +08:00
Xboard
b779bd4fd5 Merge pull request #789 from socksprox/feat/or-filter-logic
feat: Add OR logic support to user fetch API filters
2026-03-21 07:49:03 +08:00
xboard
64e6d8148e feat: Add admin bulk-mail placeholder variables and template rendering 2026-03-19 05:02:16 +08:00
xboard
b55091a066 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
010275b09e 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
8bb4682e98 feat: add configurable ticket_must_wait_reply setting 2026-03-11 07:31:09 +08:00
xboard
2d538c15de perf: fix getTrafficRank slow query with index and batch loading 2026-03-11 07:01:19 +08:00
xboard
ec20847f31 refactor: replace database logging with file logging and admin audit log 2026-03-11 06:50:07 +08:00
xboard
6efedcebd4 refactor: move subscribe templates to dedicated database table 2026-03-11 05:47:29 +08:00
xboard
b340652b4d feat(config): support custom telegram webhook url 2026-03-11 02:50:33 +08:00
socksprox
3b3fc618d6 Make querying users better with "or" statements 2026-01-28 01:27:21 +01:00
xboard
95e8e7bca7 feat: add v2node support 2025-11-22 20:33:38 +08:00
xboard
61a44483d4 feat(knowledge): add KnowledgeResource with plugin hooks
- Add KnowledgeResource with user.knowledge.resource hook
- Unify processKnowledgeContent for both single and list items
- Remove isListItem parameter for cleaner architecture
2025-09-20 13:36:10 +08:00
xboard
8ae3de511b feat(plugin): add user.subscribe.response hook 2025-09-17 00:02:59 +08:00
xboard
843c5af4c2 refactor(online-status): consolidate updates and add cleanup command 2025-09-15 20:32:22 +08:00
xboard
1fd4f923ad fix(server): Correct node_info retrieval method 2025-09-15 09:21:20 +08:00
xboard
fe94d7ebc6 fix: remove dependency on job_batches table for batch email sending 2025-09-02 23:54:21 +08:00
xboard
181075ad19 fix: prevent null pointer exception in knowledge fetch 2025-09-01 21:15:40 +08:00
xboard
5f74093660 fix: correct getAvailableUsers call to use (Server) 2025-08-29 20:50:55 +08:00
xboard
8e0384c833 feat: optimize server.user.get hook definition 2025-08-29 19:21:49 +08:00
xboard
8f3cdf0dde fix: optimize batch email performance and fix gift card issues
- Add chunking and batching for admin email sending
- Fix gift card pagination and add per_page limits
- Update frontend prompts and complete language packs
2025-08-23 00:11:45 +08:00
xboard
53ca5d062c fix(tickets): prevent ApiException logging in ticket creation API 2025-08-21 19:13:14 +08:00
xboard
f82a19f591 fix: resolve Telegram ticket notification issue 2025-08-08 02:53:44 +08:00
xboard
78e7be8766 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
58868268dd 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
97f84286d8 fix: announcement sorting issue 2025-07-22 04:28:39 +08:00
xboard
920b5b12ec fix: sub link types not working 2025-07-22 01:33:59 +08:00
xboard
c9bab8fb02 feat: add multiple hooks, pligun schedule support ,add hook:list artisan command 2025-07-21 13:29:17 +08:00
xboard
bcfda44730 fix: resolve traffic reset time generation and refactor reset logic
- Add fix-null mode to ResetTraffic command
- Refactor reset logic for better separation of concerns
- Update migration to reuse fix functionality
2025-07-19 14:22:01 +08:00
xboard
4a7eef8ad6 refactor: optimize surplus value calculation for plan deduction 2025-07-17 11:32:34 +08:00
xboard
6fdb083809 feat(plugin hook): add client.subscribe.unavailable hook 2025-07-16 00:08:30 +08:00
xboard
d30e9cb30b chore: code style and type declaration improvements 2025-07-15 02:55:58 +08:00
xboard
706ba5a7a9 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
a838a43ae5 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
97788e3c8f 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
103b5ddbd6 fix: Subscription filter not working when using types=all parameter 2025-07-07 03:14:21 +08:00
xboard
05afe870e7 feat: add tags to plans, refactor order service, adn fix ticket lock 2025-07-01 11:14:18 +08:00
xboard
5b295dbec3 feat: plugin controller config system with guest_comm_config hook integration
- Add HasPluginConfig trait and PluginController base class
- Integrate guest_comm_config hook in CommController for plugin frontend config injection
- Add user creation functionality to UserService and fix null value handling
- Enhance AbstractPlugin.getConfig() with key parameter support
- Multiple service layer optimizations and architecture improvements
2025-06-29 01:42:48 +08:00
xboard
6d85736eea eat: add reCAPTCHA v3 and Cloudflare Turnstile verification support
- Implement reCAPTCHA v3 with score-based validation
- Add Cloudflare Turnstile as captcha alternative
- Create reusable CaptchaService for unified validation
- Support switching between recaptcha, recaptcha-v3, and turnstile
- Maintain backward compatibility with existing configurations
2025-06-28 18:01:59 +08:00
xboard
f974a8c846 fix: admin export subscription link issue 2025-06-24 22:55:34 +08:00
xboard
eff2b1f8ba feat(admin): enhance i18n support
Fix system monitor button i18n syntax, complete coupon form i18n
2025-06-23 11:55:17 +08:00
xboard
44d92ac1c6 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
4fe2f35183 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
d7fb26d527 fix: getSystemStatus api 2025-06-21 16:01:51 +08:00
xboard
42258626b0 feat: enhance plan user statistics with active user count display 2025-06-21 13:20:57 +08:00
xboard
272dbd2107 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
fdb5b222b9 refactor: use request attributes instead of merge for middleware data transfer
- Replace request->merge() with request->attributes->set() in Server middleware to avoid polluting user input
- Add getNodeInfo() helper method in UniProxyController for cleaner node info access
- Update all node_info references to use the new attribute-based approach
2025-05-24 13:54:57 +08:00