修复订阅快照校验、回退与原生反射配置
This commit is contained in:
+18
-7
@@ -94,6 +94,7 @@ storageNode/
|
||||
| 6 | `IdentityMessage` | 握手 |
|
||||
| 7 | `MaintainMessage` | 心跳 |
|
||||
| 8 | `AvailableCheckMessage` | 可用性检查 |
|
||||
| 9 | `SubscriptionSnapshotMessage` | 主站 → 节点,完整订阅备机快照 |
|
||||
|
||||
---
|
||||
|
||||
@@ -107,10 +108,12 @@ storageNode/
|
||||
|
||||
### BackupSubServer(端口 8889)
|
||||
- 提供 V2Ray 和 Clash 代理订阅文件
|
||||
- 每 12 小时从配置的 URL 下载最新订阅数据
|
||||
- 过滤高比例代理节点
|
||||
- 文件存储于 `sub/DouNaiV2ray.txt` 和 `sub/DouNaiClash.txt`
|
||||
- 通过路径密钥进行身份验证
|
||||
- 不直接访问上游;主站完成下载和倍率过滤后,通过 Netty 类型 9 推送完整快照
|
||||
- 按公开 Key 的 SHA-256 查找用户绑定的子账号,未知 Key 返回 404
|
||||
- 快照经 SHA-256 和 HMAC 校验后原子落盘,主站离线时继续分发最后成功版本
|
||||
- 文件存储于 `sub/snapshots/{revision}/accounts/{accountId}/`
|
||||
- 没有有效快照或快照超过最大有效期时返回 503,不回退旧共享订阅
|
||||
- `GET /health/subscription` 提供不含 Key 和订阅正文的快照状态
|
||||
|
||||
---
|
||||
|
||||
@@ -132,10 +135,18 @@ storageNode/
|
||||
|
||||
### config.properties(从 `/root/gallery/storageNode/config.properties` 加载)
|
||||
```properties
|
||||
DouNaiV2ray=https://aaaa.gay/link/X7zEqkIx5gtIGugO?client=v2
|
||||
DouNaiClash=https://aaaa.gay/link/X7zEqkIx5gtIGugO?client=clashmeta
|
||||
SubscriptionSyncEnabled=false
|
||||
SubscriptionSyncSecret=
|
||||
SubscriptionDataDir=/root/gallery/storageNode/sub
|
||||
SubscriptionMaxStaleSeconds=604800
|
||||
SubscriptionMaxPayloadBytes=52428800
|
||||
SubscriptionHttpPort=8889
|
||||
SubscriptionHttpWorkers=4
|
||||
SubscriptionSocketTimeoutMs=10000
|
||||
```
|
||||
|
||||
生产同步密钥优先通过 `SUBSCRIPTION_SYNC_SECRET` 环境变量提供,不得提交到仓库或写入日志。
|
||||
|
||||
### simplelogger.properties
|
||||
- 日志级别:`info`
|
||||
- 时间戳格式:`yyyy-MM-dd HH:mm:ss`
|
||||
@@ -150,4 +161,4 @@ DouNaiClash=https://aaaa.gay/link/X7zEqkIx5gtIGugO?client=clashmeta
|
||||
- 外部连接:`lionwebsite.xyz`、`personal.lionwebsite.xyz`、`aaaa.gay`
|
||||
- GraalVM 原生镜像编译,包含 Jackson 反射配置
|
||||
- 大量使用 Lombok(`@Data`、`@Slf4j`)
|
||||
- 使用 Hutool 工具库处理文件/ZIP/HTTP 操作
|
||||
- 使用 Hutool 工具库处理文件/ZIP/HTTP 操作
|
||||
|
||||
Reference in New Issue
Block a user