Commit Graph

632 Commits

Author SHA1 Message Date
Miguel Jacq
a12f9ed4d8
cleanup the ephemeral hidden service when GUI server is stopped, but don't disconnect from Tor 2017-12-07 16:10:52 +11:00
Miguel Jacq
e7dd78dba7
cleanup the ephemeral hidden service when GUI server is stopped, but don't disconnect from Tor 2017-12-07 16:08:03 +11:00
Miguel Jacq
d69e93a5ba
emit to the status bar when the private key is saved to disk 2017-12-07 13:02:56 +11:00
Miguel Jacq
3a056803a9
Optionally save the private key of a running share to settings for reuse 2017-12-07 12:45:34 +11:00
Micah Lee
ed2c55c097
Merge branch 'no_available_port_error' of https://github.com/mig5/onionshare into mig5-no_available_port_error 2017-12-06 16:14:21 -08:00
Miguel Jacq
0aacfae925
Raise an error if we were unable to obtain a random port 2017-12-07 08:49:10 +11:00
Miguel Jacq
d500069398
Actually still uncheck the timer when the server stops, but *only* when it stops 2017-12-06 10:21:39 +11:00
Miguel Jacq
bddb9596d1
Don't uncheck the auto-stop timer when the server stops (adding new files before starting the share will otherwise uncheck it) 2017-12-06 10:02:22 +11:00
Micah Lee
58ec047a53
Merge branch '447_reload_tor_if_not_connected_and_settings_cancelled' of https://github.com/mig5/onionshare into mig5-447_reload_tor_if_not_connected_and_settings_cancelled 2017-12-05 14:05:16 -08:00
Micah Lee
44b5474249
Merge branch 'mig5-shutdown_timer' 2017-12-05 13:58:16 -08:00
Miguel Jacq
eaa37206e5
Let the timer stop the share if there were no downloads, or all downloads are done 2017-12-05 11:18:26 +11:00
Miguel Jacq
fe311f591f
#447 show alert and exit if the Settings dialog is canceled yet Tor is still not connected 2017-12-04 18:43:40 +11:00
Miguel Jacq
17ba97becc
#431 Set minimum height of FileList to prevent resize bug affecting scrolling/visibility of bottom rows 2017-12-04 16:39:22 +11:00
Miguel Jacq
884d8389ed
Update comment to reflect that we don't hide the timer checkbox when checked anymore 2017-12-04 15:22:46 +11:00
Miguel Jacq
91a0c60189
Better fix for preventing timeout firing if a download is not yet done (works for CLI as well as GUI) 2017-12-04 15:03:28 +11:00
Miguel Jacq
2eb7bca242
Merge master branch and fix conflicts 2017-12-03 17:06:33 +11:00
Miguel Jacq
3b52f584a1
Don't auto-stop the share if a download is still in progress 2017-12-03 13:21:25 +11:00
Miguel Jacq
6ad2737d08
Properly stop the server when the timeout is reached (and reset the interface so we can share again) 2017-12-02 14:53:38 +11:00
Miguel Jacq
454a6a638b
Always show the shutdown timer checkbox, in case the user changes their mind and wants to unset it 2017-12-02 14:48:44 +11:00
Micah Lee
c664a9d3aa
Merge branch '468_canceled_feedback_on_stopped_server' of https://github.com/mig5/onionshare into mig5-468_canceled_feedback_on_stopped_server 2017-12-01 11:44:33 -08:00
Miguel Jacq
966beb9406
add missing arg to onion.connect() (config) which broke the Tor Connection progress dialog (regression from b19f8f) 2017-11-12 17:53:40 +11:00
Miguel Jacq
624028e49f
Format the argparser output better, to deal with the longer argument names 2017-11-12 10:40:04 +11:00
Miguel Jacq
275f345604
better metavar for --shutdown-timeout arg 2017-11-11 17:12:10 +11:00
Miguel Jacq
f220058c63
No longer treating shutdown_timeout as a float, but an int of seconds 2017-11-09 19:50:50 +11:00
Miguel Jacq
882057eafc
only prevent the share from starting when the timeout has expired, if the timeout feature was even set at all 2017-11-09 18:23:11 +11:00
Miguel Jacq
ac0e375a4b
Various safety checks to prevent a share from starting after the timeout has expired. Also enforce that a timeout lands right on the minute and not precisely when the user clicks start (e.g mid-minute), to avoid confusion that a share might be lingering longer than desired 2017-11-09 17:26:32 +11:00
Miguel Jacq
9aabc51edc
On subsequent shares, the default time should nudge 5 minutes ahead of the current time again, instead of 5 minutes since the time OnionShare was opened 2017-11-09 12:52:44 +11:00
Miguel Jacq
b618d8c15d
Calculate the time difference in a more appropriate spot (rather than on clicking Start, but when the server is ready, as it may have taken some time, but should still stop at the nominated time) 2017-11-09 12:35:38 +11:00
Miguel Jacq
44fb6c69ae
set the timeout default to 5 minutes into the future for convenience 2017-11-09 11:56:02 +11:00
Miguel Jacq
2dd6c5527d
ensure the timeout checkbox is always shown if the server is stopped and it was not already checked 2017-11-09 11:49:01 +11:00
Miguel Jacq
d49e7cf1d1
more UI fixes - hide checkbox if server is working/started and it was not checked. Ensure we only set the timer if the timeout checkbox was checked to begin with 2017-11-09 11:46:26 +11:00
Miguel Jacq
9657df282e
ensure the shutdown timeout can't go backwards in time 2017-11-09 11:34:59 +11:00
Miguel Jacq
481f33c822
use QDateTimeEdit instead of a spinbox for selecting a future date/time to auto-stop share 2017-11-09 11:29:55 +11:00
Miguel Jacq
a4b8a71c68
remove shutdown_timeout logic in the web server, it's not actually needed 2017-11-09 07:12:00 +11:00
Miguel Jacq
32108dcca2
Implements a shutdown timer to stop a share automatically (downloaded or not) after N hours 2017-11-08 20:25:59 +11:00
Miguel Jacq
5edd4dd22c
#468 If the server is stopped before a download is completed, emit the Canceled message in the progress bar 2017-11-03 12:58:45 +11:00
Micah Lee
4387589b4f
Merge branch 'mig5-440_settings_menu_button_disable' 2017-07-09 14:19:08 -07:00
Micah Lee
5435a4b046
Merge branch 'mig5-438_settings_icon_inactive' 2017-07-09 14:16:29 -07:00
Micah Lee
882ade94c7
Merge branch 'mig5-custom_config' 2017-07-09 14:12:49 -07:00
Micah Lee
dee616e8cb
Merge branch 'mig5-433_reset_downloads_on_fresh_share' 2017-07-09 13:19:26 -07:00
Miguel Jacq
fccec9737d
Need to actually ensure the dark settings icon is set back once server inactive again 2017-06-03 19:04:21 +10:00
Miguel Jacq
e9120fd87e
fix the settings icon so it only switches to inactive icon when server is active 2017-06-03 19:01:40 +10:00
Miguel Jacq
22971fc205
#440 disable the Settings menu action when server is active 2017-06-03 18:55:09 +10:00
Miguel Jacq
6626e7d67e
#438 Make settings icon lighter grey when inactive 2017-06-02 11:34:19 +10:00
Miguel Jacq
b19f8fce52
Make it possible to supply a custom json settings file from somewhere else 2017-06-01 17:35:27 +10:00
Miguel Jacq
7e2d4d7888
Remove debug data 2017-05-31 19:44:53 +10:00
Miguel Jacq
3b359aec62
On a fresh share, delete any download progress bars of previous shares, and re-hide the downloads container 2017-05-31 17:35:16 +10:00
Miguel Jacq
64b5cc59bb
Ensure the self.filenames list is sorted internally.
This is important because even though the QListWidget UI is sorted
automatically, the list is not necessarily. Drag-drop events, depending
on the order in which items were highlighted before being dragged,
can result in a different or reversed order. This has implications for
popping the list later (e.g on delete events)
2017-05-31 11:17:15 +10:00
Micah Lee
c039ccd184
Merge branch 'single_add_button' of https://github.com/mig5/onionshare into mig5-single_add_button 2017-05-30 12:21:03 -07:00
Micah Lee
c532509626
Merge branch 'status_bar_no_borders' of https://github.com/mig5/onionshare into mig5-status_bar_no_borders 2017-05-30 12:12:52 -07:00
Micah Lee
3628b2ee3c
Merge branch 'pretty_progress_bar' of https://github.com/mig5/onionshare into mig5-pretty_progress_bar 2017-05-30 12:07:49 -07:00
Micah Lee
963ed0ef41
Merge branch 'delete_multiple_items' of https://github.com/mig5/onionshare into mig5-delete_multiple_items 2017-05-30 12:05:35 -07:00
Miguel Jacq
506cb55bc1
Revert "Make the tor connection progressBar similarly style as the others"
This reverts commit 6ad8b88832.
2017-05-29 15:46:28 +10:00
Miguel Jacq
6ad8b88832
Make the tor connection progressBar similarly style as the others 2017-05-29 15:44:04 +10:00
Miguel Jacq
63745f4d8e
reinstate the caption call 2017-05-29 13:50:46 +10:00
Miguel Jacq
8f79fc392d
Fix file dialog by subclassing/overriding it, which allows for single selection of a file or folder, as well as multiple 2017-05-29 13:47:05 +10:00
Miguel Jacq
68089a9850
Make adding of files/folders a single button 2017-05-29 10:22:16 +10:00
Miguel Jacq
84e167333e
Improve the Zip progressbar style a little bit 2017-05-29 09:14:23 +10:00
Miguel Jacq
0da4c87e5a
Remove border around items in the QStatusBar 2017-05-27 20:38:46 +10:00
Miguel Jacq
acf453e094
Style a prettier progress bar 2017-05-27 19:53:30 +10:00
Miguel Jacq
91cf9084aa
Make it possible to delete multiple items from the list with a shift-select 2017-05-27 17:27:57 +10:00
Miguel Jacq
cc73c92e4b
Adds Settings and Help menu items to the systray 2017-05-27 17:14:59 +10:00
Micah Lee
444f50868d
Remove the extra instances of the Settings object, and only use OnionShareGui.settings 2017-05-22 17:11:41 -07:00
Micah Lee
5846b06478
Reload Settings whenever the settings get saved in SettingsDialog 2017-05-22 17:08:05 -07:00
Micah Lee
e626a410f3
Merge branch 'fix_stay_open' of https://github.com/mig5/onionshare into mig5-fix_stay_open 2017-05-22 17:03:01 -07:00
Micah Lee
e97d1e6ce3
Merge branch 'add_help_button' of https://github.com/mig5/onionshare into mig5-add_help_button 2017-05-22 16:44:10 -07:00
Micah Lee
63e491bddf
Add a grayscale OnionShare logo for the systray icon in macOS 2017-05-22 16:23:19 -07:00
Micah Lee
65894e2e44
Make systray exit action call OnionShareGui.close() instead of sys.exit(), to give OnionShare a chance to warn users of open servers, and to gracefully shut down 2017-05-22 16:19:44 -07:00
Miguel Jacq
13a2ad2147
get settings from self rather than instantiate a new Settings object 2017-05-23 09:15:52 +10:00
Micah Lee
02216f246b
Merge branch '285_systray_notifications' of https://github.com/mig5/onionshare into mig5-285_systray_notifications 2017-05-22 16:15:06 -07:00
Micah Lee
e828b2f9cd
Use non-native QFileDialog for file selection as well as directory selection, to have a consistent UI 2017-05-22 16:10:55 -07:00
Micah Lee
9385487c10
Merge branch 'select_multiple_folders' of https://github.com/mig5/onionshare into mig5-select_multiple_folders 2017-05-22 16:04:56 -07:00
Miguel Jacq
8bc280ff7a
Refactor help button to use QDesktopServices.openUrl() 2017-05-23 08:30:24 +10:00
Micah Lee
0ab5b8b366
Merge branch 'fix_double_slash_in_update_checker_url' of https://github.com/mig5/onionshare into mig5-fix_double_slash_in_update_checker_url 2017-05-22 14:00:50 -07:00
Miguel Jacq
3766a6048d
Add desktop notification messages on download events (via systray) 2017-05-22 16:47:23 +10:00
Miguel Jacq
b35e3b76d5
Make it possible to select multiple folders by using non-native QFileDialog 2017-05-21 16:14:32 +10:00
Miguel Jacq
f446f6630d
Send stay_open variable in the right place, so that it really does stay open if we said so 2017-05-20 16:59:13 +10:00
Miguel Jacq
aa7e609e14
move the help button to the left 2017-05-20 14:04:52 +10:00
Miguel Jacq
2846798858
Add help button to settings dialog, which takes user to the wiki 2017-05-20 13:56:20 +10:00
Miguel Jacq
5a976a7aed
Fix double slash in URL of UpdateChecker debug message 2017-05-19 10:33:55 +10:00
Micah Lee
c4ad835322
Move the readable file check from FileSelection to FileList, so files you drag-and-drop into OnionShare get checked as well 2017-05-18 10:55:10 -07:00
Micah Lee
959f637b49
Merge branch '345_file_readability_fix' of https://github.com/mig5/onionshare into mig5-345_file_readability_fix 2017-05-18 10:43:29 -07:00
Miguel Jacq
8a1fad7a79
#345 - validate the readability of files before adding them 2017-05-18 18:09:49 +10:00
Miguel Jacq
f5ba307276
#386 - put the connection radio buttons into their own group, which by default forces autoExclusive, thus preventing them from being all unset 2017-05-18 17:10:47 +10:00
Micah Lee
f6eb178f7b
Display tor connection percent when testing bundled tor in settings 2017-05-17 12:09:56 -07:00
Micah Lee
22c13fc7bf
Fix bug with displaying error message 2017-05-17 11:36:32 -07:00
Micah Lee
66a012bf81
Make settings button flat 2017-05-16 17:36:53 -07:00
Micah Lee
8a8c2bd34b
Oops, set the TorConnectionDialog window title back 2017-05-16 17:30:54 -07:00
Micah Lee
24ccb3995f
Fix UpdateChecker and UpdateThread to work with refactor, now it pops up an update reminder 2017-05-16 17:29:02 -07:00
Micah Lee
ea745e63f3
Split SettingsDialog into two columns, because the layout didn't fit on my Mac 2017-05-16 17:02:00 -07:00
Micah Lee
010bddb066
When saving settings, if Tor settings changed or if Tor isn't connected, reboot the Onion object, so that it's always connected to Tor when using the app 2017-05-16 16:50:33 -07:00
Micah Lee
eb708973c8
Disable settings while an OnionShare server is active 2017-05-16 15:41:35 -07:00
Micah Lee
3e3d669a49
Remove the menu bar, and replace it with a settings button owned by the OnionShareGui object 2017-05-16 15:24:14 -07:00
Micah Lee
22fb34d50d
Fixed signal/slot/thread issue in TorConnectionDialog and TorConnectionThread, and updated the language of bundled Tor error messages 2017-05-16 13:09:27 -07:00
Micah Lee
4242097d7d
Fixed typo in signal name, error_connecting_to_tor instead of error_connection_to_tor 2017-05-16 11:50:13 -07:00
Micah Lee
388202e1ea
Move connecting to Tor into its own separate thread 2017-05-16 11:44:34 -07:00
Micah Lee
f90d49fa4b
Added debug logging to OnionShareGui, SettingsDialog, TorConnectionDialog, and Alert objects 2017-05-16 11:31:52 -07:00
Micah Lee
7003349873
Add log() method to onionshare.common, which logs to stdout if in debug mode 2017-05-16 11:12:55 -07:00
Micah Lee
1591888863
Renamed onionshare.helpers module to onionshare.common 2017-05-16 11:05:48 -07:00
Micah Lee
219c4351e1
Pass debug into the Onion and OnionShareGUI objects 2017-05-16 10:57:59 -07:00
Micah Lee
a9e822b222
Make UpdateChecker use the shared Onion object instead of creating a new one 2017-05-14 19:54:12 -07:00
Micah Lee
58f70b1d9b
Now when you cancel connecting to Tor, it prompts you if you want to quit or open settings 2017-05-14 19:21:33 -07:00
Micah Lee
ad2c5e94b4
OnionShare connects fine when connection_type isn't bundled_tor, and it now displays errors and opens Settings when it can't connect to Tor 2017-05-14 18:46:54 -07:00
Micah Lee
4d522e1e85
Fix Settings dialog, make it so testing Tor with bundled_tor settings works 2017-05-14 18:36:31 -07:00
Micah Lee
2ca92c52db
Move owernship of the TorConnetionDialog objection from __init__.py into the OnionShareGUI class, and make it so when the Tor connection gets canceled, OnionShare quits 2017-05-14 18:30:45 -07:00
Micah Lee
d112b35414
Make the Settings dialog's 'Test Tor Settings' button work again, with changes to the Onion object 2017-05-14 17:35:35 -07:00
Micah Lee
80af01e82d
Set the size of the TorConnectionDialog to avoid it resizing the window as elements are drawn 2017-05-14 17:27:05 -07:00
Micah Lee
dc23946fe8
Fixed various issues introduced by creating an singleton Onion object and passing it into the OnionShare object 2017-05-14 17:21:13 -07:00
Micah Lee
22485f7933
Import socks module included in the onionshare module, instead of the global one 2017-04-19 09:06:01 -07:00
Micah Lee
bcf2e518de Made clicking Exit in the TorConnectionDialog exit the app 2017-04-17 20:49:50 -07:00
Micah Lee
71dc65edee Began making a TorConnectionDialog, which handles connecting to the Tor network 2017-04-17 20:26:35 -07:00
Micah Lee
1519f3693d Capitalize comments 2017-04-17 19:38:42 -07:00
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
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