perf: Allow using full configuration as subscription source

Supported configuration formats: Loon, QX, and Surge

closes #121
This commit is contained in:
Peng-YM 2022-06-23 15:31:54 +08:00
parent f93398b701
commit 4095606bdf
4 changed files with 22 additions and 7 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -89,4 +89,19 @@ function SSD() {
return { name, test, parse };
}
export default [HTML(), Base64Encoded(), Clash(), SSD()];
function FullConfig() {
const name = 'Full Config Preprocessor';
const test = function (raw) {
return /^(\[server_local\]|\[Proxy\])/gm.test(raw);
};
const parse = function (raw) {
const regex = /^(\[server_local\]|\[Proxy\])\n?((.|\n)*?)\[/gm;
const result = regex.exec(raw);
if (result) {
return result[2] || '';
}
};
return { name, test, parse };
}
export default [HTML(), Base64Encoded(), Clash(), SSD(), FullConfig()];

File diff suppressed because one or more lines are too long