mirror of
https://github.com/onionshare/onionshare.git
synced 2024-10-01 01:35:40 -04:00
Make tor data dir always be a tempdir inside OnionShare's data dir
This commit is contained in:
parent
66e50c96b8
commit
4934032144
@ -123,6 +123,23 @@ class Common(object):
|
|||||||
|
|
||||||
return (tor_path, tor_geo_ip_file_path, tor_geo_ipv6_file_path, obfs4proxy_file_path)
|
return (tor_path, tor_geo_ip_file_path, tor_geo_ipv6_file_path, obfs4proxy_file_path)
|
||||||
|
|
||||||
|
def build_data_dir(self):
|
||||||
|
"""
|
||||||
|
Returns the path of the OnionShare data directory.
|
||||||
|
"""
|
||||||
|
if self.platform == 'Windows':
|
||||||
|
try:
|
||||||
|
appdata = os.environ['APPDATA']
|
||||||
|
return '{}\\OnionShare'.format(appdata)
|
||||||
|
except:
|
||||||
|
# If for some reason we don't have the 'APPDATA' environment variable
|
||||||
|
# (like running tests in Linux while pretending to be in Windows)
|
||||||
|
return os.path.expanduser('~/.config/onionshare')
|
||||||
|
elif self.platform == 'Darwin':
|
||||||
|
return os.path.expanduser('~/Library/Application Support/OnionShare')
|
||||||
|
else:
|
||||||
|
return os.path.expanduser('~/.config/onionshare')
|
||||||
|
|
||||||
def build_slug(self):
|
def build_slug(self):
|
||||||
"""
|
"""
|
||||||
Returns a random string made from two words from the wordlist, such as "deter-trig".
|
Returns a random string made from two words from the wordlist, such as "deter-trig".
|
||||||
|
@ -166,13 +166,8 @@ class Onion(object):
|
|||||||
raise BundledTorNotSupported(strings._('settings_error_bundled_tor_not_supported'))
|
raise BundledTorNotSupported(strings._('settings_error_bundled_tor_not_supported'))
|
||||||
|
|
||||||
# Create a torrc for this session
|
# Create a torrc for this session
|
||||||
if self.common.platform == 'Darwin':
|
self.tor_data_directory = tempfile.TemporaryDirectory(dir=self.common.build_data_dir())
|
||||||
group_container_dir = os.path.expanduser('~/Library/Group Containers/com.micahflee.onionshare')
|
self.common.log('Onion', 'connect', 'tor_data_directory={}'.format(self.tor_data_directory.name))
|
||||||
os.makedirs(group_container_dir, exist_ok=True)
|
|
||||||
self.tor_data_directory = tempfile.TemporaryDirectory(dir=group_container_dir)
|
|
||||||
self.common.log('Onion', 'connect', 'tor_data_directory={}'.format(self.tor_data_directory.name))
|
|
||||||
else:
|
|
||||||
self.tor_data_directory = tempfile.TemporaryDirectory()
|
|
||||||
|
|
||||||
# Create the torrc
|
# Create the torrc
|
||||||
with open(self.common.get_resource_path('torrc_template')) as f:
|
with open(self.common.get_resource_path('torrc_template')) as f:
|
||||||
|
@ -120,19 +120,7 @@ class Settings(object):
|
|||||||
"""
|
"""
|
||||||
Returns the path of the settings file.
|
Returns the path of the settings file.
|
||||||
"""
|
"""
|
||||||
p = platform.system()
|
return os.path.join(self.common.build_data_dir(), 'onionshare.json')
|
||||||
if p == 'Windows':
|
|
||||||
try:
|
|
||||||
appdata = os.environ['APPDATA']
|
|
||||||
return '{}\\OnionShare\\onionshare.json'.format(appdata)
|
|
||||||
except:
|
|
||||||
# If for some reason we don't have the 'APPDATA' environment variable
|
|
||||||
# (like running tests in Linux while pretending to be in Windows)
|
|
||||||
return os.path.expanduser('~/.config/onionshare/onionshare.json')
|
|
||||||
elif p == 'Darwin':
|
|
||||||
return os.path.expanduser('~/Library/Application Support/OnionShare/onionshare.json')
|
|
||||||
else:
|
|
||||||
return os.path.expanduser('~/.config/onionshare/onionshare.json')
|
|
||||||
|
|
||||||
def build_default_downloads_dir(self):
|
def build_default_downloads_dir(self):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user