Open tor browser with selenium

0
0

Is it possible to make selenium use the TOR browser? Does anyone have any code they could copy-paste?

  • You must to post comments
0
0

Don’t use the TBB, just set the correct proxy settings in whatever browser you’re using. In FF for example, like this:

#set some privacy settings
ff_prof
.set_preference( "places.history.enabled", False )
ff_prof
.set_preference( "privacy.clearOnShutdown.offlineApps", True )
ff_prof
.set_preference( "privacy.clearOnShutdown.passwords", True )
ff_prof
.set_preference( "privacy.clearOnShutdown.siteSettings", True )
ff_prof
.set_preference( "privacy.sanitize.sanitizeOnShutdown", True )
ff_prof
.set_preference( "signon.rememberSignons", False )
ff_prof
.set_preference( "network.cookie.lifetimePolicy", 2 )
ff_prof
.set_preference( "network.dns.disablePrefetch", True )
ff_prof
.set_preference( "network.http.sendRefererHeader", 0 )
#set socks proxy
ff_prof
.set_preference( "network.proxy.type", 1 )
ff_prof
.set_preference( "network.proxy.socks_version", 5 )
ff_prof
.set_preference( "network.proxy.socks", '127.0.0.1' )
ff_prof
.set_preference( "network.proxy.socks_port", 9050 )
ff_prof
.set_preference( "network.proxy.socks_remote_dns", True )
#if you're really hardcore about your security
#js can be used to reveal your true i.p.
ff_prof
.set_preference( "javascript.enabled", False )
#get a huge speed increase by not downloading images
ff_prof
.set_preference( "permissions.default.image", 2 )
##
# programmatically start tor (in windows environment)
##
tor_path
= "C:\\this\\is\\the\\location\\of\\" #tor.exe
torrc_path
= "C:\\you\\need\\to\\create\\this\\file\\torrc"
DETACHED_PROCESS
= 0x00000008
#calling as a detached_process means the program will not die with your python program - you will need to manually kill it
##
# somebody please let me know if there's a way to make this a child process that automatically dies (in windows)
##
tor_process
= subprocess.Popen( '"' + tor_path+'tor.exe" --nt-service "-f" "' + torrc_path + '"', creationflags=DETACHED_PROCESS )
#attach to tor controller
## imports ##
# import stem.socket
# import stem.connection
# import stem.Signal
##
tor_controller
= stem.socket.ControlPort( port=9051 )
control_password
= 'password'
#in your torrc, you need to store the hashed version of 'password' which you can get with: subprocess.call( '"' + tor_path+'tor.exe" --hash-password %s' %control_password )
stem
.connection.authenticate( tor_controller, password=control_password )
#check that everything is good with your tor_process by checking bootstrap status
tor_controller
.send( 'GETINFO status/bootstrap-phase' )
response
= worker.tor_controller.recv()
response
= response.content()
#I will leave handling of response status to you
  • You must to post comments
Showing 1 result
Your Answer
Post as a guest by filling out the fields below or if you already have an account.
Name*
E-mail*
Website