示例#1
0
文件: reader.py 项目: ydl555/OpenDoor
    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)
示例#2
0
文件: reader.py 项目: ydl555/OpenDoor
    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)
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
    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)
示例#6
0
    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)
示例#7
0
    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))
示例#8
0
    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))
示例#9
0
文件: package.py 项目: ll2b/OpenDoor
    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)
示例#10
0
    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))
示例#11
0
    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)
示例#12
0
文件: reader.py 项目: ydl555/OpenDoor
    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)
示例#13
0
    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)