Commit Graph

953 Commits

Author SHA1 Message Date
Micah Lee
12a1d73f91
Make the Web object load from mode settings instead of global settings 2019-11-02 14:35:51 -07:00
Micah Lee
c426cfceb2
Rename mode_settings_widget to be more clear, and fix one place that was still using tab_settings 2019-11-02 11:43:05 -07:00
Micah Lee
9534a44051
Make a new ModeSettings class in onionshare, and use this instead of tab_settings 2019-11-02 10:43:20 -07:00
Micah Lee
2984577f28
Get/set tab settings using a getter and setter function 2019-11-02 10:24:12 -07:00
Micah Lee
f2d4bddc23
When any setting is changed, update the tab settings dict 2019-11-02 10:15:18 -07:00
Micah Lee
555ae9114f
Make checking the persistent checkbox update the mode_settings dict, so closing tabs will catch that it's persistent 2019-10-27 18:48:25 -07:00
Micah Lee
b017b3268c
Make the persistent button an image label instead, and only show it whne the persistent checkbox is checked 2019-10-27 18:41:24 -07:00
Micah Lee
5e93b50f9c
Show mode settings above the columns in each mode, instead of as part of the main column 2019-10-27 18:21:04 -07:00
Micah Lee
784d6e8144
Show settings at the top of each mode, both mode-specific settings and setting that exist for all mode types 2019-10-27 18:16:48 -07:00
Micah Lee
f4e3f92c7b
Fix a few issues related to opening settings and quitting 2019-10-27 16:36:32 -07:00
Micah Lee
a14464d834
Show the server status in the tab as an icon 2019-10-27 16:32:12 -07:00
Micah Lee
b7a095d64d
Show warning when quitting while any tabs are active 2019-10-27 16:18:56 -07:00
Micah Lee
654fccc009
Add warning about closing a persistent tab 2019-10-27 16:01:30 -07:00
Micah Lee
216fbd4e87
Add persistent pin 2019-10-27 15:52:45 -07:00
Micah Lee
656d3d1564
Add settings button to the status bar 2019-10-27 15:26:56 -07:00
Micah Lee
cb83fca6bc
Add purple headers to each mode 2019-10-27 15:21:46 -07:00
Micah Lee
bbc26473c4
Open a new tab to begin with, and open a new tab when the last tab is closed 2019-10-27 15:04:04 -07:00
Micah Lee
df658a0e70
Allow closing tabs, and throw warning when trying to close tabs that contain an active server 2019-10-27 15:01:14 -07:00
Micah Lee
fd2046b976
After choosing the tab type, the title of the tab changes 2019-10-27 14:35:11 -07:00
Micah Lee
4b4020c629
When you open a new tab, make that the current tab 2019-10-27 14:23:45 -07:00
Micah Lee
f83d88b29e
Make new tab button login in the QTabWidget instead of QTabBar 2019-10-27 14:21:40 -07:00
Micah Lee
3ceab336f9
One attempt at making a new tab button 2019-10-26 22:39:59 -07:00
Micah Lee
144985b1c1
Tabs start out with new tab options, and remove the mode switcher from tabs 2019-10-26 21:56:57 -07:00
Micah Lee
6449e5183e
Add a single tab, and fix several issues with moving all the tab code into its own object 2019-10-26 21:14:47 -07:00
Micah Lee
c77db82e67
Move all of the normal onionshare logic into Tab, and make a new placeholder GUI for the main window 2019-10-20 22:08:47 -07:00
Micah Lee
b8dc0551d3
Move more logic into GuiCommon and out of MainWindow 2019-10-20 21:36:30 -07:00
Micah Lee
2a07a3572f
Move Onion and OnionShare app objects into the main window 2019-10-20 20:11:45 -07:00
Micah Lee
e51be47844
Move MODE_SHARE, MODE_RECEIVE, and MODE_WEBSITE into GuiCommon 2019-10-20 20:05:08 -07:00
Micah Lee
bba5286815
Make a new onionshare_gui.GuiCommon object, and move css from onionshare.Common into it 2019-10-20 20:01:09 -07:00
Micah Lee
4f2ce99417
Rename OnionShareGui to MainWindow 2019-10-20 19:41:20 -07:00
Micah Lee
30949cf196
Detect if another onionshare-gui process is running 2019-10-20 19:18:56 -07:00
Micah Lee
8dd60eed78
Fix syntax errors 2019-10-20 17:59:12 -07:00
Micah Lee
25b2f389db
Fix syntax error 2019-10-20 10:44:06 -07:00
Micah Lee
3a2cc8bdee
Replace .format with python 3.6 f-strings in onionshare_gui module 2019-10-20 10:30:16 -07:00
Micah Lee
3037727890
Format all code using black 2019-10-12 21:01:25 -07:00
Micah Lee
9accff1ade
Remove references to website loaded notification that never actually get displayed 2019-09-22 16:07:37 -07:00
Micah Lee
9e7a91aed2
Show the website mode URL description in website mode, instead of the share mode one 2019-09-22 15:35:14 -07:00
Micah Lee
e2b6eecf34
Merge pull request #1034 from micahflee/932_windows_systray_icon
Hide the system tray icon before closing
2019-09-22 12:57:46 -07:00
Micah Lee
26f2490673
Merge pull request #1030 from mig5/1029_optional_csp
Make setting the Content-Security-Policy header optional so it doesn't break website mode shares
2019-09-22 12:57:13 -07:00
Miguel Jacq
d8c0bc4e4f
Invert the CSP header setting and put it in its own Website Mode settings group. Make the CSP header mandatory for share/receive modes, optional for website mode only. 2019-09-22 16:49:31 +10:00
Micah Lee
2022b2b2af
Hide the system tray icon before closing 2019-09-20 18:42:40 -07:00
Micah Lee
e21bf3e80b
Merge pull request #1031 from mig5/950_persistence_fix
Persistence fix (#950)
2019-09-20 17:35:38 -07:00
Miguel Jacq
09ba78efcf
Source string suggestions from the translators on Weblate 2019-09-16 17:58:15 +10:00
Miguel Jacq
670044fa56
Ensure the backend receives the latest settings object before starting the onion service, and likewise for the GUI, so that we absolutely always save the private key for persistence back to the json settings file when we need to 2019-09-16 14:51:16 +10:00
Miguel Jacq
2524ddaf94
Make setting the Content-Security-Policy header optional so it doesn't break website mode shares 2019-09-16 12:10:17 +10:00
Micah Lee
51a1f92d99
Merge pull request #1020 from micahflee/991_sharing_code
[WIP] Share code between share mode and website mode
2019-09-15 14:52:57 -07:00
Miguel Jacq
b1aa36e805
remove unnecessary import of IndividualFileHistoryItem from share_mode/__init__.py 2019-09-09 16:43:09 +10:00
Miguel Jacq
90ebc3aab4
Fix the discrepancy between SendBaseModeWeb and Web objects' separate cur_history_id attibutes, ensuring that when we call web.error404() we send a new history_id integer for communicating back to the frontend. Add tests for this 2019-09-09 16:35:05 +10:00
Micah Lee
26c9256679
Make web requests indicator icon increment on web requests 2019-09-08 17:39:31 -07:00
Micah Lee
2219e107c4
Rename images from share_ to history_, because they are used in all modes 2019-09-08 17:27:24 -07:00
Micah Lee
41b815f0b3
Add web requests counter icon to history widget 2019-09-08 17:24:18 -07:00
Micah Lee
ece908e170
Add individual downloads label to settings dialog 2019-09-08 12:02:17 -07:00
Micah Lee
de67484f09
Don't consider individual downloads in the in_progress counter 2019-09-08 11:58:44 -07:00
Micah Lee
3f7c4a4e25
Remove method from IndividualFileHistoryItem, and only display these widgets on 200 and 404 requests, not all of the others 2019-09-08 09:35:44 -07:00
Micah Lee
c2011e6915
Make the IndividualFileHistoryItem widgets have color 2019-09-03 22:31:13 -07:00
Micah Lee
dee9e40051
Rename a few more count variables to cur_history_id 2019-09-03 22:20:52 -07:00
Micah Lee
ffe12bdead
Rename download_count/download_id, upload_count/upload_id, and visit_count/visit_id to simply cur_history_id/history_id, and make all errors create IndividualFileHistoryItem widgets 2019-09-03 22:18:30 -07:00
Micah Lee
655bb5bad1
Show IndividualFileHistoryItem widgets for directory listings 2019-09-03 21:59:49 -07:00
Micah Lee
644b47082a
Start making IndividualFileHistoryItem widgets appear in the history, and make non-GET requests return 405 Method Not Allowed 2019-09-03 21:46:32 -07:00
Miguel Jacq
09f2f57298
Reset the ToggleHistory indicator count/label when a share starts. Add a test for this 2019-09-03 17:02:29 +10:00
Miguel Jacq
273b893946
Don't show the IndividualFile History item if we are not in 'stay open' mode, or else 404 requests create History noise 2019-09-03 12:35:30 +10:00
Miguel Jacq
173b2d3f5e
Register a history item when an individual file is viewed that does not match a 'reserved' path 2019-09-02 18:01:56 +10:00
Micah Lee
877a73ab59
Remove the "Allow downloading individual files" setting altogether, and make it just automatically enabled if "Stop sharing..." is disabled 2019-09-01 21:22:59 -07:00
Micah Lee
1c465b40fe
Add new "Allow downloading of individual files" checkbox to share settings, and only allow it to be enabled when "Stop sharing after files have been sent" is unchecked 2019-09-01 20:15:30 -07:00
Micah Lee
e7959f9ae6
Add Web.generate_static_url_path back, so each share has its own static path 2019-09-01 16:03:57 -07:00
Micah Lee
973db941ec
Move all mode-specific code out of SendBaseModeWeb and into inherited methods in WebsiteModeWeb and ShareModeWeb 2019-09-01 18:44:44 -04:00
Micah Lee
d7441af368
If ONIONSHARE_HIDE_TOR_SETTINGS is set, hide Tor settings in the settings dialog 2019-09-01 13:16:00 -07:00
hiro
66e85497ef Revert "Generate a new static_url_path each time the server is stopped and started again"
This change creates problems with how website mode renders assets.
This reverts commit 50b2311409.
2019-06-13 22:56:48 +02:00
Micah Lee
50b2311409
Generate a new static_url_path each time the server is stopped and started again 2019-05-29 18:21:53 -07:00
Micah Lee
c53ecb0a03
Merge branch 'develop' into basic_auth_everywhere 2019-05-24 18:13:44 -07:00
hiro
f56b148ddb Resolve bugs from initial PR 2019-05-24 10:08:51 +02:00
Micah Lee
7d89f80f20
Rename "slug" to "password" 2019-05-20 22:18:49 -07:00
Micah Lee
b667fcc4f8
Fix onionshare URLs non-public mode is always http basic auth 2019-05-20 19:22:03 -07:00
Micah Lee
29abfd8f87
This should be an elif, not an if, because otherwise the share mode stop button says "Stop Receive Mode" 2019-05-20 19:14:04 -07:00
Micah Lee
79b87c3e30
Add an error 401 handler, and make it start counting invalid password guesses instead of 404 errors for rate limiting 2019-05-20 19:04:50 -07:00
Micah Lee
915ff0f4f3
Remove references to self.web.website_mode.download_filesize because that variable no longer exists 2019-05-10 14:57:41 -07:00
hiro
abc30b315c Clean code and fix UI bugs 2019-05-08 00:04:09 +02:00
hiro
357374c147 Fix merge conflicts with upstream 2019-04-23 16:20:33 +02:00
hiro
0c6dbe4c8a Clean ui, add strings, fix web listing logic 2019-04-23 16:11:14 +02:00
hiro
391c82f2a6 Add gui for website sharing and listing 2019-04-23 16:09:40 +02:00
Micah Lee
9471fb9781
Fix auto-start timer URL 2019-04-21 18:14:53 -07:00
Miguel Jacq
81108b06f3
Update the URL to the Auto-Start timer wiki page 2019-04-22 09:48:15 +10:00
Miguel Jacq
2c5a1d0365
Fix crash when clicking Help in Systray 2019-04-22 09:10:00 +10:00
Miguel Jacq
a7bbe818bf
Unlocalize CLI strings 2019-04-20 10:31:34 +10:00
Micah Lee
758c640561
Rename debug to verbose in all relevant places 2019-04-18 19:53:21 -07:00
Micah Lee
20ac3f005c
Update date format 2019-04-18 19:14:54 -07:00
Miguel Jacq
ee3a14a025
Standardise all startup_timer, scheduled_start attributes as 'autostart_timer' 2019-03-25 15:28:31 +11:00
Miguel Jacq
c411e8d61a
Standardise all shutdown_timer, shutdown_timeout, timeout attributes as 'autostop_timer' 2019-03-25 15:05:54 +11:00
Miguel Jacq
dae3e23652
Fix unsetting autostart timer after reloading settings 2019-03-24 18:16:29 +11:00
Miguel Jacq
2ebc22c5af
Fixes for displaying autostart timer countdown 2019-03-24 18:16:12 +11:00
Miguel Jacq
539be2ded3
Human-friendly autostart/autostop countdown timers on server button, tooltips 2019-03-24 17:53:13 +11:00
Miguel Jacq
281af5fc1a
Show the URL description label whenever we are showing the URL itself 2019-03-24 16:48:56 +11:00
Miguel Jacq
365798b12f
Various Startup Timer fixes for strings, bundled mode, stealth mode, startup/shutdown time clashes 2019-03-11 15:55:17 +11:00
Miguel Jacq
dc0fe4f7b1
Fix a minor corner case related to server status button when canceling a scheduled share. Leverage scheduled shares in order to test 'cancel' action in local mode for better test coverage 2019-03-08 11:03:37 +11:00
Miguel Jacq
00a8b88264
Prevent a scheduled share from starting after the scheduled time has passed. Add a test for this 2019-03-06 16:49:32 +11:00
Miguel Jacq
31c360b44d
Add a Startup Timer feature (scheduled start / dead man's switch) 2019-03-05 10:28:27 +11:00
Micah Lee
41f5800e0e
Merge pull request #906 from mig5/show_canceled_item_as_canceled
Update the GUI when the browser has canceled an upload in Receive Mode. Don't increment the completed counter
2019-02-17 10:07:34 -08:00
Miguel Jacq
8cf8aa201d
Use constants for history item status, to be consistent with other parts of the project 2019-02-17 17:42:25 +11:00
Miguel Jacq
759a0dc2a3
Set status attribute for ShareHistoryItems as well 2019-02-17 16:28:11 +11:00
Miguel Jacq
51e98f40e7
Update the GUI when the browser has canceled an upload in Receive Mode. Don't increment the completed counter 2019-02-17 15:49:37 +11:00
Miguel Jacq
9b35ca9bed
Don't clear in-progress transfers from the History list 2019-02-17 14:07:38 +11:00
Miguel Jacq
366509a75c
Re-order so persistence checkbox comes before legacy mode checkbox. Remove superfluous conditional 2019-02-11 16:23:47 +11:00
Miguel Jacq
7c71aef15b
Support persistent v3 onions 2019-02-11 11:36:18 +11:00
Micah Lee
2a949802d2
Separete onion settings into their own group, and remove css that was breaking the look of the "Copy HidServAuth" button 2019-01-28 20:30:05 -08:00
Micah Lee
b42f1c47b8
Fix crash that occurs when opening settings when both client authentication and persistence are enabled 2019-01-28 20:01:51 -08:00
Micah Lee
f4cd49e9dc
Merge branch 'develop' into 866_receive_mode_crash 2019-01-21 17:28:24 -08:00
Micah Lee
02538520a2
Skip updating or canceling items that haven't been added 2019-01-20 16:34:56 -08:00
Micah Lee
634b8ecebd
When canceling a receive mode transfer, display date range in the UI 2019-01-20 15:49:08 -08:00
Micah Lee
0ef0659e2f
Merge branch 'develop' into 866_receive_mode_crash 2019-01-20 15:42:09 -08:00
Micah Lee
4aa8a1d4c6
In SettingsDialog, rename downloads_layout to data_dir_layout 2019-01-20 15:33:33 -08:00
Micah Lee
b75757ee49
- Refactor the Web.ShareMode client_cancel variable to be Web.stop_q, a thread-safe queue that communicates to both share and receive mode when the user stops the server. In share mode this still stops sending the file. In receive mode, if there's a transfer in progress, it cancels it in the middle, and doesn't end up saving that file
- In receive mode, make the receive mode dir right before saving a file (so if it doesn't complete, don't make an empty dir)
- Minor UX tweak: resizing the window stretches the History widget first
2019-01-20 15:25:36 -08:00
Micah Lee
6e3b103ef5
Rename receive mode "downloads_dir" to the OnionShare "data_dir" 2019-01-20 11:46:20 -08:00
Micah Lee
b8f0d78954
Change many more strings to stop using 'download'/'upload' language 2019-01-19 20:56:09 -08:00
Micah Lee
3bbff7e85a
Finish removing web event REQUEST_CLOSE_SERVER, which used to be a receive mode feature to allow the Tor Browser user to close the server, but we removed 2019-01-19 20:43:25 -08:00
Micah Lee
a0c3a276ec
Fix bug in HistoryItem.get_finished_label_text 2019-01-19 19:33:36 -08:00
Micah Lee
862a0dc067
Rename images to remove upload/download references, and update more strings 2019-01-19 19:00:41 -08:00
Micah Lee
3ae1e04c0a
Updated language on key share/receive mode strings to remove the confusing upload and download words 2019-01-19 18:30:13 -08:00
Micah Lee
6c0de01f99
Merge pull request #853 from micahflee/847_fix_mac_css
Make settings dialog checkboxes line up in macOS
2018-12-21 10:38:38 -08:00
Micah Lee
c87e688d4c
Merge branch 'develop' of https://github.com/irykoon/onionshare into irykoon-develop 2018-12-20 14:07:47 -08:00
Micah Lee
e501bb4de8
Make settings dialog checkboxes line up in macOS 2018-12-20 14:02:52 -08:00
Micah Lee
043237bc20
Merge branch 'develop' into 406_osx_sandbox 2018-12-16 17:11:18 -08:00
Micah Lee
300434e5ec
Update settings dialog tests to use an OnionStub instead of an Onion, and test different states of tor (authenticate and not, supports v3 and not) 2018-12-05 23:05:25 -08:00
Micah Lee
16e301af8d
Don't actually check the 'Use legacy addresses' checkbox when it's hidden 2018-12-05 20:53:03 -08:00
Micah Lee
1d1efb7e54
Require tor 0.4.0.0 for v3 onion services (will change in the future). And update settings dialog so if the connected version of tor doesn't support v3 onions, then always show legacy options. If it does support v3 onions, allow 'Use legacy addresses' 2018-12-05 20:33:45 -08:00
Micah Lee
aadb2a01f0
Only show onion settings if there is a Tor connection 2018-12-05 20:14:52 -08:00
Micah Lee
c7ef1bba39
Merge pull request #752 from mig5/receiver-mode-gui-hold-timeout-share-open-til-upload-finished
Hold a share open if its timer has expired but a file is still uploading.
2018-12-05 09:13:54 -08:00
Miguel Jacq
d15e00061a
Keep the upload running in the GUI if the timer has run out 2018-12-05 18:19:35 +11:00
Micah Lee
3a0c8dc323
In macOS, split "Add" button into "Add Files" and "Add Folder" buttons 2018-11-27 12:10:16 -08:00
Micah Lee
6bfe9d4476
Merge pull request #763 from mig5/open_folder_uploads_macos_windows
Open folder containing uploads with the file selected, in macOS and Windows
2018-11-26 18:03:52 -08:00
Miguel Jacq
8182d24d55
Remove obsolete Download/Upload code that crept back in via an earlier merge 2018-11-27 10:50:11 +11:00
Miguel Jacq
d3b5e1e256
Merge develop branch and fix conflicts 2018-11-13 14:45:40 +11:00
Micah Lee
65b4afeba3
Communicate the receive mode dir to the GUI, so clicking the open folder button opens the file manager to the correct directory 2018-10-25 21:38:20 -07:00
Micah Lee
6233487ecd
Receive mode puts files in a directory based on the timestamp of the upload 2018-10-25 21:13:16 -07:00
Micah Lee
9812e75495
Merge pull request #810 from mig5/fix_timer_alert
Fix call to Alert() when an autostop timer has run out before starting the share
2018-10-16 22:16:35 -07:00
Miguel Jacq
386a8c5a2d
Fix call to Alert() when an autostop timer has run out before starting the share 2018-10-17 10:47:55 +11:00
Miguel Jacq
325980eede
Remove second arg from two calls to strings() 2018-10-15 17:33:21 +11:00
Miguel Jacq
86b537a4a6
Fix conflicts 2018-10-11 13:04:48 +11:00
Micah Lee
235fb84dfc
Fix various bugs so local GUI tests pass again after merges 2018-10-10 18:45:55 -07:00
Micah Lee
ac10b8899f
Merge branch '780_improved_ui' into 690_language_dropdown 2018-10-10 18:32:01 -07:00
Micah Lee
c541288227
Merge branch 'develop' into 690_language_dropdown 2018-10-10 18:25:28 -07:00
Micah Lee
753380663b
Final few tweaks to make this look perfect in macOS 2018-10-10 18:16:08 -07:00
Miguel Jacq
beda37df06
Remove commented out obsolete code 2018-10-10 18:09:43 +11:00
Miguel Jacq
85de803fda
Raise minimumHeight again to account for overlap issues on MacOS caused by Mac's Qt widget padding 2018-10-10 16:49:42 +11:00
Micah Lee
56e5c8b908
Add "download started" date/time to download history progress bars 2018-10-09 22:21:03 -07:00
Micah Lee
18f83589aa
Merge in develop 2018-10-09 21:32:28 -07:00
Micah Lee
90172c913b
Stop hiding the share mode info label when tor breaks 2018-10-09 21:18:26 -07:00
Micah Lee
b982a9a248
Actually, the window needs to be taller 2018-10-09 21:15:42 -07:00
Micah Lee
6227c6cbc5
Set min width and height so everything always looks good, and change onion address to monospace font 2018-10-09 20:51:10 -07:00
Micah Lee
9aa982563b
Remove one more reference to resize_window 2018-10-07 22:09:57 -07:00
Micah Lee
5a2ca669a1
Rip out all of the adjust size logic and let Qt just handle it 2018-10-07 22:07:19 -07:00