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
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()