mirror of
https://github.com/SukkaW/Surge.git
synced 2026-01-29 01:51:52 +08:00
Fix: ip cidr format
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user