Comments (98)

I like it. Looks an awful lot like ShareDrop. Why is that?

i think because ShareDrop was inspired by SnapDrop (or vice versa?).
PairDrop is a fork of SnapDrop which looks like its not maintained anymore and got very unreliable in the past months.

PairDrop has some cool new features like:

• Device Pairing

• Share Files from Share-/Context-Menu on iOS, Android, Windows

• Improved UI (like Zip Files, etc)

I was going to mention Snapdrop as I get the impression it came first. Snapdrop has started to have a lot of down time every so often and I ran into a problem trying to share a large file (Windows can't handle it via the cable...).

Can we run this on our own PC/server? I'm still trying to figure out how to do that with Snapdrop as I'm not too familiar with Linux.

There is a mentioned about docker instance to run on own server. So it should be possible.

Yeah, now I also need an alternative for Wormhole. It's also gotten very unreliable.

May I ask, what's Wormhole?

https://wormhole.app/

Ah okay. Cool

Are you the developer of pairdrop?

no, just stumbled upon it when searching for a iOS Share Shortcut for Snapdrop.

u/SchlagMichHalt is the developer of Pairdrop

Thank you. Love that your link actually works instead of being a github repo with no instructions.

Ok, this is great! I got rid of my network mapped drive because it was too much of a hassle, and it's always a pain trying to dig a damn flashdrive out of a drawer just to move a file from my desktop to my laptop. Been looking for something like this!

I have never used this type of file sharing method before. Is this like sending an email with an attachment? Are there limits to the size of sharing?

Just try it out it’s quite straight forward and forever free to use. The files are sent directly peer to peer and end to end encrypted using webrtc (the same technology used for many Videocall solutions) and therefore never touch the server. So compared with email, files are not saved on any server but directly sent to the receiving device. The use case is rather similar to AirDrop than to E-Mail. Share files or text to devices nearby instead of uploading it somewhere and downloading it from another device (like Wetransfer, Email and alike). By pairing devices it is however also possible to send to devices outside of your local network.

About max transfer size I have not conclusively tested how much different browsers can handle, but files with up to 5 GB have been no problem so far. The exception is (as always) iOS. File requests to iOS devices with files bigger than 200 MB are therefore automatically declined. If you gather more Testing data (or any problem for that matter), you’re invited to create issues on the projects GitHub page.

Happy testing!

This is nice to see since Mozilla cancelled Send.

You should also checkout Wormhole. It's the most similar to Mozilla send that I've found

5GB is quite a lot! This is quite useful. Thanks for explaining.

I've definitely transferred files larger than 200MB via Snapdrop to Windows PC. One example I have is just under 650MB. I did try transferring a file just over 37GB which Snapdrop said it had finished uploading, but then crashed as soon it tried to save the file to my PC. I'm not sure if that was a limitation of Snapdrop or iOS though, so I'm trying to find if there's a way to run it off my PC or own server and hoping that'll fix the issue (my iPhone connection has a tendency to crash and bug out when I try to transfer files via USB which is really annoying, and I have no intention of paying for iCloud).

But this isn't even what they said. Sending to iOS isn't the same as sending from...

Possibly, though I read "file request to" as in "sending the request to iOS for a file" rather than say "file transfer" as in "sending a file to iOS".

its perfect if you just want to quick & simple transfer a file from a device to another (for example to get a picture from your phone to your pc) without going the route over emailing it yourself / a friend next to you.

the dev u/schlagmichhalt may give you some details about the technical limits.

That right there is a great example. Enough to motivate me to play w this software.

A good way to try it out is to just open two instances of pairdrop.net in two different browser tabs. You can send files to yourself and simulate the experience of interacting with another peer on the locally discoverable network

[deleted]

Do you mean Proton Drive? Isn’t that just like Nextcloud? I would like to include a comparison in the docs of the repo. Can we gather some suggestions what programs to add and what qualities to compare?

Two year old account, r/Beetlejuicing

Does anything like this exist but in a desktop app to mobile app format?

I'm talking independent programs, not a website per se.

You‘re probably looking for something like Localsend

This looks amazing, how is it not more popular?

Any comparisons of this to pairdrop? Not sure which one to use

I posted this before so to answer your question I will just paste it here again:

The public version of PairDrop relies on public stun/turn servers for signaling, so an internet connection is needed for it to work.

PairDrop is rather built for everday office life or university networks where devices are not allowed to discover each other.

LocalSend is perfect for sending files on a local network where devices are allowed to discover each other (e.g. your home Wi-Fi).

On a plane you can now connect your devices to a mobile hotspot (no need for actual signal or network) and your devices should be able to send files via Localsend.

Sadly, the process of opening a mobile hotspot and connecting to it is not able to be automated (at least on iOS) but this is good news anyways :)

My own evaluation:

Advantages Localsend over PairDrop:

• ⁠if you connect devices to a mobile hotspot it does even work without any signal or network • ⁠no central server • ⁠as it is a native app it does integrate nicely into the device share menu

