Commit Graph

791 Commits

Author SHA1 Message Date
Garrett Robinson
ea47e80f14 Add estimated time remaining to progress indicator
Estimates the time remaining for each download and displays it in the
progress bar. Waits for 10 seconds before showing the progress bar to
allow the download rate to stabilize, which prevents the estimated time
remaining from jumping all over the place at the start of the download
(a.k.a the "Windows copy dialog experience"). If your download takes
less than 10 seconds, you don't really need to see an ETA anyway.

This commit also refactors the Downloads class, splitting out the
download-specific functionality into a new Download class, providing
better encapsulation. As a result, I was able to simplify the call to
`update_download` because it was no longer necessary to pass the
`total_bytes` (which don't change after the download has begun).

Tested on Mac OS 10.9.
2015-12-23 01:05:30 -05:00
Garrett Robinson
9d5ba9b4f6 Revert to using wait_for_hs for ephemeral HS
Using `await_publication = True` blocks inside stem until the hidden
service is published, which makes OnionShare appear to hang. This is a
quick fix that reverts to using `wait_for_hs` for ephemeral hidden
services (as well as non-ephemeral hidden services), which avoids
blocking OnionShare.
2015-12-22 23:09:30 -05:00
Garrett Robinson
a54443084c Remove unnecessary status_bar.showMessage
status_bar.showMessage is already called with the same message at the
beginning of start_server, so there is no reason to call it again in the
try block.
2015-12-22 22:03:29 -05:00
Micah Lee
4cfffbf847 Don't access self.hs when using --local-only in GUI 2015-12-04 13:19:21 -08:00
Micah Lee
f4780813d6 Decorator is expecting argument to be named slug_candidate, not shutdown_slug_candidate (#200) 2015-12-04 13:17:45 -08:00
Micah Lee
ce79633eec "Stop sharing automatically" checkbox respected in GUI when toggled before the server is started (fixes #223) 2015-11-20 13:43:19 -08:00
Micah Lee
dc58921187 Add docstrings to all classes and methods (fix #198) 2015-11-15 19:01:20 -08:00
Micah Lee
fd39f84bff Merge branch 'master' into ephemeral
Conflicts:
	onionshare/helpers.py
	onionshare/onionshare.py
2015-11-15 15:35:59 -08:00
Micah Lee
ecb8128f91 Merge pull request #217 from effigies/ctrlq
Clean up and exit on Ctrl-Q
2015-11-08 12:52:12 -08:00
Micah Lee
d67ca2c406 Merge pull request #207 from lazlolazlolazlo/docstrings
Add some missing docstrings.
2015-11-08 12:44:30 -08:00
Christopher J. Markiewicz
89c363d247 Clean up and exit on Ctrl-Q 2015-11-06 20:43:37 -05:00
Micah Lee
55c4c0fac1 Updated onionshare-gui to support ephemeral hidden services 2015-09-08 18:12:24 -07:00
Micah Lee
bbee1599c5 Updated copyright year to 2015 2015-09-07 21:48:49 -07:00
Micah Lee
5d37d9b7b2 Removed all of the Tails-specific code. If we use ephemeral hidden services, we no longer need to touch the filesystem, and hopefully no longer need root in Tails. 2015-09-07 21:44:29 -07:00
Lazlo Westerhof
7446cee655 Fix some codestyle issues according to pep8. 2015-06-26 19:38:22 +02:00
Lazlo Westerhof
7fada800f3 Add some missing docstrings. 2015-06-25 21:55:29 +02:00
Micah Lee
19fac71a3e figure out the osx_resource_dir only once, to fix issue with cli version in OSX 2015-06-16 14:30:09 -07:00
Micah Lee
3073ec8a76 must load the window_icon before validation, because alert() requires it 2015-06-16 10:54:18 -07:00
Micah Lee
eb9dc99a19 URL display is no longer tiny, and window gets autoresized if URL is too big (fixes #183) 2015-05-18 11:05:33 -07:00
Micah Lee
a86cda4549 Ripping out dmg code, replacing pyinstaller with py2app for OSX -- still in progress (#151) 2015-05-15 16:56:22 -07:00
Micah Lee
669750be37 specify types in all str.format() calls (fixes #169) 2015-05-15 12:26:58 -07:00
Micah Lee
aab5ae31ab No longer duplicates human_readable_filesize functions. Closes #170 2015-05-14 14:40:55 -07:00
Thomas Waldmann
087102bde4 pep8: too long lines, reformat lines to < 120 chars. removed redundancy from long_description in setup.py.
note: pep8 usually recommends 80 chars, but I find that impractical and unnecessary - it's not 1980 any more when code was edited on 80x25 terminals.

i was a bit wondering about onionshare-launcher.py - it does a lot of imports, but does not use the imported names.
2014-11-18 18:59:48 +01:00
Thomas Waldmann
aa2b59ec5d pep8: 2 spaces before inline comments 2014-11-18 18:37:17 +01:00
Thomas Waldmann
63965fd2d9 pep8: blank after comma and colon 2014-11-18 18:35:09 +01:00
Thomas Waldmann
179eefae29 pep8: fix empty line counts
top level: 2, else 1

I also advice to not put "pass" into empty classes, but rather a docstring instead of "pass".
2014-11-18 18:29:32 +01:00
Micah Lee
f5ddd23b70 handles canceled downloads properly (fixes #81) 2014-09-22 20:22:30 +00:00
Micah Lee
43a24a19d2 split starting server status message into three verbose chunks 2014-09-22 19:19:24 +00:00
Micah Lee
15671ce1d9 remove trailing slash from filenames before adding, because getting basename on OSX fails otherwise 2014-09-22 12:03:50 -07:00
Micah Lee
4f6cff6503 warns about sending large files in GUI (#123) 2014-09-18 01:35:30 +00:00
Micah Lee
5b9176c9d4 combined Start Server and Stop Server buttons into a single button 2014-09-18 00:37:19 +00:00
Micah Lee
c159ef671d removed unused strings 2014-09-18 00:26:22 +00:00
Micah Lee
b1e48fa9bb Fixed drag & drop issue, and made drop here image work in Windows (fixes #129) 2014-09-17 15:48:19 -07:00
Micah Lee
89581b0a03 encode one way for CLI, encode another for GUI (#141) 2014-09-16 02:09:37 +00:00
Micah Lee
0a4ee35f5b fixes unicode filename display in GUI (#141) 2014-09-16 01:15:57 +00:00
Micah Lee
8cdecbcaf4 removing unnecessary whitespace 2014-09-16 00:22:14 +00:00
Micah Lee
d73d859fed fixed Windows/OSX image path problem, and updated NSIS Windows installer to install all the new .py files from refactoring 2014-09-04 13:20:39 -07:00
Micah Lee
3c071ce500 don't try stopping the web app if it hasn't started 2014-09-03 17:56:10 -07:00
Micah Lee
d00b296c47 moving image files into /usr/share instead of /usr/lib (fixes #126) 2014-09-03 17:50:06 -07:00
Micah Lee
8d01ad7ec6 moved images to subfolder (#126) 2014-09-03 17:36:03 -07:00
Lazlo Westerhof
7c9dbb0caf Fix missing window icon 2014-09-03 20:56:46 +02:00
Micah Lee
2c1534979e squash bug in closing Flask web server (fixes #131) 2014-09-03 00:11:25 -07:00
Micah Lee
4edcce9ece add utf-8 encoding to all .py files 2014-09-02 17:30:01 -07:00
Micah Lee
a6e99fcc21 added GPLv3 license to each source file 2014-09-02 12:10:42 -07:00
Micah Lee
c49cc75a55 fixed Tails bug where if you stopped server in GUI, you could not start a new server again 2014-08-30 01:42:17 +00:00
Micah Lee
cf52c2dcd0 fix bug caused by refactoring that made Tails launch infinite onionshare processes (oops) 2014-08-30 01:10:58 +00:00
Micah Lee
0858366e31 remove gui_mode from web app, because it is no longer useful 2014-08-29 16:06:13 -07:00
Micah Lee
e90d90b7d5 keep some status bar messages around for longer 2014-08-29 15:57:44 -07:00
Micah Lee
0a28ad4538 can't stop a server before it has finished starting 2014-08-29 15:50:19 -07:00
Micah Lee
d1cd3c83ab added status bar to GUI, populated it with useful status messages 2014-08-29 15:43:07 -07:00
Micah Lee
6688ced698 waits for hs to be ready in GUI too (#116) 2014-08-29 14:35:25 -07:00
Micah Lee
846b10b755 waits for hidden service before displaying URL. fixes #116 2014-08-29 14:32:19 -07:00
Micah Lee
36914114f9 sort the list of filenames being shared 2014-08-28 16:26:56 -07:00
Micah Lee
9ed128938f does starting server work in a separate thread to keep GUI responsive 2014-08-28 16:16:41 -07:00
Micah Lee
2da38ce775 catches exception when Tor is not open and trying to close server when it's not running 2014-08-28 00:01:55 -07:00
Micah Lee
fcdcfd7c39 added download progress bars to GUI, and made close automatically act as stop server automatically 2014-08-27 23:52:56 -07:00
Micah Lee
5325b7b173 made it so clicking Start Server actually starts the server, and made the URL fields hide/show appropriately, and the Copy URL button work 2014-08-27 19:07:15 -07:00
Micah Lee
349ca67cc9 server can be started and stopped from the GUI 2014-08-27 17:52:45 -07:00
Micah Lee
9cb1871b02 close automatically checkbox respects --stay-open argument again 2014-08-27 17:27:54 -07:00
Micah Lee
49eac35196 FileSelection and ServerStatus interact together, disabling buttons when appropriate 2014-08-27 17:24:44 -07:00
Micah Lee
db6600cb71 beginning Options layout 2014-08-27 16:46:19 -07:00
Micah Lee
e7af77b3f7 beginning Downloads layout 2014-08-27 16:43:18 -07:00
Micah Lee
d519e62b93 beginning ServerStatus layout 2014-08-27 16:11:43 -07:00
Micah Lee
78f6c31061 beginning to refactor onionshare_gui to work with multiple files (#66) 2014-08-27 14:21:08 -07:00
Micah Lee
1f7c85a837 removed unnecessary image, and deleted onionshare_gui/static folder 2014-08-27 13:54:59 -07:00
Micah Lee
eebcdfb81e refactored onionshare_gui to work with new refactored onionshare 2014-08-26 19:04:39 -07:00
Micah Lee
805522be36 Merge branch 'master' of https://github.com/canerbasaran/onionshare into canerbasaran-master
Conflicts:
	onionshare_gui/onionshare_gui.py
2014-08-26 16:59:48 -07:00
Micah Lee
0bc778437d refactored cleanup handlers to use a queue, so they will work with the GUI 2014-08-26 15:44:44 -07:00
Micah Lee
ab9e69b573 Merge pull request #111 from lazlolazlolazlo/localhost
Fix displaying of local host
2014-08-26 15:19:44 -07:00
Lazlo Westerhof
fe92ca4311 Fix displaying of local host 2014-08-23 00:01:44 +02:00
Lazlo Westerhof
1366d45e65 Fix close automatically 2014-08-22 23:07:39 +02:00
Micah Lee
4284476902 moved several english strings into strings.json for translation 2014-08-20 14:45:24 -07:00
Micah Lee
6617063143 in Tails, root stuff is launched in separate process in GUI (#96) 2014-08-20 21:30:28 +00:00
Lazlo Westerhof
5b8f3f777b Remove old webapp files 2014-08-14 16:41:07 +02:00
Lazlo Westerhof
141707785f First working version of native qt app 2014-08-14 16:37:33 +02:00
brn
85c72f1980 Solved Issue #80 UnicodeEncodeError 2014-08-01 20:04:17 +03:00
Micah Lee
542cec15c6 add Content-Security-Policy so if there are other xss vulns they won't execute 2014-07-16 02:19:22 -07:00
Micah Lee
d9aa55b991 fixed critical XSS bug that can deanonymize user 2014-07-15 19:13:44 -07:00
Micah Lee
2edde2eb1f Encoded strings passed to constant_time_compare as ascii, because it was
throwing errors in OSX. Also added --debug to command line version, and made onionshare server
log errors as well as the GUI.
2014-07-07 17:01:51 -07:00
Anton Nesterov
1a8a42a43d Add Russian translation (and make "Copy URL" translatable) 2014-06-29 03:11:04 +04:00
Micah Lee
126200c9c1 Merge pull request #62 from enotodden/master
Add new norwegian strings and  fix unicode issues.
2014-06-26 16:05:21 -07:00
Micah Lee
6503f2afa1 implemeted debug mode. fixes #50 2014-06-26 19:02:59 -04:00
Espen Kåsa Notodden
4e5eb62dca Merge branch 'master' of https://github.com/micahflee/onionshare 2014-06-26 22:51:20 +02:00
Espen Kåsa Notodden
10f8600e54 use the translated() function in onionshare_gui 2014-06-26 22:37:25 +02:00
Micah Lee
5f627dc9e4 passing webapp the debug flag (#50) 2014-06-26 14:56:29 -04:00
Micah Lee
d0d4cebbff fixed bug where hidden service still closed even if "close automatically" unchecked in GUI (#58) 2014-06-26 14:45:18 -04:00
Micah Lee
8fce3adeb5 made --stay-open work in GUI (#58) 2014-06-26 14:31:29 -04:00
Micah Lee
c74e259fb4 made --local-only work in GUI (#58) 2014-06-26 14:26:41 -04:00
Micah Lee
2b8be2781c adding argparse to GUI (#58, also #50) 2014-06-26 14:22:32 -04:00
Micah Lee
9db3ca59c8 made pyinstaller work for OSX (#43) 2014-06-25 14:42:39 -07:00
Micah Lee
cf7d04099e made pyinstaller work for windows (#35) 2014-06-24 17:23:10 -04:00
Micah Lee
fc13ef5707 merging in relevant work from #59 2014-06-24 15:08:39 -04:00
Micah Lee
272092f877 can now run onionshare_gui.py without building (fixes #51) 2014-06-22 00:54:44 -04:00
Micah Lee
d8dbbcc42a made copy to clipboard work in windows. fixes #46 2014-06-21 20:29:26 -04:00
Micah Lee
98bb6c387a made logs display reverse chronological, so no need to autoscroll the log window 2014-06-21 15:20:10 -04:00
Micah Lee
ce15a79302 window icon works now. fixes #49 2014-06-20 21:15:46 -04:00
Micah Lee
ef1767f350 adding window icon (#49) 2014-06-20 20:57:32 -04:00
Micah Lee
7d537cde6f Building a .exe now successfully works (#35) 2014-06-20 01:42:53 -04:00
Micah Lee
31ec0c11d5 make auto-close checkbox look better in ubuntu 2014-06-19 21:21:41 -07:00
Micah Lee
38f073b6c7 start QApplication before doing other Qt stuff 2014-06-19 21:13:55 -07:00
Micah Lee
f0e170913a set Qt.AA_X11InitThreads in Linux, to prevent horrible thread-related crashes 2014-06-19 23:00:36 -04:00
Micah Lee
9ff94d3ca4 resort to static height, to put the scrollbar in the right place 2014-06-19 22:39:48 -04:00
Micah Lee
4c80591cc0 clean up onionshare_gui to be more Qt-ish 2014-06-19 21:46:22 -04:00
Micah Lee
b7cf6570e9 fixed css border 2014-06-19 21:45:32 -04:00
Micah Lee
a11338f9ec css tweak 2014-06-19 21:20:42 -04:00
Micah Lee
800a4edb6e start the webapp thread in a QThread instead of using threading 2014-06-19 21:16:22 -04:00
Micah Lee
3e65bf7884 working on making the scrollbar appear in the right place 2014-06-19 20:47:09 -04:00
Micah Lee
5865fd60ea set window title, resize window by default 2014-06-19 20:28:55 -04:00
Micah Lee
f18543d7c7 changed css to fit any window size 2014-06-19 17:51:17 -04:00
Micah Lee
f3e31cab31 added error logging into webapp 2014-06-19 16:59:36 -04:00
Micah Lee
03d2053eff ported alert to Qt 2014-06-19 16:51:40 -04:00
Micah Lee
ff7791939b ported select_file to Qt 2014-06-19 16:36:49 -04:00
Micah Lee
1c59072a2b beginning to rip out gtk and replace with Qt 2014-06-19 16:19:46 -04:00
Micah Lee
e72f66b73a added filename to title bar (fixes #45) 2014-06-11 21:33:52 -04:00
Micah Lee
6547b01bb5 improved GUI layout, so there is less word-wrapping of long strings of hex 2014-06-11 21:31:37 -04:00
Micah Lee
86d835f291 onionshare closes automatically (if box is checked) when download finishes. fixes #36 2014-06-11 20:53:19 -04:00
Micah Lee
de0e8f9eb0 when a download completes it is marked as complete (#36) 2014-06-11 20:05:26 -04:00
Micah Lee
1cc817db3c renamed check_for_requests to heartbeat, and made the heartbeat serve all items in the queue instead of just the latest (#36) 2014-06-11 19:55:28 -04:00
Micah Lee
68bba73a8c added progress download progress notifications (#36) 2014-06-11 19:45:10 -04:00
Micah Lee
7902a3857d open the webapp port on tails as well (#42) 2014-06-10 22:10:40 +00:00
Micah Lee
a44216428f onionshare-gui forces root in Tails now too, and file chooser defaults to ~/ (#42) 2014-06-10 22:07:53 +00:00
Micah Lee
5f3789eb5e made GUI design look way nicer 2014-06-09 21:07:18 -04:00
Micah Lee
6603f3be39 remaking the GUI 2014-06-08 13:15:39 -04:00
Micah Lee
c8f3632fa4 added new english strings for GUI 2014-06-06 22:00:18 -04:00
Micah Lee
927282a432 displays web logs in GUI now. fixes #33 2014-06-06 21:54:08 -04:00
Micah Lee
67ea5b5c2c refactored GUI to use a second flask server for communication 2014-06-06 21:20:57 -04:00
Micah Lee
9daa475cc0 removed #! lines, since onionshare_gui.py and webgui.py aren't executable 2014-06-06 18:05:29 -04:00
Micah Lee
1a6f08a846 waiting slightly longer for webkit to initialize, because sometimes it's not ready after 0.1 sec 2014-05-31 20:16:03 -04:00
Micah Lee
cebdb27a0d default to not printing debug data 2014-05-30 23:17:15 -04:00
Micah Lee
906eeccb54 running async startup work in a separate thread, and design tweaks 2014-05-30 23:12:52 -04:00
Micah Lee
23f9a577fe made a "Copy URL" button, and improved design 2014-05-30 22:29:07 -04:00
Micah Lee
6ad85f3e64 onionshare-gui automatically copies URL to clipboard 2014-05-30 21:43:04 -04:00
Micah Lee
4868a9155b started web server in separate thread. organized file info, so it can be set from both cli and gui. 2014-05-30 21:25:26 -04:00
Micah Lee
837533e9c6 gui now handles NoTor successfully, and cleaned up business logic in both cli and gui 2014-05-30 21:03:53 -04:00
Micah Lee
90244d18f2 added ability for onionshare_gui to alert messages, and made selecting filename less brittle 2014-05-30 20:46:24 -04:00
Micah Lee
fa433b6144 removed unused my_quit_wrapper function, and run tails shutdown code 2014-05-29 23:27:40 -04:00
Micah Lee
9d7689f578 starting to build onionshare functionality into GUI 2014-05-29 23:23:40 -04:00
Micah Lee
3deab0dc40 rearranged onionshare_gui files, made it work better with packaging 2014-05-29 22:53:35 -04:00
Micah Lee
d3c4bb3e93 created a working web gui with message passing 2014-05-29 22:31:28 -04:00
Micah Lee
0f53d45489 making a webkit GUI, roughly based on http://www.aclevername.com/articles/python-webgui/ 2014-05-29 21:05:30 -04:00
Micah Lee
74678603ab made onionshare_gui its own python package 2014-05-29 19:24:19 -04:00