UNPKG

keres

Version:

Keresbruteforce tool

58 lines (43 loc) 1.17 kB
/* global module, require */ "strict"; function hasSimilarChars (s) { for (var i in s) if (s[i - 1] === s[i] && i > 0) return true; return false; } function bruteForce (params) { var prefix = params.prefix || ''; var filterSimilarChars = params.filterSimilarChars || false; var len = params.len; var chars = params.chars; var ints = params.ints; var step = params.step; var end = params.end; if (prefix.length <= len) if (step) step(prefix); if (prefix.length >= len) return [prefix]; //ints if (prefix.length <= ints) if (step) step(prefix); if (prefix.length >= ints) return [prefix]; var strings = [prefix]; for (var i in chars) { var nextString = prefix + chars[i]; if (filterSimilarChars && hasSimilarChars(nextString)) continue; var nextParams = { prefix: nextString, filterSimilarChars: filterSimilarChars, len: len, chars: chars, ints: ints, step: step }; strings = strings.concat(bruteForce(nextParams)); } if (end) end(strings); return strings; } module.exports = bruteForce;