Fix: ip cidr format

This commit is contained in:
SukkaW
2024-09-22 01:04:30 +08:00
parent 65d78b3915
commit 26739b9dd7

View File

@@ -198,30 +198,38 @@ export abstract class RuleOutput {
return this; return this;
} }
bulkAddCIDR4(cidr: string[]) { static ipToCidr = (ip: string, version: 4 | 6 = 4) => {
for (let i = 0, len = cidr.length; i < len; i++) { if (ip.includes('/')) return ip;
this.ipcidr.add(cidr[i]); if (version === 4) {
return ip + '/32';
}
return ip + '/128';
};
bulkAddCIDR4(cidrs: string[]) {
for (let i = 0, len = cidrs.length; i < len; i++) {
this.ipcidr.add(RuleOutput.ipToCidr(cidrs[i], 4));
} }
return this; return this;
} }
bulkAddCIDR4NoResolve(cidr: string[]) { bulkAddCIDR4NoResolve(cidrs: string[]) {
for (let i = 0, len = cidr.length; i < len; i++) { for (let i = 0, len = cidrs.length; i < len; i++) {
this.ipcidrNoResolve.add(cidr[i]); this.ipcidrNoResolve.add(RuleOutput.ipToCidr(cidrs[i], 4));
} }
return this; return this;
} }
bulkAddCIDR6(cidr: string[]) { bulkAddCIDR6(cidrs: string[]) {
for (let i = 0, len = cidr.length; i < len; i++) { for (let i = 0, len = cidrs.length; i < len; i++) {
this.ipcidr6.add(cidr[i]); this.ipcidr6.add(RuleOutput.ipToCidr(cidrs[i], 6));
} }
return this; return this;
} }
bulkAddCIDR6NoResolve(cidr: string[]) { bulkAddCIDR6NoResolve(cidrs: string[]) {
for (let i = 0, len = cidr.length; i < len; i++) { for (let i = 0, len = cidrs.length; i < len; i++) {
this.ipcidr6NoResolve.add(cidr[i]); this.ipcidr6NoResolve.add(RuleOutput.ipToCidr(cidrs[i], 6));
} }
return this; return this;
} }