فهرست منبع

feat(api): remove dyn endpoint, closes #193

Peter Thomassen 6 سال پیش
والد
کامیت
8b391c7668
3فایلهای تغییر یافته به همراه0 افزوده شده و 52 حذف شده
  1. 0 4
      api/desecapi/urls/version_1.py
  2. 0 47
      api/desecapi/views.py
  3. 0 1
      api/requirements.txt

+ 0 - 4
api/desecapi/urls/version_1.py

@@ -42,10 +42,6 @@ api_urls = [
             views.RRsetDetail.as_view(), name='rrset@'),
             views.RRsetDetail.as_view(), name='rrset@'),
     path('domains/<name>/rrsets/<subname>/<type>/', views.RRsetDetail.as_view()),
     path('domains/<name>/rrsets/<subname>/<type>/', views.RRsetDetail.as_view()),
 
 
-    # DNS query endpoint
-    # TODO remove?
-    path('dns', views.DnsQuery.as_view(), name='dns-query'),
-
     # DynDNS update endpoint
     # DynDNS update endpoint
     path('dyndns/update', views.DynDNS12Update.as_view(), name='dyndns12update'),
     path('dyndns/update', views.DynDNS12Update.as_view(), name='dyndns12update'),
 
 

+ 0 - 47
api/desecapi/views.py

@@ -17,7 +17,6 @@ from django.template.loader import get_template
 from django.utils import timezone
 from django.utils import timezone
 from djoser import views, signals
 from djoser import views, signals
 from djoser.serializers import TokenSerializer as DjoserTokenSerializer
 from djoser.serializers import TokenSerializer as DjoserTokenSerializer
-from dns import resolver
 from rest_framework import generics
 from rest_framework import generics
 from rest_framework import mixins
 from rest_framework import mixins
 from rest_framework import status
 from rest_framework import status
@@ -340,52 +339,6 @@ class Root(APIView):
             })
             })
 
 
 
 
-class DnsQuery(APIView):
-
-    @staticmethod
-    def get(request, *_):
-        dns_resolver = resolver.Resolver()
-
-        if 'domain' not in request.GET:
-            return Response(status=status.HTTP_400_BAD_REQUEST)
-
-        domain = str(request.GET['domain'])
-
-        def get_records(domain_name, type_):
-            records = []
-            try:
-                for address in dns_resolver.query(domain_name, type_):
-                    records.append(str(address))
-            except resolver.NoAnswer:
-                return []
-            except resolver.NoNameservers:
-                return []
-            except resolver.NXDOMAIN:
-                return []
-            return records
-
-        # find currently active NS records
-        ns_records = get_records(domain, 'NS')
-
-        # find desec.io name server IP address with standard name server
-        ips = dns_resolver.query('ns1.desec.io')
-        dns_resolver.nameservers = []
-        for ip in ips:
-            dns_resolver.nameservers.append(str(ip))
-
-        # query desec.io name server for A and AAAA records
-        a_records = get_records(domain, 'A')
-        aaaa_records = get_records(domain, 'AAAA')
-
-        return Response({
-            'domain': domain,
-            'ns': ns_records,
-            'a': a_records,
-            'aaaa': aaaa_records,
-            '_nameserver': dns_resolver.nameservers
-        })
-
-
 class DynDNS12Update(APIView):
 class DynDNS12Update(APIView):
     authentication_classes = (auth.TokenAuthentication, auth.BasicTokenAuthentication, auth.URLParamAuthentication,)
     authentication_classes = (auth.TokenAuthentication, auth.BasicTokenAuthentication, auth.URLParamAuthentication,)
     renderer_classes = [PlainTextRenderer]
     renderer_classes = [PlainTextRenderer]

+ 0 - 1
api/requirements.txt

@@ -5,7 +5,6 @@ django-nocaptcha-recaptcha==0.0.20  # updated manually
 djangorestframework~=3.9.3
 djangorestframework~=3.9.3
 djangorestframework-bulk~=0.2.0
 djangorestframework-bulk~=0.2.0
 djoser~=1.5.1
 djoser~=1.5.1
-dnspython~=1.16.0
 httpretty~=0.9.0
 httpretty~=0.9.0
 mysqlclient~=1.4.0
 mysqlclient~=1.4.0
 psl-dns~=1.0rc2
 psl-dns~=1.0rc2