How can I easily and conveniently transfer files wirelessly between my linux computer and android phone?

Im28xwa@lemdro.id to Linux@lemmy.ml – 170 points –

I'm running OpenSUSE leap 15.5, When I was on the linux mint, I was using warpinator but using it on openSUSE is troublesome and I wish there was a linux version of blip but unfortunately there is not.

139

KDE Connect is amazing. Also works without KDE.

This just stops working on either my Linux laptop or my phone randomly. I'll need to kill the process and restart it Does anyone know how I can fix this? Battery optimisations are turned off on the phone.

If you turned off battery optimisations globally, it might still kill it. You specifically have to go into app options and allow it to be always on, as well as allowing all it's notifications

Sorry, I meant optimisations for KDE Connect in particular. It has a persistent notification enabled as well.

It kind of needs that (you can use trucks to make it go away) because of the android model of apps where an app may get yeeted off a cliff if it's not currently showing a notification. Again, you can pull some tricks but for the average user they have to do it this way.

KDE Connect to my iPad just stopped working for me a few months ago. Do you know of any possible reasons?

could be something fucked with your network settings or ports. if you have 2.4 and 5ghz modes try connecting your ipad to the mode different from the one used by your pc, works for me (edit: on android phone) and I still have no idea why

KDEC has been horribly buggy on IOS in my experience. Never connecting or showing devices only occasionally.

Doesn't seem to work.. Whenever I send a file from my ipad,

  1. KDE Connect simply stops connecting correctly.
  2. GSConnect keeps connection, but the file always fail to send.

ya it's annoying as shit and lack of almost any documentation doesn't really help 🫠

Nah it doesn't. It works great on Debian KDE and my Android phone. It does not work on Mint Cinnamon and my Android phone.

Works on xubuntu. Though restarts are a common solution to no connection. That's fine, I'd rather not spend extra juice to keep them Wi-Fi tethered.

Is there a way for KDE connect to connect PC with phone if phone is on WiFi and PC on LAN going trough different router in the same network?

Wont go inte networking, but assuming networking works between them you can manually specify an IP in the mobile app:

Add a device -> three dots in top right -> add devices by IP.

Bonus: This also works over tailscale and similar apps, making it so you can have an always on connection despite not being home.

Kde connect is great.

KDE connect is a large suite of some good, some half-baked, and some just plain scary remote tools.

I'm liking LocalSend for the occasional "I want some files/pictures/text to go from here to there".

3 more...

I second KDE connect. It's awesome. Don't listen to the haters.

I used to love it until I started having so many problems, and with zero support I had to give up.

3 more...

Syncthing

Never could get it to work with phones, and that from Arch, Mint, Asahi, Macos all sharing flawlessly between thembut no phone would reliably stay sync'ed.

What phone are you using? I've used it my many Android devices from different manufacturers. Always worked flawlessly.

I have a 2-year old android 11 oppo A53, my colleague some small samsung on A10. Installs fine, sync a first time somewhat, then just don't sync a thing.

Oppo has very aggressive battery management.

While I was using one, had to manually turn off battery management for syncthing, and check after major updates....

But worked flawlessly once that issue was solved.

That could be a permissions issue that doesn't allow the app to run on background, Maybelline?

Something like this happened on my sister's laptop. She got a new laptop with Windows 11. She followed some website to set up Syncthing, but it wasn't syncing. Turns out, there's some kind of "trusted network" deal that needs to be figured out. (Don't remember the exact term anymore.) Anyway, helped her fix it, and installed Debian Stable on it the next time I was visiting.

There is an fdroid version named syncthing fork. Give that a go.

Either Localsend, if you're only interested in that one function, or KDE Connect for the ultimate experience.

I love Localsend because it's gloriously simple: Does exactly what you want, and nothing more. I haven't used KDE Contact; what else does it add in?

" KdeConnect": Notifications, messages, clioboard sharing, link sharing, remote control of your pointing.device, keyboard, command inputs on computer... When it works it's great, but it is hit-and-miss between distros and updates catching up.

