dnspy3-server/dnspy3-server.py

66 lines
2.1 KiB
Python

from flask import Flask, request
from flask_restful import Resource, Api
import json
app = Flask(__name__)
api = Api(app)
class WhoIS():
def __init__(self, domain):
self.domain = domain
self.getWhois()
def getWhois(self):
self.registrar = 'Synergy Wholesale'
self.status = ['clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited', 'clientTransferProhibited https://icann.org/epp#clientTransferProhibited', 'clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited',
'serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited', 'serverTransferProhibited https://icann.org/epp#serverTransferProhibited', 'serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited']
self.registrant = {'name': 'Test Case', 'email': 'tcase@test.com',
'eligibilitytype': 'Company', 'eligibilityid': '123456789'}
self.nameservers = ['ns1.dommain.tld', 'ns2.domain.tld']
class DNS():
def __init__(self, domain):
self.domain = domain
self.getRecords()
def getRecords(self):
self.a = '1.2.3.4'
self.aaaa = '2001:0db8:85a3:0000:0000:8a2e:0370:7334'
self.mx = {'mail.domain.tld': 10}
self.txt = 'v=spf1 +a +mx +include:spf.hostingplatform.net.au'
self.ns = ['ns1.domain.tld', 'ns2.domain.tld']
self.soa = 'ns1.domain.tld. webmaster.domain.tld. 310875860 900 900 1800 60'
class Domain():
def __init__(self, domain):
self.whois = WhoIS(domain).__dict__
self.dns = DNS(domain).__dict__
class DNSLookup(Resource):
def get(self, domain=None):
auth = request.headers.get('X-AUTH')
if auth != None:
return [{'message': 'Please auth'}, 'error']
if domain == None:
return [{'message': 'Please specify a domain name'}, 'error']
else:
ret = Domain(domain)
status = 'success'
return [ret.__dict__, status]
api.add_resource(DNSLookup, '/lookup', '/lookup/<string:domain>')
@app.route('/')
def index():
return ''
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')