def filter_by_extension(self, target, output, extensions): """ Filter list by multiple extensions :param str target: target list :param str output: output list :param list extensions: filtered extensions :return: None """ try: target_file = self.__config.get(target) output_file = self.__config.get(output) dirlist = filesystem.read(target_file) dirlist = [i.strip() for i in dirlist] pattern = '.*\.' + '|.*\.'.join(extensions) newlist = filesystem.filter_file_lines(dirlist, pattern) filesystem.makefile(output_file) filesystem.writelist(output_file, newlist, '\n') self.__counter = len(newlist) except (CoreSystemError, FileSystemError) as error: raise ReaderError(error)
def filter_by_ignore_extension(self, target, output, extensions): """ Specific filter for selected exuensions :param str target: target list :param str output: output list :param list extensions: filtered extensions :return: None """ try: target_file = self.__config.get(target) output_file = self.__config.get(output) dirlist = filesystem.read(target_file) dirlist = [i.strip() for i in dirlist] pattern = '^(' for ext in extensions: pattern += '(?!\.{0})'.format(ext) pattern += '.)*$' newlist = filesystem.filter_file_lines(dirlist, pattern) filesystem.makefile(output_file) filesystem.writelist(output_file, newlist, '\n') self.__counter = len(newlist) except (CoreSystemError, FileSystemError) as error: raise ReaderError(error)
def filter_by_ignore_extension(self, target, output, extensions): """ Specific filter for selected exuensions :param str target: target list :param str output: output list :param list extensions: filtered extensions :return: None """ try: target_file = self.__config.get(target) output_file = self.__config.get(output) dirlist = filesystem.read(target_file) dirlist = [i.strip() for i in dirlist] pattern = '^(' for ext in extensions: pattern += '(?!\.{0})'.format(ext) pattern += '.)*$' newlist = filesystem.filter_file_lines(dirlist, pattern) filesystem.makefile(output_file) filesystem.writelist(output_file, newlist, '\n') self.__counter = len(newlist) except (CoreSystemError, FileSystemError) as error: raise ReaderError(error)
def filter_by_extension(self, target, output, extensions): """ Filter list by multiple extensions :param str target: target list :param str output: output list :param list extensions: filtered extensions :return: None """ try: target_file = self.__config.get(target) output_file = self.__config.get(output) dirlist = filesystem.read(target_file) dirlist = [i.strip() for i in dirlist] pattern = '.*\.' + '|.*\.'.join(extensions) newlist = filesystem.filter_file_lines(dirlist, pattern) filesystem.makefile(output_file) filesystem.writelist(output_file, newlist, '\n') self.__counter = len(newlist) except (CoreSystemError, FileSystemError) as error: raise ReaderError(error)
def get_proxies(self): """ Get proxy list :raise ReaderError :return: list """ try: if False is self.__browser_config.get('is_standalone_proxy'): if True is self.__browser_config.get('is_external_torlist'): self.__proxies = filesystem.read(self.__browser_config.get('torlist')) else: if not len(self.__proxies): self.__proxies = filesystem.read(self.__config.get('proxies')) return self.__proxies else: return [] except (TypeError, FileSystemError) as error: raise ReaderError(error)
def get_user_agents(self): """ Get user agents from user-agents list :raise ReaderError :return: list """ try: if not len(self.__useragents): self.__useragents = filesystem.read(self.__config.get('useragents')) return self.__useragents except (TypeError, FileSystemError) as error: raise ReaderError(error)
def __proxies_count(): """ Get number of proxies in basic wordlist :raise PackageError :return: int """ try: filename = CoreConfig.get('data').get('proxies') count = filesystem.read(filename).__len__() return count except FileSystemError as error: raise PackageError(str(error))
def __proxies_count(): """ Get number of proxies in basic wordlist :raise PackageError :return: int """ try: filename = CoreConfig.get('data').get('proxies') count = filesystem.read(filename).__len__() return count except FileSystemError as error: raise PackageError(str(error))
def __proxies_count(): """ Get number of proxies in basic wordlist :raise PackageError :return: int """ try: config = filesystem.readcfg(Config.params.get('cfg')) filename = config.get('opendoor', 'proxies') count = filesystem.read(filename).__len__() return count except FileSystemError as e: raise PackageError(e.message)
def __browsers_count(): """ Get number of browsers in basic wordlist :raise PackageError :return: int """ try: config = filesystem.readcfg(Config.params.get('cfg')) filename = config.get('opendoor', 'useragents') count = filesystem.read(filename).__len__() return count except FileSystemError as error: raise PackageError(str(error))
def count_total_lines(self): """ Count total lines inside wordlist :raise ReaderError :return: int """ try: if 0 is self.__counter: if True is self.__browser_config.get('is_external_wordlist'): dirlist = self.__browser_config.get('wordlist') else: dirlist = self.__config.get(self.__browser_config.get('list')) self.__counter = len(filesystem.read(dirlist)) return self.__counter except (TypeError, FileSystemError) as error: raise ReaderError(error)
def get_ignored_list(self): """ Get ignored dir list :raise ReaderError :return: list """ try: if not len(self.__ignored): ignored = filesystem.read(self.__config.get('ignored')) for item in ignored: item = item.replace("\n", "") if "/" == item[0]: item = item.strip('/') self.__ignored.append(item) return self.__ignored except (TypeError, FileSystemError) as error: raise ReaderError(error)
def get_ignored_list(self): """ Get ignored dir list :raise ReaderError :return: list """ try: if not len(self.__ignored): ignored = filesystem.read(self.__config.get('ignored')) for item in ignored: item = item.replace("\n", "") if "/" == item[0]: item = item.strip('/') self.__ignored.append(item) return self.__ignored except (TypeError, FileSystemError) as error: raise ReaderError(error)