Commit Graph

757 Commits

Author SHA1 Message Date
Micah Lee
6c91d8977a
Begin to add the mode switcher (between "Share Files" and "Receive Files", with the settings button) 2018-04-23 19:51:51 -07:00
Micah Lee
4af80de17b
Merge branch 'develop' into receiver-mode 2018-04-23 08:52:48 -07:00
Micah Lee
91536ea571
Fix a few bugs that I missed when merging in develop 2018-04-22 17:46:14 -07:00
Micah Lee
8c89a05fd9
Merge branch 'develop' into receiver-mode 2018-04-22 17:38:28 -07:00
Micah Lee
a53d3188dd
Put test Tor button in a so it can be left-aligned 2018-04-22 17:20:58 -07:00
Micah Lee
87d29a9171
Rearrange some widgets in the settings dialog, specifically move the bridge options above the test Tor settings button 2018-04-22 17:15:15 -07:00
Micah Lee
1201205dee
Merge branch 'hide_primary_action_on_tor_disconnection' of https://github.com/mig5/onionshare into develop 2018-04-22 16:09:32 -07:00
Micah Lee
3584e57c5d
Merge branch 'local_only_gui' of https://github.com/mig5/onionshare into mig5-local_only_gui 2018-04-22 15:41:10 -07:00
Micah Lee
aaa860921a
Merge branch '657_meek_warning' of https://github.com/mig5/onionshare into mig5-657_meek_warning 2018-04-22 15:31:45 -07:00
Micah Lee
16eab5e850
Add a stretch at the bottom of the downloads window, so that progess bars are always lined up at the top 2018-04-22 15:25:28 -07:00
Micah Lee
359bd59828
Merge branch 'downloads_window' of https://github.com/mig5/onionshare into mig5-downloads_window 2018-04-22 14:48:57 -07:00
irykoon
ebd0416f1d
Support meek_lite Pluggable Transports on Windows and Mac
According to https://lists.torproject.org/pipermail/tor-announce/2018-March/000153.html: Tor Browser 7.5.1 includes obfs4proxy (0.0.7), which supports meek_lite Pluggable Transports.

