change core library to libilibili

This commit is contained in:
2026-07-18 12:57:36 -07:00
parent f599672a30
commit 1598d3c403
34 changed files with 795 additions and 12219 deletions
+3 -2
View File
@@ -30,8 +30,8 @@ flowchart LR
```
1. `SourceSupervisor` 为每个 `source_id` 保持至多一个 provider task。
2. `BilibiliProvider` 使用该用户加密保存的 CookieCloud 凭据获取 Cookie,并把原始消息转换成
`LiveEvent`。
2. `BilibiliProvider` 使用该用户加密保存的 CookieCloud 凭据构造 `libilibili`
客户端;crate 负责 WBI、WebSocket 与压缩包解析,adapter 再把强类型命令转换成 `LiveEvent`。
3. `SourceEventRouter` 同时使用 `owner_id` 与 `source_id` 查找启用的组件,并再次检查组件归属。
4. 匹配订阅后,路由器先执行可持久化的 `EventHandler`,再执行无副作用的 `EventProjection`。
5. 投影结果只发布到该 `component_id` 的广播通道。没有全局 WebSocket 事件总线。
@@ -71,6 +71,7 @@ flowchart LR
- 容器使用 host network,但默认只监听 `127.0.0.1:9719`。
- Nginx 负责公网 TLS、域名和 WebSocket upgrade。
- CookieCloud 与 PostgreSQL 是外部服务,不由本项目 Compose 创建。
- `libilibili` 是源码树中的相邻 crate,由 Compose named build context 注入 Rust 构建阶段。
## 代码导航
+1 -1
View File
@@ -42,7 +42,7 @@ token。以下规则是实现约束,而不是可选部署建议。
- Key 编码成单一路径段,不能注入额外路径。
- HTTP 客户端禁止重定向,防止允许的地址跳转到内网目标。
- 浏览器只看到 host 和 `keyConfigured`/`passwordConfigured`,不会读回凭据。
- 日志不得把 `blivedm` 调到可能打印认证响应的详细级别。
- `libilibili::Credentials` 的 `Debug` 已脱敏,但应用仍不得记录 Cookie、原始认证响应或弹幕 token。
## HTTP、WebSocket 与 OBS