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
Dlphine
5dd4cd4bc9
fix: replace raw array access with data_get() to prevent Undefined array key
...
- Migrate $protocol_settings['key'] to data_get($protocol_settings, 'key') across General, SingBox, Shadowrocket, Surfboard, QuantumultX
- Prevents PHP 8 Undefined array key fatal errors when optional protocol_settings fields are missing
- Same class of bug that caused #735
2026-03-27 13:51:28 +08:00
xboard
3c3639613e
fix: use ServerService::getServer() for node lookup in WebSocket
2026-03-26 03:51:58 +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
73a37a07dd
feat: ws notify nodes when user traffic is exhausted
2026-03-25 01:44:55 +08:00
xboard
7dacb69275
feat: Trojan Reality support and protocol distribution optimizations
2026-03-23 14:56:41 +08:00
xboard
08d68cbcae
fix: intval u/d to avoid bigint overflow ( #821 )
2026-03-22 19:13:07 +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
ee55d7fa72
fix: fix brutal-opts configure for clashMeta
2026-03-17 12:26:10 +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
c24e09f0c7
fix: correct node_sync queue assignment in horizon
2026-03-16 02:28:28 +08:00
xboard
3d082853d7
feat(ClashMeta): enhance Shadowsocks plugin support
2026-03-15 11:36:43 +08:00
xboard
199c146672
refactor: rename ws-server command and update configuration
2026-03-15 10:57:21 +08:00
xboard
98a4964c7c
fix(ws): enabel unix socket support for redis connection
2026-03-15 10:47:31 +08:00
xboard
ccdbe9d607
fix: missing ws-server core and update routine
2026-03-15 10:20:42 +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
0c6ec87ce5
refactor: rewrite restoreProtectedPlugins to use file copy instead of git
...
- Dockerfile: backup plugins/ to /opt/default-plugins/ at build time
- Replace exec/git-based restore with pure PHP File::copyDirectory()
- Only restore plugins defined in Plugin::PROTECTED_PLUGINS
- Delete target directory before copy to prevent stale files
- Remove function_exists('exec') guard (no longer needed)
2026-03-11 08:30:12 +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
xboard
562064712d
fix(register): handle invalid invite code as API error ( #792 )
2026-03-11 02:09:25 +08:00
xboard
90f84455d3
feat(surge): add SS2022, SOCKS5, HTTP support
2026-03-09 07:32:51 +08:00
xboard
01bcf43ae8
fix: apply device_limit from plan when assigning via gift card ( #630 )
2026-03-09 06:51:10 +08:00
xboard
2e0b10e643
fix: return dynamic rate instead of base rate in user server list ( #709 )
2026-03-09 06:47:30 +08:00
xboard
15a7ef4015
fix: always set uTLS fingerprint for TLS connections in General protocol ( #673 )
2026-03-09 06:45:28 +08:00
xboard
fad6441f4c
fix: validate random_int parameters in Helper::randomPort to prevent min > max error
2026-03-09 06:32:10 +08:00
xboard
96cb398315
fix(stash): correct TCP/HTTP network type handling in node generation
2026-03-09 05:39:51 +08:00
Xboard
a90c5c41ea
Merge pull request #681 from superabbite1/master
...
Update General.php v2rayN新增tuic协议订阅,vless+ws+tls协议新增fingerprint指纹参数
2026-03-09 05:04:50 +08:00
Xboard
7f5bd7e42b
Merge pull request #703 from kuizw9/master
...
Fix General.php for support AnyTLS and Shadowrocket.php for support Socks Node Name Display
2026-03-09 05:02:07 +08:00
Xboard
b00b4358e0
Merge pull request #655 from JxQg/jxq_dev
...
Feat: Support VLESS node output for Loon protocol, improve buildVless method template
2026-03-09 04:59:20 +08:00
Xboard
cf552f6e5d
Merge pull request #734 from kelly5454/master
...
fix: Type error when redeeming gift card
2026-03-09 04:56:14 +08:00
xboard
9c682af44a
feat: add AnyTLS protocol support for Surge
2026-03-09 02:37:32 +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
1e291f8408
fix stat_user unique key with record_type and deduplicate before index
2026-02-26 04:39:42 +08:00
yinjianm
529953d98d
处理jc流量显示的问题
2026-02-26 04:06:28 +08:00
yinjianm
809860b8db
修改仓库地址
2026-02-22 03:57:06 +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
lithromantic
f6abc362fd
Add sha256salt hashing option in password verification
2026-01-18 00:04:00 +01:00
xboard
601955e60d
fix: read plugin enabled from DB for consistency
2026-01-02 18:30:21 +08:00