yinjianm
cd5e00bbfb
Merge remote-tracking branch 'upstream/master'
...
# Conflicts:
# public/assets/admin
2026-04-18 00:35:04 +08:00
xboard
d9833fab47
fix(plugin): improve plugin install and uninstall migration handling
2026-04-17 23:11:03 +08:00
xboard
f84afc7903
fix: support both GET and POST for handshake endpoint (backward compatibility)
2026-04-17 20:59:48 +08:00
Xboard
fea7d97aa3
Update installer URL to use 'dev' branch
2026-04-17 12:54:22 +08:00
xboard
a74cc2f19d
feat: show install command on machine creation
2026-04-17 06:47:05 +08:00
xboard
e297b5fe9f
feat: machine mode, ECH subscriptions, batch ops & security hardening
2026-04-17 03:02:53 +08:00
yinjianm
abd64ed20c
Merge remote-tracking branch 'upstream/master'
...
# Conflicts:
# app/Services/UserOnlineService.php
# public/assets/admin
2026-04-16 16:59:21 +08:00
xboard
13756956a6
fix: reset traffic stats when copying server nodes
2026-04-11 20:24:43 +08:00
Xboard
c5a8c836c0
Revert "feat: Track user traffic per node (server_id)"
2026-03-30 18:17:27 +08:00
xboard
5f1afe4bdc
feat: add Vless Encryption support
2026-03-30 17:03:37 +08:00
Xboard
0cd20d12dd
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
b4a94d1605
Merge pull request #689 from socksprox/fix-user-generation-multiple-prefix
...
Fix user generation with email_prefix to support multiple users
2026-03-30 13:32:46 +08:00
xboard
a58d66d72e
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
130f7c82a8
feat: revoke other sessions when changing password ( fix #414 )
2026-03-28 08:31:24 +08:00
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
yinjianm
1b3d022969
feat(payment): add TokenPay payment plugin
...
Register a new TokenPay payment plugin with configurable API
credentials, payment URL generation, and signed callback
verification.
Also improve admin config fetching to support single-group
lookups and add backwards-compatible subscribe template loading
from legacy settings and bundled files when the database table
is unavailable.
2026-03-19 22:32:28 +08:00
yinjianm
ae8a913f9b
merge: sync upstream/master from cedar2025/Xboard
...
合并上游 cedar2025/Xboard 的 master,并按交互决策保留本地改动。
2026-03-19 21:04:27 +08:00
yinjianm
421844895e
fix(payment): validate and filter unavailable methods
...
Filter user-visible payment methods to only include supported
providers and fail fast when a payment record or plugin cannot be
resolved.
This prevents invalid payment options from being returned by the
API and avoids constructing an undefined fallback payment class.
2026-03-19 20:29:26 +08:00
xboard
64e6d8148e
feat: Add admin bulk-mail placeholder variables and template rendering
2026-03-19 05:02:16 +08:00
xboard
47983dec40
fix(runtime): force app_url/force_https per-request via middlewar
2026-03-19 04:22:17 +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
yinjianm
dbffb0a7bd
后端流量记录排序改为更精确时间优先(避免只按 record_at 导致排序/分钟不准)
...
StatController.php (E:/code/php/Xboard-new/app/Http/Controllers/V1/User/StatController.php:22)
StatController.php (E:/code/php/Xboard-new/app/Http/Controllers/V2/Admin/StatController.php:242)
2. 流量资源新增 display_at(优先 updated_at,回退 created_at/record_at)
TrafficLogResource.php (E:/code/php/Xboard-new/app/Http/Resources/TrafficLogResource.php:19)
TrafficLogResource.php (E:/code/php/Xboard-new/app/Http/Resources/TrafficLogResource.php:43)
3. 管理端前端(打包产物)流量列改为:时间/上行/下行/倍率/节点/设备/总计,时间显示 YYYY/MM/DD HH:mm
index.js (E:/code/php/Xboard-new/public/assets/admin/assets/index.js:16)
2026-02-26 05:55:02 +08:00
yinjianm
4f84034814
• 你这个现象我已经定位并修了,核心原因是节点匹配和设备映射都有歧义。
...
已修改:
- 节点识别优先用 id,只有找不到才回退 code,避免子节点被匹配成父节点
ServerService.php (/E:/code/php/Xboard-new/app/Services/ServerService.php#L101)
- 在线设备解析补全 node_key/node_id,并按真实节点键归类
UserOnlineService.php (/E:/code/php/Xboard-new/app/Services/UserOnlineService.php#L43)
- 用户端流量日志设备映射改为按 node_key 精确匹配
StatController.php (/E:/code/php/Xboard-new/app/Http/Controllers/V1/User/StatController.php#L43)
- 管理端同样改为按 node_key 映射
StatController.php (/E:/code/php/Xboard-new/app/Http/Controllers/V2/Admin/StatController.php#L270)
说明:
- 这次不涉及数据库结构变更,不需要 migrate。
- 对管理后台现有统计接口兼容,不会破坏原有 u/d/record_at/server_rate 显示。
- 旧的历史日志如果之前已经按父节点入库,不会自动改名;新流量会按修复后的逻辑记录。
2026-02-26 05:13:19 +08:00
yinjianm
529953d98d
处理jc流量显示的问题
2026-02-26 04:06:28 +08:00
yinjianm
17a7c63aec
修改邮件部分
2026-02-22 03:22:14 +08:00
socksprox
3b3fc618d6
Make querying users better with "or" statements
2026-01-28 01:27:21 +01:00
socksprox
c327fecb49
do not return strings, but int
2025-11-29 17:05:07 +01:00
socksprox
0446f88e9e
again: update api combining times
2025-11-29 17:05:07 +01:00
socksprox
a01151130e
Revert "Combine data with node_id in api output, so its all still "one day", and fits vanilla xboard behaviour"
...
This reverts commit de39230cbe111bbf793f11bcf5046ef717c67f87.
The api change caused issues
2025-11-29 17:05:07 +01:00
socksprox
9ca8da045c
Combine data with node_id in api output, so its all still "one day", and fits vanilla xboard behaviour
2025-11-29 14:07:10 +01:00
xboard
95e8e7bca7
feat: add v2node support
2025-11-22 20:33:38 +08:00
xboard
c5ac76823d
allow free plans
2025-09-24 22:19:04 +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
socksprox
051813d39d
Make that user batch generation works again
2025-09-15 15:43:43 +02:00
xboard
843c5af4c2
refactor(online-status): consolidate updates and add cleanup command
2025-09-15 20:32:22 +08:00
xboard
cd8a8ecf58
feat(middleware): Add transaction state guard for Octane
2025-09-15 16:15:39 +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