To make requests over Tor using Python3, we are going to be utilizing a Python controller library forTor calledStem.
In order to do so, you need to install the stem package for your OS.
ForMacOS :
pip3 install stem
in a python3 venv ( recommended ).ForUbuntu :
sudo pip3 install stem
in a python3 venv ( recommended ).
fromstemimportSignalfromstem.controlimportControllerwithController.from_port(port=9051)ascontroller:controller.authenticate(password='your password set for tor controller port in torrc')print("Success!")controller.signal(Signal.NEWNYM)print("New Tor connection processed")
However, you're not done yet. You might get this error :get this error: error(61, 'Connection refused').
It's because Port 9051 is not open on your machine yet.
To fix this issue, you'll need to edit yourtorrc file and uncomment the corresponding lines.
ControlPort 9051## If you enable the controlport, be sure to enable one of these## authentication methods, to prevent attackers from accessing it.HashedControlPassword16:<your_password>
To generate your password, run :
tor --hash-password "<new_password>"
where<new_password>
is the password that you want to set.
And you're done withMaking Requests over Tor.
Note : To run thetor
commands, you need to havetor
package installed. For MacOS, it can be easily installed usingbrew install tor
.
Top comments(0)
For further actions, you may consider blocking this person and/orreporting abuse