Advantages PairDrop over Localsend:

• ⁠no setup needed to be used whatsoever • ⁠overall easier to use for non-tekkis • ⁠not restricted to local networks where devices are allowed to connect to each other (public Wi-Fi, company network, Apple Private Relay, VPN, mobile data etc.) • ⁠central server for signaling + self hostable

They both have their perks. Decide for yourself or simply use both in different situations as they are free ;)

I wish there was something like localsend (didn't use it, but I'm judging based on your comments), but which also allows to install itself without network.

In android world that would work, maybe it creates https server and generates QR code to download itself by scanning via hotspot, so if I'm on a plane and want to send a file to someone, and I have localsend installed, I can share localsend itself first and then share files via localsend.

But in an iOS world this wouldn't work I guess. I'm not sure if it's even possible to solve this problem.

When I'm on a plane and need to share a file to iOS device, I just host a little http server and type URL of needed files in Safari on other device. Maybe it's the only way to go.

Wouldn’t a sftp server in the local network do that if you connect the devices via a mobile hotspot? That should work on iOS and Android

Do built-in browsers (safari and chrome are the ones I guess) support sftp natively without any additional software or setup?

Do you know any good SFTP server app for Android and/or iphone?

You can open an FTP url directly in all browsers

Thanks, I'll test it.

Now if only there was an app like localsend that automates creating a hotspot and starting an ftp/sftp with files you want to share…

Sorry my answer was wrong apparently. I just found out, ftp support was killed in chrome 2 years ago: https://superuser.com/questions/1634495/how-can-i-open-an-ftp-server-in-chrome I don’t really understand why though

Firefox also dropped ftp support.

Now the only natively supported protocol is http I guess.

Apparently yes.. but you should be able to built sth similar with http: 1. When the app starts, it creates an http-server and starts a WiFi-direct connection with a random psw and start the server on a port. Additionally the App shows UI similar to that of Localsend 2. Clients connecting to this wifi (eg via QR Code) and visiting the shown url (eg via second QR code) get a UI similar to that of Localsend. 3. All devices that connect to the server can send files to and receive files from the server. Transfers between connected peers are possible by relaying the traffic through the server. 4. Asymmetric encryption should be done to ensure the server cannot read relayed files itself. Public Keys are shared through the server but a hash is used as a security number to make sure there is no MITM (Similar to Signal).

I wish someone made an app that works exactly like you described.

This should also work from iPhone. https://beebom.com/run-simple-web-server-iphone/amp/ Not sure whether it could become a feature of Localsend or rather an app of its own

That's pretty much is the same as running Termux on Android and using python's http server, which is what I do currently.

I'll keep it in mind. Maybe this could also be a future project of a PairDrop app, as I already have an optional ws fallback implemented for selfhosting

I hope so :-)

Just do SFTP

Warpinator

I wish Pushbullit still updated for ios.

This is really, really useful! Thank you for this

I installed the chrome app on Android. When I try to share via the Android share menu it opens but tells me "the site cannot be reached." If I instead open the app from my home screen it works fine. Am I doing something wrong?

Edit: welp, I tried sending a file back and forth between my phone and my computer, on the second try I got a server error Too many requests from this IP Address, please try again after 5 minutes. I'm not on a VPN or shared network. Seems like this app isn't quite robust enough for prime time. Good luck!

I can not even get into the site to even try to read documentation.

hug of death

Dev here. Thanks to everyone on this comment chain for making me aware of this issue. I just fixed the rate limiter to work as intended: limit requests of a single ip address instead of all ip addresses at once.

Should work as intended now! Please give it another try!

Edit: welp, I tried sending a file back and forth between my phone and my computer, on the second try I got a server error Too many requests from this IP Address, please try again after 5 minutes.

Tried on my wife's phone, it also did this :(

Taildrop

but without the need for an installation on the devices. So you can quickly send a file to a friend next to you without a hassle, even cross plattform.

I don’t think that works on mobile.

I needed something like that. Thanks

Super cool - thanks!

Holy crap I’ve been dreaming of something like this for AGES

Is there a way to send files over the open internet to another user, or does it only work with immediately local people?

Like, can I have a buddy open https://pairdrop.net on their phone somewhere, and then establish a connection with me via the code (given over the phone)?

Dev here. This is perfectly possible by pairing the devices with the chain icon button on top.

Beware though, that this is a synchronous transfer so both peers need to leave the tab open until the transfer is completed.

Missed opportunity to call it “peardrop”

How is it that just going to the site it’s able to discover all devices on my internal network? Then being able to pair so seamlessly? I’m kinda scared to use it

That's just built-in your browser features. Every website you go to can do just that. People tried fighting that with browser plugins like NoScript that disable it, but nowadays sites are written such that they just don't work without stuff enabled. So we just gave up all privacy.

NoScript is still used.

I am aware that it hasn't gone anywhere. However, during it's peak it was still a comparatively niche plugin. Nowadays, it's a niche of a niche.

