def __init__(self): cfg = config.get_instance() self.cfg = cfg self.log = aLogger.getLogger(self.__class__.__name__, self.cfg) self.__url = self.cfg.get("docker.url", check_type=str) self._conn = Client(self.__url)
# # Copyright (c) 2015 Reishin <*****@*****.**> and Contributors from dnslite.base import DNSPacket from dnslite.constants import RCODE, QuestionTypes from dnslite.datapack import in_addr_to_ip from appcore.core import config from appcore.core import aLogger from classes.docker import doker from dnslite.types import QuestionItem, AnswerItem import threading import socket conf = config.get_instance() log = aLogger.getLogger("main", conf) listen = conf.get("listen", default="127.0.0.1", check_type=str) port = conf.get("port", default=53, check_type=int) myname = conf.get("myname", default="FakeServer", check_type=str) def handle_a_record(q: QuestionItem) -> AnswerItem: if q.qname_str == myname: answer = q.get_answer(listen) else: ip = doker.get_ip_info(q.qname_str) if ip is None: return RCODE.NAME_ERROR answer = q.get_answer(ip)