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 wink

Vus : 1072
Publié par shovel-crew : 22