def record_action(action, config, ignore_errors): records = config.records if not records: click.secho('There is no record configured', fg='yellow', bold=True) freenom = freenom_dns_updater.Freenom() if not freenom.login(config.login, config.password): click.secho('Unable to login with the given credential', fg='red', bold=True) sys.exit(6) domains = freenom.list_domains() domains_mapping = {d.name: d for d in domains} ok_count = 0 err_count = 0 for rec in records: domain_name = rec.domain.name rec.domain = domains_mapping.get(domain_name) if rec.domain is None: click.secho("You don't own the domain \"{}\"".format(domain_name), fg='yellow', bold=True) if ignore_errors: continue else: sys.exit(7) try: action(freenom, rec) except Exception as e: if not ignore_errors: raise # TODO log e err_count += 1 else: ok_count += 1 return ok_count, err_count
def domain_forward(user, password, domain, url, mode): freenom = freenom_dns_updater.Freenom() if not freenom.login(user, password): click.secho('Unable to login with the given credential', fg='red', bold=True) sys.exit(6) # search the domain for d in freenom.list_domains(): if d.name == domain: domain = d break if not isinstance(domain, freenom_dns_updater.Domain): click.secho(f"You don't own the domain \"{domain}\"", fg='yellow', bold=True) sys.exit(7) try: cururl, curmode = freenom.current_url_forward(domain.id) except Exception: cururl = None curmode = None click.echo("Current: " + domain.name + " --" + curmode + "--> " + cururl) if url is None: return if cururl == url and curmode == mode: click.echo("Forward already set") return if freenom.change_url_forward(domain.id, url, mode): click.echo("New set: " + domain.name + " --" + mode + "--> " + url) else: click.echo("Something went wrong!")
def domain_ls(user, password, format): freenom = freenom_dns_updater.Freenom() if not freenom.login(user, password): click.secho('Unable to login with the given credential', fg='red', bold=True) sys.exit(6) # search the domain domains = freenom.list_domains() click.echo(format_data(domains, format))
def record_ls(user, password, domain, format): freenom = freenom_dns_updater.Freenom() if not freenom.login(user, password): click.secho('Unable to login with the given credential', fg='red', bold=True) sys.exit(6) # search the domain for d in freenom.list_domains(): if d.name == domain: domain = d break if not isinstance(domain, freenom_dns_updater.Domain): click.secho("You don't own the domain \"{}\"".format(domain), fg='yellow', bold=True) sys.exit(7) records = freenom.list_records(domain) click.echo(format_data(records, format))
def domain_nameserver(user, password, domain, nameserver): freenom = freenom_dns_updater.Freenom() if not freenom.login(user, password): click.secho('Unable to login with the given credential', fg='red', bold=True) sys.exit(6) # search the domain for d in freenom.list_domains(): if d.name == domain: domain = d break if not isinstance(domain, freenom_dns_updater.Domain): click.secho(f"You don't own the domain \"{domain}\"", fg='yellow', bold=True) sys.exit(7) if not nameserver: mode, nameservers = freenom.get_nameserver(domain.id) if mode == "default": click.echo("Using default freenom nameserver") else: for i, elem in enumerate(nameservers): click.echo("Nameserver {}: {}".format(i + 1, elem)) else: for i, ns in enumerate(nameserver): if not isinstance(ns, str) or ns == "None": nameserver[i] = "" if freenom.set_nameserver(domain, nameserver): if len("".join(nameserver)) > 0: click.echo("Nameserver set") else: click.echo( "Namerserver removed. Turned back to freenom nameserver.") else: click.echo("Something went wrong!")
def __init__(self, *args, **kwargs): super(DomainCheckerFreenomAPI, self).__init__(*args, **kwargs) self.freenom = freenom_dns_updater.Freenom()