Therefore, undo: https://github.com/micahflee/onionshare/pull/649
2018-03-14 16:16:56 +00:00
Micah Lee
929ad58ebd
Fix bug with validating filenames from args in GUI 2018-03-14 08:34:43 -07:00
Miguel Jacq
b1b28f4fa5
Hide the primary_action when Tor gets disconnected 2018-03-14 18:31:07 +11:00
Micah Lee
76d299a6c9
Move settings into the Common object, so the settings are available to all objects (including Web, which is required for receive mode) 2018-03-13 03:28:47 -07:00
Micah Lee
50409167d4
Completely refactor common to make a Common class, and pass that class down into all parts of the program 2018-03-08 10:18:31 -08:00
Micah Lee
49e352d131
Rename close_after_seconds class to ShutdownTimer 2018-03-08 05:50:23 -08:00
Miguel Jacq
46a9a2a0a1
#662 Allow local-only mode in GUI 2018-03-07 16:13:22 +11:00
Micah Lee
4a0c6e8dcd
Refactor OnionShareGui to use new Web class 2018-03-06 00:56:40 -08:00
Micah Lee
0cec696055
Refactor web.py to move all the web logic into the Web class, and refactor onionshare (cli) to work with it -- but onionshare_gui is currently broken 2018-03-05 11:06:59 -08:00
Micah Lee
cd1a1d9638
Web needs to know about receive mode, not the OnionShare object 2018-03-05 08:48:04 -08:00
Micah Lee
18ac830a9e
Add command line flag for receive mode 2018-03-05 07:45:10 -08:00
Miguel Jacq
a71786d024
Warn about the costs of using meek_lite bridges 2018-03-05 13:52:50 +11:00
Baccount
9da1b82e5a
Update onionshare_gui.py 2018-03-02 18:45:36 -08:00
Miguel Jacq
fa9e5748a3
Make downloads window scrollable again. Reset to original size when starting a fresh share 2018-02-28 09:48:23 +11:00
Miguel Jacq
fffc420cb1
re-show the 'No downloads yet' label when resetting the counters (e.g starting a new share) 2018-02-27 18:20:05 +11:00
Miguel Jacq
ee5c35d502
Move downloads into their own window that can be toggled on/off 2018-02-27 17:59:46 +11:00
Miguel Jacq
022ed03287
Uninstantiated system variable 2018-02-26 14:02:15 +11:00
Miguel Jacq
b513c59542
Hide the meek_lite options on macOS and Windows, as the obfs4proxy binary in TorBrowser is too old to support it 2018-02-26 13:48:28 +11:00
Micah Lee
49fa2805e7
Merge branch 'cancel_share' of https://github.com/mig5/onionshare into mig5-cancel_share 2018-02-25 16:14:59 -08:00
Miguel Jacq
fce26c4286
Add ability to abort but not exit SettingsDialog/reconnect to Tor, on invalid settings. Do this for invalid bridges 2018-02-25 19:42:38 +11:00
Miguel Jacq
096c202362
Add ability to cancel a share 2018-02-25 17:44:27 +11:00
Micah Lee
3797e9e203
When using <img>, put the src in quotes. Otherwise the filename is likely to have spaces in it, and the <img> src will break. Also, in Windows use backslashes for local resources instead of forward slashes 2018-02-24 18:38:40 -08:00
Micah Lee
f41ad976ea
Rename in_progress_download to in_progress_downloads (plural) everywhere, to be consistent with completed_downloads 2018-02-24 18:37:19 -08:00
Miguel Jacq
cff267c09c Revert the cancel feature that causes issues at least on macOS (#637) 2018-02-25 12:31:32 +11:00
Miguel Jacq
9f0adc0fb9 Revert "Fix updating primary action and re-enabling drag-n-drop when a share is canceled"
This reverts commit 9da3e2d8b0.
2018-02-25 12:27:20 +11:00
Micah Lee
b75237dcea
Fix typo bug that is only triggered if obfs4proxy binary is not found 2018-02-24 14:09:42 -08:00
Miguel Jacq
dface51dd0
Merge pull request #588 from micahflee/ux-update
Major user experience update
2018-02-25 08:27:46 +11:00
Micah Lee
928de64171
Give settings button a fixed width to avoid it getting squished in macOS 2018-02-24 12:34:46 -08:00
Miguel Jacq
7e175cb7e3
Re-work the UI widgets to make it smaller on Macbook Pro and other smaller screens 2018-02-24 15:38:45 +11:00
Micah Lee
7bf9c5adfd
Change how FileSelection.update tells if items are selected to correctly show and hide the delete button 2018-02-23 14:18:57 -08:00
Micah Lee
a83a920051
Merge branch '523_try_update_check_via_v3_onion' of https://github.com/mig5/onionshare into mig5-523_try_update_check_via_v3_onion 2018-02-23 11:53:55 -08:00
Miguel Jacq
161e7e380b
Fix get_num_files() to count the items in the QListWidget, not in the FileSelection QVBoxLayout widget 2018-02-23 12:46:18 +11:00
Miguel Jacq
ade9a452a3
Remove our custom stylesheeting, and just trim long names, allowing them to untrim as the window resizes 2018-02-23 10:49:43 +11:00
Micah Lee
1967d50707
Make the item-info boxes have an obvious style 2018-02-22 10:02:52 -08:00
Micah Lee
22c301fd9c
Stop trimming filenames, and instead create item info with a white background 2018-02-22 09:55:04 -08:00
Miguel Jacq
6998aec50a
Force a scrollbar on the file list widget. Not pretty but avoids weird text disappearance on resize when scrollbar otherwise activates 2018-02-22 14:44:00 +11:00
Miguel Jacq
9215651582
Remove the item_name QLabel widget and just let the QListWidgetItem text() display as title. Trim super-long filenames 2018-02-22 14:37:31 +11:00
Miguel Jacq
6815665f1d
Instantiate empty filenames list 2018-02-21 15:47:21 +11:00
Miguel Jacq
fd4bc51ec2
fix appending of filenames when checking that a file hasn't already been added to the list 2018-02-21 15:29:56 +11:00
Miguel Jacq
21b08252d3
Use the QListWidgetItems for building lists of filenames. Set, but avoid displaying, the QString from Qt.DisplayRole which is necessary for correct sorting in the list 2018-02-21 15:19:18 +11:00
Micah Lee
6ac4584d2a
Merge branch 'info_widget_visibility_fixes' of https://github.com/mig5/onionshare into mig5-info_widget_visibility_fixes 2018-02-20 17:48:50 -08:00
Miguel Jacq
2dd1d13957
Make the appearance of the download status icons occur consistently with the file info label 2018-02-20 15:30:55 +11:00
Miguel Jacq
9da3e2d8b0
Fix updating primary action and re-enabling drag-n-drop when a share is canceled 2018-02-20 14:49:17 +11:00
irykoon
53510bf43e
Take care of custom vanilla bridges
Thank you @mig5 for pointing this out.
2018-02-20 03:25:43 +00:00
Micah Lee
3d1c0eabc4
Merge branch 'develop' into mig5-info_widgets_download_info 2018-02-19 18:02:51 -08:00
Micah Lee
cb69ae89fc
Merge branch 'info_widgets_download_info' of https://github.com/mig5/onionshare into mig5-info_widgets_download_info 2018-02-19 17:55:03 -08:00
Micah Lee
0eef5cdba0
Merge branch 'increase_file_list_minimum_height' of https://github.com/mig5/onionshare into mig5-increase_file_list_minimum_height 2018-02-19 17:39:47 -08:00
irykoon
d03ad0ab30
Adopt a more robust RE for custom obfs4 IPV6 bridges 2018-02-20 01:33:58 +00:00
irykoon
2cdfcea241
Adopt a more robust RE for custom obfs4 bridges 2018-02-20 01:26:02 +00:00
irykoon
02c16ce179
Add meek_lite support for custom bridges 2018-02-20 01:24:44 +00:00
Miguel Jacq
b7df7f8dc9
merge ux-update in, and fix conflict 2018-02-20 07:47:21 +11:00
Miguel Jacq
20c0ca02d3
Add download status widgets to info bar 2018-02-19 08:33:47 +11:00
Miguel Jacq
f0b3c25ce4
Increase the MinimumHeight of the FileList widget to avoid disappearing icons 2018-02-18 16:22:04 +11:00
irykoon
b2c310f2e0
Support meek_lite Pluggable Transport
Currently, meek/meek_lite is one of the few, if not only, mature pluggable transport that works in some heavily cenosored areas, for example, China. Therefore, this can be a nice feature to have.
2018-02-15 23:19:53 +00:00
Micah Lee
24b025419a
Fix bug where persistent tooltips were not displaying 2018-02-13 17:50:10 -08:00
Micah Lee
a32778397a
Merge branch 'url_label_tooltips' of https://github.com/mig5/onionshare into mig5-url_label_tooltips 2018-02-13 17:31:25 -08:00
Micah Lee
127d097e96
Merge branch 'clear_messages_on_server_button_click' of https://github.com/mig5/onionshare into mig5-clear_messages_on_server_button_click 2018-02-13 17:28:03 -08:00
Micah Lee
6903e9bad6
Merge branch 'copy_urls_moved_to_desktop_notifications' of https://github.com/mig5/onionshare into mig5-copy_urls_moved_to_desktop_notifications 2018-02-13 17:21:40 -08:00
Micah Lee
e20e8d5181
Switch to 12 hour clock 2018-02-13 17:20:10 -08:00
Miguel Jacq
779ca76553
Set URL label tooltips 2018-02-11 18:32:18 +11:00
Miguel Jacq
b8cf692cd8
actually show those messages in the system tray, not still in the statusbar, and with the mandatory titles 2018-02-11 17:52:14 +11:00
Miguel Jacq
5e4a4f6613
Move the copy URL/HidServAuth notifications to desktop notifications instead of statusbar 2018-02-11 17:42:07 +11:00
Miguel Jacq
14ece50807
Clear statusBar messages when the server button is clicked 2018-02-11 17:32:45 +11:00
Miguel Jacq
afc9568f30
Adjust width of window to fit status bar messages, unwrapped, to avoid squishing widgets.
Add pluralisation of filemanager total file(s)

Use 'timer expired' rather than 'timeout reached'
2018-02-11 17:16:59 +11:00
Miguel Jacq
ed179922d4
Merge branch 'ux-update' of https://github.com/micahflee/onionshare into ux_update_fix_shutdown_timer 2018-02-11 17:15:52 +11:00
Micah Lee
dbe0210104
Make the drop count adjust size based on its sizeHint 2018-02-10 18:36:38 -08:00
Micah Lee
b41b89add8
Designed file list items to look better, prevent scrolling horizintally, and ensuring the delete button does not overlap the filename 2018-02-10 18:15:44 -08:00
Miguel Jacq
ef994ea012
Use just one share status QLabel widget and update the text accordingly 2018-02-11 09:54:22 +11:00
Micah Lee
fe24c543cc
Added an info label to file selection, to show the total count and size 2018-02-10 11:48:14 -08:00
Micah Lee
532d5d5cf0
Instead of disabling the settings button when share is active, hide it, and show it again when the share stops 2018-02-10 10:59:01 -08:00
Micah Lee
72b3970405
Merge branch 'persistent_url_label_tooltip' of https://github.com/mig5/onionshare into mig5-persistent_url_label_tooltip 2018-02-10 10:46:03 -08:00
Miguel Jacq
39954c6ee8
Allow the user to cancel a share that is still starting up 2018-02-09 18:43:57 +11:00
Miguel Jacq
bc2417c65e
Set the URL label to explicitly mention when persistent. Remove older Persistence warning to save clutter. Add ToolTip to explain what Persistence means 2018-02-09 07:55:22 +11:00
Miguel Jacq
d0f180fdc5
set MinimumSize on the word-wrapped QLabels in the SettingsDialog, which prevents them getting squished when parent is resized smaller 2018-02-08 16:02:00 +11:00
Miguel Jacq
3e5d51a858
Make status bar styling consistent 2018-02-08 12:25:30 +11:00
Miguel Jacq
4d68b1a3dd
Friendlier datetime format for the shutdown timer 2018-02-08 11:53:56 +11:00
Miguel Jacq
749ca6312d
Fix shutdown timer and insert larger messages as word-wrapped widgets into the Status Bar 2018-02-08 11:32:34 +11:00
Micah Lee
05633673fc
Move auto-stop timer into settings, so its UI does not show up unless the user specifically enables that feature 2018-02-07 09:55:55 -08:00
Micah Lee
23668baa09
Fix bug when stopping server 2018-02-07 09:48:34 -08:00
Micah Lee
4639420dfc
Refactor what happens to FileList when the server starts or stops, and also prevent selections when the server starts 2018-02-07 09:16:55 -08:00
Micah Lee
acf5c1bb88
Merge branch 'disable_delete_buttons_on_running_server' of https://github.com/mig5/onionshare into mig5-disable_delete_buttons_on_running_server 2018-02-07 09:05:40 -08:00
Miguel Jacq
cdf14e2600
Fix comment to reflect what we're doing with the file list buttons 2018-02-07 19:18:20 +11:00
Miguel Jacq
2b15020e7d
Leave the FileList enabled, but hide the item buttons when the server is working or started 2018-02-07 17:34:36 +11:00
Miguel Jacq
d1ce17cf5f
Merge pull request #585 from torbsd/openbsd-port-patches-2
Second attempt at patches for an OpenBSD port
2018-02-07 16:54:00 +11:00
Miguel Jacq
0b18129947
Set the File List widget to readonly while running, so items can't be deleted mid-share 2018-02-07 16:40:45 +11:00
Miguel Jacq
cf6d11816f
Call update_primary_action when server is stopped. Because it runs adjustSize(), it will shrink the window back down to a sane size once the URL label widgets get hidden, instead of growing the FileList widget to fill up the space 2018-02-07 16:00:48 +11:00
Miguel Jacq
6cff5e06b8
allow word wrap of URL QLabels, and set MinimumHeight so they don't get shrunk in the layout 2018-02-07 15:59:13 +11:00
Micah Lee
f93ed86283
Move server status indicator to the status bar at the bottom 2018-02-06 19:31:02 -08:00
Micah Lee
69fe7f0d98
Move version label into settings dialog 2018-02-06 19:05:02 -08:00
Micah Lee
a1aa25c792
Start with a narrower width 2018-02-06 18:35:35 -08:00
Micah Lee
8f77603182
Improve the UI of the quit warning 2018-02-06 17:47:05 -08:00
Micah Lee
ab1d6a65dd
Update color and style of progress bars 2018-02-06 17:10:42 -08:00
Micah Lee
5ca4bb0157
Give server button rounded corners. Change style of persistent URL label 2018-02-06 16:14:56 -08:00
Micah Lee
2a23b02f98
Increase minimum width, and remove word wrap, to fix QLabel squishing problem 2018-02-06 16:11:48 -08:00
Micah Lee
24a672dac9
Make the server button and URL display much nicer, and replace string "URL" with "address" for usability 2018-02-06 16:01:59 -08:00
Micah Lee
f23e2a8a90
Progressively hide shutdown timer-related UI, so only relevant widgets are shown at any time 2018-02-05 18:20:09 -08:00
attila
ae494c8e33 Second attempt at patches for an OpenBSD port, this time based off of 1.2
and after feedback from the upstream and other contributors at
https://github.com/micahflee/onionshare/pull/489
2018-02-05 18:06:37 -05:00
Micah Lee
5dad0e81a3
Increase minimum window width 2018-02-05 09:46:22 -08:00
Micah Lee
021c1ddc24
Stylize the server button 2018-02-05 09:44:17 -08:00
Micah Lee
5328a6f7f6
Resize the window when adding new files 2018-02-05 09:33:31 -08:00
Micah Lee
fd089f8803
Move autostop timer checkbox below the start sharing button 2018-02-05 09:29:28 -08:00
Micah Lee
83c9cd4e00
Show or hide primary action layout section the first time, in case filenames are passed in from the cli 2018-02-05 09:26:05 -08:00
Micah Lee
cf1ff97ce9
Create a "primary action" layout, and only show it when there are files in the file list 2018-02-05 09:24:43 -08:00
Micah Lee
8dd9b045cc
Add delete button back, but only show it when files are selected 2018-02-04 21:45:35 -08:00
Micah Lee
0bb9bf649d
Remove delete button, use delete X's instead 2018-02-04 21:18:41 -08:00
Micah Lee
e17dbd4fdd
Only do the fake item hack if there are items in the list 2018-02-04 20:50:24 -08:00
Micah Lee
d892213db1
Move DropHereLabel and DropCountLabel classes out of FileList 2018-02-04 20:36:34 -08:00
Micah Lee
52d080d2a3
Give file items widgets, so they can soon contain working delete buttons 2018-02-04 20:09:51 -08:00
Micah Lee
ea7420e0cf
When dragging files into the window, highlight the drop area in blue and show a count of files to be added 2018-02-04 19:28:42 -08:00
Micah Lee
ae2140ceb8
Update drag and drop look and instructions 2018-02-04 13:13:38 -08:00
Micah Lee
cedfd5deff
Merge branch '535_force_update_check_via_qthread' of https://github.com/mig5/onionshare into mig5-535_force_update_check_via_qthread 2018-01-30 21:28:25 -08:00
Miguel Jacq
8cc651a370
#523 prioritise connecting to the v3 onionshare site when checking for updates, if Tor version is >= 0.3.2.9 2018-01-24 11:37:48 +11:00
Miguel Jacq
a28f427c0c
reinstate the emitted signals for invalid version/error checking for updates 2018-01-23 16:51:13 +11:00
Miguel Jacq
70a624c331
#535 do the forced update check via a (non-blocking) QThread 2018-01-23 16:32:14 +11:00
Miguel Jacq
9a3bcb9834
stricter regex of IPv4 as well as IPv6 IPs in custom bridges 2018-01-22 16:24:26 +11:00
Miguel Jacq
16bd3291e3
Support for obfs4 in custom bridges 2018-01-19 15:31:11 +11:00
Micah Lee
713e45084a
Merge branch '435_support_bridges' of https://github.com/mig5/onionshare into mig5-435_support_bridges 2018-01-17 16:19:30 -08:00
Micah Lee
53e15096e3
Merge branch 'save_autoupdate_setting' of https://github.com/mig5/onionshare into mig5-save_autoupdate_setting 2018-01-17 16:02:03 -08:00
Miguel Jacq
bbb6c8ddf8
Re-load the settings in the UpdateCheck thread before saving, in case settings have changed in between starting thread and saving, so we don't clobber them 2018-01-18 08:43:14 +11:00
Miguel Jacq
4b5319bb4e
Save the use_autoupdate setting 2018-01-18 07:54:19 +11:00
Miguel Jacq
fc2dcafafc
Clarify that obfs4 bridges can't be used as custom bridges, and that obfs4proxy is needed for obfs4 bridges 2018-01-17 16:30:12 +11:00
Miguel Jacq
76cf0ae107
Fix conflicts arising from the reuse_private_key branch 2018-01-16 15:30:36 +11:00
Micah Lee
c29259cdea
Merge branch '528_disable_check_for_updates_if_disconnected' of https://github.com/mig5/onionshare into mig5-528_disable_check_for_updates_if_disconnected 2018-01-14 19:00:39 -08:00
Micah Lee
808c4cfac2
Merge branch 'check_is_valid_file' of https://github.com/mig5/onionshare into mig5-check_is_valid_file 2018-01-14 18:54:48 -08:00
Miguel Jacq
284213aa2d
support obfs4 via obfs4proxy on macOS 2018-01-15 12:49:29 +11:00
Miguel Jacq
82b1860dac
add missing 'toggled' connect for obfs4 radio. Remove the enabling/disabling of radios for bridges, it obstructs normal UX 2018-01-15 11:25:08 +11:00
Miguel Jacq
55c390eb7f
remove the adjustSize stuff which causes more problems than it solves. Revert the change to positioning of the Test Tor button. Set maximum height for custom bridges QPlainTextEdit widget, seems to help with overlap issues 2018-01-15 10:49:17 +11:00
Miguel Jacq
3e7d4c64ff
Save the slug when using a persistent private key 2018-01-15 10:01:34 +11:00
Miguel Jacq
d9e6650a19 Merge branch 'master' into check_is_valid_file 2018-01-14 20:24:02 +11:00
Miguel Jacq
bf01fcaa6e
Validate syntax of custom bridges 2018-01-14 20:12:24 +11:00
Miguel Jacq
011b635cae
ensure custom bridges hyperlink opens a browser as per #520 2018-01-14 18:57:52 +11:00
Miguel Jacq
bdb10b7eeb
Resolve conflict with upstream's onion.py 2018-01-14 18:53:46 +11:00
Miguel Jacq
448f6af796
Resolve conflict with upstream's onion.py 2018-01-14 18:49:49 +11:00
Miguel Jacq
9aef3cdbb3
Add a 'persistent URL' label when re-using a private key 2018-01-14 18:41:54 +11:00
Micah Lee
a75faea407
Merge branch 'mig5-493_500_detect_broken_tor_connection' 2018-01-13 22:50:57 -08:00
Micah Lee
6ab6ea564a
Create the timer before the TorConnectionDialog dialog, but start it after. This way if you cancel the dialog, then click save in the settings, OnionShareGui.timer will already exist, even though though TorConnectionDialog hasn't closed yet 2018-01-13 22:46:57 -08:00
Micah Lee
8f585db127
Don't start the check_for_requests timer until after connected to Tor, and remove OnionShareGui.tor_con and TorConnectionDialog.t as class variables, making them local variables instead 2018-01-13 22:42:27 -08:00
Micah Lee
2a4e1f0de0
Merge branch '520_fix_hyperlink_qlabel' of https://github.com/mig5/onionshare into mig5-520_fix_hyperlink_qlabel 2018-01-13 16:59:24 -08:00
Micah Lee
c387a2a7c5
Merge branch 'disable_start_share_on_no_files' of https://github.com/mig5/onionshare into mig5-disable_start_share_on_no_files 2018-01-13 16:41:06 -08:00
Micah Lee
ebbe490a65
Merge branch '493_500_detect_broken_tor_connection' of https://github.com/mig5/onionshare into mig5-493_500_detect_broken_tor_connection 2018-01-13 16:32:56 -08:00
Micah Lee
04d2f0c0e1
Merge branch '495_clear_status_bar_early' of https://github.com/mig5/onionshare into mig5-495_clear_status_bar_early 2018-01-13 16:09:11 -08:00
Micah Lee
d42369a0f9
Merge branch '453_catch_oserror_on_crunching_files' of https://github.com/mig5/onionshare into mig5-453_catch_oserror_on_crunching_files 2018-01-13 15:58:15 -08:00
Miguel Jacq
e90908c5b0
Move the saving of private key into the SettingsDialog and Onion objects entirely (no QPushButton to save it) 2018-01-13 20:58:24 +11:00
Miguel Jacq
cdb7a4df71
Don't re-enable the Check for Updates button after testing Tor connection, if the main Tor connection is still not active 2018-01-04 08:43:43 +11:00
Miguel Jacq
249f9fa18b
#528 disable the 'Check for Updates' button in the SettingsDialog if Tor is not connected 2018-01-03 11:16:50 +11:00
Miguel Jacq
2e5b9b37a9
4096 byte dir check is not consistent across platforms, remove it for now 2018-01-02 09:46:00 +11:00
Miguel Jacq
9154faf351
Check the file is a valid file or dir (not just that it exists) 2018-01-02 09:36:57 +11:00
Miguel Jacq
25a83e4edf
#520 trigger browser action properly in QLabel hyperlink 2017-12-27 20:08:38 +11:00
Miguel Jacq
96d758e8e1
Emit the files_updated signal when deleting files. This will ensure that the share button gets disabled when there are no files in the list 2017-12-27 11:37:06 +11:00
Miguel Jacq
0a5bd45dfe
Add systray notification when Tor connection is lost, thanks @Baccount 2017-12-27 09:29:45 +11:00
Miguel Jacq
2cd61d76e0
Disable the 'Start Sharing' button if the connection to Tor has been lost. Re-enable it if we've subsequently reconnected to Tor via Settings dialog 2017-12-24 14:07:20 +11:00
Miguel Jacq
5c84c277da
Don't show alert dialogs when Tor disconnects - just display in statusbar and stop any active share. 2017-12-23 16:43:58 +11:00
Miguel Jacq
6f4d7f7f44
Fixes for the edge case where Tor connection dialog is canceled, but the Tor process remains open in the background, which was causing onion.is_authenticated() to True. Remove excessive alerts 2017-12-21 14:08:13 +11:00
Miguel Jacq
b442b5d41b
Ensure we don't consider the Tor connection 'lost' if we're still in the connection dialog process (wait for that thread to finish).
Also various implementations of onion.is_authenticated() for a more robust check than onion.connected_to_tor,
which seemed to help some corner cases
2017-12-21 12:15:23 +11:00
Miguel Jacq
bcd4363769
#493, #500 - detect if the Tor connection (bundled, TorBrowser or otherwise) has been lost while the app is open. Stop a running share if so 2017-12-21 09:22:53 +11:00
Miguel Jacq
95f7b0d8df
Clear the status bar messages earlier when starting a new share 2017-12-20 07:39:55 +11:00
Miguel Jacq
4f768e8b77
Catch OSError when preparing the zip file during server start. Fixes #453 2017-12-12 17:02:11 +11:00
Miguel Jacq
661cf7f129
Fix the Bridges widgets so that they only appear when bundled Tor is chosen. Fixes all the other widget cramming issues. 2017-12-12 08:43:12 +11:00
Miguel Jacq
3f27b80154
experimenting with adjustSize() which seems to help the widget issue. Also adjust the custom Bridge parsing so that it injects the Bridge prefix automatically (means we can copy/pasta from https://bridges.torproject.org/bridges) 2017-12-11 17:58:53 +11:00
Miguel Jacq
b23a4f2bee
Improvements to the custom bridges textfield widget, still not perfect when used in conjunction with Tor socket/auth option widgets 2017-12-11 16:48:28 +11:00
Miguel Jacq
4674f7d97b
Add bridge support (obfs4 or user-supplied) 2017-12-11 14:53:13 +11:00
Miguel Jacq
8e89a65a22
set the 'Save Private Key' button to enabled when showing it, but when it's not already been pressed (in case private key is removed later via SettingsDialog) 2017-12-09 08:51:30 +11:00
Miguel Jacq
7edd693071
properly set saved private key/hidservauth string in settings_from_fields, so those values are populated when the SettingsDialog is saved 2017-12-09 08:11:04 +11:00
Miguel Jacq
08c2e106f8
Save the HidServAuth string to settings when private key is also saved. Allow to copy it to clipboard from the SettingsDialog too. 2017-12-09 06:49:34 +11:00
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