mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Detect dyndns-domains managed by yunohost and advice to use yunohost dyndns update --force
This commit is contained in:
parent
5a3b382fc9
commit
8b169f138c
2 changed files with 10 additions and 5 deletions
|
@ -12,9 +12,7 @@ from yunohost.utils.network import dig
|
||||||
from yunohost.diagnosis import Diagnoser
|
from yunohost.diagnosis import Diagnoser
|
||||||
from yunohost.domain import domain_list, _build_dns_conf, _get_maindomain
|
from yunohost.domain import domain_list, _build_dns_conf, _get_maindomain
|
||||||
|
|
||||||
# We put here domains we know has dyndns provider, but that are not yet
|
YNH_DYNDNS_DOMAINS = ['nohost.me', 'noho.st', 'ynh.fr']
|
||||||
# registered in the public suffix list
|
|
||||||
PENDING_SUFFIX_LIST = ['ynh.fr', 'netlib.re']
|
|
||||||
|
|
||||||
|
|
||||||
class DNSRecordsDiagnoser(Diagnoser):
|
class DNSRecordsDiagnoser(Diagnoser):
|
||||||
|
@ -38,7 +36,7 @@ class DNSRecordsDiagnoser(Diagnoser):
|
||||||
psl = PublicSuffixList()
|
psl = PublicSuffixList()
|
||||||
domains_from_registrar = [psl.get_public_suffix(domain) for domain in all_domains]
|
domains_from_registrar = [psl.get_public_suffix(domain) for domain in all_domains]
|
||||||
domains_from_registrar = [domain for domain in domains_from_registrar if "." in domain]
|
domains_from_registrar = [domain for domain in domains_from_registrar if "." in domain]
|
||||||
domains_from_registrar = set(domains_from_registrar) - set(PENDING_SUFFIX_LIST)
|
domains_from_registrar = set(domains_from_registrar) - set(YNH_DYNDNS_DOMAINS + ["netlib.re"])
|
||||||
for report in self.check_expiration_date(domains_from_registrar):
|
for report in self.check_expiration_date(domains_from_registrar):
|
||||||
yield report
|
yield report
|
||||||
|
|
||||||
|
@ -100,7 +98,13 @@ class DNSRecordsDiagnoser(Diagnoser):
|
||||||
summary=summary)
|
summary=summary)
|
||||||
|
|
||||||
if discrepancies:
|
if discrepancies:
|
||||||
output["details"] = ["diagnosis_dns_point_to_doc"] + discrepancies
|
# For ynh-managed domains (nohost.me etc...), tell people to try to "yunohost dyndns update --force"
|
||||||
|
if any(domain.endswith(ynh_dyndns_domain) for ynh_dyndns_domain in YNH_DYNDNS_DOMAINS):
|
||||||
|
output["details"] = ["diagnosis_dns_try_dyndns_update_force"]
|
||||||
|
# Otherwise point to the documentation
|
||||||
|
else:
|
||||||
|
output["details"] = ["diagnosis_dns_point_to_doc"]
|
||||||
|
output["details"] += discrepancies
|
||||||
|
|
||||||
yield output
|
yield output
|
||||||
|
|
||||||
|
|
|
@ -173,6 +173,7 @@
|
||||||
"diagnosis_dns_missing_record": "According to the recommended DNS configuration, you should add a DNS record with the following info.<br>Type: <code>{type}</code><br>Name: <code>{name}</code><br>Value: <code>{value}</code>",
|
"diagnosis_dns_missing_record": "According to the recommended DNS configuration, you should add a DNS record with the following info.<br>Type: <code>{type}</code><br>Name: <code>{name}</code><br>Value: <code>{value}</code>",
|
||||||
"diagnosis_dns_discrepancy": "The following DNS record does not seem to follow the recommended configuration:<br>Type: <code>{type}</code><br>Name: <code>{name}</code><br>Current value: <code>{current}</code><br>Expected value: <code>{value}</code>",
|
"diagnosis_dns_discrepancy": "The following DNS record does not seem to follow the recommended configuration:<br>Type: <code>{type}</code><br>Name: <code>{name}</code><br>Current value: <code>{current}</code><br>Expected value: <code>{value}</code>",
|
||||||
"diagnosis_dns_point_to_doc": "Please check the documentation at <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> if you need help about configuring DNS records.",
|
"diagnosis_dns_point_to_doc": "Please check the documentation at <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> if you need help about configuring DNS records.",
|
||||||
|
"diagnosis_dns_try_dyndns_update_force": "This domain's DNS configuration should automatically be managed by Yunohost. If that's not the case, you can try to force an update using <cmd>yunohost dyndns update --force</cmd>.",
|
||||||
"diagnosis_domain_expiration_not_found": "Unable to check the expiration date for some domains",
|
"diagnosis_domain_expiration_not_found": "Unable to check the expiration date for some domains",
|
||||||
"diagnosis_domain_not_found_details": "The domain {domain} doesn't exist in WHOIS database or is expired!",
|
"diagnosis_domain_not_found_details": "The domain {domain} doesn't exist in WHOIS database or is expired!",
|
||||||
"diagnosis_domain_expiration_not_found_details": "The WHOIS information for domain {domain} doesn't seem to contain the information about the expiration date?",
|
"diagnosis_domain_expiration_not_found_details": "The WHOIS information for domain {domain} doesn't seem to contain the information about the expiration date?",
|
||||||
|
|
Loading…
Add table
Reference in a new issue