diff options
author | Miguel Jacq <mig@mig5.net> | 2018-01-15 10:01:34 +1100 |
---|---|---|
committer | Miguel Jacq <mig@mig5.net> | 2018-01-15 10:01:34 +1100 |
commit | 3e7d4c64ffff73b03779860d1d3423e126852690 (patch) | |
tree | 5a9efbe4aab57cc94f0f70279ebcbdb1c0ab3ba4 /onionshare | |
parent | 448f6af7968757b42f339877098f832a5a282217 (diff) | |
download | onionshare-3e7d4c64ffff73b03779860d1d3423e126852690.tar.gz onionshare-3e7d4c64ffff73b03779860d1d3423e126852690.zip |
Save the slug when using a persistent private key
Diffstat (limited to 'onionshare')
-rw-r--r-- | onionshare/__init__.py | 14 | ||||
-rw-r--r-- | onionshare/settings.py | 1 | ||||
-rw-r--r-- | onionshare/web.py | 11 |
3 files changed, 20 insertions, 6 deletions
diff --git a/onionshare/__init__.py b/onionshare/__init__.py index 99beb0e0..a3474da9 100644 --- a/onionshare/__init__.py +++ b/onionshare/__init__.py @@ -23,7 +23,7 @@ import os, sys, time, argparse, threading from . import strings, common, web from .onion import * from .onionshare import OnionShare - +from .settings import Settings def main(cwd=None): """ @@ -77,6 +77,10 @@ def main(cwd=None): if not valid: sys.exit() + + settings = Settings(config) + settings.load() + # Start the Onion object onion = Onion() try: @@ -108,7 +112,7 @@ def main(cwd=None): print('') # Start OnionShare http service in new thread - t = threading.Thread(target=web.start, args=(app.port, app.stay_open)) + t = threading.Thread(target=web.start, args=(app.port, app.stay_open, settings.get('slug'))) t.daemon = True t.start() @@ -120,6 +124,12 @@ def main(cwd=None): if app.shutdown_timeout > 0: app.shutdown_timer.start() + # Save the web slug if we are using a persistent private key + if settings.get('save_private_key'): + if not settings.get('slug'): + settings.set('slug', web.slug) + settings.save() + if(stealth): print(strings._("give_this_url_stealth")) print('http://{0:s}/{1:s}'.format(app.onion_host, web.slug)) diff --git a/onionshare/settings.py b/onionshare/settings.py index e87638f1..e8103757 100644 --- a/onionshare/settings.py +++ b/onionshare/settings.py @@ -63,6 +63,7 @@ class Settings(object): 'autoupdate_timestamp': None, 'save_private_key': False, 'private_key': '', + 'slug': '', 'hidservauth_string': '' } self._settings = {} diff --git a/onionshare/web.py b/onionshare/web.py index 03da8fd7..3eef67c7 100644 --- a/onionshare/web.py +++ b/onionshare/web.py @@ -128,9 +128,12 @@ def add_request(request_type, path, data=None): slug = None -def generate_slug(): +def generate_slug(persistent_slug=''): global slug - slug = common.build_slug() + if persistent_slug: + slug = persistent_slug + else: + slug = common.build_slug() download_count = 0 error404_count = 0 @@ -383,11 +386,11 @@ def force_shutdown(): func() -def start(port, stay_open=False): +def start(port, stay_open=False, persistent_slug=''): """ Start the flask web server. """ - generate_slug() + generate_slug(persistent_slug) set_stay_open(stay_open) |