Commit Graph

635 Commits

Author SHA1 Message Date
xboard e06cd279cf fix(admin): resolve translation key issues 2026-03-17 11:44:17 +08:00
xboard 6eecbb0e4b fix:Fix DynamicForm default value sync, payment unit conversion, advanced config tabs, AnyTLS translation, and UI overlap issues. Fixed #807 2026-03-17 03:21:27 +08:00
Xboard 2ff561e185 Add ws-server service configuration to 1panel.md 2026-03-17 02:36:21 +08:00
xboard dd96e37116 fix(admin): fix order assign 2026-03-17 00:54:26 +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 65363ea918 Fix environment variable declaration in Dockerfile. #806 2026-03-16 20:28:18 +08:00
xboard c24e09f0c7 fix: correct node_sync queue assignment in horizon 2026-03-16 02:28:28 +08:00
xboard c45fee2a26 update admin assets 2026-03-15 15:46:44 +08:00
xboard d4f2fcdeb7 fix(admin): fix 2026-03-15 14:10:05 +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 50b75165bd ci: remove image signing 2026-03-15 10:28:49 +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 1864223c9b refactor: rewrite default clash rules with KEYWORD-based routing 2026-03-12 13:11:04 +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 1e069587fe fix: configure SQLite WAL mode and busy_timeout to prevent database locked errors
- Enable WAL journal mode for concurrent read/write support
- Set busy_timeout to 30s to wait on locks instead of failing immediately
- Set synchronous to normal for better write performance

Fixes #770
2026-03-11 07:56:27 +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 448ddecb56 Use submodule for admin assets 2026-03-11 04:52:06 +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 fb266f08da chore: optimize default.clash.yaml template 2026-03-09 03:51:54 +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 87e547d2f1 修复1 2026-02-26 04:21:30 +08:00
yinjianm 529953d98d 处理jc流量显示的问题 2026-02-26 04:06:28 +08:00
yinjianm 2d14e22322 翻译文档 2026-02-22 04:13:42 +08:00
yinjianm 267aeec5ba 修改文档 2026-02-22 03:58:02 +08:00
yinjianm 809860b8db 修改仓库地址 2026-02-22 03:57:06 +08:00
yinjianm 5370b21ef9 chore: support local docker build deployment 2026-02-22 03:23:33 +08:00
yinjianm 17a7c63aec 修改邮件部分 2026-02-22 03:22:14 +08:00
yinjianm 7a3e245887 添加开发文档 2026-02-22 02:52:32 +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