Commit Graph

504 Commits

Author SHA1 Message Date
Micah Lee
1456361566
Generalize the handling of Tor exceptions, more logging in Web 2018-04-28 13:59:36 -07:00
Micah Lee
406515085e
Fixed crash when starting recieve mode server 2018-04-27 23:19:46 -07:00
Micah Lee
c6a2cab529
Make Web's the REQUEST_ constants static attributes 2018-04-26 11:00:59 -07:00
Micah Lee
9e9f65572b
Instead of creating a Web object and passing it into OnionShareGui, now each mode creates its own separate Web object, instantiated in its own way 2018-04-26 09:30:53 -07:00
Micah Lee
4b957f3271
Merge branch 'receiver-mode' into receiver-mode-gui 2018-04-24 17:22:06 -07:00
Micah Lee
aa8c07c434
In CLI recieve mode, tell the user where to look for uploaded files 2018-04-24 17:18:18 -07:00
Micah Lee
b6b61f753d
Update GPL copyright year 2018-04-24 10:07:59 -07:00
Micah Lee
2ee7e74236
Remove the desktop notification setting -- everyone gets them now 2018-04-24 09:26:06 -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
bd7305ab16
Add new WSGI middleware just to attach the Web object to environ, and improve the UI of file upload progress 2018-03-21 18:27:42 -07:00
Micah Lee
f7640416eb
Remove the WSGI middleware, because I'm solving the problem in a different way 2018-03-21 17:51:42 -07:00
Micah Lee
facd441caf
For receive mode, use a custom flask Request, and a custom TemporaryFile, in order to keep track of file upload progress 2018-03-21 17:34:11 -07:00
Micah Lee
aafa9b1543
Add WSGI middleware in order to capture the progress of POST request uploads 2018-03-19 02:25:22 -07:00
Micah Lee
fee1d49563
Fix bug with shutdown_slug 2018-03-14 08:33:25 -07:00
Micah Lee
72698a7247
Display a template after closing the server, and standardize the style of other simple templates 2018-03-14 08:30:14 -07:00
Micah Lee
01f86daf8f
In receive mode, allow uploader to close the server when they are done 2018-03-14 08:16:09 -07:00
Micah Lee
0b10e71547
Add receive mode warning, and print notification for each upload, in CLI mode 2018-03-14 07:35:04 -07:00
Micah Lee
01dd16d92f
Uploading files works in CLI 2018-03-14 04:03:50 -07:00
Micah Lee
000d9620c1
Add flash messages to receive template, and begin implementing upload POST 2018-03-13 05:50:26 -07:00
Micah Lee
8e82c07039
Fixed bug in validating downloads dir related to moving settings into common 2018-03-13 03:59:52 -07: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
c2fecf8aa4
Fix tests after refactoring Common 2018-03-13 02:22:26 -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
Micah Lee
2e6538b7f8
Move ZipWriter from common into web, because that's the only place it's used 2018-03-08 05:45:07 -08:00
Micah Lee
878dd4f880
In CLI, validate downloads_dir when starting in receive mode 2018-03-06 07:40:57 -08:00
Micah Lee
e980bc153b
Change default receive mode download directory to ~/OnionShare 2018-03-06 05:25:49 -08:00
Micah Lee
5d42e76eb8
Show different message for receive mode than for send mode 2018-03-06 03:24:17 -08:00
Micah Lee
649afa2fad
Move (optional) javascript into file, and use CSP to ban inline js 2018-03-06 03:17:54 -08:00
Micah Lee
4606a3ad3a
Stop using inline css, and reorganize static folder 2018-03-06 03:03:24 -08:00
Micah Lee
ce852fc60a
Create separate templates and static folder, and make the web app use both of these. Yay, now we have real static resources 2018-03-06 02:54:12 -08:00
Micah Lee
baede53632
Make separate template for send and receive mode 2018-03-06 02:06:44 -08:00
Micah Lee
fa9f714651
Make separate routes for send and receive modes 2018-03-06 01:50:43 -08: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
383ccb94fc
Add downloads_dir to settings, make it default to ~/Downloads 2018-03-05 07:52:51 -08:00
Micah Lee
18ac830a9e
Add command line flag for receive mode 2018-03-05 07:45:10 -08: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
096c202362
Add ability to cancel a share 2018-02-25 17:44:27 +11:00
Micah Lee
79b461d071
Merge branch 'develop' into 641_fix_images_windows 2018-02-24 19:40:23 -08: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
e76b1e0c28
Merge branch 'remove_platform_re' of https://github.com/delirious-lettuce/onionshare into delirious-lettuce-remove_platform_re 2018-02-24 17:56:35 -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
delirious-lettuce
641fec7c05 Remove use of re module by using str.endswith 2018-02-24 15:44:23 -07: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
bb3f18ee00
Merge branch 'develop' of https://github.com/irykoon/onionshare into irykoon-develop 2018-02-22 16:57:06 -08:00
Micah Lee
3d1c0eabc4
Merge branch 'develop' into mig5-info_widgets_download_info 2018-02-19 18:02:51 -08:00
Micah Lee
5ac6bb783f
Merge branch 'sortable_tables' of https://github.com/mig5/onionshare into mig5-sortable_tables 2018-02-19 16:45:58 -08:00
Miguel Jacq
b7df7f8dc9
merge ux-update in, and fix conflict 2018-02-20 07:47:21 +11:00
Miguel Jacq
6791e59aa5
reset done to False if a download is still in progress 2018-02-19 12:47:21 +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
Miguel Jacq
062101fcbf
Make table sortable with javascript (if enabled) 2018-02-14 16:56:03 +11:00
Miguel Jacq
267aa7dfec
Pass the correct parameter to remove_ephemeral_hidden_service()
Add debug logs to verify if an onion was successfully deleted or not
2018-02-12 13:43:36 +11:00
Miguel Jacq
145293d3cc
Fix function name remove_ephemeral_onion_service 2018-02-12 13:17:31 +11:00
Micah Lee
d3848a25ec
Redesigned HTML/CSS download page 2018-02-10 16:19:23 -08:00
Micah Lee
a7ab1d7e6e
Add onionshare favicon to all HTML pages 2018-02-10 12:50:23 -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
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
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
attila
bc8f233db9 Update patch as per the suggestion by @mig5 on
https://github.com/micahflee/onionshare/pull/585
Tested on current snapshot, both gui and cli work
2018-02-06 16:39:04 -05: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
Miguel Jacq
16bd3291e3
Support for obfs4 in custom bridges 2018-01-19 15:31:11 +11:00
Miguel Jacq
206472cb78
load Settings in onionshare/__init__.py before we initiate the web thread, since it needs to send the saved slug to the web server 2018-01-18 22:42:43 +11:00
Micah Lee
f499b126cc
Temporary fix for #550 2018-01-17 18:53:45 -08: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
Miguel Jacq
9ed748db86
load the Settings in onionshare/__init__.py later, so that when saving slug, the private_key/hidservauth string have already been saved by the Onion object 2018-01-18 08:14:36 +11:00
Miguel Jacq
40ee114803
Extract tor and obfs4proxy executables from the main TorBrowser executable with 7-zip on Windows 2018-01-17 12:45:37 +11:00
Miguel Jacq
76cf0ae107
Fix conflicts arising from the reuse_private_key branch 2018-01-16 15:30:36 +11: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
3e7d4c64ff
Save the slug when using a persistent private key 2018-01-15 10:01:34 +11:00
Miguel Jacq
f656bafd4c
Catch the OSError in CLI mode when a file/folder can't be zipped up, and error out more gracefully 2018-01-14 20:36:43 +11:00
Miguel Jacq
d9e6650a19 Merge branch 'master' into check_is_valid_file 2018-01-14 20:24:02 +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
4da5ddf2c9
Resolve conflict with upstream's onion.py 2018-01-14 18:45:10 +11:00
Micah Lee
a75faea407
Merge branch 'mig5-493_500_detect_broken_tor_connection' 2018-01-13 22:50:57 -08:00
Micah Lee
a73f1471a2
Better way to get the onion service_id 2018-01-13 19:18:33 -08:00
Micah Lee
597008d380
Merge branch '525_catch_failure_to_obtain_service_id' of https://github.com/mig5/onionshare into mig5-525_catch_failure_to_obtain_service_id 2018-01-13 19:09:03 -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
5e98a9c283
Merge branch 'Increasing-the-timeout' of https://github.com/Baccount/onionshare into Baccount-Increasing-the-timeout 2018-01-13 13:46:51 -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
Micah Lee
36968a45cb
Merge branch 'master' of https://github.com/wondratsch/onionshare 2018-01-12 18:58:41 -08:00
Miguel Jacq
9b3963799e
catch error in start_onion_service in case we somehow failed to parse a service_id in Stem controller response 2018-01-02 16:35:48 +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
Baccount
c324cd55da
Update onion.py 2017-12-26 22:53:44 -08: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
890acf9f38
Let the Tor connection take a little longer (60s) if bridges are in use 2017-12-14 17:31:15 +11:00
Miguel Jacq
2a52b1a6ac
Forgot the UseBridges line for custom bridges 2017-12-11 16:20:42 +11:00
Miguel Jacq
4674f7d97b
Add bridge support (obfs4 or user-supplied) 2017-12-11 14:53:13 +11:00
Miguel Jacq
bec03bb10e
only set self.private_key after the Onion service has started, if we received a new one 2017-12-09 08:18:06 +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
wondratsch
8a905bc04c
add FreeBSD Support 2017-12-07 11:51:32 +01: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
796a4b3b5d
try and fix tests 2017-12-07 15:33:12 +11:00