I built Drift: A cross-platform "AirDrop" for any OS using Rust and iroh
https://i.redd.it/dzk5l5ia72tg1.gif
Sharing files can be a frustrating problem. I often dislike Apple software, but AirDrop is often convenient for a quick transfer.
Tools like croc and LocalSend help, but they have their own problems like relying on relays for the actual data transfer or only working if both devices are on the exact same Wi-Fi network.
Thanks to iroh (https://github.com/n0-computer/iroh), I built an app in Rust & Flutter that can share files directly between two devices anywhere in the world. Just exchange a simple 6-digit code, and it establishes a direct, end-to-end encrypted connection between the devices to send files. iroh takes care of all the complex hole-punching magic needed to get it to work correctly across NATs.
It's still in the very early stages, but I am happy that the Rust ecosystem is so mature. I was able to build the core in Rust without having to worry about the low-level (and very complicated) details of connecting devices together (thanks again to the iroh developers!), and then link it effortlessly into a Flutter UI.
I have attempted to build this a few times over the years but always gave up due to the sheer number of things I needed to focus on to get it right! I am happy I could do it now. It still needs a lot of work but I had to share it here.
Do try it out and share your thoughts!