mirror of
https://github.com/onionshare/onionshare.git
synced 2025-08-13 16:45:52 -04:00
refactored GUI to use a second flask server for communication
This commit is contained in:
parent
9daa475cc0
commit
67ea5b5c2c
12 changed files with 177 additions and 193 deletions
46
onionshare_gui/webapp.py
Normal file
46
onionshare_gui/webapp.py
Normal file
|
@ -0,0 +1,46 @@
|
|||
from flask import Flask, render_template
|
||||
import threading, json, os, gtk
|
||||
|
||||
onionshare = None
|
||||
onionshare_port = None
|
||||
filename = None
|
||||
onion_host = None
|
||||
|
||||
clipboard = gtk.clipboard_get(gtk.gdk.SELECTION_CLIPBOARD)
|
||||
url = None
|
||||
|
||||
app = Flask(__name__, template_folder='./templates')
|
||||
|
||||
@app.route("/")
|
||||
def index():
|
||||
return render_template('index.html')
|
||||
|
||||
@app.route("/start_onionshare")
|
||||
def start_onionshare():
|
||||
global onionshare, onionshare_port, filename, onion_host, url
|
||||
|
||||
url = 'http://{0}/{1}'.format(onion_host, onionshare.slug)
|
||||
|
||||
basename = os.path.basename(filename)
|
||||
filehash, filesize = onionshare.file_crunching(filename)
|
||||
onionshare.set_file_info(filename, filehash, filesize)
|
||||
|
||||
# start onionshare service in new thread
|
||||
t = threading.Thread(target=onionshare.app.run, kwargs={'port': onionshare_port})
|
||||
t.daemon = True
|
||||
t.start()
|
||||
|
||||
return json.dumps({
|
||||
'strings': onionshare.strings,
|
||||
'basename': basename,
|
||||
'filehash': filehash,
|
||||
'filesize': filesize,
|
||||
'url': url
|
||||
})
|
||||
|
||||
@app.route("/copy_url")
|
||||
def copy_url():
|
||||
global clipboard
|
||||
clipboard.set_text(url)
|
||||
return ''
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue