Have you tried KDE Connect? It's cross platform and works on Linux, Windows, MacOS, Android, and iOS. It's what I use for sharing files from my phone to my computer and vice versa. It supports a lot more than just file sharing though.
post
why should I care?
if you care about speed and deep integration with the OS this project might be of interest to you.
what?
Python
Well technically localsend is not native, uses dart and flutter. Something native would be cool, but it should be interoperable with localsend I think.
Localsend is great, absolutely no issues with it design-wise
Well, it is far from complete and far from usable right now, so right now it is not better. But when it is done it will be because of two things:
- Wi-Fi direct, instead of using the local network. Wi-Fi direct is P2P, which potentially will make the transfer much faster and the whole thing of setting up a hotspot or requiring the two device being connected to the same network won't be necessary.
- Deep integration with file managers and desktop environments
Kdeconnect?
That is for two devices that are both connected to the same network. If I understand what this program is doing (without actually trying it), it allows two devices to directly connect to one another via Wi-Fi to transfer a file.
With KDE Connect, to send a file from Device A to Device B, your file travels from Device A to a network router (and any number of network switches, etc. in between), then from the router to Device B. It has to make several hops across a number of devices to reach its destination. And both endpoints have to be connected to the same external network.
With this program, Device A and Device B create a direct Wi-Fi connection to each other and just send the file. One hop. Two devices. Direct. The devices are establishing their own ad-hoc Wi-Fi connection for the purpose of the file transfer.
Or GSConnect for gnome.
I use Syncthing on my Linux and Android. Once set up, it just works without me getting involved.
Wifi-direct is cool, as it doesnt require the whole "setting up a hotspot" mess
How can it get more seamless than LocalSend?
Or croc out of network.
Through 2 things:
-
The answer is partly in the name, but there is no magic involved. Direct Share uses Wi-Fi Direct (also known as Wi-Fi P2P), which bypasses the middleman and connects the two devices directly to each other, potentially increasing the file transfer speed. However, it is only as fast as the slowest networking stack of the two connected devices. This is in contrast to almost all other solutions (like localsend) that rely on the two devices being connected to the same Wi-Fi network.
-
The other thing is deep integration with most file managers and desktop environments. For me personally, I believe that you should not need to open an app to send a file to your other device. You should be able to simply right-click on any file on your system, and there should be an option that says "Send to". It should not open the whole app. It should only open a mini window or a small window with only the necessary things you need to send the file, which is:
- Select the device you want to send to
- (Optionally) Click Send
That's all.
For 2 that's neat to have, but how do you send the clipboard or something thats not in a file manager?
Well, I guess I would need to add an option in the app to share clipboard content.
You know what? You just gave me an idea, a very good idea. Sometimes there are things that are not in file managers, maybe in a particular app, maybe in a browser, and you just want to drag and drop it. I don't like the idea of opening the app, right-clicking on the corners of the window just to enable "keep this app on the top" so that you can drag and drop whatever you want.
Instead, what I would like to see is a keyboard shortcut where a small window opens that stays on top of all the other windows. That you can drag and drop anything to it, or maybe copy-paste anything into it. Maybe a photo, maybe a video, maybe anything. This would work for clipboard content, for video files from other apps that are not file managers.
Between Android phones or Android->Windows Quick Share exists. Between all other devices Bluetooth can be used for sharing.
Bluetooth is slow as hell
But no extra tools needed on either side.
idk about other distros but on ubuntu I can't send or receive files using Bluetooth without a 3rd party tool (unless there is a pre installed cli tool that I am not aware of:)
but anyway, if the transfer speed doesn't bother you or isn't a deal breaker for you then fair enough... have a nice day.
KDE Connect can transfer files over WiFi, it's likely preinstalled on anything with KDE Plasma (eg SteamOS has it by default in the desktop mode), but it can also work with GNOME with the gsconnect extension. There’s also LocalSend, Syncthing and probably many more
I use adb push and adb pull. Simple and fast, works both over USB and wirelessly
Try KDEConnect (or GSConnect for gnome). Clients for Linux, BSD, Android, Sailfish, iOS, macOS and Windows.
Another option (maybe better, depending on your distro) is Warpinator. Linux, Windows, and Android.
Kdeconnect is usually gonna go over regular wifi or ethernet. So that might go phone to ap to laptop, for twice the wifi hops.
Also means the speed is limited by the router, so modern phones would be slowed by an older access point.
Or by being far from the access point yet close together.
Oh I see, thanks. I didn't understand what OP meant by Wi-fi Direct, I was thinking it just meant going over the LAN via the router. So I guess this means a device making itself into a wi-fi hotspot with is own local IP address that can be connected to directly, right?
Would be nice if done well, I would suggest you post again if you have a usable version (basically a beta) because I for example will not follow a random github repo from a half-baked project that may be abandoned anytime. Even though I woulf look forward to something you described. So dont let this be a downer but post again if you have the core things implemented.
I don't want to take away your steam, but doesn't LocalSend already do that?
https://github.com/localsend/localsend
I'd love it if you contributed instead, if these projects are really interchangable as I think they are.
Love your work anyway!
Unfortunately it doesn't, Localsend relies on a WiFi hotspot or AP to transfer files, what I am trying to build uses WiFi Direct (aka WiFi P2P), these two are not interchangeable nor interoperable.
I deleted that. I read your Goals and I think I understand why they are different now. Cool project
Why not build that into Localsend instead of developing a separate solution?
The honest answer is because I prefer making my own thing for my own exact problem over trying to make someone's else tool do or behave in a way that it is not designed or made for, it is a bit philosophical for me but yeah, I am not willing to put all the effort into something that I see is solving a problem and making compromises and ignoring things in ways I don't agree with, not to mention the UI/UX disagreements I have, if localsend was my thing, it would have been very different from what we have right now.
And also I am doing it in spite, this thing have been bugging me for years and no one is willing to put the time and effort to do it the way I think it should be done so I am doing it myself...
LocalSend doesn't use wifi direct which means your devices have to be on the same network for the transfer. WiFi direct is more like AirDrop -- "direct".
all 31 comments