Transferring files between two computers/phones/devices right next to each other, regardless of operating system.
Most solutions rely on sending a file to some server in probably a different country, and then downloading said file on the other computer. Or, using a USB stick to pass the file from one to the other.
KDE Connect works for me. Granted, I've only tried it between an android phone and a Linux laptop, but I've heard from others it works well on other OSes and phones too:
For me transmitting any file over the network between my android(Termux) and my laptop(Fedora) is awful. It starts with a quite fast transmission (Like 60 Mbps), but always drops to just a few kbps after a few hundred megabytes. Netcat does this, python HTTP-Server, FTP, scp, everything fails.
I feel your pain, I tried tons of other solutions before discovering KDE Connect. It works well for my laptop/phone combination, but I'm not surprised if it doesn't work for others, given how horrible each other solution was that I've tried.
edit: I wonder if perhaps some part of your phone hardware overheats after N megabytes because it's not built for constant file transfer, or constant file transfer using these protocols at least? What if you try throttling it on purpose?
I think it is the fault of the network stack of one those two devices, otherwise I can't explain that. Maybe that the devices receive/send data faster than they are able to process. (Is this even possible?)
But I could be awfully wrong
Regarding your edit: That's a good idea, but I never attempted that. I can't test that, because I'm in a Wifi where no device is allowed to talk to another :(
I just use https://file.pizza/ works on any OS with a web browser and the file is transferred p2p so its very fast over local networks. And the Url is easy to remember.
I think croc is a superior solution here. Encrypted transfer. Automatic local peer detection. Human speakable commands. Turns off when you’re done. No firewall fiddling (and unfiddling)
Pythons web server is single threaded I believe so any simultaneously connections break.
I do this but I always get a little nervous about it being accessible to any process anywhere on that network. If the system firewall supports it, I think it would be interesting to make the http connection, and then restrict that port to existing connections only. Once you are confident only your intended client has connected, put the files in the directory.
Or even just a small piece of text, i.e. a link. I have a samba share on one system for files, but that is certainly not "regardless of operating system", as it's a pain to do that with a phone.
So a discord server with just me in it is ... also gives you handy direct links for files up to 8mb.
Taildrop (https://tailscale.com/kb/1106/taildrop/) mostly filled this for me, although this is just for the same Tailnet. AirDrop is also pretty slick. Otherwise I chuck it onto my NAS.
Of course all of these solutions have some serious pre-requisites...
This is the only thing that Bluetooth consistently works for. I can send files between my laptop and my feature phone, and other people's laptops, and other people's phones… It's more reliable than email.
Bluetooth doesn't consistently work for connecting I/O devices to my computer, though. Only peer-to-peer file transfer.
Bluetooth almost got me 100% there as well! Until I discovered that Apple devices don't support sending/receiving files via Bluetooth. But at least it covers about 80% of the devices I own and doesn't rely on external services like most other options people wrote about as a reply.
Ah, sadly the 20% in the amount I wrote about above is one iPhone that won't play nice with the Bluetooth coverage I have at home with other devices :/
Yes! One should be able to take advantage of the speed of a local transfer. One doesn't always have access to a blazingly fast Internet connection and file-transfer service through which to transfer data. One should be able to transfer data between neighboring devices even when no Internet connections are available.
AFAIK, python doesn't ship by default on any operating system anymore (used to on macOS). Otherwise yeah, it's a good contender. You'd still need to pass the URL somehow to the other machine :)
i know you probably know this & you said OS agnostic - but apple really nailed this between macs and iphones. The shared clipboard feels like magic, and airdrop works great too.
Oh I see. I took it to mean there are no platforms where this works, but they make there is no scheme that works across all platforms? The problem with the latter form of the question is there will always be some garbage platform that doesn’t participate.
Most solutions rely on sending a file to some server in probably a different country, and then downloading said file on the other computer. Or, using a USB stick to pass the file from one to the other.