Skip to content

Instantly share code, notes, and snippets.

@junquera
Last active December 14, 2018 11:45
Show Gist options
  • Select an option

  • Save junquera/55247a18fdd6e8c8a9f1d289b1ff16a7 to your computer and use it in GitHub Desktop.

Select an option

Save junquera/55247a18fdd6e8c8a9f1d289b1ff16a7 to your computer and use it in GitHub Desktop.
Script for "overriding" socket with socks for set all the connections through Tor
import socks
import socket
import requests
socket_getaddrinfo = socket.getaddrinfo
socket_connect = socket.socket.connect
socks_connect = socks.socksocket.connect
def getaddrinfo(*args, **kwargs):
if args[0] in ['localhost', '127.0.0.1']:
return socket_getaddrinfo(*args, **kwargs)
return [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (args[0], args[1]))]
def alt_connect(*args, **kwargs):
if args[1][0] in ['localhost', '127.0.0.1']:
return socket_connect(*args, **kwargs)
else:
return socks_connect(*args, **kwargs)
socks.setdefaultproxy(proxy_type=socks.PROXY_TYPE_SOCKS5, addr="127.0.0.1", port=9321)
socket.socket = socks.socksocket
socket.getaddrinfo = getaddrinfo
socket.socket.connect = alt_connect
def restart_tor():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("127.0.0.1", 9123))
s.send(b'AUTHENTICATE "PORONGA"\r\n')
s.send(b'SIGNAL NEWNYM\r\n')
s.close()
import time
for i in range(10):
r = requests.get('https://check.torproject.org')
print(r.text)
restart_tor()
time.sleep(10)
@nicotrial
Copy link
Copy Markdown

GET NEW IP EVERY TIME!!!!

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("127.0.0.1", 9051))
s.send(b'AUTHENTICATE "poronga"\r\n')
s.send(b'SIGNAL NEWNYM\r\n')

print("Sleeping!")
time.sleep(1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment