Commit Graph

270 Commits

Author SHA1 Message Date
Micah Lee
18ad436ee2 Move OnionShareGui into its own file, so __init__ is just GUI logic 2017-04-17 19:36:02 -07:00
Micah Lee
bb990ff574 Removed transparent_torification from the full app, and refactored OnionShare class to get passed in an Onion, and doesn't get passed in stealth. 2017-04-17 19:12:02 -07:00
Micah Lee
dff13d9568 Made automatic check for update in a separate thread work 2017-04-17 13:22:33 -07:00
Micah Lee
da70c71d8a Make UpdateChecker use signals and slots to communicate tor status messages. And make the latest version http request differentiate between automatic requests and forced requests 2017-04-17 13:03:16 -07:00
Micah Lee
dc1418cc3b Added UpdateThread to update_checker module, which checks for updates in a separate thread. And started implementing this in the OnionShareGui class, but have no finished 2017-04-15 19:07:02 -07:00
Micah Lee
47c1488512 Refactor UpdateChecker into a class that's a QObject, and make it use signals and slots to communicate 2017-04-15 18:55:41 -07:00
Micah Lee
ca16600d29 Handle UpdateCheckerSOCKSHTTPError exception in the update_checker module 2017-04-15 18:15:01 -07:00
Micah Lee
a116d3ae60 Created update_checker module, and logic to load http://elx57ue5uyfplgva.onion/latest-version.txt (this is the OnionShare website's onion site) to check for updates. Also added UX in the settings dialog to force checking for updates. Does not actually do so automatically yet. 2017-04-15 18:04:05 -07:00
Micah Lee
fa12784f8b Added Tor SOCKS address and port settings 2017-04-15 16:33:41 -07:00
Micah Lee
4b11bd00c5 Added autoupdate settings to Settings, and also to the settings dialog 2017-04-15 15:24:08 -07:00
Micah Lee
62cc310d0a Rearranged settings layout so that all Tor-related settings are inside of the 'How should OnionShare connect to Tor?' box, including the Test Tor Settings button 2017-04-15 13:05:11 -07:00
Micah Lee
d5cae26b3e Change color of tor_status label in settings dialog to not be red, because nothing is actually wrong 2017-04-15 11:50:41 -07:00
Micah Lee
a462c567ff Added onionshare logo as settings window icon 2017-04-14 18:37:26 -07:00
Micah Lee
ffc2e23981
Connecting to Tor now times out of 10 seconds 2017-04-14 10:00:56 -07:00
Micah Lee
1fa88c3d07
Add Tor connection status to the main window status bar 2017-04-13 23:08:25 -07:00
Micah Lee
80d475f65b
In the settings dialog, show Tor connection status when the connection type is bundled 2017-04-13 22:56:47 -07:00
Micah Lee
169be518eb
Connecting to Tor in bundled mode now creates a temporary tor data dir, starts a new tor process, and connects to it. Also, refactored Settings dialog to allow Linux to use bundled tor as well 2017-04-13 22:22:34 -07:00
Micah Lee
dc82a99d2a Created a TorDialog class, and beginning to subprocess out to tor.exe 2017-04-08 19:00:31 -07:00
Micah Lee
da225ed7d1 Started to implement Bundled Tor connection settings 2017-04-08 18:10:17 -07:00
Micah Lee
8280b1b5d8 Add bundled Tor to Tor connection settings, and make it only work in Windows and Mac, and not in dev mode 2017-04-08 17:48:58 -07:00
Micah Lee
2053c6fab2 Make onionshare respect settings that come from the Settings object, instead of the options dialog 2017-04-08 15:05:50 -07:00
Micah Lee
e71cdd6c8e Remove options from the main window 2017-04-08 14:50:17 -07:00
Micah Lee
848d8db34e Added close_after_first_download and use_stealth to settings, and also to the GUI settings dialog 2017-04-08 13:42:07 -07:00
Micah Lee
34301d3088
Catch Tor protocol error exceptions when starting an onion service (#344) 2017-02-22 16:45:52 -08:00
Micah Lee
6370139d2e
Rip out support for non-ephemeral onion services 2017-02-22 14:10:06 -08:00
Micah Lee
12acb893f8
Add new AuthenticationFailure exception, and make the Onion/stem code catch more exceptions when connecting to a Tor controller 2017-01-07 17:31:26 -08:00
Micah Lee
db052ce85f
Moved onionshare and onionshare_gui logic directly into __init__.py files 2017-01-06 19:00:08 -08:00
Micah Lee
f8005a63ea
Change GPL copyright from 2016 to 2017 2017-01-06 18:58:15 -08:00
Micah Lee
0ab29ff8af
When a share is active, disable the full advanced options group, not just the stealth checkbox 2016-12-29 14:35:57 -08:00
Micah Lee
cd63dc37f1
Remove the alert function, replace it with the Alert class 2016-12-29 14:23:19 -08:00
Micah Lee
a0abab3653
Make automatic settings work with with Tor Browser 6.0.8 2016-12-29 12:57:58 -08:00
Micah Lee
fa7bec2fae
Handle new Tor controller errors in GUI 2016-12-29 10:34:40 -08:00
Micah Lee
b8e797049b
Display information about tor when testing settings is successful 2016-12-29 10:03:29 -08:00
Micah Lee
19d020f245
Onion now connects to the Tor controller using the settings in Settings (except automatic still needs some work), and the settings dialog handles error when testing settings 2016-12-29 09:58:13 -08:00
Micah Lee
943e23658e
Created an alert class, so other parts of the GUI can make alert popups 2016-12-29 09:57:27 -08:00
Micah Lee
5bfa4da648
Refactor Settings object so it does not load from file by default. Make it so you can pass a Settings into Onion, to test settings 2016-12-29 08:02:32 -08:00
Micah Lee
9462b7d05f
Clicking Save in the settings dialog saves settings 2016-12-28 20:03:32 -08:00
Micah Lee
25109c8a66
Created a Settings object, which loads and saves settings to file, and made the Settings dialog use the settings from this object 2016-12-28 19:52:21 -08:00
Micah Lee
cc78074a72
Designed the GUI settings dialog, but none of it does anything yet 2016-12-28 18:44:41 -08:00
Micah Lee
00b0ce443c
Add a menu bar, with a stub for Settings, and Quit 2016-12-28 15:55:31 -08:00
Micah Lee
0e44a2e1fc
When you uncheck the advanced options checkbox, also uncheck all advanced options 2016-12-28 14:43:47 -08:00
Micah Lee
a56c9b56a6
Put stealth option in a separate advanced group, in anticipation of other advanced options 2016-12-28 09:55:14 -08:00
Sigma
4f9016ff51 Fix for zipprogress bar qwidget access from a thread, which is invalid as qwidgets are neither reentrant nor thread safe. Fixes issue #334 2016-12-26 12:57:18 -08:00
Micah Lee
6eed7258a7
Properly handle errors for using stealth onion services in the GUI, instead of crashing in the background (#144) 2016-12-23 19:08:18 -08:00
Micah Lee
286573bda5
Added support for stealth onion services in the GUI version 2016-12-22 17:47:05 -08:00
Micah Lee
eb00a29ca7
Merge branch 'master' of https://github.com/eightnoteight/onionshare into eightnoteight-master
Conflicts:
	onionshare/web.py
	onionshare_gui/onionshare_gui.py
	resources/locale/cs.json
	resources/locale/eo.json
	resources/locale/nl.json

This merge required quite a bit of refactoring because.
2016-12-22 16:00:06 -08:00
Micah Lee
4bafd1eb2a
Hide downloads progress bars until download starts, and improve the look of progress bar display 2016-12-22 15:15:37 -08:00
Micah Lee
28df4e40c5
Merge branch 'wrap-progress-bar' of https://github.com/choltz95/onionshare into choltz95-wrap-progress-bar 2016-12-22 14:43:03 -08:00
Micah Lee
373f24e64b
Sleep between launching threads in onionshare-gui, preventing a cx_Freeze crash related to loading the same modules in multiple threads while they're locked 2016-09-06 13:27:59 -07:00
Micah Lee
7a46336149
Enable stdout in Windows, OSX CLI versions (#305) 2016-09-06 12:09:10 -07:00
Micah Lee
590edc5d6d Make onionshare GUI use separate thread for starting onion service with await_publication=True, to avoid non-responsive window 2016-09-05 12:29:58 -07:00
Micah Lee
b7d1a7339c
Refactor onionshare GUI to use await_publication=True when using ephemeral onion services 2016-09-05 11:36:41 -07:00
Micah Lee
1372239ed7
Renamed hs to onion 2016-09-05 11:16:54 -07:00
Micah Lee
bba46e088f
Merge branch 'master' into cx_Freeze 2016-09-04 17:23:27 -07:00
Micah Lee
dbf4af02ac Pass helpers into strings.load_strings instead of importing it, so fix issue with cx_Freeze in Windows 2016-09-04 20:09:18 -07:00
Micah Lee
310d861ce0
Stop saying 'hidden service', start saying 'onion service' 2016-09-04 17:23:06 -07:00
Srinivas Devaki
3b11f4d382 small refactoring 2016-08-24 02:15:58 +05:30
Srinivas Devaki
c570d7ea77 added progress bar for zipping files 2016-08-24 01:43:21 +05:30
choltz95
6379ca5e48 very poor auto scrolling 2016-08-02 23:46:13 -04:00
choltz95
d0f085f756 reorganize, add comment 2016-08-02 16:43:40 +00:00
choltz95
b1dd45a94b wrap progress bar 2016-08-02 01:43:17 -04:00
Micah Lee
d35b5a9acd Added rate-limiting to GUI. After 20 404 errors, server automatically stops (#238) 2016-04-12 16:49:46 -07:00
Micah Lee
e81f809882 Move all resources (locale, images, html, version.txt) into central resources dir, and clean up logic to find absolute paths to resources 2016-04-12 15:14:02 -07:00
Micah Lee
ef5665b050 Switched from py2app to PyInstaller for Windows. Renamed version to version.txt, to avoid Windows namespace collision with version.dll. 2016-04-11 23:25:40 -07:00
Micah Lee
229603eb7d Localize quit confirm button text (#264) 2016-04-11 10:08:24 -07:00
Micah Lee
cb3d39fb4f Confirm when user tries to close the GUI window (fixes #264) 2016-04-10 19:28:22 -07:00
Micah Lee
7b8e9e1e6f Closing the GUI window causes any current download to stop immediately (fixes #262) 2016-04-10 17:43:37 -07:00
Micah Lee
00d1e29333 Switch from py2app to PyInstaller 2016-04-10 14:20:18 -07:00
Micah Lee
3b638cfd99 Made URL label no longer word-wrap 2016-04-10 13:33:16 -07:00
Micah Lee
683610e962 Update copyright year to 2016 2016-02-15 22:37:28 -08:00
Micah Lee
d1c36fa04f Got python3/Qt5 port working in Windows, but still need to finish packaging (#261) 2016-02-15 13:06:12 -08:00
Micah Lee
deac54db92 Made sure switch to python3 and Qt5 works in OSX (#261). Updated OSX instructions in BUILD.md. 2016-02-12 15:45:26 -08:00
Micah Lee
62c69c4c0b Porting onionshare GUI from python2 to python3, and also from PyQt4 to PyQt5 (#261). This commit ports onionshare_gui. 2016-02-12 15:12:27 -08:00
Micah Lee
e199946a8d Display version string automatically in CLI, and in the status bar in GUI (#251) 2016-02-12 11:00:35 -08:00
Micah Lee
d987a23c40 Removed references to Tails, since it is not yet supported until #220 is resolved 2016-02-12 09:32:11 -08:00
Micah Lee
41b3e6ab9d Added estimated time remaining strings to English locale file 2016-02-12 08:58:29 -08:00
Micah Lee
3c3ea6faf3 Merge branch 'eta' of https://github.com/garrettr/onionshare into garrettr-eta 2016-02-12 08:36:46 -08:00
Micah Lee
4c40b89faf Merge pull request #245 from garrettr/wait-for-ephemeral-hs
Revert to using wait_for_hs for ephemeral HS
2016-01-05 18:37:44 -08:00
Garrett Robinson
e9eed561d6 Add time elapsed for completed downloads 2015-12-23 01:21:40 -05:00
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