Use LocalSend. It's exactly like Apple Airdrop but works on ALL operating systems so no matter what device you have you can easily transfer files.

It's local, secure and open source.

https://localsend.org/

LocalSend. It’s exactly like Apple Airdrop

This may be super-nitpicky (and I lose LocalSend and use it a lot), but there is one difference between LocalSend and Airdrop. LocalSend requires network connectivity (and requires the devices to be on the same network), whereas Airdrop can work without any network connection (using Bluetooth).

You're right. LocalSend does require WiFi connectivity. In terms of convenience it's just like Airdrop, if you have that network.

Maybe one day they could add Bluetooth. Would be cool

Syncthing for automated syncing (highly reccomend)

https://github.com/schollz/croc for quick and lazy file sends (auto nat & proxy included)

sftp get from phone if it's like one thing (various ssh/sftp apps on gplay and fdroid)

Solid explorer on my phone. Nautilus or any file manager on PC.

sftp each one from the other. Add the connection as a favourite. File transfer becomes a drag and drop thing. Bonus points if you create a static IP for each device.

KDEconnect or gsconnect if you're on KDE or Gnome respectively.

There's an in-development program for GNOME called Valent. It's been pretty solid for me. It's also not a GNOME shell extension, instead a native app.

Oh, nice. Thank you, I'll take it for a spin.

Went to look into it, and seems to be in very early stages. I'll set up the flatpak on my computer and laptop to help where I can, seems like a very nice option. Do you know how to integrate it to Android? I could not find anything on that.

Edit: So it works from the KDEConnect Android app. Nice.

I use syncthing all over the place for this sort of thing. I have some sync directories that are multi way synced across multiple devices, others that are one-way drop targets to a specific device, others that are for operations like backing up photos. It's quite excellent with a good sync algorithm that rarely results in conflicts.

LocalSend or KDE Connect. Syncthing if you need to sync files (Like an important documents folder that always needs to be up to date between your PC and Phone)

+1 for Syncthing pretty easy to set up and get full control over your synced files.

syncthing is the easy option if you have some files you always want to have on both. if you just want to access your desktop files from your phone, I recommend Cx File Explorer for Android, it's a file browser that supports various network file share protocols including Samba and SFTP.

KDE Connect has been mentioned before. You can supplement this and other tools by using a VPN so that both endpoints can see each other even if the underlying network does not allow this. My preferred solutions are Tailscale (managed, cloud-based) or Headscale (for self-hosting).

can recommend KDEConnect it's working surprisingly robust.

Does it support "sending a file larger than 2 gigs, without mysteriously deleting it at the end, but if you manage to sneak a hardlink to the file while it's transferring then it's okay"?

In Debian KDE KDEConnect works well. Dont know about suse but can imagine it works there too

EDIT: grammar

KDE Connect works even on Windows supposedly. I've had great experience with it on Ubuntu, Fedora, and Garuda.

Install an FTP server on your phone. Connect to it via an FTP client on your PC. EZPZ.

definitely this.

I use Solid Explorer on my phone. even has a quick start button for my slide down menu.

If you want just a replacement for Warpinator, LocalSend is definitely the way to go. I used Warpinator before, and LocalSend is just an overall better version of the same thing imo. Finds other devices instantly, can also send text in addition to files and folders, and is available across platforms.

I use a mix of GSConnect/KDEConnect, Warpinator, and Syncthing. I've got a shared "dropoff" folder on Syncthing that lets me easily drop files from one device to another. You're having issues with Warpinator but if you're able to figure out the issue there, that's my second go-to for one-time file transfers. KDEConnect is a bit more fiddly, but I use it mostly for sharing clipboard info and the occasional file when it's stable enough.

If you are on same network you can use

python3 -m http.server

It will launch a http server which will serve all the files in your computer.

Alternatively, Material Files (available in F-Droid) can easily create a local FTP server or connect to a NAS. It's also a pretty good file manager app.

