并行开发前的清场:白名单、读流模块、流量格式化

任务书承诺这些在分发前已存在。/traffic /logs 补进读白名单(在流式清单
里却不在读白名单里,仪表盘和请求页一开工就 403),PUT /providers/rules
补进写白名单(规则页的立刻更新)。web/stream.ts 把分块流缝成完整的行,
分块边界和行边界无关是它存在的全部理由;shared/format.ts 是连接页和
仪表盘共用的流量数字格式化。
This commit is contained in:
2026-08-11 18:02:21 +08:00
parent d028e63a74
commit 6c8a1c4e0e
5 changed files with 142 additions and 0 deletions
+4
View File
@@ -47,6 +47,8 @@ const WRITABLE: Array<{ method: 'PUT' | 'DELETE'; pattern: RegExp }> = [
{ method: 'DELETE', pattern: /^\/connections(\/[^/]+)?$/ },
// 让内核重新拉取某个订阅
{ method: 'PUT', pattern: /^\/providers\/proxies\/[^/]+$/ },
// 让内核重新拉取某个规则组
{ method: 'PUT', pattern: /^\/providers\/rules\/[^/]+$/ },
]
/** 允许透传的管理接口路径。白名单而不是黑名单——多开一个口子要有意为之。 */
@@ -59,6 +61,8 @@ const READABLE_KERNEL_PATHS = new Set([
'/providers/rules',
'/connections',
'/memory',
'/traffic',
'/logs',
])
function json(body: unknown, status = 200): Response {