diff --git a/onionr/communicator.py b/onionr/communicator.py index 5d80f839..9262aebd 100755 --- a/onionr/communicator.py +++ b/onionr/communicator.py @@ -57,6 +57,7 @@ class OnionrCommunicate: def sendPeerProof(self, peerID, data): '''This function sends the proof result to a peer previously fetched with getPeerProof''' return + shouldRun = False debug = False developmentMode = False diff --git a/onionr/netcontroller.py b/onionr/netcontroller.py index bbf97067..05261aa7 100644 --- a/onionr/netcontroller.py +++ b/onionr/netcontroller.py @@ -36,7 +36,7 @@ class NetController: def generateTorrc(self): if os.path.exists(self.torConfigLocation): os.remove(self.torConfigLocation) - torrcData = '''SOCKSPORT ''' + str(self.socksPort) + ''' + torrcData = '''SocksPort ''' + str(self.socksPort) + ''' HiddenServiceDir data/hs/ HiddenServicePort 80 127.0.0.1:''' + str(self.hsPort) + ''' ''' @@ -46,11 +46,16 @@ HiddenServicePort 80 127.0.0.1:''' + str(self.hsPort) + ''' return def startTor(self): + '''Start Tor with onion service on port 80 & socks proxy on random port + ''' self.generateTorrc() tor = subprocess.Popen(['tor', '-f', self.torConfigLocation], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + # wait for tor to get to 100% bootstrap for line in iter(tor.stdout.readline, b''): if 'Bootstrapped 100%: Done' in line.decode(): break + elif 'Opening Socks listener' in line.decode(): + print(line.decode()) print('Finished starting Tor') self.readyState = True myID = open('data/hs/hostname', 'r') diff --git a/onionr/onionr.py b/onionr/onionr.py index 9e852bb4..d43b895c 100755 --- a/onionr/onionr.py +++ b/onionr/onionr.py @@ -118,10 +118,12 @@ class Onionr: def daemon(self): ''' Start the Onionr communication daemon ''' + colors = Colors() if not os.environ.get("WERKZEUG_RUN_MAIN") == "true": net = NetController(self.config['CLIENT']['PORT']) print('Tor is starting...') net.startTor() + print(colors.GREEN + 'Started Tor .onion service: ' + colors.UNDERLINE + net.myID + colors.RESET) time.sleep(1) subprocess.Popen(["./communicator.py", "run"]) print('Started communicator')