Personally, I prefer LocalSend to KDEConnect.

I use rclone and the Round Sync Android client.

Supports a ton of back ends, self hosted, and commercial options. You can transparently encrypt with private keys you control.

I personally use B2 Backblaze for storage.

My phone backs up every night and Round Sync pushes them to B2. On my desktop I can mount as a volume. I can also access my storage from my phone going the other direction.

I've done the same using SFTP if I don't want the overhead of persistent file storage.

It does not support indexing or previews for searching or finding say a photo. You can put whatever you want for data. So I have caches, indexes, and thumbnails that work in Linux. I can't really make use of those on my phone though.

Rclones bisync feature is also a bit dangerous when I tried to use it a year ago. I more than once "deleted" everything. B2 doesn't delete by default, just hides, so I was able to recover. I now do unidirectional syncs from my machines to different buckets until I'm motivated to investigate a proper 3-way merge solution.

I used KDEConnect in the past but ran into issues where somehow media sent to my phone wasn't saved somehow. Probably some permission issue but I didn't manage to fix it. Also the windows client only allows selection of one file at a time.

Recently I've tried out LocalSend and found it a much smoother experience.

I find the easiest approach is to connect to the pc via sftp and use a file explorer that supports it - such as ghost commander.

If by wirelessly you mean via Wi-Fi network then one convenient option is qrcp. It generates a QR-code right in your terminal, which you can scan with a phone and send/receive files through a web interface on the URL it provides.

If you want to transfer files regularly, there is another option. Almost every distro has Python installed, and the Python has a "built-in" FTP server. You need to just cd into desired directory and run the command python -m pyftpdlib -w. It will open a FTP server with root in this directory. You then can access it through a file manager, like Material Files for example, and send files and folders back and forth. In Material Files you can save the server address for future use.

SSH along with the extra stuff it comes with like scp is the way forward.

The two following suggestions make use of secure shell.

Termux and then pkg install mc (MC is Midnight Commander)

Alternatively, if you are feeling brave and GUI, Total Commander here.

SSH + Termux is one option. X-plore for Android is a good file manager with a bunch of options for transferring files over a network.

The funniest solution I've found was a service that offered secure transfer of passwords between devices through their "encrypted transmission" with a password field on their website

FYI, don't give any password to a service you aren't using with that service

For ad hoc transfers, easiest way is to pack it with 7zip (or any other compression software with proper encryption) and setting a proper password for the file

There might be more modern ways of doing this, but I run "Wifi FTP server" on my phone, with my download directory as its root. Then I use filezilla or whatever to transfer what I need. Trouble free and platform agnostic.

Haven't seen anyone recommend Flying Carpet, yet.

I use it to transfer files between my Windows desktop PC and my Steam Deck.

Primitive ftpd from fdroid is my go-to "too lazy to configure a cloud thing" solution. It is fast and just works.

I've been using FolderSync (Pro in my case) for many years to sync files (automatically and/or on-demand) from my phone to my Linux server.

Syncthing is great to periodically sync files between Linux and Android. And you could use it as file transfer service for occasional needs if you just share an empty directory.

If it's anything big I send it to my synology nas. If it's something small then I honestly just send it through Signal. Although, I do wanna try this kde connect thing out as well.

Kde Connect works very well for this stuff. Sadly, on pop_os! I couldn't make it work, but I used in in all other distro before.

Yeah I just tried it on my arch desktop and android phone and couldn't get it to find my devices. Perhaps it's cause the devices are on VPN?

Nah that's not it. I mean that prevents it but I personally don't use VPN enough.

I have tried KDE connect, and it never works when I need it to. I just send it to myself on Signal. It's the easiest, most non-bullshit way.

Server or desktop, and what types of files? I find that a self-hosted version of NextCloud does pretty well for keeping contacts, images, and videos in sync.

(You could run it on a Pi as an intermediary to both if desired)

I used to use stuff like AndFTP in the past for similar functions

uhm, well you can't primarily because android is a hot mess (quick note: this is mostly me ranting about the hell that android is for no fucking reason)

