fix proxy setting issue #1330

This commit is contained in:
ThomasV 2015-07-01 08:45:47 +02:00
parent d0308010da
commit 0ac3aebb88

View file

@ -301,11 +301,12 @@ class Network(util.DaemonThread):
def set_proxy(self, proxy):
self.proxy = proxy
if proxy:
self.print_error("setting proxy", proxy)
proxy_mode = proxy_modes.index(proxy["mode"]) + 1
socks.setdefaultproxy(proxy_mode, proxy["host"], int(proxy["port"]))
socket.socket = socks.socksocket
# prevent dns leaks, see http://stackoverflow.com/questions/13184205/dns-over-proxy
socket.getaddrinfo = lambda *args: [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (args[0], args[1]))]
socket.getaddrinfo = lambda *args: [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (str(args[0]), args[1]))]
else:
socket.socket = socket._socketobject
socket.getaddrinfo = socket._socket.getaddrinfo