Exemple #1
0
    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
Exemple #2
0
 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
Exemple #3
0
    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