# Xboard Plus 自托管源码

版本：2026.09.09-dev.2（开发快照，不表示线上已部署）。

本版本包含首轮安全修复：临时账号权限提升拦截、包目录和 ZIP 校验、日志脱敏与已知漏洞依赖升级。新增安全测试 26 项、43 条断言。完整范围和未解决事项见 docs/security-review-2026-09-09.md。建议不要使用 dev.1 新部署。

本包包含当前 PHP 后端、Vue 管理端及用户端源码、构建资源、oo 订阅及设备租约/流量记账接口、数据库迁移与测试。来源为本地工作区，不是上游稳定版，也不是生产环境备份。

不含真实 .env、数据库、用户上传、日志、私钥、vendor 和 node_modules。请保留原 LICENSE。SOURCE-MANIFEST.json 记录来源及文件哈希；下载文件的 SHA256SUMS 用于传输完整性核验，不是独立签名。

## 下载新版本

运行 `bash update.sh` 只下载并校验到新建临时目录，不改动现有站点，不连接数据库，不重启服务。请检查脚本后使用。固定版本见下载站 releases 目录，dev 为最新开发快照入口。

## 部署前检查

1. 备份生产数据库、配置、插件、上传、当前镜像及 compose。确认恢复方法有效。
2. 在独立目录解压，并对比现网定制内容。不要将整包直接覆盖线上，不要删除原环境。
3. 依赖使用锁文件：`composer install --no-dev --prefer-dist --no-interaction`。包内已有前端构建资源；重建时分别在 admin-src、user-src 执行 `npm ci && npm run build`（Node 22.12+）。
4. 从现有安全渠道配置 .env/容器挂载、数据库、Redis、域名等；不要生成新的 APP_KEY 覆盖旧密钥。恢复 storage 和 bootstrap/cache 的必要可写权限。容器内代码不是宿主机源码目录挂载时，必须重新构建镜像并替换容器；仅上传宿主机文件不会更新应用。
5. 本次新增迁移为 database/migrations/2026_09_09_000001_create_oo_traffic_batches.php 和 2026_09_09_000002_create_oo_device_leases.php。备份后按所选版本审核迁移，再执行迁移；不得不加区分地运行其他版本的待处理迁移。
6. 先在测试环境验证登录、旧协议、订阅、oo 设备限制和流量回报，再发布。保留上一镜像；回滚应用时保留 oo 记账幂等表和数据，避免重复计费。

## 当前验证与限制

- 两个前端构建成功；PHP SQLite 隔离测试 7 项、41 条断言通过。不等于生产数据库并发测试或全站回归完成。
- oo 设备限制以安装实例 ID 跨 oo 节点计数，并非不可伪造的物理设备识别。面板、oo-server、新客户端须配套升级；老协议不改变。
- oo 当前是实验性 TCP/TLS；不保证规避封锁。有限速账户在当前 oo-server 中拒绝接入，尚未实现该限速能力。
- 节点流量待发送批次落盘并幂等重试，突然断电仍可能丢失最后约 1 秒未落盘计数。
- 本源码公开发布不代表生产面板、节点或客户端已经同步上线。macOS 客户端安全存储还需要有效开发签名，Windows 构建待相应环境验证。
