def getIp(self, domain): ip = db['dnscache'].get(domain, None) logger.info('Cache DNS: ' + domain + ' = ' + str(ip)) if not ip: # not cached try: ip = doh.query(domain)[0] logger.info('Query DoH: ' + domain + ' = ' + str(ip)) self.writeToCache(domain, ip) except Exception: logger.error('Failed to resolve hostname, fallback to normal dns') import traceback logger.error(traceback.print_exc()) return ip
def getIp(self, domain): ip = None try: self.cur.execute('select ip from dnscache where domain=?', (domain,)) ip = self.cur.fetchall()[0][0] logger.info('Cache DNS: ' + domain + ' = ' + str(ip)) except: pass if not ip: # not cached try: ip = doh.query(domain)[0] logger.info('Query DoH: ' + domain + ' = ' + str(ip)) self.writeToCache(domain, ip) except Exception: logger.error('Failed to resolve hostname, fallback to normal dns') import traceback logger.error(traceback.print_exc()) return ip
def getIp(self, domain): cache = db['dnscache'].get(domain, {}) ip = None if type(cache) != dict or (cache.get('datetime') and current_date - cache.get('datetime') > datetime.timedelta(days=7)): cache = None if not cache: # not cached try: ip = doh.query(domain)[0] logger.info('Query DoH: ' + domain + ' = ' + str(ip)) self.writeToCache(domain, ip) except Exception: logger.error( 'Failed to resolve hostname, fallback to normal dns') import traceback logger.error(traceback.format_exc()) else: ip = cache.get('ip') logger.info('Cache DNS: ' + domain + ' = ' + str(ip)) return ip