mirror of
https://git.mirrors.martin98.com/https://github.com/sub-store-org/Sub-Store.git
synced 2025-08-12 15:59:03 +08:00
feat: 增加下载缓存阈值
This commit is contained in:
parent
ca437865e6
commit
437297b8b0
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "sub-store",
|
"name": "sub-store",
|
||||||
"version": "2.14.238",
|
"version": "2.14.239",
|
||||||
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
|
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
|
||||||
"main": "src/main.js",
|
"main": "src/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -53,7 +53,8 @@ export default async function download(rawUrl, ua, timeout) {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
const { isNode } = ENV();
|
const { isNode } = ENV();
|
||||||
const { defaultUserAgent, defaultTimeout } = $.read(SETTINGS_KEY);
|
const { defaultUserAgent, defaultTimeout, cacheThreshold } =
|
||||||
|
$.read(SETTINGS_KEY);
|
||||||
const userAgent = ua || defaultUserAgent || 'clash.meta';
|
const userAgent = ua || defaultUserAgent || 'clash.meta';
|
||||||
const requestTimeout = timeout || defaultTimeout;
|
const requestTimeout = timeout || defaultTimeout;
|
||||||
const id = hex_md5(userAgent + url);
|
const id = hex_md5(userAgent + url);
|
||||||
@ -90,8 +91,22 @@ export default async function download(rawUrl, ua, timeout) {
|
|||||||
}
|
}
|
||||||
if (body.replace(/\s/g, '').length === 0)
|
if (body.replace(/\s/g, '').length === 0)
|
||||||
throw new Error(new Error('远程资源内容为空'));
|
throw new Error(new Error('远程资源内容为空'));
|
||||||
|
let shouldCache = true;
|
||||||
|
if (cacheThreshold) {
|
||||||
|
const size = body.length / 1024;
|
||||||
|
if (size > cacheThreshold) {
|
||||||
|
$.info(
|
||||||
|
`资源大小 ${size.toFixed(
|
||||||
|
2,
|
||||||
|
)} KB 超过了 ${cacheThreshold} KB, 不缓存`,
|
||||||
|
);
|
||||||
|
shouldCache = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (shouldCache) {
|
||||||
resourceCache.set(id, body);
|
resourceCache.set(id, body);
|
||||||
|
}
|
||||||
|
|
||||||
result = body;
|
result = body;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw new Error(`无法下载 URL ${url}: ${e.message ?? e}`);
|
throw new Error(`无法下载 URL ${url}: ${e.message ?? e}`);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user