All Projects → szimek → Sharedrop

szimek / Sharedrop

Licence: mit
Easy P2P file transfer powered by WebRTC - inspired by Apple AirDrop

Programming Languages

javascript
184084 projects - #8 most used programming language
Sass
350 projects
Handlebars
879 projects
HTML
75241 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Sharedrop

Gfile
Direct file transfer over WebRTC
Stars: ✭ 598 (-88.55%)
Mutual labels:  file-sharing, webrtc, peer-to-peer
Oorja
[archived] effortless video-voice chat with realtime collaborative features. extensible using react components 🙌
Stars: ✭ 270 (-94.83%)
Mutual labels:  webrtc, peer-to-peer
Ember Exam
Run your tests with randomization, splitting, and parallelization for beautiful tests.
Stars: ✭ 262 (-94.98%)
Mutual labels:  ember-cli, ember
Decentralized Video Chat
🚀 Zipcall- Acquired @ 250k users 🚀 Peer to peer browser video calling platform with unmatched video quality and latency.
Stars: ✭ 3,284 (-37.11%)
Mutual labels:  webrtc, peer-to-peer
portal
🔗 zero-config peer-to-peer encrypted live folder syncing that respects your `.gitignore`
Stars: ✭ 284 (-94.56%)
Mutual labels:  peer-to-peer, file-sharing
ember-credit-card
"make your credit card form dreamy in one line of code"
Stars: ✭ 89 (-98.3%)
Mutual labels:  ember-cli, ember
Ember Cli Page Object
This ember-cli addon eases the construction of page objects on your acceptance and integration tests
Stars: ✭ 272 (-94.79%)
Mutual labels:  ember-cli, ember
git-task-list
Git Task Lists
Stars: ✭ 25 (-99.52%)
Mutual labels:  ember-cli, ember
Libdatachannel
C/C++ WebRTC Data Channels and Media Transport standalone library
Stars: ✭ 336 (-93.57%)
Mutual labels:  webrtc, peer-to-peer
Ember Decorators
Useful decorators for Ember applications.
Stars: ✭ 360 (-93.11%)
Mutual labels:  ember-cli, ember
Ember Infinity
⚡️ Simple, flexible Infinite Scroll for Ember CLI Apps.
Stars: ✭ 368 (-92.95%)
Mutual labels:  ember-cli, ember
ember-polaris
An Ember addon for Shopify's Polaris design system
Stars: ✭ 59 (-98.87%)
Mutual labels:  ember-cli, ember
peerjs-python
Python port of PeerJS client
Stars: ✭ 56 (-98.93%)
Mutual labels:  webrtc, peer-to-peer
Pearsend
A simple CLI client for peer-to-peer file or message sending. Written in Python
Stars: ✭ 35 (-99.33%)
Mutual labels:  peer-to-peer, file-sharing
ember-luxon
🕐 🌐 [deprecated] Addon thats brings Luxon to Ember applications.
Stars: ✭ 20 (-99.62%)
Mutual labels:  ember-cli, ember
Iwant
Commandline tool for searching and downloading files in LAN network, without any central server
Stars: ✭ 268 (-94.87%)
Mutual labels:  file-sharing, peer-to-peer
Beam.cafe
🌠 Blazing fast file transfer app focused on user-experience. Fastest way to share files without uploading them.
Stars: ✭ 419 (-91.98%)
Mutual labels:  file-sharing, peer-to-peer
cli-guides
Step-by-step guides and tutorials for using the ember-cli to create apps and addons
Stars: ✭ 22 (-99.58%)
Mutual labels:  ember-cli, ember
ember-cli-new-version
A convention based update notification for Ember. With this addon, you can detect a new version and notify the user to refresh the page
Stars: ✭ 22 (-99.58%)
Mutual labels:  ember-cli, ember
Ember Cli
The Ember.js command line utility
Stars: ✭ 3,314 (-36.54%)
Mutual labels:  ember-cli, ember

ShareDrop

ShareDrop is a web application inspired by Apple AirDrop service. It allows you to transfer files directly between devices, without having to upload them to any server first. It uses WebRTC for secure peer-to-peer file transfer and Firebase for presence management and WebRTC signaling.

ShareDrop allows you to send files to other devices in the same local network (i.e. devices with the same public IP address) without any configuration - simply open https://www.sharedrop.io on all devices and they will see each other. It also allows you to send files between networks - just click the + button in the top right corner of the page to create a room with a unique URL and share this URL with other people you want to send a file to. Once they open this page in a browser on their devices, you'll see each other's avatars.

The main difference between ShareDrop and AirDrop is that ShareDrop requires Internet connection to discover other devices, while AirDrop doesn't need one, as it creates ad-hoc wireless network between them. On the other hand, ShareDrop allows you to share files between mobile (Android and iOS) and desktop devices and even between networks.

Supported browsers

  • Chrome
  • Edge (Chromium based)
  • Firefox
  • Opera
  • Safari 13+

How to set it up for local development

  1. Setup Firebase:
    1. Sign up for a Firebase account and create a database.
    2. Go to "Security Rules" tab, click "Load Rules" button and select firebase_rules.json file.
    3. Take note of your database URL and its secret, which can be found in "Secrets" tab.
  2. Run npm install -g ember-cli to install Ember CLI.
  3. Run yarn to install app dependencies.
  4. Run cp .env{.sample,} to create .env file. This file will be used by Foreman to set environment variables when running the app locally.
    • SECRET key is used to encrypt cookies and generate room name based on public IP address for / route. It can be any random string - you can generate one using e.g. date | md5sum
    • NEW_RELIC_* keys are only necessary in production
  5. Run yarn develop to start the app.

Deployment

Heroku

Create a new Heroku app:

heroku create <app-name>

and push the app to Heroku repo:

git push heroku master
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].