First of all, android only supports MDNS since android 12 and newer, MANY years after the standard was even finalized and put into use. (like a concerning amount) And yes, you can technically use that networking on a per app level (since android 6 or 8 i think), if it's implemented, but most apps don't because they're android apps. And the ones that do are basically useless (very cool thanks android)

Ignoring this, let's say that you have a samba server, and have a local DNS config setup to get around the MDNS bullshit. Oops, funny story, android doesn't natively support SMB shares, because apparently they aren't real and don't fucking exist. Now to be clear, most file managers do actually support SMB, the problem here is that those are often shit, and only supported in the actual file manager itself. If you wanted to per se, mount a samba share on android on the FS level, it is either impossible, or REQUIRES ROOT ACCESS.

Man it's a good thing rooting is easy, and not super convoluted, or risks bricking your phone in the event that it's designed like utter shit and cannot recover from being flashed incorrectly. (to be clear, i don't know shit about rooting, because it's a fucking disaster, and i might be misrepresenting it here, but only rooting, everything else is accurate)

so basically, cool story, the only option here that you have is using apps that are specifically designed to implement their own file transfer functionalities and protocols. There is one redeeming factor to this, and it's the fact that rsync exists, and that it isn't shit, but rsync isn't samba, so eat shit android. Rest in piss you disaster of an OS.

I'll throw out another way: to access files from your phone, you can use termux. python -m http.server

For secure private transfer use the Warp flatpak in Linux and Worrmhole William in Android.

Lot of people mentioning kde connect. I'm going to take a moment to clarify, kde connevts functionality is modular. you need the sshfs package for it to mount the phones filesystem over ssh. Once you've done that, it works pretty normally.

The android nextcloud client works great if you're willing to setup/maintain a nextcloud server.

There are some browser based solutions like sharedrop.io and file.pizza. I haven't had the latter work for me though, not sure if it's still functional. They work through WebRTC to discover local candidates for receiving files, the same way that video calling typically finds the best connection.

Security

ShareDrop uses a secure and encrypted peer-to-peer connection to transfer information about the file (its name and size) and file data itself. This means that this data is never transfered through any intermediate server but directly between the sender and recipient devices. To achieve this, ShareDrop uses a technology called WebRTC (Web Real-Time Communication), which is provided natively by browsers. You can read more about WebRTC security here.

I've been using SSHelper together with rsync for years and it works perfectly. You can log in the first time with a password, and place your public key to use key based auth going forward.

In addition to doing this over WiFi I also often use a usb to ethernet adapter (usb side plugged into phone) to get better performance if I'm doing larger transfers, for example copying off a large number of photos.

Edit: looks like there's a note on the play store page about incompatibility with newer Android versions. Disappointing. I guess I'll have to find another solution when I eventually upgrade my phone.

Simply install flatpak then install warpinator

X-plore on android can give file access via Web frontend in paid Version.

With that you can drag and drop files if that's what you're looking for.

Mostly because I'm not the most competent techie, I've been using VLC between my PC and iPhone, for moving "books" around on devices that are very out of date.

Croc or syncthing depending on what kind of experience you are after. Syncthing if you want to have a shared folder like expert. And croc if you just need to send something. Croc has an app on f-droid, and syncthing is on the app store. Both are open source and pretty for excellent in their own right.

I can recommend syncthing. If it's a file you want to keep updated between the two devices, it's great and easy to set up. I use it for my password manager database.

I use Airdroid! It's free and works very well

samba. share a folder on pc, and on your phone use a file manager that can access smb folders in your local network, then just copy or move from or to that folder. bit of a hassle to set up the first time, but makes things more convenient in the long run.

I am surprised that most reliable and more importantly desktop environment independent solution is not as popular here.

I use it with iOS. Owlfiles app supports samba, but I am sure there are others.

My go to hack was quickly running a python http server and connect to it. I can't remember what the command was exactly. Something like python -m http.server or so, then connect to the ip from my phone, heh.