All Projects → Orange-OpenSource → just-drop-it

Orange-OpenSource / just-drop-it

Licence: GPL-2.0 license
Simply and instantly beam a file between two browsers

Programming Languages

typescript
32286 projects
Pug
443 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects
CSS
56736 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to just-drop-it

ethtoken.py
Ethereum ERC20 Token Interface, in Python
Stars: ✭ 40 (+81.82%)
Mutual labels:  transfer
blog-single-user-websocket
Enforcing a single web socket connection per user with Node.js, Socket.IO, and Redis. Sample repository for my article on Medium.
Stars: ✭ 67 (+204.55%)
Mutual labels:  socket-io
Project12-C-Slack-Web
🔥🔥🔥🚀⚡ [12-C팀] 겁나 빠른 슬랙 프로젝트 ⚡🚀🔥🔥🔥
Stars: ✭ 22 (+0%)
Mutual labels:  socket-io
Radar
Arduino Servo controller with Ultrasonic sensor, that will send distance value from sensor to Node.js via USB serial and leveraging socket.io to send the data to browser in realtime.
Stars: ✭ 24 (+9.09%)
Mutual labels:  socket-io
harker-bell
Official bell schedule app
Stars: ✭ 41 (+86.36%)
Mutual labels:  socket-io
quickmeet
A video chat/meeting webapp using WebRTC and WebSockets. Basically a Google Meet clone + a collaborative Whiteboard.
Stars: ✭ 75 (+240.91%)
Mutual labels:  socket-io
simple-file-server
Transfer and browse files as simple as possiable via HTTP. Supported Windows, Linux, Mac OS...(Support QRCode output)
Stars: ✭ 43 (+95.45%)
Mutual labels:  transfer
YoutubeWithFriends
main repo for youtube-with-friends
Stars: ✭ 12 (-45.45%)
Mutual labels:  socket-io
rust-socketio
An implementation of a socket.io client written in the Rust programming language.
Stars: ✭ 198 (+800%)
Mutual labels:  socket-io
shikshak
Academics made Affordable.
Stars: ✭ 16 (-27.27%)
Mutual labels:  socket-io
2019-15
Catch My Mind - 웹으로 즐길 수 있는 캐치마인드
Stars: ✭ 19 (-13.64%)
Mutual labels:  socket-io
m.io
An open source Moomoo.io server implementation
Stars: ✭ 20 (-9.09%)
Mutual labels:  socket-io
spiced academy--p2p chat
A fun and easy messaging app that allows private conversations through P2P
Stars: ✭ 17 (-22.73%)
Mutual labels:  socket-io
pacNEM
pacNEM is a Browser PacMan game with NodeJS, Socket.io, Handlebars and NEM Blockchain
Stars: ✭ 20 (-9.09%)
Mutual labels:  socket-io
unite
Microsoft Engage 2021 - Video Conferencing Application
Stars: ✭ 143 (+550%)
Mutual labels:  socket-io
Neural-Tile
A better tiling script for Neural-Style
Stars: ✭ 35 (+59.09%)
Mutual labels:  transfer
realtime-geolocation
Geolocation tracking app with Node.js, Socket.io, & AngularJS
Stars: ✭ 29 (+31.82%)
Mutual labels:  socket-io
socket.io-react
A High-Order component to connect React and Socket.io easily
Stars: ✭ 67 (+204.55%)
Mutual labels:  socket-io
socketio-jwt-auth
Socket.io authentication middleware using Json Web Token
Stars: ✭ 87 (+295.45%)
Mutual labels:  socket-io
SocketIOSharp
C# implementation of Socket.IO protocol revision 4 client and server.
Stars: ✭ 101 (+359.09%)
Mutual labels:  socket-io

Just Drop It

Build Status

just-drop-it allows you to simply and instantly send a file to a friend, whatever your network configuration (proxies, VPN, and such). Just open your browser, drop the file in it and send the generated link to your friend : the file will be beamed to him without being stored on any platform.

why would anyone do this?

We thought that this kind of tool was missing in our work environment, so we tried to set one up. Lucky for us, tools like node.js, Express, socket.IO and socket.IO-stream made it quite easy to get something up and running.

How to use it

It couldn't be more simple (but you will need a running instance of just-drop-it. If you don't have one see the section below or wait for our online demo (if a few days, we promise 😁)

  • open your just-drop-it in your browser
  • drop your file (just one please)

Image of Yaktocat

  • send the generated link to your friends

Image of Yaktocat

  • keep your browser open until your friends received the complete file

Image of Yaktocat

How to run it

On any computer

With node JS

Download and install node.js. Then:

  • Download the source code
  • Download the needed dependencies (first time only): npm install
  • Start node-js server: npm start (to start the server in dev mode wit hot reload: npm run start-dev)
With docker

We provide our own docker image to deploy node js.

  • Build the image (first time): docker build -t just-drop-it . (add --build-arg HTTP_PROXY=http://proxy-host:<proxy-port> --build-arg HTTPS_PROXY=proxy-host:<proxy-port> if you are running behind a proxy)
  • Run the image (first time): docker run --name just-drop-it -p 8080:8080 -d just-drop-it (next time you will just have to start it with docker start just-drop-it)

on an openshift instance

just-drop-it should work on openshift3 instances. Just create a node-js v6 app and synchronize its git repository with our.

From a technical point of view

More details on our implementation, to be updated.

Framework

To meet the requirements, we chose the followings:

Error handling

Handling network cutting is a hassle. The most common scenario is the following:

  • a big file transfer is ongoing
  • one of the proxies cut the transfer connection
  • Not only neither the server nor the receiver are notified that the transfer failed, but also will the download in browser be let in a success state, even if all the file size was not received.

In order to provide a better monitoring, the number of bytes written on the http download socket are monitored, allowing us to:

  • provide real download progress
  • close a transfer that has been closed by the network
  • control that when a socket is closed, all the file size bytes has been written on it
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].