Forking what is left of ZeroNet and hopefully adding an AT Proto Frontend/Proxy
1import socket
2
3import socks
4from Config import config
5
6def create_connection(address, timeout=None, source_address=None):
7 if address in config.ip_local:
8 sock = socket.socket_noproxy(socket.AF_INET, socket.SOCK_STREAM)
9 sock.connect(address)
10 else:
11 sock = socks.socksocket()
12 sock.connect(address)
13 return sock
14
15
16# Dns queries using the proxy
17def getaddrinfo(*args):
18 return [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (args[0], args[1]))]
19
20
21def monkeyPatch(proxy_ip, proxy_port):
22 socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, proxy_ip, int(proxy_port))
23 socket.socket_noproxy = socket.socket
24 socket.socket = socks.socksocket
25 socket.create_connection = create_connection
26 socket.getaddrinfo = getaddrinfo