Hey,
I was wondering what folks use to quickly send a file or a link between your PC and android phone in a lightweight and self hosted way.
Currently I use syncthing to copy files around, but I’m looking for something more immediate, and quick than doesn’t involve searching for folders in a file manager.
Example use case: Send a file from PC to phone. Notification pops up on phone, tap it to access.
(PC runs OpenBSD)
What lightweight software do you guys use?
Stuff I tried so far:
- syncthing
- xmpp
- tox
- scp and termux.
- magic wormhole
- telegram saved messages
Do you have any hosting in your home lab? Preferably something for running a docker container, but a hypervisor could do the job too.
Nextcloud is an option if you do. Technically speaking you could properly protect it and make it public. You don’t have to do that though. Any file you upload on your computer could be copied to your phone or vice versa. If it’s public, then this could be done from anywhere.
Yes, I have a Linux vm for docker. I’ve chucked up a pairdrop container. So easy.
Open source file manager Material Files lets you set an SSH server as a bookmark and mount it instantly. Moving files around just like like it’s native. Works seamlessly through Tailscale.
I ll just hijack this thread : when plugging my android into laptop, the laptop doesn’t recognise it as anything. And the phone doesn’t give me the option to “share files” instead of just charge. Does anyone knows what’s wrong?
Check if your cable has data lanes, some cables don’t have them and can only be used for charging. Tap the charging notification and check if you can change it to file transfer.
Had the same issue before, cable was the cause.
For a single file, I just use Bluetooth. For a lot of files, or a really big file, I plug my phone into the PC and set it to storage device.
I use KDEConnect. I don’t know about iPhone but it works with Android, Linux and Windows.
I have tried to use KDEconnect over and over, It doesn’t work on my work network, it doesn’t work on most of my home network, If my laptop my cell phone come up as different IPs it gets confused. It’s discoverability is just absolutely horrible except for a select number of plain vanilla networks.
Damn that sucks :(. Seems to me I have to disable my VPN in order to discover devices, but I can re-enable it afterwards. I use it mostly for clipboard sharing between devices.
My home network is split between wired and wireless, they’re on different IP ranges. I have every proper forwarding protocol and UDP sniffing everything set up so that devices can talk to each other across subnets.
It refuses.
So at home I can set it up on Linux to use a static IP to find my phone. And the phone kind of deals with it and works most of the time. But then I go to work and my IPs are the two devices change. Then I’m SOL.
Also if I’m home and I’m roaming onto one of my other networks to talk to security cameras or something it’s incapable of talking to my PC.
Honestly it’s discovery is just bad for me. I really wish that it’s supported a list of IPs, or gave me some kind of client I could run in concert with tail scale or I could move s*** around it’s just absolutely inflexible and for no good reason.
I mean, the fastest method is likely to just plug the phone into PC and pretend it’s a flash drive?
From memory MTP is pretty flaky and quite slow.
ADB push is pretty good but at that stage
rsync
is just as easy.Put SSH in the phone and you can do it all from the computer too.
MTP’s not bad anymore. It works perfectly well in Windows Linux and Mac these days and is as fast as anything else.
A cable
Edit: Also
python -m http.server
Syncthing or https://pairdrop.net/
I’m not sure if there’s one the best tool, depending on a case, I use mix of
- scp
- localsend
- croc
- https://github.com/dutchcoders/transfer.sh
- https://github.com/stonith404/pingvin-share
- pbcli (pastebin)
- I also have a script that sends me mail with files attached
SFTP or Matrix
Syncthing is fast. I have an IPv6 setup too which seems to help.
I have my downloads directory on my desktop linked to a downloads directory on my Android; you can’t link to the real Android downloads directory anymore so I use another.
When the file is removed from the desktop downloads directory it disappears from mobile.
I tried using Bluetooth between them but it’s more fiddly than Syncthing with my config. Switch Bluetooth on on desktop, connect to desktop, send file, disconnect, move file. Whereas Syncthing is always on.
However, before I started using Obsidian notes I used to transfer URLs using Signal’s Note-to-self thing. Signal on both desktop and mobile.
Obviously, I sync between mobile and desktop Obsidian using Syncthing.
I usually use kde connect.
I use a Gnome implementation of this and it works great too.
Yeah, me too. It is quick and easy. I use SyncThing for things I want to keep synced.
KDE Connect also works on Gnome, Windows and Android. I can’t recommend it enough. Transfering a single image from phone to PC is instantaneous
And having a unified clippboard is just so convenient
Does your PC have Bluetooth? Definitely quick and sort of self hosted.
You got some good replies and I personally am enamored by LocalSend, it is worth checking it out.
However, there is a simple way if a) you use whatsapp and b) the devices involved have access to whatsapp.
This involves not just sending files but you can send text and whatever whatsapp supports and you’ll have a history of these chats should you need to have them later again. Probably possible with other platforms but I use whatsapp so that is what I setup for information transfer to myself.
The thing you want to do is create a chat group, add a friend for a very brief moment, remove said friend again after they accepted, enjoy your private group where you can dump any and all info into and pick up from wherever you have whatsapp available. The trick is to add a friend for a couple of seconds. If you create a group you are automatically in it but you cannot use it until you add someone else, then it becomes active and use-able. The fact that you end up alone in that group does not make it unavailable again. Weird but it works.I love localsend.
Works on Linux, Android, iOS, Windows, and Mac. It is basically an OS agnostic Airdrop.
It’s FOSS, so you can go to the Github and build from source for OpenBSD, but I have no idea if that would work.
Dart (the language it’s written in) doesn’t work on BSD, so sadly that’s out of the question for now.
Dang, that’s too bad. Hopefully one day!