Coder Social home page Coder Social logo

szimek / sharedrop Goto Github PK

View Code? Open in Web Editor NEW
8.5K 103.0 631.0 2.5 MB

Easy P2P file transfer powered by WebRTC - inspired by Apple AirDrop

Home Page: https://www.sharedrop.io

License: MIT License

JavaScript 61.69% HTML 2.63% Handlebars 11.79% Sass 23.65% Dockerfile 0.21% Procfile 0.02%
webrtc peer-to-peer file-sharing ember ember-cli javascript

sharedrop's Issues

Work offline?

How possible is it to get this working for offline use?

Custom room names

This will allow users to send files across networks.

Allow users to generate unique room name and use that instead of the one based public IP and fetched from the server.

  • display an error message if ICE connection state is failed, i.e. when TURN server is needed
  • display modal with current URL when user creates a room
  • come up with content for app and room instructions modals
  • look for free/cheap server with huuuuge transfer for TURN server

cdnjs.cloudflare.com is blocked in China

Thanks for creating such a good web tool for sharing!

But the web site cannot be opened in China because files hosted in cdnjs.cloudflare.com (like: jquery.min.js, handlebars.runtime.min.js and ember.min.js) are blocked by the GFW (Great Firewall, a nick name of the internet censorship project in China).

So could you please host these files in another CDN? such as Google?

BTW, a URL can be tested in this site to see if it is blocked in China.

Persona sign in does not work

When I'm signing in with Persona, there is not my gravatar picture and my email, and always the "sign in" button (where is the sign out??).

transfer stuck

i was sending a 484 MB big file from Chromium Version 46.0.2490.71 (64-bit) on OS X 10.9.5 to Firefox 43.0.4 on OS X 10.11.1.
after one hour its still the same status as some minutes after starting...

bildschirmfoto 2016-01-21 um 12 17 11

Resume on failure

The main reason I cannot use sharedrop, is because it does not resume where it left off after a failure. When the computer goes to sleep, or the connection drops, the sender should ask the receiver how many bytes the receiver got, and resume sending from there.

Rewrite to Ember CLI

  • switch to node-sass
  • switch to express.js 4.x
  • switch to Ember CLI (figure out how to run it locally - foreman start for custom server and ember build --watch for ember app? or ember server --proxy?)
  • figure out how to deploy it to Heroku with custom server (build slug locally vs custom buildpack that runs ember build during compilation)

Fix app on Firefox 28

Looks like there's some bug in Firefox 28 (tested on Ubuntu and Windows, not sure about Mac) in idb.filesystem.min.js minified again by uglifier. Firefox 29 on Mac works fine...

Figure out a better way to deploy the app

Currently the app is hosted on Heroku and it's rebuilt after every app restart. Either remove compass gem dependency and use grunt-sass with one of available NodeJS/Grunt buildpacks or find/write custom Compass/NodeJS/Grunt buildpack.

Chromium support

Sharedrop says chromium is not supported. Shouldn't be hard to add support for this if Google Chrome is supported.

Firefox support

Use idb.filesystem.js for HTML5 Filesystem API polyfill on Firefox. Promises are already provided by es6-promise polyfill.

  • figure out why files transferred to Firefox have max size of only 1MB (size of a single block)

Investigate QuotaExceededError errors

When there's not much available storage on a device, transfers are terminated with QuotaExceededError. We're using temporary storage, which has more strict storage limits, but it was never a problem before when sending files even up to 1GB.

One thing would be to query and log storage size available to the app. At first it could simply show an error if the received file size exceeds available storage size. Later it could try to switch to persistent storage and ask user for permission, explaining why it's needed.

add support for openid providers

Please add support for openid providers like simpleid instead of only firefox persona. If this is not possible it would be nice to offer a option to disable persona altogether.

ip for vmnet nic is being used instead of ip for en0

when I open sharedrop its picking up my virtual nic ip as my ip. It should use en0, but its not. on my virtual host I have two nics configured host-only and bridged and it is only showing the ip for the host-only. I think it would be cool if you can query to get the list of ip's and let the user choose which one to use

Selection for Interface

I have a non default Setup with two local bridges and a VPN connection. Unfortunatly ShareDrop uses a bridge which I only use for virtual machines.

It would be nice to have a selection, which local Interface ShareDrop will use.

QR code Sharing URL

It's easier to share if there is a qr code generator and reader on mobile devices.

Handle case when ICE connection fails

Peer: Data channel connection error Error: ICE connection state is 'failed'
Peer: Data channel connection error Error: ICE connection state is 'disconnected'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.