Skip to content

Commit c7c9b21

Browse files
committed
feat: 本地订阅支持混写单行 YAML
1 parent d84f761 commit c7c9b21

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sub-store",
3-
"version": "2.20.0",
3+
"version": "2.20.1",
44
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket.",
55
"main": "src/main.js",
66
"scripts": {

backend/src/core/proxy-utils/parsers/index.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import getQXParser from './peggy/qx';
1313
import getTrojanURIParser from './peggy/trojan-uri';
1414
import $ from '@/core/app';
1515
import JSON5 from 'json5';
16+
import YAML from '@/utils/yaml';
1617

1718
import { Base64 } from 'js-base64';
1819

@@ -1130,15 +1131,21 @@ function URI_Trojan() {
11301131
function Clash_All() {
11311132
const name = 'Clash Parser';
11321133
const test = (line) => {
1134+
let proxy;
11331135
try {
1134-
JSON5.parse(line);
1136+
proxy = JSON5.parse(line);
11351137
} catch (e) {
1136-
return false;
1138+
proxy = YAML.parse(line);
11371139
}
1138-
return true;
1140+
return !!proxy?.type;
11391141
};
11401142
const parse = (line) => {
1141-
const proxy = JSON5.parse(line);
1143+
let proxy;
1144+
try {
1145+
proxy = JSON5.parse(line);
1146+
} catch (e) {
1147+
proxy = YAML.parse(line);
1148+
}
11421149
if (
11431150
![
11441151
'anytls',

0 commit comments

Comments
 (0)