fix: 处理乱填的订阅流量信息解析报错

This commit is contained in:
xream 2024-10-19 19:12:25 +08:00
parent 72286984ec
commit 8fe818f826
No known key found for this signature in database
GPG Key ID: 1D2C5225471789F9
2 changed files with 44 additions and 12 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "sub-store", "name": "sub-store",
"version": "2.14.401", "version": "2.14.402",
"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": {

View File

@ -57,9 +57,25 @@ async function getFlowInfo(req, res) {
!['localFirst', 'remoteFirst'].includes(sub.mergeSources) !['localFirst', 'remoteFirst'].includes(sub.mergeSources)
) { ) {
if (sub.subUserinfo) { if (sub.subUserinfo) {
try {
success(res, { success(res, {
...parseFlowHeaders(sub.subUserinfo), ...parseFlowHeaders(sub.subUserinfo),
}); });
} catch (e) {
$.error(
`Failed to parse flow info for local subscription ${name}: ${
e.message ?? e
}`,
);
failed(
res,
new RequestInvalidError(
'NO_FLOW_INFO',
'N/A',
`Failed to parse flow info`,
),
);
}
} else { } else {
failed( failed(
res, res,
@ -110,6 +126,7 @@ async function getFlowInfo(req, res) {
return; return;
} }
if (sub.subUserinfo) { if (sub.subUserinfo) {
try {
success(res, { success(res, {
...parseFlowHeaders(sub.subUserinfo), ...parseFlowHeaders(sub.subUserinfo),
remainingDays: getRmainingDays({ remainingDays: getRmainingDays({
@ -118,6 +135,21 @@ async function getFlowInfo(req, res) {
cycleDays: $arguments.cycleDays, cycleDays: $arguments.cycleDays,
}), }),
}); });
} catch (e) {
$.error(
`Failed to parse flow info for local subscription ${name}: ${
e.message ?? e
}`,
);
failed(
res,
new RequestInvalidError(
'NO_FLOW_INFO',
'N/A',
`Failed to parse flow info`,
),
);
}
} else { } else {
const flowHeaders = await getFlowHeaders( const flowHeaders = await getFlowHeaders(
url, url,