How can I easily and conveniently transfer files wirelessly between my linux computer and android phone?
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.
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)
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).
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 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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.