feat(sandbox): 不可信字节在沙箱子进程里解析(撤销权限、超时与内存强杀);种子、文件预览、字幕解析迁入
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
1a76d2d700
commit
eeec91e892
21 files changed
+632
-178
No files matched your search
@@ -11,6 +11,8 @@
|
||||
* 本项目调整:登录页不再"返回空列表",而是抛 `auth_expired`(REQ §4.7.1 不展示空列表冒充无内容);
|
||||
* 3xx 不自动跟随(避免把 cookie 带到站外,并把跳转 login 识别为失效);凭证经 SecretResolver 注入。
|
||||
*/
|
||||
|
||||
import { inspectTorrentIsolated } from "../../isolation.ts";
|
||||
import { redactText } from "../../rss/redact.ts";
|
||||
import { buildHttpContext, type SiteAdapterDeps } from "../deps.ts";
|
||||
import { readBody, readText, siteFetch } from "../http.ts";
|
||||
@@ -25,7 +27,6 @@ import {
|
||||
type SitePage,
|
||||
type SiteReleaseDetail,
|
||||
} from "../types.ts";
|
||||
import { inspectTorrent } from "../util.ts";
|
||||
import { parseDetailPage } from "./detail.ts";
|
||||
import { filesFromFileListHtml } from "./detail-page.ts";
|
||||
import { spiderTorrentToRelease } from "./map.ts";
|
||||
@@ -288,7 +289,7 @@ export function createSpiderSiteAdapter(input: IndexerDefinition, deps: SiteAdap
|
||||
});
|
||||
}
|
||||
const bytes = await readBody(http, res);
|
||||
const info = inspectTorrent(bytes);
|
||||
const info = await inspectTorrentIsolated(bytes);
|
||||
if (!info) {
|
||||
// 站点在 cookie 失效时常返回 200 + 登录页 HTML
|
||||
const $ = loadHtml(new TextDecoder().decode(bytes.subarray(0, 200_000)));
|
||||
|
||||
Reference in new issue
Block a user