Utiliser TOR dans un script python
Un module python permet de le faire vraiment facilement " socksipy"
Installation du module
avec debian:
sudo apt-get install python-socksipy
Si vous nutiliser pas debian le module est dispo http://sourceforge.net/projects/socksipy/files/latest/download?source=files
Utilisation du module :
Il suffit de modifier en début de script le socket pour qu'il utilise TOR. Ensuite tous les modules utilisant les sockets passeront par tor.
Comme ceci :
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,"127.0.0.1",9050,True) socket.socket = socks.socksocket
Exemple d'un petit script utilisant urllib :
#!/usr/bin/env python # -*-coding:utf-8-*- import socks import socket import urllib import re, subprocess ip_public = subprocess.Popen("wget -qO- icanhazip.com", shell=True, stdout=subprocess.PIPE) socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,"127.0.0.1",9050,True) socket.socket = socks.socksocket pattern = r'\\d+' + r'\\.' + r'\\d+' + r'\\.' + r'\\d+' + r'\\.' + r'\\d+' page = urllib.urlopen("https://check.torproject.org/").read() ip_tor = re.findall('<p>Your IP address appears to be: <strong>' + pattern, page)[0].split('<strong>')[1] print('script python utilisant TOR :D') print('ip tor : ' + ip_tor) print('ip public : ' + ip_public.communicate()[0].rstrip())
Voila le résultat