Mirror of https://github.com/schlagmichdoch/PairDrop
and own changes
.github | ||
docker | ||
docs | ||
public | ||
.dockerignore | ||
.gitignore | ||
CONTRIBUTING.md | ||
docker-compose.yml | ||
Dockerfile | ||
index.js | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md |
PairDrop
PairDrop: local file sharing in your browser. Inspired by Apple's AirDrop.
Developed based on Snapdrop
Differences to Snapdrop
Device Pairing
- Pair devices via 6-digit code or QR-Code
- Pair devices outside your local network or in complex network environment (public wifi, company network, Apple Private Relay, VPN etc.).
- Paired devices will always find each other via shared secrets even after reopening the browser or the Progressive Web App
- You will always discover devices on your local network. Paired devices are shown additionally.
- Paired devices outside your local network that are behind a NAT are connected automatically via Open Relay: Free WebRTC TURN Server
Improved UI for sending/receiving files
- The receiving peer must accept the request of files before they are transferred and downloaded automatically afterwords if possible
- Multiple files are downloaded as ZIP file
- On iOS and Android the devices share menu is opened instead of downloading the files
- Multiple files are transferred at one archive which shows the overall progress correctly
- The integrity of the files is checked on receive
- By zipping the files before sending, all metadata is preserved
Share Files Directly From Share / Context Menu
- Share files directly form context menu on Windows
- Share directly from share menu on iOS
- Share directly from share menu on Android
Other changes
- Paste Mode
- Video and Audio preview (thanks @victorwads)
- Prevent device from sleeping on file transfer
- node-only implementation (thanks @Bellisario)
- automatic restart on error (thanks @KaKi87)
- lots of stability fixes (thanks @MWY001 @skiby7 @willstott101)
- To host PairDrop on your local network (e.g. on Raspberry Pi): All peers connected with private IPs are discoverable by each other
Screenshots
PairDrop is built with the following awesome technologies:
- Vanilla HTML5 / ES6 / CSS3 frontend
- WebRTC / WebSockets
- NodeJS backend
- Progressive Web App
- IndexedDB API
- zip.js
Have any questions? Read our FAQ.
You can host your own instance with Docker.
Support the Community
PairDrop is free and always will be. Still, we have to pay for the domain.
Thanks a lot for supporting free and open software!
To support the original Snapdrop and its creator go to his GitHub page.
How to contribute
Feel free to open an issue or a pull request but follow Contributing Guidelines.