コード例 #1
0
ファイル: utils.py プロジェクト: zhzyker/OneForAll
def get_domains(target):
    """
    Get domains

    :param  set or str target:
    :return list: domain list
    """
    domains = list()
    logger.log('DEBUG', f'Getting domains')
    if isinstance(target, (set, tuple)):
        domains = list(target)
    elif isinstance(target, list):
        domains = target
    elif isinstance(target, str):
        path = Path(target)
        if path.exists() and path.is_file():
            with open(target, encoding='utf-8', errors='ignore') as file:
                for line in file:
                    line = line.lower().strip()
                    domain = Domain(line).match()
                    if domain:
                        domains.append(domain)
        else:
            target = target.lower().strip()
            domain = Domain(target).match()
            if domain:
                domains.append(domain)
    count = len(domains)
    if count == 0:
        logger.log('FATAL', f'Get {count} domains')
        exit(1)
    logger.log('INFOR', f'Get {count} domains')
    return domains
コード例 #2
0
def get_domains(target):
    """
    获取域名

    :param set or str target:
    :return: 域名集合
    """
    domains = list()
    logger.log('DEBUG', f'正在获取域名')
    if isinstance(target, (set, tuple)):
        domains = list(target)
    elif isinstance(target, list):
        domains = target
    elif isinstance(target, str):
        path = Path(target)
        if path.is_file():
            with open(target, encoding='utf-8', errors='ignore') as file:
                for line in file:
                    domain = Domain(line.strip()).match()
                    if domain:
                        domains.append(domain)
        elif Domain(target).match():
            domains = [target]
    logger.log('INFOR', f'获取到{len(domains)}个域名')
    return domains
コード例 #3
0
    def getDomains(self, name=None, enabled=True):
        try:
            data = {"enabled": enabled}
            if name:
                data["name"] = name

            response = self.getResource("/domains", "GET", data=data)
        except requests.exceptions.HTTPError as ex:
            response = ex.response.json()
            raise Exception("error on retrieving the domains list: %s" %
                            response["error"]["message"])

        domains = []

        if response:
            domains_info = response["domains"]

            for info in domains_info:
                domain = Domain()
                domain.setId(info["id"])
                domain.setName(info["name"])
                domain.setEnabled(info["enabled"])

                domains.append(domain)

        return domains
コード例 #4
0
def get_domains(target):
    """
    Get domains

    :param  set or str target:
    :return list: domain list
    """
    domains = list()
    logger.log('DEBUG', f'Getting domains')
    if isinstance(target, (set, tuple)):
        domains = list(target)
    elif isinstance(target, list):
        domains = target
    elif isinstance(target, str):
        path = Path(target)
        if path.exists() and path.is_file():
            domains = read_target(target)
        else:
            target = target.lower().strip()
            domain = Domain(target).match()
            if domain:
                domains.append(domain)
    count = len(domains)
    if count == 0:
        logger.log('FATAL', f'Get {count} domains')
        exit(1)
    logger.log('INFOR', f'Get {count} domains')
    logger.log('DEBUG', f'The obtained domains \n{domains}')
    return domains
コード例 #5
0
ファイル: module.py プロジェクト: zkbupt/OneForAll
    def get_maindomain(domain):
        """
        Get main domain

        :param str domain: domain
        :return: main domain
        """
        return Domain(domain).registered()
コード例 #6
0
    def register(domain):
        """
        Get registered domain

        :param str domain: domain
        :return: registered domain
        """
        return Domain(domain).registered()
コード例 #7
0
    def getDomains(self, name=None, enabled=True):
        try:
            data = {"enabled": enabled}
            if name:
                data["name"] = name

            response = self.getResource("/domains", "GET", data=data)
        except requests.exceptions.HTTPError as ex:
            response = ex.response.json()
            raise SynergyError("error on retrieving the domains list: %s"
                               % response["error"]["message"])

        domains = []

        if response:
            domains_info = response["domains"]

            for info in domains_info:
                domain = Domain()
                domain.setId(info["id"])
                domain.setName(info["name"])
                domain.setEnabled(info["enabled"])

                domains.append(domain)

        return domains
コード例 #8
0
def read_target(target):
    domains = list()
    with open(target, encoding='utf-8', errors='ignore') as file:
        for line in file:
            line = line.lower().strip()
            domain = Domain(line).match()
            if domain:
                domains.append(domain)
    return domains
コード例 #9
0
ファイル: altdns.py プロジェクト: yut0u/OneForAll
def split_domain(domain):
    """
    Split domain base on subdomain levels
    Root+TLD is taken as one part, regardless of its levels
    """

    # test.1.foo.example.com -> [test, 1, foo, example.com]
    # test.2.foo.example.com.cn -> [test, 2, foo, example.com.cn]
    # test.example.co.uk -> [test, example.co.uk]

    ext = Domain(domain).extract()
    subname = ext.subdomain
    parts = ext.subdomain.split('.') + [ext.registered_domain]
    return subname, parts
コード例 #10
0
def get_domains(target):
    """
    获取域名

    :param set or str target:
    :return: 域名集合
    """
    domains = set()
    logger.log('INFOR', f'正在获取域名')
    if isinstance(target, set):
        domains = target
    elif isinstance(target, str):
        path = pathlib.Path(target)
        if path.is_file():
            with open(target) as file:
                for line in file:
                    domain = Domain(line.strip()).match()
                    if domain:
                        domains.add(domain)
        if Domain(target).match():
            domains = {target}
    logger.log('INFOR', f'获取到{len(domains)}个域名')
    return domains
コード例 #11
0
    def getDomain(self, id):
        try:
            response = self.getResource("/domains/%s" % id, "GET")
        except requests.exceptions.HTTPError as ex:
            response = ex.response.json()
            raise Exception("error on retrieving the domain (id=%r, msg=%s)." %
                            (id, response["error"]["message"]))

        domain = None

        if response:
            info = response["domain"]

            domain = Domain()
            domain.setId(info["id"])
            domain.setName(info["name"])
            domain.setEnabled(info["enabled"])

        return domain
コード例 #12
0
    def getDomain(self, id):
        try:
            response = self.getResource("/domains/%s" % id, "GET")
        except requests.exceptions.HTTPError as ex:
            response = ex.response.json()
            raise SynergyError("error on retrieving the domain (id=%r, msg=%s)"
                               % (id, response["error"]["message"]))

        domain = None

        if response:
            info = response["domain"]

            domain = Domain()
            domain.setId(info["id"])
            domain.setName(info["name"])
            domain.setEnabled(info["enabled"])

        return domain
コード例 #13
0
def get_main_domain(domain):
    return Domain(domain).registered()
コード例 #14
0
def match_main_domain(domain):
    if not isinstance(domain, str):
        return None
    item = domain.lower().strip()
    return Domain(item).match()
コード例 #15
0
ファイル: utils.py プロジェクト: AriesxAnxioussoul/OneForAll
def get_main_domain(domain):
    if not isinstance(domain, str):
        return None
    return Domain(domain).registered()
コード例 #16
0
ファイル: takeover.py プロジェクト: sethisiddha1998/OneForAll
def get_maindomain(subdomain):
    return Domain(subdomain).registered()