snapdrop

A Progressive Web App for local file sharing
git clone http://git.hanabi.in/repos/snapdrop.git
Log | Files | Refs | README | LICENSE

commit 507951fc42336c3a5c90c73b241b7c9d71bc8198
parent 10cfa962f28b6c11483e85376af95f6bab4d2d3b
Author: CLASSIFIED <847785bd-d466-47cd-a536-eae4096d241d@anonaddy.me>
Date:   Mon,  8 Jun 2020 21:43:27 -0500

Fixed a few more formatting issues

Thank you so much for making Snapdrop! It's been very helpful to me, and I can't wait to see it as it continues to develop!
Diffstat:
MREADME.md | 28++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/README.md b/README.md @@ -11,7 +11,7 @@ * [Material Design](https://material.google.com/) ## Support the Snapdrop Community -Snadprop is free. Still, we have to pay for the server. If you want to contribute, please use PayPal +Snadprop is free. Still, we have to pay for the server. If you want to contribute, please use PayPal: [<img src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif">](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=74D2NE84JHCWG&source=url) @@ -32,7 +32,7 @@ Thanks a lot for supporting free and open software! * [免費資源網路社群](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). +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. ##### What about privacy? Will files be saved on third-party-servers? None of your files are ever sent to any server. Files are sent only between peers. Snapdrop doesn't even use a database. If you are curious have a look [at the Server](https://github.com/RobinLinus/snapdrop/blob/master/server/). Even if Snapdrop was able to view the files being transfered, WebRTC encrypts the files on transit, so the server would be unable to read them. @@ -42,7 +42,7 @@ Yes. Your files are sent using WebRTC, which encrypts them on transit. ##### 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. +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. @@ -72,27 +72,27 @@ Now point your browser to `http://localhost:8080`. ### Testing PWA related features PWAs require that the app is served under a correctly set up and trusted TLS endpoint. -The nginx container creates a CA certificate and a website certificate for you. To correctly set the common name of the certificate you need to change the FQDN environment variable in `fqdn.env` to the fully qualified domain name of your workstation. +The nginx container creates a CA certificate and a website certificate for you. To correctly set the common name of the certificate, you need to change the FQDN environment variable in `fqdn.env` to the fully qualified domain name of your workstation. -If you want to test PWA features you need to trust the CA of the certificate for your local deployment. For your convenience you can download the crt file from `http://<Your FQDN>:8080/ca.crt`. Install that certificate to the trust store of your operating system. -- On windows make sure to install it to the `Trusted Root Certification Authorities` store. -- On macOS double click the installed CA certificate in `Keychain Access` expand `Trust` and select `Always Trust` for SSL. -- Firefox uses its own trust store. To install the CA point Firefox at `http://<Your FQDN>:8080/ca.crt`. When prompted select `Trust this CA to identify websites` and click OK. -- When using Chrome you need to restart Chrome so it reloads the trust store (`chrome://restart`). Additionally, after installing a new cert you need to clear the Storage (DevTools -> Application -> Clear storagae -> Clear site data). +If you want to test PWA features, you need to trust the CA of the certificate for your local deployment. For your convenience, you can download the crt file from `http://<Your FQDN>:8080/ca.crt`. Install that certificate to the trust store of your operating system. +- On Windows, make sure to install it to the `Trusted Root Certification Authorities` store. +- On MacOS, double click the installed CA certificate in `Keychain Access`, expand `Trust`, and select `Always Trust` for SSL. +- Firefox uses its own trust store. To install the CA, point Firefox at `http://<Your FQDN>:8080/ca.crt`. When prompted, select `Trust this CA to identify websites` and click OK. +- When using Chrome, you need to restart Chrome so it reloads the trust store (`chrome://restart`). Additionally, after installing a new cert, you need to clear the Storage (DevTools -> Application -> Clear storagae -> Clear site data). Please note that the certificates (CA and webserver cert) expire after a day. -Also whenever you restart the nginx docker container new certificates are created. +Also, whenever you restart the nginx docker, container new certificates are created. The site is served on `https://<Your FQDN>:443`.     ## Deployment Notes The client expects the server at http(s)://your.domain/server. -When serving the node server behind a proxy the `X-Forwarded-For` header has to be set by the proxy. Otherwise all clients that are served by the proxy will be mutually visible. +When serving the node server behind a proxy, the `X-Forwarded-For` header has to be set by the proxy. Otherwise, all clients that are served by the proxy will be mutually visible. -By default the server listens on port 3000. +By default, the server listens on port 3000. -For an nginx configuration example see `nginx/default.conf`. +For an nginx configuration example, see `nginx/default.conf`. ## Licences * Thanks to [Mark DiAngelo]() for the [Blop Sound](http://soundbible.com/2067-Blop.html) @@ -100,7 +100,7 @@ For an nginx configuration example see `nginx/default.conf`. ## Desktop App -Note, if you are using Google Chrome you can easily install Snapdrop PWA on your desktop by clicking the install Button in the top-right corner. +Note: if you are using Google Chrome, you can easily install Snapdrop PWA on your desktop by clicking the install button in the top-right corner. If you are not using Chrome, you can install the [Snapdrop Desktop App](https://github.com/infin1tyy/snapdrop-desktop) built on top of Electrum. (Thanks to Infin1tyy!).