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
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!
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.
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.
As I have basically all devices connected to my Nextcloud instance, I simply use that. I don’t have any “time-critical” file transfers though.
Well my transfers aren’t “time critical” either, but life feels easier if I don’t have to jump through hoops to solve a task that involves copy files around.
Re: next cloud, looking for something more lightweight than that.
I use pairdrop. I don’t personally self host it, but that option is available. It’s better suited to more one-off situations, as there’s no history kept anywhere.
Selfhost: https://github.com/schlagmichdoch/pairdrop
Open instance: pairdrop.net
Not heard of this one. Thanks.
open source, can be self hosted or you can use the official instance.
Personally I have been using KDE connect most of the time when I am at home.
Pairdrop I use more when sharing with other people across the internet.
Never heard of that tool. Thank you for sharing it!
pairdrop
I like this a lot.
A question. Docs say:
Your files are sent using WebRTC, encrypting them in transit. Still you have to trust the PairDrop server. To ensure the connection is secure and there is no MITM there is a plan to make PairDrop zero trust by encrypting the signaling and implementing a verification process. See issue #180 to keep updated.
Does this mean if you self-host on your LAN for personal use without https, then nothing is encrypted, or does WebRTC negotiate its own crypto?
I’ve tried LocalSend for this, but I usually end up using more reliable ways like Syncthing (not instantly transfered, but at a decent speed) or sending myself the file on Element for Matrix (as good as instantaneous).
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.
Kdeconnect. Alternatively NextCloud or sending an email to myself.
Seconding sending an email. SMB for big stuff.
Taildrop works relatively well for most all circumstances. Only thing is you gotta use trayscale or cli currently for sending files from a Linux/bsd machine. I don’t know if opened has a port for trayscale but it definitely has a port of tailscale.
Kde connect is also a option
A bit heavy for my taste.
What is heavy about that? Is it more complex on BSD or something?
Installing KDE will pull in hundreds of packages.
There should be clients for other DEs. I know there’s a Gnome specific one and I think there’s an independent one as well.
Ssh and X-Plore File Explorer.
Internal, sd card, ssh, ftp(s), google drive, dropbox, and a bunch of other cloud providers; treats it all like one big file system that I can casually copy/move files between.
I was a dedicated xplore user for years until I saw all the advertising cookies that they stuffed into it. That made me sad and I uninstall it.
I just paid the whole 4$ for the pro version and to support an otherwise free app I’ve quite enjoyed.
No ads/tracking anymore.
Devs gotta eat.
I also had the pro version. Last time I installed it, it asked me to review a bunch of cookies.
This was about a year ago. Could have changed since then.
I often spin up a quick python http server. Just go to the folder which has the files you want to transfer and run the following command:
python3 -m http.server
. This will server the folder contentServing HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
. On your phone you can then browse to http://PC_IP:8000 and download what you want/need.Is it safe though?
Too much typing, especially if transferring from phone to computer.
Thanks though.
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.