diff --git a/client/dl-cli.py b/client/dl-cli.py index baeb386..bc5324b 100755 --- a/client/dl-cli.py +++ b/client/dl-cli.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals, print_function, generators import argparse +import secrets import io, sys from datetime import datetime @@ -73,6 +74,10 @@ def progress(download_t, download_d, upload_t, upload_d): c.FORM_FILENAME, filename.encode('utf8'))), ("msg", json.dumps({}))]) + if 'ticket_pass' in params and params['ticket_pass'] == 1: + msg['pass'] = secrets.token_urlsafe(16) + print(msg['pass']) + try: c.perform() except pycurl.error as e: @@ -212,6 +217,13 @@ def main(): die("fingerprint doesn't look like a valid hex-encoded SHA256 hash") cfg['fingerprint'] = 'sha256//' + binascii.b2a_base64(binascii.a2b_hex(fp))[:-1] + # Ticket password parameter + if 'ticket_pass' in cfg: + try: + cfg['ticket_pass'] = v.check('boolean', cfg['ticket_pass']) + except validate.ValidateError: + die("Value for \"ticket_pass\" in configuration file is not a boolean.") + try: if args.file: if len(args.file) == 1: