From 87a2dec99269631af924c74d472753f9f3852450 Mon Sep 17 00:00:00 2001 From: RobinLinus Date: Mon, 24 Sep 2018 13:14:11 +0200 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit c04cdad7db20fcd66a8e191c99282d21aa1a4ca2 Author: RobinLinus Date: Sat Sep 22 08:47:40 2018 +0200 Cleanup commit 891859680a1565cead8fe3dca771449b5e1e3035 Author: RobinLinus Date: Sat Sep 22 05:55:09 2018 +0200 Refactor about page commit 04415ef28f8e7281c13546f168f2582a82bcb34f Author: RobinLinus Date: Sat Sep 22 04:44:17 2018 +0200 Cleanup commit 52bd7692e951c5fafdcdb182a69646b78f03884d Author: RobinLinus Date: Fri Sep 21 23:19:54 2018 +0200 Notifications Android & Desktop commit f537b9621350fd1ea6694e7a2a8d3eca1edbf012 Author: RobinLinus Date: Fri Sep 21 22:32:39 2018 +0200 Notifications commit 476cb0ae6525177d7ea0519c9f0c4de67d2bf0f3 Author: RobinLinus Date: Fri Sep 21 22:31:46 2018 +0200 Notifications commit 5a631d3833a63e76d3611dc97ec073e471af58ba Author: RobinLinus Date: Fri Sep 21 21:21:44 2018 +0200 Notfication API on android commit 600d3551f4765d65a4348a33012b57ee370b3da3 Author: RobinLinus Date: Fri Sep 21 21:12:11 2018 +0200 Add will-change commit 3ac40fb3d7467df6c0f66b0d156202cbfbf80f09 Author: RobinLinus Date: Fri Sep 21 21:04:48 2018 +0200 Don’t reconnect if already connecting commit 9c9ca70d05fb2894d4e8113acc3a99a7b582ec78 Author: RobinLinus Date: Fri Sep 21 20:55:15 2018 +0200 Reconnect on rejoin room commit 7194c65c74681883089d21c574275dfc01864d50 Author: RobinLinus Date: Fri Sep 21 20:51:56 2018 +0200 Reconnect on rejoin room commit 0ede41f8d5397e8b7beb62ba6abe2571296f4690 Author: RobinLinus Date: Fri Sep 21 20:34:49 2018 +0200 Cancel keep alive on join room commit 1d9581632fe3a99c2068d8c0cece9345c9397cc8 Author: RobinLinus Date: Fri Sep 21 20:25:54 2018 +0200 Cancel keep alive on join room commit e71564a97cc083b606f144db4de3e35e5e172bfb Author: RobinLinus Date: Fri Sep 21 20:15:55 2018 +0200 Cancel keep alive on join room commit 0731a21d685c35e45985a39e3df32549730953db Author: RobinLinus Date: Fri Sep 21 20:09:49 2018 +0200 Cancel keep alive on join room commit 61697d3abc5430ad58478b12a9b7fc36d8978881 Author: RobinLinus Date: Fri Sep 21 20:01:59 2018 +0200 Cancel keep alive on join room commit b0fd89eb96f69279a01b64ce5db29c020838f87d Merge: 4cf2bed b67afca Author: RobinLinus Date: Fri Sep 21 19:55:32 2018 +0200 Merge remote-tracking branch 'origin/master' into dev # Conflicts: # server/index.js commit 4cf2beda9075d75e1efc6dca3dc0e390612882fd Author: RobinLinus Date: Fri Sep 21 19:49:16 2018 +0200 Fix beforeunload on iphone commit 728aabd449ed8f70231c643d756488fef7431aae Author: RobinLinus Date: Fri Sep 21 19:32:59 2018 +0200 Fix typo in server commit 96e37aef40c7a69203b172655b290732dc236dc3 Author: RobinLinus Date: Fri Sep 21 19:25:01 2018 +0200 Fix typo commit 31e5f635d19a69ebe719194aeb8465368e9f672d Author: RobinLinus Date: Fri Sep 21 19:24:01 2018 +0200 Add connection state handler commit e573d5741979fa48fdbfebed4f3cedd7f82f9ea5 Author: RobinLinus Date: Fri Sep 21 19:17:07 2018 +0200 STUN server tests commit 6a1de2926782ad0ca861b078c31ad3de2bc6e172 Merge: 6317c25 92a5f3b Author: RobinLinus Date: Fri Sep 21 19:15:31 2018 +0200 Merge branch 'dev' of github.com:RobinLinus/snapdrop into dev # Conflicts: # client/scripts/network.js commit 6317c25b10f3d885c8ccc3374fb1e873e2c18f44 Author: RobinLinus Date: Fri Sep 21 19:14:25 2018 +0200 Cleanup; fix STUN servers commit 92a5f3b782b4037beaf9b404683239cf71105586 Author: RobinLinus Date: Fri Sep 21 19:14:25 2018 +0200 Cleanup; fix STUN servers commit e9eeea48e5ea76214971daa1a879b0ae2ba1a196 Author: RobinLinus Date: Fri Sep 21 18:54:52 2018 +0200 Fix notifications on android commit 36ec13d4285b1d8633cc3bddd26df8fddbb8e59e Author: RobinLinus Date: Fri Sep 21 18:53:31 2018 +0200 Fix uncaught error in server commit abf96c02282c5171793f5487880918f4719e8f15 Author: RobinLinus Date: Fri Sep 21 16:36:59 2018 +0200 Test --- README.md | 16 +++-- client/index.html | 90 +++++++++++++------------ client/scripts/network.js | 136 +++++++++++++++++++------------------- client/scripts/ui.js | 2 +- client/styles.css | 118 +++++++++++++++------------------ 5 files changed, 181 insertions(+), 181 deletions(-) diff --git a/README.md b/README.md index 0744ba4..5cb278f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [Snapdrop](https://snapdrop.net): local file sharing in your browser - inspired by Apple's Airdrop. -#### Snapdrop Version 2 is built with the following awesome technologies: +#### Snapdrop (Version 2) is built with the following awesome technologies: * Vanilla HTML5 / ES6 / CSS3 * Progressive Web App * [WebRTC](http://webrtc.org/) @@ -18,12 +18,12 @@ * [idownloadblog](http://www.idownloadblog.com/2015/12/29/snapdrop/) * [thenextweb](http://thenextweb.com/insider/2015/12/27/snapdrop-is-a-handy-web-based-replacement-for-apples-fiddly-airdrop-file-transfer-tool/) * [winboard](http://www.winboard.org/artikel-ratgeber/6253-dateien-vom-desktop-pc-mit-anderen-plattformen-teilen-mit-snapdrop.html) -* [免費資源網路社群](https://free.com.tw/snapdrop/?utm_content=buffere6987&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer) +* [免費資源網路社群](https://free.com.tw/snapdrop/) ##### What about the connection? Is it a P2P-connection directly from device to device or is there any third-party-server? It uses a P2P connection if WebRTC is supported by the browser. (WebRTC needs a Signaling Server, but it is only used to establish a connection and is not involved in the file transfer). -If WebRTC isn’t supported (Safari, IE) it uses a Web Sockets fallback for the file transfer. The server connects the clients with a stream. +If WebRTC isn’t supported (Safari, IE) it uses a Web Sockets fallback for the file transfer. The server connects the clients with each other. ##### What about privacy? Will files be saved on third-party-servers? None of your files are ever saved on any server. @@ -33,15 +33,15 @@ But it does use Google Analytics. ##### Is SnapDrop a fork of ShareDrop? No. ShareDrop is built with Ember. Snapdrop is built with vanilla ES6. I wanted to play around with Progressive Web Apps and then I got the idea of a local file sharing app. By doing research on this idea I found and analysed ShareDrop. I liked it and thought about how to improve it. -ShareDrop uses WebRTC only and isn't compatible with Safari Browsers. Snapdrop uses a Websocket fallback and some hacks to make Snapdrop work due to the download restrictions on iDevices. +ShareDrop uses WebRTC only and isn't compatible with Safari browsers. Snapdrop uses a Websocket fallback and some hacks to make Snapdrop work due to the download restrictions on iDevices. ### Snapdrop is awesome! How can I support it? * [File bugs, give feedback, submit suggestions](https://github.com/RobinLinus/snapdrop/issues) * Share Snapdrop on your social media. * [Buy me a cup of coffee](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=R9C5E42UYEQCN) -* Fix bugs and make a Pull Request. This is my first open source project, so I am not very used to the common workflow, but we'll figure it out! -* Do Security Analysis and suggestions +* Fix bugs and make a pull request. +* Do security analysis and suggestions ## Local Development ``` @@ -49,7 +49,9 @@ ShareDrop uses WebRTC only and isn't compatible with Safari Browsers. Snapdrop u cd snapdrop/server npm install node index.js - cd ../client + + # open a second shell: + cd snapdrop/client python -m SimpleHTTPServer ``` diff --git a/client/index.html b/client/index.html index 629f84b..ff6eb9e 100644 --- a/client/index.html +++ b/client/index.html @@ -36,6 +36,18 @@ +
+ + + + + + +
@@ -97,47 +109,41 @@
File Transfer Completed
- -
- - - + + +
+
+ + + + + +
+ -
- -

Snapdrop

-
The easiest way to transfer files across devices.
- -
- - - - -
-
- +

Snapdrop

+
The easiest way to transfer files across devices.
+ + + + @@ -172,8 +178,8 @@ - - + +