PairDrop: Local/remote file sharing in your browser/mobile. Inspired by AirDrop. Fork & alternative of Snapdrop
-
PairDrop
Local file sharing in your browser. Inspired by Apple's AirDrop.
Explore ยปFeatures
PairDrop (<-DEMO) is a sublime alternative to AirDrop that works on all platforms.
Send images, documents or text via peer to peer connection to devices in the same local network/Wi-Fi or to paired devices. As it is web based, it runs on all devices.
You want to quickly send a file from your phone to your laptop?
You want to share photos in original quality with friends that use a mixture of Android and iOS?
You want to share private files peer to peer between Linux systems?
AirDrop is unreliable again?
Send it with PairDrop!Developed based on Snapdrop
Differences to Snapdrop
Device Pairing / Internet Transfer
- Pair devices via 6-digit code or QR-Code
- Pair devices outside your local network or in complex network environment (public Wi-Fi, company network, Apple Private Relay, VPN etc.).
- Connect to devices on your mobile hotspot.
- 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 the PairDrop TURN server.
Improved UI for sending/receiving files
- Files are transferred only after a request is accepted first. On transfer completion files are downloaded automatically if possible.
- Multiple files are downloaded as a ZIP file
- On iOS and Android, in addition to downloading, files can be shared or saved to the gallery via the Share menu.
- 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 Windows
- Send directly from share menu on iOS
- Send directly from share menu on Android
- Send directly via command-line interface
PairDrop is built with the following awesome technologies:
- Vanilla HTML5 / ES6 / CSS3 frontend
- WebRTC / WebSockets
- NodeJS backend
- Progressive Web App
- IndexedDB API
- zip.js
- cyrb53 super fast hash function
Have any questions? Read our FAQ.
You can host your own instance with Docker.
-
Thanks! I had made use of SnapDrop.net a few times (which was down the other day, but now appears to be back up) so good to have https://pairdrop.net/ on hand as an alternative.
Edit: Sounds like they've also made some great improvements too!
-
oh yes....
NEED! NEED! NEED! NEED! NEED! NEED! NEED! NEED!
-
@cortex said in PairDrop: Local/remote file sharing in your browser/mobile. Inspired by AirDrop. Fork & alternative of Snapdrop:
Is it available on the cloudron app store?
No, not yet.
-
-
any news on this one? how hard is it to implement?
-
might be easy for @Kubernetes
-
Wow, I just tried it. Very impressive, even if I never had any problems with Airdrop I will check if I can package it for Cloudron
-
@RazielKanos said in PairDrop: Local/remote file sharing in your browser/mobile. Inspired by AirDrop. Fork & alternative of Snapdrop:
how hard is it to implement?
excellent question !
looking at their dockerfile, it is a node app so should package easily under cloudron base image
and it doesn't seem very complex (ooops, famous last words)Let's see who's first to pull it off !
-
Drumroll
Here we go, I was able to create a basic initial package which works already on my Cloudron.
Remarks:
- If I access the PairDrop on my Cloudron from 2 devices, they do not see each other until I create a room for sharing
- Sharing between two devices did work fine (in a extra room)
Not sure if TURN configuration is required?
You will find the current state in my Repo
-
@Kubernetes magic, well done
And you beat me to it !
-
I have added the easy installation to the repo and the required steps in the Readme.
-
@Kubernetes
Installed it now with your Easy install steps - went amazingly well
Thanks a lot! -
@RazielKanos Great! Thank you for giving feedback. If there is anything in the easy install process that you think that should be improved, please let me know.
-
@Kubernetes How do app updates work in this scenario?
-
@necrevistonnezr As with any custom app, they're manual.
-
@necrevistonnezr Adding to what @robi said, the easy installer method is just a way to help others to try and test the custom app. You should not use a custom app like a official Cloudron App. You may have seen the "unstable" marked Apps in Cloudron App Store? A custom App is much more "unstable" than that.
However, thank you for asking this question as it shows that we should put a Note of this to the custom Apps README to avoid misunderstandings.
What about something like this as a Disclaimer?
Warning: Not Production Ready
Please note that this project is not intended for production use. It is only a project to make it possible to deploy this app on Cloudron. Deploying this app manually on Cloudron requires advanced knowledge of Linux, the Cloudron CLI, and Docker.
Using a precreated Docker Image from an external source for easy installation comes with risks. You need to trust the Image Provider if you choose this installation method.
Before proceeding with the installation, please ensure that you understand the potential risks involved and take appropriate precautions to protect your system and data.
By continuing with the installation, you acknowledge and accept full responsibility for any consequences that may arise from using this project.
-
@Kubernetes
It works! Really, you are brilliant and I absolutely love it when you make applications like this accessible to people like this. Thank you for your work on the easy-installer, which is really well named.Thanks also to @jdaviescoates for pointing me to this thread in so timely a fashion.
I might have found a bug. If you use this procedure to install the application, and then later change your mind about the location and try and run it on another sub-domain, it won't run. With Cloudron applications, that is usually very easy. I tried restarting and that didn't solve it.
For example, lets say you install here:
and later decide to change the location to:
that won't work.