Commit e7dab35a authored by nanahira's avatar nanahira

counter 0 add

parent 49183173
...@@ -27,8 +27,8 @@ declare module 'koishi' { ...@@ -27,8 +27,8 @@ declare module 'koishi' {
} }
} }
const matcherGlobal = /([1-2]?[^\d]?\d{0,2})(([^\d]+[1-2]?\d{1,2}){3,}?).+?([1-6]([^\d]*\d){4})/g; const matcherGlobal = /(0*[^\d]*)*([1-2]?[^\d]?\d{0,2})(([^\d]+[1-2]?\d{1,2}){3,}?).+?([1-6]([^\d]*\d){4})/g;
const matcherSingle = /([1-2]?[^\d]?\d{0,2})(([^\d]+[1-2]?\d{1,2}){3,}?).+?([1-6]([^\d]*\d){4})/; const matcherSingle = /(0*[^\d]*)*([1-2]?[^\d]?\d{0,2})(([^\d]+[1-2]?\d{1,2}){3,}?).+?([1-6]([^\d]*\d){4})/;
const PROTOCOL_BASE64 = 'base64://'; const PROTOCOL_BASE64 = 'base64://';
...@@ -93,7 +93,9 @@ export default class HisoutensokuJammerPlugin implements OnApply { ...@@ -93,7 +93,9 @@ export default class HisoutensokuJammerPlugin implements OnApply {
if (url.startsWith(PROTOCOL_BASE64)) { if (url.startsWith(PROTOCOL_BASE64)) {
return Buffer.from(url.slice(PROTOCOL_BASE64.length), 'base64'); return Buffer.from(url.slice(PROTOCOL_BASE64.length), 'base64');
} }
const data = await this.ctx.http.get<ArrayBuffer>(url, { responseType: 'arraybuffer' }); const data = await this.ctx.http.get<ArrayBuffer>(url, {
responseType: 'arraybuffer',
});
return Buffer.from(data); return Buffer.from(data);
} }
...@@ -153,12 +155,12 @@ export default class HisoutensokuJammerPlugin implements OnApply { ...@@ -153,12 +155,12 @@ export default class HisoutensokuJammerPlugin implements OnApply {
} }
const attackPromises = messageMatch.map((pattern) => { const attackPromises = messageMatch.map((pattern) => {
const patternMatch = pattern.match(matcherSingle); const patternMatch = pattern.match(matcherSingle);
const firstDigit = patternMatch[1].replace(/[^\d]+/g, ''); const firstDigit = patternMatch[2].replace(/[^\d]+/g, '');
const address = `${firstDigit}.${patternMatch[2] const address = `${firstDigit}.${patternMatch[3]
.split(/[^\d]+/) .split(/[^\d]+/)
.filter((s) => s.length) .filter((s) => s.length)
.join('.')}`; .join('.')}`;
const port = parseInt(patternMatch[4].replace(/[^\d]+/g, '')); const port = parseInt(patternMatch[5].replace(/[^\d]+/g, ''));
return this.startAttack(address, port); return this.startAttack(address, port);
}); });
const results: boolean[] = await Promise.all(attackPromises); const results: boolean[] = await Promise.all(attackPromises);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment