mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
[enh] new command to generate DNS configuration for a given domain name
This commit is contained in:
parent
d6b0c35725
commit
e140ed652c
2 changed files with 44 additions and 0 deletions
|
@ -291,6 +291,17 @@ domain:
|
|||
extra:
|
||||
pattern: *pattern_domain
|
||||
|
||||
### domain_generate_dns_config()
|
||||
generate_dns_configuration:
|
||||
action_help: Generate DNS configuration for a domain
|
||||
api: GET /domains/<domain>/dns_config
|
||||
configuration:
|
||||
lock: false
|
||||
authenticate: all
|
||||
arguments:
|
||||
domain:
|
||||
help: Target domain
|
||||
|
||||
### domain_info()
|
||||
# info:
|
||||
# action_help: Get domain informations
|
||||
|
|
|
@ -218,3 +218,36 @@ def domain_remove(auth, domain, force=False):
|
|||
hook_callback('post_domain_remove', args=[domain])
|
||||
|
||||
msignals.display(m18n.n('domain_deleted'), 'success')
|
||||
|
||||
|
||||
def domain_generate_dns_configuration(auth, domain):
|
||||
"""
|
||||
Generate DNS configuration for a domain
|
||||
|
||||
Keyword argument:
|
||||
domain -- Domain name
|
||||
"""
|
||||
|
||||
ip4 = urlopen("http://ip.yunohost.org").read().strip()
|
||||
|
||||
result = "@ 1400 IN A {ip4}\n* 900 IN A {ip4}\n".format(ip4=ip4)
|
||||
|
||||
ip6 = None
|
||||
|
||||
try:
|
||||
ip6 = urlopen("http://ip6.yunohost.org").read().strip()
|
||||
except Exception:
|
||||
pass
|
||||
else:
|
||||
result += "@ 1400 IN A {ip6}\n* 900 IN AAAA {ip6}\n".format(ip6=ip6)
|
||||
|
||||
result += "\n_xmpp-client._tcp 14400 IN SRV 0 5 5222 {domain}.\n_xmpp-server._tcp 14400 IN SRV 0 5 5269 {domain}.\n".format(domain=domain)
|
||||
|
||||
result += "@ 1400 IN MX 10 {domain}.tld.\n".format(domain=domain)
|
||||
|
||||
if ip6 is None:
|
||||
result += '@ 1400 IN TXT "v=spf1 a mx ip4:{ip4} -all"\n'.format(ip4=ip4)
|
||||
else:
|
||||
result += '@ 1400 IN TXT "v=spf1 a mx ip4:{ip4} ip6:{ip6} -all"\n'.format(ip4=ip4, ip6=ip6)
|
||||
|
||||
return result
|
||||
|
|
Loading…
Add table
Reference in a new issue