mirror of
https://github.com/onionshare/onionshare.git
synced 2024-12-28 08:49:30 -05:00
cleanup the ephemeral hidden service when GUI server is stopped, but don't disconnect from Tor
This commit is contained in:
parent
c9190f9d9a
commit
a12f9ed4d8
@ -415,7 +415,7 @@ class Onion(object):
|
||||
|
||||
return onion_host
|
||||
|
||||
def cleanup(self):
|
||||
def cleanup(self, stop_tor=True):
|
||||
"""
|
||||
Stop onion services that were created earlier. If there's a tor subprocess running, kill it.
|
||||
"""
|
||||
@ -429,25 +429,28 @@ class Onion(object):
|
||||
pass
|
||||
self.service_id = None
|
||||
|
||||
# Stop tor process
|
||||
if self.tor_proc:
|
||||
self.tor_proc.terminate()
|
||||
time.sleep(0.2)
|
||||
if not self.tor_proc.poll():
|
||||
self.tor_proc.kill()
|
||||
self.tor_proc = None
|
||||
if stop_tor:
|
||||
# Stop tor process
|
||||
if self.tor_proc:
|
||||
self.tor_proc.terminate()
|
||||
time.sleep(0.2)
|
||||
if not self.tor_proc.poll():
|
||||
try:
|
||||
self.tor_proc.kill()
|
||||
except:
|
||||
pass
|
||||
self.tor_proc = None
|
||||
|
||||
# Reset other Onion settings
|
||||
self.connected_to_tor = False
|
||||
self.stealth = False
|
||||
self.service_id = None
|
||||
# Reset other Onion settings
|
||||
self.connected_to_tor = False
|
||||
self.stealth = False
|
||||
|
||||
try:
|
||||
# Delete the temporary tor data directory
|
||||
self.tor_data_directory.cleanup()
|
||||
except AttributeError:
|
||||
# Skip if cleanup was somehow run before connect
|
||||
pass
|
||||
try:
|
||||
# Delete the temporary tor data directory
|
||||
self.tor_data_directory.cleanup()
|
||||
except AttributeError:
|
||||
# Skip if cleanup was somehow run before connect
|
||||
pass
|
||||
|
||||
def get_tor_socks_port(self):
|
||||
"""
|
||||
|
@ -354,6 +354,8 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
||||
# Probably we had no port to begin with (Onion service didn't start)
|
||||
pass
|
||||
self.app.cleanup()
|
||||
# Remove ephemeral service, but don't disconnect from Tor
|
||||
self.onion.cleanup(stop_tor=False)
|
||||
self.filesize_warning.hide()
|
||||
self.stop_server_finished.emit()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user