Quickly transferring files between PC and phone
from vext01@lemmy.sdf.org to selfhosted@lemmy.world on 30 Jan 15:06
https://lemmy.sdf.org/post/28731945
from vext01@lemmy.sdf.org to selfhosted@lemmy.world on 30 Jan 15:06
https://lemmy.sdf.org/post/28731945
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
threaded - newest
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.
github.com/andyholmes/valent/
My solution is scp with termux. I can’t suggest any better alternative.
rsync?
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).
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.
For more manual stuff; 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.
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 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 keep a fairly close eye on my DNS traffic; it still does crash reporting through Crashlytics (which I just block), but that’s about it.
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: github.com/schlagmichdoch/pairdrop
Open instance: pairdrop.net
Not heard of this one. Thanks.
pairdrop.net
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!
I like this a lot.
A question. Docs say:
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?
Sounds like WebRTC crypto is mandatory.
telnyx.com/…/webrtc-encryption-and-security
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.Too much typing, especially if transferring from phone to computer.
Thanks though.
Is it safe though?
Safe as in encrypted and/or authenticated? Not at all! I only do this on networks I fully trust and with files that are not too sensitive. But it’s quick and easy to set up. All my machines have python installed so hence the idea.
I’d use anything else that is based on rsync over Syncthing
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.
Localsend works great for me.
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
Yeah for large folders and stuff probably better to use SFTP or WebDAV
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
This is super-cool, just a shame it’s unmaintained.
rsync -avr --progress
in termux or a file explorer app built on top of scp or rsync. It doesn't work like your use-case, but I've been happy with it.This sounds great. Thanks.
FX File Explorer has a local web-access feature. Start it on your phone and access via local IP, then just turn it off when you’re done.
Don’t use on public wifi, it’s http-only.
Android -> other I often use Share via HTTP.
https://github.com/marcosdiez/shareviahttp
Here are a bunch of local services I’ve used at one point or another from phone to PC or PC to PC. Not sure if any links are out of date.
KDE Connect
Wormhole (Closed Source)
LocalSend
SnapDrop
ShareDrop
FilePizza
Original Wormhole
PeerTransfer
JustBeamIt
Send Visee
+1 for LocalSend. Well worth checking out.
Another +1 for it here. Use it multiple times a day between Linux, MacOS, android, and iOS.
+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.
+1 Love LocalSend!
PairDrop is a fork of SnapDrop, which at one point had more features and active development. Don’t know, how it is nowadays though.
Hey wormhole is closed source? Wow I didn’t knew that.
There are two, the original open source version and its forks, and then the closed source version.
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.
email.
My dude, what year are you living in, and can I join you there?
KDE Connect as another uas suggested.
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.
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.
Signal
Yah if it’s not to big I use the note to self option in signal
I use QuickDAV and OwlFiles.
Kdeconnect. Alternatively NextCloud or sending an email to myself.
Seconding sending an email. SMB for big stuff.
I didn’t see it mentioned yet, so I’ll throw warpinator in the ring.
Clients are available for Linux, Windows, Android: warpinator.com
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!
Maybe snapdrop?
When I was obsd I did FTP and rsync for everything. Syncthing had dinner performance issues for me.
Maybe Seafile but I had a bad time with that.
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.
Hah. Nice hack!
Also, I love red dwarf.
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.
Does your PC have Bluetooth? Definitely quick and sort of self hosted.
I usually use kde connect.
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
Yeah, me too. It is quick and easy. I use SyncThing for things I want to keep synced.
I use a Gnome implementation of this and it works great too.
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.
SFTP or Matrix
I’m not sure if there’s one the best tool, depending on a case, I use mix of
Syncthing or pairdrop.net
A cable
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.
I mean, the fastest method is likely to just plug the phone into PC and pretend it’s a flash drive?
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.
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.
Oh good to know.
It used to be awful but I’m glad to hear it’s improving.
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.
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.
For single files, I use qrcp
I use ADBFileManager github.com/T0biasCZe/AdbFileManager/ which is much faster than MTP
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.
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.
.
sftp
github.com/linuxmint/warpinator?tab=readme-ov-fil…
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.
Can’t say I’ve used that… Yet. I like nextcloud because besides being compatible with Linux/Windows and having an Android app, it also has a simple web UI to access the files. It’s probably closer to self hosted OneDrive than anything else I can think of. Kinda like the simplicity of pairdrop though.