diff --git a/t0reg.py b/t0reg.py index 02d0759..51a984a 100644 --- a/t0reg.py +++ b/t0reg.py @@ -1,61 +1,69 @@ -# t0txt - txt.t0.vc +# t0reg - reg.t0.vc # MIT License import random -import shelve import string from flask import abort, Flask, request, redirect -DB = 'data/t0txt' -PORT = 5002 -URL = 'https://txt.t0.vc' -POST = 'txt' +PORT = 5005 +URL = 'https://reg.t0.vc' +POST = 'reg' -def help(): +registers = {} + +def help(nid): form = ( '
'.format(URL, POST) + '' + '- txt.t0.vc + reg.t0.vc NAME - t0txt: command line pastebin. + t0reg: command line key-value registers USAGE <command> | curl -F '{0}=<-' {1} or upload from the web: {2} + The key {0} was randomly chosen for you. DESCRIPTION - I got sick of sprunge.us always going down, so I built this + This lets you POST data to a key of your choice. + You can then GET the data at that key. + This is useful for moving data / files between servers. + All the data is stored temporarily. + Make your key random if you don't want people guessing. EXAMPLES - ~$ cat yourfile | curl -F '{0}=<-' {1} - {1}/MOJV - ~$ firefox {1}/MOJV + ~$ echo "hello world" | curl -F '{0}=<-' {1} + ~$ curl {1}/{0} + hello world Add this to your .bashrc: - alias {0}=" \\ - sed -r 's/\x1B\[([0-9]{{1,2}}(;[0-9]{{1,2}})?)?[m|K]//g' \\ - | curl -F '{0}=<-' {1}" + alias push="curl -F '{0}=<-' {1}" + alias pull="curl {1}/{0}" + + Now you can pipe directly into push! + Get the data back with pull. - Now you can pipe directly into {0}! Sed removes colours. + To move a file: + ~$ cat kitten.jpg | base64 | push + ~$ pull | base64 -d > kitten.jpg SOURCE CODE - https://txt.t0.vc/GPBV - https://github.com/tannercollin/t0txt + https://txt.t0.vc/SBSU SEE ALSO + https://txt.t0.vc https://pic.t0.vc https://url.t0.vc - http://github.com/rupa/sprunge -""".format(POST, URL, form) +""".format(nid, URL, form) def new_id(): return ''.join(random.choice(string.ascii_uppercase) for _ in range(4)) @@ -64,35 +72,27 @@ flask_app = Flask(__name__) @flask_app.route('/', methods=['GET']) def index(): - return '{}'.format(help()) + return '{}'.format(help(new_id())) @flask_app.route('/', methods=['POST']) def new(): try: - with shelve.open(DB) as db: - nid = new_id() - while nid in db: - nid = new_id() - - txt = request.form['txt'] - if not txt: raise - db[nid] = txt - - print('Adding note {}:\n{}'.format(nid, txt)) + pairs = [x for x in request.form.items() if x[0] != 'web'] + for key, value in pairs: + print('Adding:', key) + registers[key] = value - url = '{}/{}'.format(URL, nid) if 'web' in request.form: - return redirect(url) + return redirect(URL + '/' + key) else: - return url + '\n' + return '', 200 except: abort(400) -@flask_app.route('/