diff --git a/backend/src/core/rule-utils/parsers.js b/backend/src/core/rule-utils/parsers.js index 7ec48a4..2974a34 100644 --- a/backend/src/core/rule-utils/parsers.js +++ b/backend/src/core/rule-utils/parsers.js @@ -9,7 +9,7 @@ const RULE_TYPES_MAPPING = [ [/^(IN|SRC)-PORT$/, 'IN-PORT'], [/^PROTOCOL$/, 'PROTOCOL'], [/^IP-CIDR$/i, 'IP-CIDR'], - [/^(IP-CIDR6|ip6-cidr|IP6-CIDR)$/], + [/^(IP-CIDR6|ip6-cidr|IP6-CIDR)$/, 'IP-CIDR6'], ]; function AllRuleParser() { @@ -40,7 +40,7 @@ function AllRuleParser() { rule.type === 'IP-CIDR' || rule.type === 'IP-CIDR6' ) { - rule.options = params.slice(2); + rule.options = params.slice(2).join(","); } result.push(rule); } diff --git a/backend/src/core/rule-utils/producers.js b/backend/src/core/rule-utils/producers.js index 10fd4ac..41f673c 100644 --- a/backend/src/core/rule-utils/producers.js +++ b/backend/src/core/rule-utils/producers.js @@ -31,7 +31,7 @@ function SurgeRuleSet() { const func = (rule) => { let output = `${rule.type},${rule.content}`; if (rule.type === 'IP-CIDR' || rule.type === 'IP-CIDR6') { - output += rule.options ? `,${rule.options[0]}` : ''; + output += rule.options ? `,${rule.options}` : ''; } return output; }; @@ -63,7 +63,7 @@ function ClashRuleProvider() { rule.content }`; if (rule.type === 'IP-CIDR' || rule.type === 'IP-CIDR6') { - output += rule.options ? `,${rule.options[0]}` : ''; + output += rule.options ? `,${rule.options}` : ''; } return output; }),