| 
				
					
						
							 | 
			||
|---|---|---|
| .github | ||
| docs | ||
| licenses | ||
| pairdrop-cli | ||
| public | ||
| server | ||
| .dockerignore | ||
| .gitignore | ||
| .npmrc | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
| docker-compose-coturn.yml | ||
| docker-compose.yml | ||
| package-lock.json | ||
| package.json | ||
| rtc_config_example.json | ||
| turnserver_example.conf | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	Features
File sharing on your local network that works on all platforms.
- A multi-platform AirDrop-like solution that works.
- Send images, documents or text via peer-to-peer connection to devices on the same local network.
 
 - Internet transfers
- Join temporary public rooms to transfer files easily over the Internet.
 
 - Web-app
- Works on all devices with a modern web-browser.
 
 
Send a file from your phone to your laptop?
Share photos in original quality with friends using Android and iOS?
Share private files peer-to-peer between Linux systems?
Differences to the Snapdrop it is based on
List view
Paired Devices and Public Rooms — Internet Transfer
- Transfer files over the Internet between paired devices or by entering temporary public rooms.
 - Connect to devices in complex network environments (public Wi-Fi, company network, iCloud Private Relay, VPN, etc.).
 - Connect to devices on your mobile hotspot.
 - Devices outside of your local network that are behind a NAT are auto-connected via the PairDrop TURN server.
 - Connect to devices on your mobile hotspot.
 - Devices from the local network, in the same public room, or previously paired are shown.
 
Persistent Device Pairing
Always connect to known devices
- Pair devices via a 6-digit code or a QR-Code.
 - Paired devices always find each other via shared secrets independently of their local network.
 - Pairing is persistent. You find your devices even after reopening PairDrop.
 - You can edit and unpair devices easily.
 
Temporary Public Rooms
Connect to others in complex network situations, or over the Internet.
- Enter a public room via a 5-letter code or a QR-code.
 - Enter a public room to temporarily connect to devices outside your local network.
 - All devices in the same public room see each other.
 - Public rooms are temporary. Closing PairDrop leaves all rooms.
 
Improved UI for Sending/Receiving Files
- Files are transferred after a request is accepted. Files are auto-downloaded upon completing a transfer, if possible.
 - Multiple files are downloaded as a ZIP file
 - Download, share or save to gallery via the "Share" menu on Android and iOS.
 - Multiple files are transferred at once with an overall progress indicator.
 
Send Files or Text Directly From Share Menu, Context Menu or CLI
- Send files directly from context menu on Ubuntu (using Nautilus)
 - Send files directly from the context menu on Windows
 - Send directly from the "Share" menu on iOS
 - Send directly from the "Share" menu on Android
 - Send directly via the command-line interface
 
Other Changes
- Change your display name to easily differentiate your devices.
 - Paste files/text and choose the recipient afterwards
 - Prevent devices from sleeping on file transfer
 - Warn user before PairDrop is closed on file transfer
 - Open PairDrop on multiple tabs simultaneously (Thanks @willstott101)
 - Video and audio preview (Thanks @victorwads)
 - Switch theme back to auto/system after dark or light mode is on
 - Node-only implementation (Thanks @Bellisario)
 - Auto-restart on error (Thanks @KaKi87)
 - Lots of stability fixes (Thanks @MWY001 @skiby7 and @willstott101)
 - To host PairDrop on your local network (e.g. on Raspberry Pi): All peers connected with private IPs are discoverable by each other
 - When hosting PairDrop yourself, you can set your own STUN/TURN servers
 - Translations.
 
Translate PairDrop on Hosted Weblate
Built with the following awesome technologies:
- Vanilla HTML5 / JS ES6 / CSS 3 frontend
 - WebRTC / WebSockets
 - Node.js backend
 - Progressive web app (PWA) unified functionality
 - IndexedDB API storage handling
 - zip.js library
 - cyrb53 super-fast hash function
 - NoSleep display sleep, add wake lock (MIT)
 - heic2any HEIC/HEIF to PNG/GIF/JPEG (MIT)
 - Weblate web-based localization tool
 
Host your own instance with Docker or Node.js.
Support
PairDrop is libre, and always will be. 
I footed the bill for the domain and the server, and you can help create great softeare by supporting me. 
Please use BuyMeACoffee via the button above. 
Thanks a lot for supporting copylefted libre software!
Contributing
Feel free to open an issue or a pull request, following the Contributing Guidelines.