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.
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.
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.
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.
I don’t know if it is always the fastest. I know they said android, but for example on not too old Apple phones (pre-usb c), I had the impression you could get better throughout on wifi compared to a cable connection. Maybe that’s just apple trying to squeeze money on proprietary connectors, but other manufacturers seem to copy their worst takes sometimes though.
I'll add in Bitwarden Send (including self-hosted vaultwarden), although probably doesn't make sense if you're not already using it for password management.
+1 KDE Connect. File transfer works great on Android, Linux, and even on Windows 10/11! Clipboard sync is also a game changer; super easy to copy and paste across devices.
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.
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?
Yeah, can recommend that one too
Although it sometimes seems to have some performance problems with a large amount of files - could be, that it's already fixed 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.
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.
For just syncing files between folders: FolderSync. The 'downloads' folder on my phone is setup as a 2-way sync with a folder on my server. Drop a file in either side, click sync, file is in both places.
I use this to keep most of the files on my phone backed up, not just syncing the download folder.
I use Cx file explorer and mount my PC via sshfs in there. It's closed source but it supports a whole bunch of protocols including samba, ftp and webdav. And it can launch a webserver on your phone to offer the phone's files. But sshfs is the most convenient for me.
And for links and other small texts I use either KDEConnect's copy and paste sync or just send myself the text in Signal.
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.
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).
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.
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 content Serving 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.
I use SyncMe which synchronizes smb shares to your phone. It's great once you have it set up, but it does take a little setup. Gotta have shares and whatnot.
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.
Only buggy issue I have is that I use a VPN on my phone to access my local network when away from home. I have the VPN set up with Hairpinning so I don't have to disconnect from the VPN while at home which occasionally causes issues on my steam deck as the version of KDE Connect on the steam deck does not appear to have an easy way to connect to device via IP. On my desktop and laptop I run Pop!_OS and use GS Connect which gives me an option to connect to device via IP so I have less issues with my phone just randomly not appearing on those computers.
For links, I use Pocket (you can use Wallabag, but I find the interface not efficient at all).
For files, you can sync a folder with syncthing (but you only switch it on when you want a quick sync, otherwise keep it off for battery). If you just want to put some file on your phone, install FTP server (free) from F-droid and switch it on when you need it (there's even an optional switch on quick actions). Use Filezilla or any file browser (if on Linux) to exchange your files. Remember to switch the server off once finished, because FTP is not a secure protocol.
I'm using a selfhosted pastebin (microbin) as sometimes I want to transfer text, other files...
It's very efficient and in my instance it's using 13MB of RAM, which is fairly lightweight for modern standards