diff --git a/selfprivacy_api/graphql/common_types/dns.py b/selfprivacy_api/graphql/common_types/dns.py index c9f8413..1c79036 100644 --- a/selfprivacy_api/graphql/common_types/dns.py +++ b/selfprivacy_api/graphql/common_types/dns.py @@ -11,3 +11,4 @@ class DnsRecord: content: str ttl: int priority: typing.Optional[int] + display_name: str diff --git a/selfprivacy_api/graphql/common_types/service.py b/selfprivacy_api/graphql/common_types/service.py index 319ce3e..56e12b1 100644 --- a/selfprivacy_api/graphql/common_types/service.py +++ b/selfprivacy_api/graphql/common_types/service.py @@ -139,6 +139,7 @@ def service_to_graphql_service(service: ServiceInterface) -> Service: content=record.content, ttl=record.ttl, priority=record.priority, + display_name=record.display_name, ) for record in service.get_dns_records() ], diff --git a/selfprivacy_api/graphql/queries/system.py b/selfprivacy_api/graphql/queries/system.py index cc30fd7..82c9260 100644 --- a/selfprivacy_api/graphql/queries/system.py +++ b/selfprivacy_api/graphql/queries/system.py @@ -33,6 +33,7 @@ class SystemDomainInfo: content=record.content, ttl=record.ttl, priority=record.priority, + display_name=record.display_name, ) for record in get_all_required_dns_records() ] diff --git a/selfprivacy_api/services/__init__.py b/selfprivacy_api/services/__init__.py index 02bb1d3..50ef76a 100644 --- a/selfprivacy_api/services/__init__.py +++ b/selfprivacy_api/services/__init__.py @@ -54,12 +54,14 @@ def get_all_required_dns_records() -> list[ServiceDnsRecord]: name="api", content=ip4, ttl=3600, + display_name="SelfPrivacy API", ), ServiceDnsRecord( type="AAAA", name="api", content=ip6, ttl=3600, + display_name="SelfPrivacy API (IPv6)", ), ] for service in get_enabled_services(): diff --git a/selfprivacy_api/services/bitwarden/__init__.py b/selfprivacy_api/services/bitwarden/__init__.py index 2f695fd..0d1dfdc 100644 --- a/selfprivacy_api/services/bitwarden/__init__.py +++ b/selfprivacy_api/services/bitwarden/__init__.py @@ -129,12 +129,14 @@ class Bitwarden(Service): name="password", content=network_utils.get_ip4(), ttl=3600, + display_name="Bitwarden", ), ServiceDnsRecord( type="AAAA", name="password", content=network_utils.get_ip6(), ttl=3600, + display_name="Bitwarden (IPv6)", ), ] diff --git a/selfprivacy_api/services/gitea/__init__.py b/selfprivacy_api/services/gitea/__init__.py index fcb9ca7..08f223e 100644 --- a/selfprivacy_api/services/gitea/__init__.py +++ b/selfprivacy_api/services/gitea/__init__.py @@ -123,12 +123,14 @@ class Gitea(Service): name="git", content=network_utils.get_ip4(), ttl=3600, + display_name="Gitea", ), ServiceDnsRecord( type="AAAA", name="git", content=network_utils.get_ip6(), ttl=3600, + display_name="Gitea (IPv6)", ), ] diff --git a/selfprivacy_api/services/jitsi/__init__.py b/selfprivacy_api/services/jitsi/__init__.py index 2684fc3..fed6f33 100644 --- a/selfprivacy_api/services/jitsi/__init__.py +++ b/selfprivacy_api/services/jitsi/__init__.py @@ -132,12 +132,14 @@ class Jitsi(Service): name="meet", content=ip4, ttl=3600, + display_name="Jitsi", ), ServiceDnsRecord( type="AAAA", name="meet", content=ip6, ttl=3600, + display_name="Jitsi (IPv6)", ), ] diff --git a/selfprivacy_api/services/mailserver/__init__.py b/selfprivacy_api/services/mailserver/__init__.py index d0f70eb..e36a694 100644 --- a/selfprivacy_api/services/mailserver/__init__.py +++ b/selfprivacy_api/services/mailserver/__init__.py @@ -121,27 +121,43 @@ class MailServer(Service): name=domain, content=ip4, ttl=3600, + display_name="Root Domain", ), ServiceDnsRecord( type="AAAA", name=domain, content=ip6, ttl=3600, + display_name="Root Domain (IPv6)", ), ServiceDnsRecord( - type="MX", name=domain, content=domain, ttl=3600, priority=10 + type="MX", + name=domain, + content=domain, + ttl=3600, + priority=10, + display_name="Mail server record", ), ServiceDnsRecord( - type="TXT", name="_dmarc", content="v=DMARC1; p=none", ttl=18000 + type="TXT", + name="_dmarc", + content="v=DMARC1; p=none", + ttl=18000, + display_name="DMARC record", ), ServiceDnsRecord( type="TXT", name=domain, content=f"v=spf1 a mx ip4:{ip4} -all", ttl=18000, + display_name="SPF record", ), ServiceDnsRecord( - type="TXT", name="selector._domainkey", content=dkim_record, ttl=18000 + type="TXT", + name="selector._domainkey", + content=dkim_record, + ttl=18000, + display_name="DKIM key", ), ] diff --git a/selfprivacy_api/services/nextcloud/__init__.py b/selfprivacy_api/services/nextcloud/__init__.py index 4ac01af..1703478 100644 --- a/selfprivacy_api/services/nextcloud/__init__.py +++ b/selfprivacy_api/services/nextcloud/__init__.py @@ -128,12 +128,14 @@ class Nextcloud(Service): name="cloud", content=network_utils.get_ip4(), ttl=3600, + display_name="Nextcloud", ), ServiceDnsRecord( type="AAAA", name="cloud", content=network_utils.get_ip6(), ttl=3600, + display_name="Nextcloud (IPv6)", ), ] diff --git a/selfprivacy_api/services/ocserv/__init__.py b/selfprivacy_api/services/ocserv/__init__.py index 98c6e97..d9d59a0 100644 --- a/selfprivacy_api/services/ocserv/__init__.py +++ b/selfprivacy_api/services/ocserv/__init__.py @@ -106,12 +106,14 @@ class Ocserv(Service): name="vpn", content=network_utils.get_ip4(), ttl=3600, + display_name="OpenConnect VPN", ), ServiceDnsRecord( type="AAAA", name="vpn", content=network_utils.get_ip6(), ttl=3600, + display_name="OpenConnect VPN (IPv6)", ), ] diff --git a/selfprivacy_api/services/pleroma/__init__.py b/selfprivacy_api/services/pleroma/__init__.py index d98b13f..b2540d8 100644 --- a/selfprivacy_api/services/pleroma/__init__.py +++ b/selfprivacy_api/services/pleroma/__init__.py @@ -127,12 +127,14 @@ class Pleroma(Service): name="social", content=network_utils.get_ip4(), ttl=3600, + display_name="Pleroma", ), ServiceDnsRecord( type="AAAA", name="social", content=network_utils.get_ip6(), ttl=3600, + display_name="Pleroma (IPv6)", ), ] diff --git a/selfprivacy_api/services/service.py b/selfprivacy_api/services/service.py index b66bd19..8446133 100644 --- a/selfprivacy_api/services/service.py +++ b/selfprivacy_api/services/service.py @@ -33,6 +33,7 @@ class ServiceDnsRecord(BaseModel): name: str content: str ttl: int + display_name: str priority: typing.Optional[int] = None diff --git a/selfprivacy_api/services/test_service/__init__.py b/selfprivacy_api/services/test_service/__init__.py index 6ae33ef..187a1c6 100644 --- a/selfprivacy_api/services/test_service/__init__.py +++ b/selfprivacy_api/services/test_service/__init__.py @@ -186,12 +186,14 @@ class DummyService(Service): name="password", content=network_utils.get_ip4(), ttl=3600, + display_name="Test Service", ), ServiceDnsRecord( type="AAAA", name="password", content=network_utils.get_ip6(), ttl=3600, + display_name="Test Service (IPv6)", ), ]