pairdrop/README.md

129 lines
6.8 KiB
Markdown
Raw Permalink Normal View History

2023-02-04 16:12:00 +00:00
<div align="center">
<a href="https://github.com/schlagmichdoch/PairDrop">
<img src="public/images/android-chrome-512x512.png" alt="Logo" width="150" height="150">
</a>
2023-11-30 01:20:28 +00:00
# _Send it_, with [PairDrop](https://pairdrop.net)
2015-12-18 15:50:36 +00:00
2023-02-04 16:12:00 +00:00
<p>
2023-11-30 01:20:28 +00:00
Local file sharing <a href="https://pairdrop.net"><strong>in your web browser</strong></a>.
<br />
<br />
2023-11-30 01:20:28 +00:00
<a href="https://github.com/schlagmichdoch/PairDrop/issues">Report a bug</a>
<br />
2023-11-30 01:20:28 +00:00
<a href="https://github.com/schlagmichdoch/PairDrop/issues">Request feature</a>
</p>
</div>
## Features
2023-11-30 01:20:28 +00:00
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
2024-01-13 13:18:06 +00:00
- Works on all devices with a modern web-browser.
2023-11-30 01:20:28 +00:00
Send a file from your phone to your laptop?
<br>Share photos in original quality with friends using Android and iOS?
<br>Share private files peer-to-peer between Linux systems?
2020-09-14 00:56:12 +00:00
2024-01-13 13:46:19 +00:00
<img src="docs/pairdrop_screenshot_mobile.gif" alt="Screenshot GIF showing PairDrop in use" style="width: 300px">
2024-01-13 13:18:06 +00:00
2023-11-30 01:20:28 +00:00
## Differences to the [Snapdrop](https://github.com/RobinLinus/snapdrop) it is based on
<details><summary>List view</summary>
2023-11-30 01:20:28 +00:00
### Paired Devices and Public Rooms — Internet Transfer
* Transfer files over the Internet between paired devices or by entering temporary public rooms.
2024-01-13 13:18:06 +00:00
* Connect to devices in complex network environments (public Wi-Fi, company network, iCloud Private Relay, VPN, etc.).
2023-01-25 09:43:00 +00:00
* Connect to devices on your mobile hotspot.
2024-01-13 13:18:06 +00:00
* Devices outside of your local network that are behind a NAT are auto-connected via the PairDrop TURN server.
* Devices from the local network, in the same public room, or previously paired are shown.
#### Persistent Device Pairing
2023-11-30 01:20:28 +00:00
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
2023-11-30 01:20:28 +00:00
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.
2023-11-30 01:20:28 +00:00
* All devices in the same public room see each other.
* Public rooms are temporary. Closing PairDrop leaves all rooms.
2023-11-30 01:20:28 +00:00
### [Improved UI for Sending/Receiving Files](https://github.com/RobinLinus/snapdrop/issues/560)
* 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
2023-11-30 01:20:28 +00:00
* 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.
2023-01-19 18:07:43 +00:00
2023-02-22 01:22:51 +00:00
### Send Files or Text Directly From Share Menu, Context Menu or CLI
2024-01-13 13:44:44 +00:00
* [Send files directly from context menu on Ubuntu (using Nautilus)](docs/how-to.md#send-multiple-files-and-directories-directly-from-context-menu-on-ubuntu-using-nautilus)
2023-12-04 20:16:41 +00:00
* [Send files directly from the context menu on Windows](docs/how-to.md#send-files-directly-from-context-menu-on-windows)
* [Send directly from the "Share" menu on iOS](docs/how-to.md#send-directly-from-share-menu-on-ios)
* [Send directly from the "Share" menu on Android](docs/how-to.md#send-directly-from-share-menu-on-android)
* [Send directly via the command-line interface](docs/how-to.md#send-directly-via-command-line-interface)
2023-11-30 01:20:28 +00:00
### Other Changes
* Change your display name to easily differentiate your devices.
* [Paste files/text and choose the recipient afterwards ](https://github.com/RobinLinus/snapdrop/pull/534)
2023-01-23 20:23:13 +00:00
* [Prevent devices from sleeping on file transfer](https://github.com/RobinLinus/snapdrop/pull/413)
* Warn user before PairDrop is closed on file transfer
2023-01-23 20:23:13 +00:00
* Open PairDrop on multiple tabs simultaneously (Thanks [@willstott101](https://github.com/willstott101))
2023-11-30 01:20:28 +00:00
* [Video and audio preview](https://github.com/RobinLinus/snapdrop/pull/455) (Thanks [@victorwads](https://github.com/victorwads))
* Switch theme back to auto/system after dark or light mode is on
2023-01-25 09:43:00 +00:00
* Node-only implementation (Thanks [@Bellisario](https://github.com/Bellisario))
2023-11-30 01:20:28 +00:00
* Auto-restart on error (Thanks [@KaKi87](https://github.com/KaKi87))
2023-01-25 09:43:00 +00:00
* Lots of stability fixes (Thanks [@MWY001](https://github.com/MWY001) [@skiby7](https://github.com/skiby7) and [@willstott101](https://github.com/willstott101))
2023-01-19 18:07:43 +00:00
* To host PairDrop on your local network (e.g. on Raspberry Pi): [All peers connected with private IPs are discoverable by each other](https://github.com/RobinLinus/snapdrop/pull/558)
2023-12-04 20:16:41 +00:00
* When hosting PairDrop yourself, you can [set your own STUN/TURN servers](docs/host-your-own.md#specify-stunturn-servers)
2023-11-30 01:20:28 +00:00
* Translations.
</details>
2023-02-04 16:12:00 +00:00
2024-01-13 13:18:06 +00:00
## Translate PairDrop on [Hosted Weblate](https://hosted.weblate.org/engage/pairdrop/)
<a href="https://hosted.weblate.org/engage/pairdrop/">
2024-01-13 13:44:44 +00:00
<img src="https://hosted.weblate.org/widget/pairdrop/horizontal-blue.svg" alt="Translation status" style="width: 300px" />
2024-01-13 13:18:06 +00:00
</a>
2023-02-04 16:12:00 +00:00
2023-11-30 01:20:28 +00:00
## Built with the following awesome technologies:
* Vanilla HTML5 / JS ES6 / CSS 3 frontend
* [WebRTC](http://webrtc.org/) / WebSockets
* [Node.js](https://nodejs.org/en/) backend
2024-01-13 13:18:06 +00:00
* [Progressive web app (PWA)](https://en.wikipedia.org/wiki/Progressive_web_app) unified functionality
* [IndexedDB API](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) storage handling
* [zip.js](https://gildas-lormeau.github.io/zip.js/) library
2023-11-30 01:20:28 +00:00
* [cyrb53](https://github.com/bryc/code/blob/master/jshash/experimental/cyrb53.js) super-fast hash function
2024-01-13 13:44:44 +00:00
* [NoSleep](https://github.com/richtr/NoSleep.js) display sleep, add wake lock ([MIT](licenses/MIT-NoSleep))
* [heic2any](https://github.com/alexcorvi/heic2any) HEIC/HEIF to PNG/GIF/JPEG ([MIT](licenses/MIT-heic2any))
2023-11-30 01:20:28 +00:00
* [Weblate](https://weblate.org/) web-based localization tool
2020-12-15 21:29:02 +00:00
2023-12-04 20:16:41 +00:00
[FAQ](docs/faq.md)
2020-09-14 00:56:12 +00:00
2024-01-13 13:18:06 +00:00
[Host your own instance with Docker or Node.js](docs/host-your-own.md).
2020-12-15 21:29:02 +00:00
2023-11-30 01:20:28 +00:00
## Support
2023-01-17 09:50:28 +00:00
<a href="https://www.buymeacoffee.com/pairdrop" target="_blank">
2024-01-13 13:18:06 +00:00
<img src="https://cdn.buymeacoffee.com/buttons/v2/default-blue.png" alt="Buy me a coffee" style="height: 60px !important;width: 217px !important;" >
2023-01-17 09:50:28 +00:00
</a>
2024-01-13 13:18:06 +00:00
<br />
<br />
2020-01-31 08:17:35 +00:00
2023-11-30 01:20:28 +00:00
PairDrop is libre, and always will be. \
2024-02-17 23:05:00 +00:00
If you find it useful and want to support free and open-source software, please consider donating using the button above. \
I footed the bill for the domain and the server, and you can help create and maintain great software by supporting me. \
Thank you very much for your contribution!
2023-11-30 01:20:28 +00:00
## Contributing
Feel free to [open an issue](https://github.com/schlagmichdoch/pairdrop/issues/new/choose) or a
2023-11-30 01:20:28 +00:00
[pull request](https://github.com/schlagmichdoch/pairdrop/pulls), following the
[Contributing Guidelines](CONTRIBUTING.md).