peertransfer
v1.0.0
Published
In-browser P2P-filetransfer in three simple steps: 1) Drop files into your browser. 2) Open the generated link on the second PC. 3) Download the files over a direct and encrypted line.
Downloads
4
Readme
Peertransfer
In-browser secure P2P-filetransfer in three simple steps:
- Select the file you want to send.
- Open the generated link on other PCs.
- Download over a direct (as in peer-to-peer) and end-to-end encrypted line.
Thus the file will only be available for download as long as the sender keeps his browser tab open.
- [x] Data is sent peer-to-peer
- [x] Data is transferred using end-to-end encryption (due to WebRTC)
- [x] The initial messages that are relayed by server to initiate the p2p WebRTC connections are encrypted using a key that is shared out-of-band while passing around the generated URL (to protect against IP leakages and man-in-the-middle attacks while initiating WebRTC)
Install
A hosted instance of Peertransfer is available at https://pguth.github.io/peertransfer/
git clone https://github.com/pguth/peertransfer.git
cd peertransfer
npm start
Related &|| noteable
- My presentation slides
- A variation of peertransfer I wrote: peermesh
- sharedrop "HTML5 clone of Apple's AirDrop - easy P2P file transfer powered by WebRTC"
- ShareFest "Web based p2p file sharing built on WebRTC Data Channels API"
- serverless-webrtc "A demo of using WebRTC with no signaling server."
- WebTorrent "Streaming torrent client for node & the browser"
- OnionShare "Securely and anonymously share a file of any size"
- FilePizza "Peer-to-peer file transfers in your browser"
- HTML/CSS of this project are forked from Creating a File Encryption App with JavaScript (license: "You can use, modify and build upon our code for your (or your clients’) personal and commercial projects with no attribution necessary.").