Closed jakbin closed 2 years ago
hello, probably too late but these are the necessary changes to be made, to make it run:
import os
import shutil
from stem.control import Controller
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "<h1>Hi Grandma!</h1>"
print(' * Connecting to tor')
# if you are on windows use 9151 else 9150
with Controller.from_port(port=9151) as controller:
controller.authenticate()
# Create a hidden service where visitors of port 80 get redirected to local
# port 5000 (this is where Flask runs by default).
hidden_service_dir = "C:/tmp"
print(" * Creating our hidden service in %s" % hidden_service_dir)
result = controller.create_hidden_service(hidden_service_dir, 80, "localhost", target_port = 5000)
# The hostname is only available when we can read the hidden service
# directory. This requires us to be running with the same user as tor.
with open("C:/tmp/hostname", "r") as h:
print('service established at %s' %h.read())
try:
app.run()
finally:
# Shut down the hidden service and clean it off disk. Note that you *don't*
# want to delete the hidden service directory if you'd like to have this
# same *.onion address in the future.
print(" * Shutting down our hidden service")
controller.remove_hidden_service(hidden_service_dir)
shutil.rmtree(hidden_service_dir)
this is also giving same error. do i need to start tor service ?
yes, if you have a tor installed on windows, just open it and the code should work perfectly
i am using linux . i run tor on port 9050 and also change port in code, but it is not working.
Traceback (most recent call last):
File "/home/dj/Desktop/test/stem-example.py", line 19, in <module>
controller.authenticate()
File "/usr/lib/python3/dist-packages/stem/control.py", line 1112, in authenticate
stem.connection.authenticate(self, *args, **kwargs)
File "/usr/lib/python3/dist-packages/stem/connection.py", line 536, in authenticate
raise IncorrectSocketType('unable to use the control socket')
stem.connection.IncorrectSocketType: unable to use the control socket
I think it should be 9051* sock5 is on 9051, on windows its 9151 ....
I think it should be 9051* sock5 is on 9051, on windows its 9151 ....
i got this error. i use port 9051.
[warn] Socks version 80 not recognized. (This port is not an HTTP proxy; did you want to use HTTPTunnelPort?)
that is something IDK... hope your tor is updated and one more thing. go to /etc/tor > vim torrc and make sure the (controlPort 9051) line is not commented and the (sockport 9050) line as well except for these 2 everything should be commented (that is how I have in mine...) you can uncomment them as you learn more and need more control over tor like authentication, etc. but for now, they are not required.
this is now working. thanks for reply.
so how exactly did you make it work?.. would like to know haha..
that is something IDK... hope your tor is updated and one more thing. go to /etc/tor > vim torrc and make sure the (controlPort 9051) line is not commented and the (sockport 9050) line as well except for these 2 everything should be commented (that is how I have in mine...) you can uncomment them as you learn more and need more control over tor like authentication, etc. but for now, they are not required.
by using this instructions, and chnage permission of hidden_service_dir to 700
@0-harshit-0 any example, how to run tor service with tor without interfere with other tor processes on your compute .
if I understand correct, you are trying to run 2 tor service on your computer and they are resulting in same address is that it?
if I understand correct, you are trying to run 2 tor service on your computer and they are resulting in same address is that it?
No , I want to run tor with stem . Like : onionshare .
k but you have created a flask application right, just add some good UI and File handling to it ? that should work right?
https://stem.torproject.org/tutorials/over_the_river.html,
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/lib/python3/dist-packages/stem/connection.py", line 1063, in _connection_for_default_port return stem.socket.ControlPort(address, 9151) File "/usr/lib/python3/dist-packages/stem/socket.py", line 503, in init self.connect() File "/usr/lib/python3/dist-packages/stem/socket.py", line 172, in connect self._socket = self._make_socket() File "/usr/lib/python3/dist-packages/stem/socket.py", line 538, in _make_socket raise stem.SocketError(exc) stem.SocketError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/home/dj/Desktop/github_pro/flask-tor/f-tor/stem/create_hidden_service.py", line 19, in
with Controller.from_port() as controller:
File "/usr/lib/python3/dist-packages/stem/control.py", line 1031, in from_port
control_port = stem.connection._connection_for_default_port(address)
File "/usr/lib/python3/dist-packages/stem/connection.py", line 1065, in _connection_for_default_port
raise exc
File "/usr/lib/python3/dist-packages/stem/connection.py", line 1060, in _connection_for_default_port
return stem.socket.ControlPort(address, 9051)
File "/usr/lib/python3/dist-packages/stem/socket.py", line 503, in init
self.connect()
File "/usr/lib/python3/dist-packages/stem/socket.py", line 172, in connect
self._socket = self._make_socket()
File "/usr/lib/python3/dist-packages/stem/socket.py", line 538, in _make_socket
raise stem.SocketError(exc)
stem.SocketError: [Errno 111] Connection refused