コード例 #1
0
ファイル: models.py プロジェクト: bitlair/hackdns
    def get_resolver(server=None):
        if server is None:
            server = Server.self()

        resolver = Resolver()
        resolver.reset()
        resolvconf = StringIO()
        if server.ipv4:
            resolvconf.write('nameserver %s\n' % (server.ipv4,))
        if server.ipv6:
            resolvconf.write('nameserver %s\n' % (server.ipv6,))
        resolver.read_resolv_conf(resolvconf)
        return resolver
コード例 #2
0
ファイル: accesser.py プロジェクト: exbug/Accesser
if __name__ == '__main__':
    print("Accesser v{}  Copyright (C) 2018-2019  URenko".format(__version__))
    
    threading.Thread(target=update_checker).start()
    
    proxy = Proxy()
    webui.init(proxy)
    webbrowser.open('http://localhost:7654/')
    
    DNScache = setting.config['hosts'].copy()
    DNS_lock = threading.Lock()
    if setting.config['DNS']:
        DNSresolver = Resolver(configure=False)
        if 'SYSTEM' != setting.config['DNS'].upper():
            DNSresolver.read_resolv_conf(setting.config['DNS'])
        else:
            if sys.platform == 'win32':
                DNSresolver.read_registry()
            else:
                DNSresolver.read_resolv_conf('/etc/resolv.conf')
        DNSquery = lambda x:DNSresolver.query(x, 'A')[0].to_text()
    else:
        from utils import DoH
        DNSquery = DoH.DNSquery
    
    importca.import_ca()

    context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
    cert_store = set()
    cert_lock = threading.Lock()