I would be interested in an overview and comparison of all the available options to solve this kind of problem. Here is a list of some services I’ve used successfully in the past.
Yes, thank you for this! I honestly couldn't remember the name, and found the other one and was surprised it said it was closed, as I thought I remembered it being open. Appreciate you providing the original.
I've been fiddling away with OWL and OpenDrop for a few months now, trying to get it working on a Raspberry Pi Zero.
The goal was a digital picture frame that accepts Bluetooth and AirDrop pictures. The bluetooth part works fine... but it's the Airdrop part that's dead in the water at the moment.
It would be great to see something like OpenDrop garner more support and unify AirDrop usage across all major operating systems. Unfortunately for now it is only available for use with macOS and iOS.
Edit: Apparently some support for linux is possible.
> As AirDrop exclusively runs over Apple Wireless Direct Link (AWDL), OpenDrop is only supported on macOS or on Linux systems running an open re-implementation of AWDL such as OWL.
Another option (also not Airdrop compatible) is https://github.com/akovacs/uploadserver which is a Rust (Rocket) web server that you can run on a local machine. Open a browser and navigate to the machine's IP address at port 8000 to upload/download files from the web form.
AirDrop is brilliant but it fails silently, no error messages - nothing. At best, it says that it was cancelled.
Does anyone knows how to debug it?
I also wonder, why this type of file transfer isn't the industry standart. It's so straightforward(when it works), why would anyone transfer files in any other way? Okay, maybe a transfer history can also be useful.
This is true for most Apple protocols in my experience. I’m supposed to be able to control my Homepod from my watch with a tap but it never works. Sometimes I can’t use the Homepod for minutes until it shows up. iMessage regularly fails to show the blue name for contacts, FaceTime is randomly unavailable for certain contacts, Airpods randomly disconnect, Airdrop rarely works. Tethering is also kind of spotty. The watch Walkie-Talkie function is terrible, dropping bits of the message. How they even implemented a working TCP/IP stack is beyond me. Lo and behold the most reliable “protocol” is HomeKit, but even that is randomly unable to persist name changes.
I’ve encountered many of these as well and have always assumed this was somehow the result of trying to make everything “just work”, wherein providing detailed user feedback or error messages would be some kind of admission that it hadn’t “just worked”.
I've seen one of the Bluetooth guys from Google Glass say that it's perfectly normal in the industry to silently restart the Bluetooth stack before every connection attempt.
My experience suggests that this is true for most Apple products. It either works the way Apple has decided it should work, or it fails silently and mysteriously.
I find a lot of the grief with these protocols is driven by which wifi router is in use. When using the old Apple wifi routers I never had trouble with homekit, airdrop, handoff, airplay or any of the zeroconfig network stuff: as soon as I switched to other brands the issues would pop up (including ones that oddly seem to persist even after disconnecting from wifi - but then disappear when using a different user account on the same machine).
Because of this I feel Apple could do a hugely better job in all of their wireless protocols, as it stands the only truly stable networking appears to be between two iphones.
Specifically with Homekit, a wired Apple TV and good quality home networking equipment with wired access points makes a world of difference. I use Aruba Instant On, but I have had good experiences with Orbi at higher prices and Linksys Velop at the lower end from Costco. Also, if you have a lot of Homekit stuff, it is best to use devices that have their own Zwave or Zigbee or whatever hubs that are then connected via ethernet into your network, to cut down on how much chit chat is flying around on WiFi, especially from cheaper quality homekit devices.
I am overall unimpressed with the consistency of wireless technologies, especially since Apple no longer makes the equipment that provides the backbone (the router/access points). You usually have no idea what quality radios and programming various wireless devices are equipped with, so it is just a crapshoot when dealing with it.
I actually have the exact opposite experience. I have tried multiple different brands, all of which work JUST FINE with any other device, Android, internet connected devices, even my iPhones will work in every single room of my house.
Literally nothing I can do can make every HomePod on my network “just work”.
I would pay literally twice the amount of money for a HomePod with a fucking Ethernet port. Siri itself works amazingly well with it: when it can communicate.
The dream is to be able to wirelessly and effortlessly play music throughout my home, but I’m about to just give the fucking HomePods away and just wire speakers to every room in the house, even if it does cost more, it’ll actually fucking WORK.
Many "just works" things on the local network start failing for me when I'm using a VPN. Maybe check whether that's the reason. But yes, generally the reliability is so-so. Also, the feature to use Apple Watch to unlock the Mac or iPhone works mostly, at best.
I don’t use a VPN and I don’t think it’s my network because I don’t have any problems with “old” protocols (UPNP, samba, RDP/VNC, SSH, everything on top of HTTP). I wonder what Apple’s protocols do that makes them so error prone. If it was one or two of those I’d say it’s a bad department but the amount of errors suggests a deeper problem in the way Apple develops these things.
When I was traveling from Sharm El Sheikh through Sinai to Israel in the bus I’ve transferred 40GB of photos and videos to my friends on iPhone 6S. Imagine this on Android 5 years ago - they (Google) only managed to copy AirDrop with same functionality (wifi + bluetooh) only in 2020 with Nearby Share.
Not sure if that's a real question, how you would have copied files 5+ years ago between phones? Support for USB host mode was introduced with Android 4, released in 2011, but would have required the use of an OTG cable so that would likely not have been an option.
Popular Android file managers at the time had file transfer capabilities so that was probably the quickest. The advantage is that they used normal file transfer protocols which were available everywhere so the other party didn't require any special support.
However a decade ago all phones had SD cards, because their internal memory storage was so small so you needed them should you wish to use the camera beyond any trivial amount. So just copying that way would probably have been what most people did.
Yes - similar story… I had to use it at airport security in south east asia when I needed my hotel booking to get through… my colleague was able to airdrop it to me even though we had no cell or wifi connectivity
Samsung phones have had this feature for years. So if you had the top of the line androids, you would have been able to do the same thing you did with your Iphones. I see many people make the mistake of comparing $1000 Iphones to the cheapest $200 android phones and use that as evidence of Iphone superiority. I guess we have Apple's marketing and brand to thank for that.
Never heard of such features on Android or Samsung despite my Android friends use them whole life and AirDrop was one of the reasons some of them switched to iPhones. There were some things where you needed to put smartphones back to back and it worked probably in one of 100 times but nothing like AirDrop. That’s why Google failed with wifi direct and other childish approaches.
Of course you can use a cable, but they are unreliable. They tend to break, corrode, get dirty, disappear, have incomparable ends(one side USB-A, the other one micro USB, lightning - whatever) that one of the devices don't accept.
They are also bulky and the transfer speeds are slow. Airdrop can transfer gigabytes of data in minutes, which is only possible with the latest wired interfaces that only the newest devices have and not all support file transfers.
iPhones tend to last 3-5 years or even more and iPhones from different generations can transfer each other files through AirDrop. Not everyone has the money to update their phone each year and many who can update think it's wasteful to do so that they can use the latest wired file transfer method.
I was mostly thinking about Macs at the time I made the joke, because very often an iOS user is also a Mac user. Where I work, Mac users always have to carry around dongles.
I think it is the other way around -- almost always a Mac user will be an iOS user, but there are plenty of iPhone users without Macs. At least in the US. iPhones seem to be around 50%-ish of sales in recent years, while Macs are not as popular, somewhere around 15%.
Of course, there are lots of competing estimates for this sort of thing, but the numbers are so far apart that I don't think it matters too much.
Personally, I have an iPhone because I'm completely uninterested in cellphones and just want something that I don't have to think about too much/will be supported for a while. My computers all run Linux, because computers are cool, and fun to tinker with. Maybe someone who grew up in the era where cellphones weren't so useless will have a different perspective, though.
WRT dongles -- I dunno. Some of the popular Macbook models don't have HDMI ports, right? That seems pretty annoying. But my ZenBook lacks a headphone jack! The moral of the story is I guess that OEMs just want to fill our pockets with dongles. Or maybe selling replacement dongles is the solution to the post Moore's law era, since we don't have to replace our PCs anymore.
Really depends. Our company is entirely Mac. Everything “just works” wirelessly. Like AirPlay for conference rooms, my external monitor is USB-C, etc. No dongles necessary. It’s only when going to other clients where I need to carry around dongles because they don’t support AirPlay or their Wifi network requires several days advanced notice and a urine test before you can get access.
ah I see. with regard to Macs, I skipped from the 2015 macbook model to the 2021 macbook model and I probably would have held out longer and therefore never needed a dongle, but I digress.
back to iOS. no dongles for me there either. my headphones have been wireless for almost a decade, and the charging ports are pretty ubiquitous.
> I also wonder, why this type of file transfer isn't the industry standart.
I would assume because it's technically complicated, using multiple protocols under the hood. That's fine if you control all the hardware on every supported device, but not great for building interoperability.
Bluetooth file transfer is a standard that works, but it's slooooooooow!
I’ve got an MBP that doesn’t show up, and never has, but it sees the rest. Any other macbook or iphone I’ve tried AirDrop with just works, but not my MBP.
I've had trouble with airdrop from phone to mbp when the mbp was on VPN. I don't know how airdrop works but I'm guessing the fact the VPN takes over DNS (and blocks requests to all other nameservers) has something to do with it.
Who knows though. Apple's engineers love writing software that doesn't produce useful logs.
The furthest I got was, on macOS, I restarted the daemon with `sudo launchctl stop com.apple.sharingd` followed by start. This however didn't fix it for my case, and I was not able to find any deeper debugging steps on my iPhone. Perhaps rebooting the phone would have helped.
It‘s brilliant until a pair of devices enters a state where the target does not receive airdrop notifications anymore, while the source is stuck on „waiting“, which can only be resolved by restarting the devices.
I believe AirDrop is a a great example of how Apples vertical integration and full ownership of software and hardware really thrives. It may not offer interoperability with other platforms, but that’s because other platforms don’t have the control needed to implement the same level of integration of hardware and software needed.
Without the direct low level control of the radio hardware they would not have been able to integrate both Bluetooth and WiFi in the way that AirDrop does.
I hope one day standards for this type of functionality appear so that other platforms can implement it. Ideally apple would contribute their tech to create the standard but that’s probably wishful thinking.
Airdrop is a good example that a easy to use but unreliable technology will beat a hard to use but reliable solution. Airdrop sucks, but even my mom can use it.
> I believe AirDrop is a a great example of how Apples vertical integration and full ownership of software and hardware really thrives.
I guess you don't have two iDevices then? Airdropping something constantly and randomly doesn't work with no popup on the other side. It's totally embarrasing given that they have control over soft and hardware. I'm puzzled how it's even possible to screw this up so badly and leaving it like this for years.
> but that’s because other platforms don’t have the control needed to implement the same level of integration of hardware and software needed.
I seriously doubt this is the case. We're in a thread where people are posting dozens of implementations that work perfectly fine on other hardware.
> Without the direct low level control of the radio hardware they would not have been able to integrate both Bluetooth and WiFi in the way that AirDrop does.
This... is also not necessarily true? Android lets you send arbitrary data through WiFi Direct and Bluetooth alike, I'd really like to see a detailed breakdown that explains how that modulation isn't possible on standard hardware/software stacks though.
Does WiFi Direct et al even work? I've tried a couple of time to share stuff using a wireless methid from my android device to other Android devices and have never managed to do this successfully. What's the magic trick for doing this Android to Android?
Windows has a lot of integrated solutions like that. I think Linux is the main outlier where there's nearly infinite ways to configure the whole OS and each component has at least 2-3 software alternatives (init systems, desktop environments, network management components)
They historically have opened source similar protocols, e.g. they open sourced rendezvous. But generally there would need to be an interoperability reason for them to do so. AirDrop seems like a good candidate for this.
I went from MacOS to Linux recently so I was going through similar projects and there is one important caveat: You have to have WIFI adapter that supports special mode (active monitor mode with frame injection).
Without compatible wifi adapter this will not work unfortunately :-(
Oh no, a thousand marketers just had the idea of automatically airdropping advertisements to passers-by. You could even structure it as a lottery-esque type of thing, only giving out good coupons or discounts to random individuals at random intervals, prompting people to loiter and wait for theirs.
You joke, but Apple rolled out some BT-based beacon stuff that allows stores to do some user tracking at short range -- and it can be used to pop local notifications. I don't think stores have gone down the "you're here and we're going to advertise to you" route (since that'd be creepy as hell), but its more grist for the mill.
When I walked into the local Apple store circa 2019 I was greeted with a “welcome to Apple” notification from the Apple store app. It’s the only example I’ve seen of iBeacons being used that I personally know of.
If I understood their paper[1] correctly you can just use a popular phone number that a person walking by is likely to have in their contacts, like an emergency line number.
My mobile telco's SIM comes with a couple of contacts on it like their customer support line. I don't know anything about AirDrop, but I assume this will work.
As far as I understand the protocol, you'd need a certificate signed by Apple in order to be able to masquerade as that contact in somebody's contact list, and Apple only signs these after phone number or email confirmation.
Hah, make it give out cryptocoins, and take the idea of peasants waiting for royalty to make it rain money to the 21st century, where it all happens digitally/using a smartphone.
Did kings and emperors even do that in the old times?
Before the pandemic, one of my friends used to have a hobby of going to bars and conventions and AirDropping pictures of ducks to strangers who left their AirDrop turned on.
Pavel Zhovner, creator of Flipper[1] had this cool post [2] in June 2020 on how he used Apple AirDrop for automated dating and fun. It included the phone number recovery component as well.
This was a thing: https://piratebox.cc/start : open WiFi network that's not connected to the Internet, but it had a forum software. I even bought a simple router and got it installed, but I sadly never set it up in public. A friend who was involved with a local hangout got interested in the idea of an "Internet" where you had to physically go to the location to access the content, although I don't think he set it up there either.
I have been having a huge problem getting pics and videos out of my partner's iPhone. We don't have a Mac or Windows to run iTunes. The only way I have found is to upload pics to Google Drive but then I have to keep the app open on iPhone until all pics are uploaded and bringing Google in between doesn't feel well.
Is there a way to transfer pics from iOS to Android wirelessly and locally similar to Xender or Nearby Share on Android.
Do you have a Linux machine ? If so, use libimobiledevice to connect your phone with a cable. the Arch Wiki walks you through syncing your pictures [0] from an iOS Device to a Linux machine.
For wireless / through LAN:
If you want to transfer pictures/files/practically anything that can be uploaded through a web browser, you may use something like [1] snapdrop, it allows you to transfer files securely on a LAN Network, using WebSockets.
> OpenDrop automatically sets DYLD_LIBRARY_PATH to look for the Homebrew version. You may need to update the variable yourself if you install the libraries differently.
FYI for those thinking of doing this, and who would implement it as looking in /usr/local - make sure you also search in /opt/homebrew as this is now the default for Homebrew installations on Apple Silicon based Macs.
I was at the drug store trying to print photos the other day; I was required to bring either an SD card, a USB drive, or a phone with their custom app installed, which I'm never gonna do. I thought to myself, "why on Earth is there no cross-platform version of AirDrop?" and here we are :D
As a Debian and Android user, can anyone help me understand how AirDrop and this python implementation differ from or are similar to Syncthing and/or Firefox Send? Is it basicly the same idea?
Syncthing is p2p, a relay is supported for when both clients are behind NAT on different networks. It supports local network discovery, but the use case is different. It's for syncing files between your devices, not one off transfers.
Does Air Drop use bluetooth or is it network facing? I always worry about yet another attack vector being opened up. Usually any new usability feature like this is designed with security from the ground up which is a misnomer for riddled with unexposed security holes. I always recall the promotion of JAVA as being the security standard bearer but look where that ended up. The best way to secure an unwanted feature is to disable it permanently.
AirDrop never was hacked. It uses bluetooth and wifi to auth/search/transfer. It doesn’t require any existing network so it works in the desert or in the middle of the ocean.
That's slicing it rather finely. After transfer is complete, the host device opens the transferred data. When combined with CVE-2016-4657 on an unpatched device, they allow an attacker to gain control of the victim's device after they accept the airdrop. We can call that a Webkit vulnerability instead of Airdrop (because it is), but end of the day, Airdrop is another route for attackers to gain access to your system. You can choose to enable it if you deem it useful enough, but it would be naive to blindly believe "it's fine".
Now, the victim has to accept the Airdrop payload, and Airdrop has limited range, so it's not as scary as the Pegasus iMessage exploit which was totally remote, but I wouldn't bet my life on the Airdrop code having zero bugs.
For Android-Android, there's Google's nearby share. It's built into GSF so every single Android phone out there has it out of the box.
I reverse engineered enough of its protocol to be able to transfer a file from my phone to my computer over LAN. I really need to do a writeup on this stuff, and also finish my macOS app to be actually usable.
Also: The creator probably has a reason why they chose the license. This comment pretents to be a question, when in fact it just expresses unhappieness with that license choice.
If you are curious why they chose the license, why not ask them?
Maybe because that’s not the place where to ask that question. OP should open an issue on the project to ask them instead of the HN community (who probably don’t know better).
SnapDrop
- Site: https://snapdrop.net/
- Source: https://github.com/RobinLinus/snapdrop
ShareDrop
- Site: https://www.sharedrop.io/
- Source: https://github.com/szimek/sharedrop
FilePizza
- Site: https://file.pizza/
- Source: https://github.com/kern/filepizza
Wormhole
- Site: https://wormhole.app/
- Source: Closed (for now)