I don't think so. It's still widely used among privacy nerds.

Dev here. Actually, PairDrop was created to increase privacy for its users. Files never touch the server and are sent encrypted directly between peers without any server knowing. The server is only needed for signaling.

To group everyone on the same network your public ip is used to group clients together. So of course, PairDrop cannot detect all devices on your local network but simply groups devices together that have the same public IP address.

If you don’t like any website from seeing your real ip address you can use a proxy, Apple private relay or a VPN and use the pairing functionality to connect devices on PairDrop. I hope that makes some clouds go away :)

So two devices in the lan and the traffic doesn’t go through the server?

Exactly! Transfer never touches the PairDrop server. Devices on the same LAN can connect to each other directly. After discovery you should even be able to disconnect the router from the internet and it should still work.

If both devices are on mobile network and you pair them, they can connect to each other directly as well.

If you pair devices to be able to connect them on different networks and one of them is behind a NAT/Router, the encrypted traffic needs to be relayed through a public turn server (which is not the PairDrop server). It’s the same technology many videocall services use called WebRTC.

For more information see the faq on the GitHub repository.

PeerDrop would be a better name seems like a missed opportunity

But this is pairing and peer is a technical term, so I'm in favour of using the more understood word for branding.

This is awesome. I left pairdrop open in baconreader then went to it again on my normal browser and sent a message and a couple files to myself. Worked great. I am the only one on my network. Had to try it.

Sounds really useful.

BUT, I have it open on my desktop PC and am unable to open it on any other device.

Getting this error on all other devices: Too many requests from this IP Address, please try again after 5 minutes.

I thought the idea was to be able to pair multiple devices from the same IP address. At this moment website allows me to load it up only on one device...

Dev here. Thanks for making me aware of this issue. I just fixed the rate limiter to work as intended: limit requests of a single ip address instead of all ip addresses at once.

Should work as intended now! Please give it another try!

It works perfectly now.

Detects devices on network (blue) and paired devices (green) instantly.

Tested on two PCs and two Android devices.

Thank you!

I get a "Paired devices are not persistent" message when I try pairing.

Dev here. To save the secrets used for pairing devices, your browser needs to be compatible with the IndexedDB API. On Firefox private tabs this is not the case so you can pair devices to connect them for the session but will need to pair devices again if you end the session / close Firefox.

Thanks for the info and great job on the app! I was using Edge on a laptop and Firefox (not a private tab) on Android, so maybe there's something else going on?

Is it just the warning you’re getting or are devices really not persistent as in you restart the browser and devices are blue instead of green again?

They seemed to not be pairing at all, as in the message just happens and that's it. I went home and tried with a Linux laptop with Firefox and it worked, so my issue is either something with the WiFi at work or the browser on Mac.

Do you know what version of Safari you are using? And is there any vpn in use at your work? It could be that webrtc is blocked

It was the latest Edge browser on Mac. And there's no VPN in use.

I did not even know Edge existed for Mac. Anyways, if you visit the following test page on the affected browser what does it say beneath „Browser supports WebRTC“?

https://www.webrtc-experiment.com/DetectRTC/#isWebRTCSupported

Sounds like this software has reached puberty.

Best option imo is just setting up SFTP on your desktop

Why I read it “Pain” Drop!

This is snapdrop!! Oh, this is a fork of Snapdrop, cool!

I've tried everything and sent a file 10x times to my phone and cannot find it anywhere - it's not in chrome downloads, its not in the storage...

u/SchlagMichHalt

Is there any progress indication? Did you accept the transfer before? Please describe the exact steps you did and what devices you are using.

To add screenshots, most helpful would be to create an issue on GitHub directly

I am good now - I went up the fork to snapdrop which works perfectly.

https://pairdrop.net/ - The progress indicator worked fine (it sent 200MB quite fast) but there was no Save popup afterward and the file was nowhere to be found. I restarted the browsers and tried again, same thing. This was a Macbook Air M1 Chrome -> Galaxy S10 Chrome transfer.

https://snapdrop.net/ - worked perfectly. Save button actually brings up the Android save dialog where I choose where to save the file.

Sure, that’s a solution. Beware though, that sending multiple files with Snapdrop is a little inconvenient. I would appreciate it, if you could give me some more details as I cannot reproduce your issue on Galaxy 10 Chrome via Browserstack. When the file sharing is finished the dialog opens and the share menu is opened which offers the possibility to save photos directly to the gallery or save files to the devices download folder.

More info like what?

Thanks for helping! - Do you use the latest version of chrome? What version is that? - Do you have another browser on your galaxy s10 to test receiving files? If it works, what version is it? - Does this happen with all types of files or only with images and videos? - Does the sending device get the notification „File transfer completed“?

https://snapdrop.net/ is offline now :( and I still can't get pairdrop to work

BUT I just found an even better app that works entirely over wifi hotspot with no internet/data needed at all -- https://localsend.org/ it's transferring 20.0MB/s which is way faster than snapdrop ever did