DEV Community

Cover image for User-friendly peer to peer file sharing as a simple web app - drop.lol
Mat Sz
Mat Sz

Posted on

User-friendly peer to peer file sharing as a simple web app - drop.lol

I'm happy to launch this free file sharing tool: https://drop.lol

It's fully open source, licensed under BSD.

https://github.com/mat-sz/filedrop-web and https://github.com/mat-sz/filedrop-ws

My motivation

I've created this because I was getting annoyed by having to log in to my e-mail account on computers I don't own just to download some attachments - I use a password manager and it gets really tiring (having to manually type a long password). I also didn't like the idea of having to upload files to third party services that could store them.

To resolve these issues I've created my own service that allows for easy WebRTC-based file transfers. In some cases the traffic may be relayed through my TURN server but WebRTC provides end-to-end encryption, so no contents can be seen.

How does it work?

A WebSocket server is used to allow for WebRTC connections being created and to handle some transfer metadata to protect the user's privacy - no WebRTC peer connections are created until both parties agree to a file transfer.

The client side of the app uses React, TypeScript, Redux and Redux-Saga. For the backend I've used node.js and ws (no TypeScript there).

Top comments (1)

Collapse
 
lemonadesoda profile image
lemonadesoda • Edited

Scenario: Trainer and group of participants. One day training. Need to distribute files to group without (in advance) knowing who they are or asking for them to create login profiles.

This is perfect. Dead simple. Tidy interface.