Brian Lovin
/
Hacker News
Daily Digest email

Get the top HN stories in your inbox every day.

ComputerGuru

Best thing about this is that it is available for most of the major platforms with an easy to use GUI. iOS app is excellent.

Some important bugs to beware:

On Windows having the LocalSend app running with the Window visible (after a receive?) prevents the system from sleeping. On Linux, it does the same even if the window isn’t showing. On Linux, having the LocalSend window visible and idle consumes an insane amount of cpu with the desktop window manager constantly refreshing damages. On Windows, the app (with the “startup minimized” option checked) if configured to launch at startup will often show the window anyway (not that you want it running in the background given the sleep issues).

harikb

> having the LocalSend window visible and idle consumes an insane amount of cpu with the desktop window manager

so Flutter :)

Alifatisk

Any backstory to this?

harikb

Let me see if I can explain it - These "declarative" UI frameworks work very different from any UI frameworks in the past. They (theoretically) rebuild the data structures backing the current view of the UI and do that 60+ frames per second.

Good thing is that there is very little chance of data-out-of-sync-with-UI kind of bugs. But the bad part is that tons and tons of alloc/dealloc and literally the code is executing all the time.

Now in practice, it is not all that bad. They have a magical garbage collector that makes is all better. Every release it just slightly better, but I can't help think that they are solving a problem they created to begin with. But I might be too old and may be the productivity is worth it.

This is in addition to the fact that none of the widgets are truly native. The "code" is native, but the UI is not. Even react-native apps might be this way, but they at least use Safari/webkit widgets, if not truly native iOS/Android widgets.

ahmedfromtunis

Thanks for the heads-up.

I just installed it and it's the most most hassle-free experience I ever had with this type of apps.

My only gripe with it is that I need the receiving device awake and the app on the foreground (at least on android) for it to work. Even with the quick save option activated.

I wish quick share (né nearby share) was available on linux (even if via chrome).

grishka

> I wish quick share (né nearby share) was available on linux (even if via chrome).

I made NearDrop, which is a macOS implementation of Nearby Share: https://github.com/grishka/NearDrop

And of course, someone tried to reimplement it for other OSes: https://github.com/PlutoHDDev/CrossDrop

ahmedfromtunis

I'll give them a spin, thanks for the links!

sunnybeetroot

Any chance you could raise an issue?

arvindkumarc

Yes. Love this cross platform, non proprietary software for local file sharing.

kokizzu5

just disable the animation, 4-7-14% if animation enabled, 0-2-3% with animation disabled.

acidburnNSA

I was talking to my brother about phones the other day and he has to have an iphone for work. He's a federal firefighter in the USA who was hot-shotting all last summer. When they're way out in the middle of nowhere with no cell and no central wifi routers anywhere they use AirDrop to transfer maps and stuff to team members before splitting up. Kinda interesting. Would this tool allow that kind of thing, e.g. for Android to iphone?

sedatk

Yes.

cl3misch

Can you elaborate? How does it work without the devices sharing the same Wifi?

I just skimmed the readme. It states a "local network" multiple times. So in this example, the firefighters need a Wifi network to connect the devices. Not because the files are sent over the internet, but because LocalSend doesn't create an ad-hoc network unlike to Airdrop.

So OP: technically yes, but the experience is not quite the same.

fauigerzigerk

I think it could still be possible by connecting to the wifi hotspot on one of the phones:

https://developer.android.com/develop/connectivity/wifi/loca...

sedatk

Sorry I missed the part “no wifi routers available”. They need to be on the same Wifi with this app, you’re right.

ianburrell

AirDrop uses Bluetooth and UWB to find nearby devices and then creates Wifi Direct network between devices to do the transfer.

johnchristopher

Are Airdrop networks wifi or bluetooth based ? (or something else)

t0bia_s

VPN on devices to same network, ie Wireguard or Tailscale.

LorenzoGood

They have the best privacy policy ever: https://localsend.org/#/privacy

remram

> We may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page.

This actually seems really awful?

dolmen

But they also have Terms of Service (https://localsend.org/#/terms-of-service) which are not so great:

    You represent that you are over the age of 18. The Company does not permit those under 18 to use the Service.
I planned to use it with family (kids).

rchaud

That line is probably in there to indemnify against the risk of kids being kids and sending each other illegal material.

tjoff

Doesn't say anything about what they share other than that they don't collect personal data...

Brian_K_White

Yes they do?

There's only a few lines in the entire thing, so I don't know how you can miss that twice they say they don't collect anything in the first place, and then they say: "Since we do not collect such information, there's no possibility of us using, sharing, or selling this data."

If you want to say that this technically isn't a declaration, I would simply disagree and count it as one.

Frankly, being an open source app, I would be fine if it even said something like "It's open source. If you think it does anything nefarious, go ahead and show it." without even a suggestion of a promise. But they actually do make a declaration of both intent and action.

Any other data that isn't personal data they might have, like their download estimates or something, is theirs none of our business.

undefined

[deleted]

tjoff

What? Collect anything? They say they don't collect personal data. They don't mention what they do with non-personal data.

>Frankly, being an open source app, I would be fine if it even said something like "It's open source. If you think it does anything nefarious, go ahead and show it." without even a suggestion of a promise. But they actually do make a declaration of both intent and action.

That is just horrendous. No. That is not a bar that is acceptable for any app, free, paid, open source or not. Likely illegal too.

> Any other data that isn't personal data they might have, like their download estimates or something, is theirs none of our business.

Or something... such as information about files being sent... Or app telemetry etc.

That was my point.

I don't have reason to distrust them, but calling it the best "privacy policy ever" is a huge stretch given what it lacks.

fddrdplktrew

I guess they send it straight to the spying agencies from your personal computing device...

SiDevesh

Its amazing to me how AirDrop is such a big plus for Apple ecosystem even in 2024 given technologically it is one of the simplest things possible. The innovation is purely on the alignment of interests Apple has and its competitors don't because they are all competing with each other and then also Apple.

lofenfew

if everyone has samsung they all have quick share or whatever. lockin isn't laudible

JeremyNT

Google calls this feature "quick share." Of course the problem is that it's all proprietary and Apple has no interest in supporting transfers with non Apple devices.

It's pretty typical on HN to see somebody singing the praises of apple while failing to notice the competition provides similar functionality.

Almondsetat

>technologically it is one of the simplest things possible

then how come there are zero FOSS "AirDrop replacements" that seamlessly create an ad-hoc wireless network between two devices to allow for truly p2p high speed transfers?

g_p

My guess is that it's difficult to interface with the system's Bluetooth and WiFi sufficiently without a native app on any modern platform (iOS, Android, Mac, Windows, Linux) enough to create and advertise that kind of ad hoc network, without a native app on the device (perhaps even with system permissions).

Since Apple won't implement any third party one, and theirs is natively integrated with their platform, half the ecosystem won't implement or adopt any FOSS alternative.

Since such an alternative won't be pre loaded on handsets (and the Android ecosystem is complex without one single vendor producing firmware everyone ships), the rival would need to be installed manually by users before use.

Not impossible - WhatsApp and other apps have (in some markets) gained near-ubiquity without being built-in, but I think the native app barrier here will always be a hurdle. And Apple presumably knows and strategizes that an alternative won't gain adoption if their half of the ecosystem won't adopt it, therefore holding back the wider market and keeping airdrop functionality as a USP.

Almondsetat

If that were the case someone would at least have made a version for Linux devices since you can have full access to them

agazso

There is KDEConnect, which has apps for all major platforms (iOS, android, macOS, Windows and of course Linux) and some more. I even used between Apple devices when AirDrop did not work for some reason.

https://kdeconnect.kde.org/

Almondsetat

KDEConnect does not implement what I've said

rchaud

Proprietary lock-in methods might put you on the cover of CEO Magazine (if that exists), but it's not innovation.

Here's how Apple describes its EU-mandated USB-C port on the iPhone 15, after rejecting criticisms about proprietary cables for years:

"The new USB-C connector lets you charge your Mac or iPad with the same cable you use to charge iPhone 15. You can even use iPhone 15 to charge Apple Watch or AirPods.5 Bye-bye, cable clutter."

https://www.apple.com/ca/iphone-15/

The reason this keeps happening is because Apple (and Google) keep widening the feature gap between computers and phones, because the latter gives consumers far less choice when it comes to using third-party applications and peripherals.

popcalc

I dusted off a Samsung dumbphone from 2011 and was amazed to learn it could send files directly to my PC over Bluetooth and vice-versa.

bmicraft

That still works, as it always has.

popcalc

Unfortunately not on my iPhone.

ickwabe

I highly suggest people give Techno Tims walkthrough of this software. It explains use case and demonstrates it across all major platforms. https://youtu.be/2ITezMkbAqE?si=-YVJq8iqwFYQ9gMr

behnamoh

Every few months there's a new tool for this and none of them gets widespread use.

api

It’s 2024. There is still no good generally available way to send files between systems on the same LAN, let alone over the Internet.

These kinds of blind spots exist because not only is there no money in solving them (and open solutions are too hard to use as usual) but in this case there is money in not solving them. A great simple ubiquitous solution would reduce demand for large complicated cloud storage systems that allow cloud data mining of all your files and/or require subscriptions.

prmoustache

This very hn entries is bust contradicting your statement.

Also what about syncthing[1] (for recurrent/permanent sync) and croc[2] (for one time copies) ?

I have used both for a number of years already. Before croc, magic wormhole was available for even longer.

[1] https://syncthing.net/

[2] https://github.com/schollz/croc

api

All the replies to this show me just how little your average HN user understands the difference between "nerds can do it" and "anyone can do it and it's a standard part of the ecosystem."

Obviously I can move files around. I can also program in 10 languages. I am not normal.

But even for me, it's not convenient. I don't "need" a friendly ubiquitous way to do it, but if I had one it'd be really nice and would save me time.

LittleFreak

there is enough good software out there. If it's only file sharing, then I'd prefer 'LocalSend' . For anything more complex, like send clipboard, push notifications or remote control is 'KDE Connect' my first option, since it's also available for almost any platform.

blooalien

I've personally had great success with KDE Connect on the LAN for all that (and also as a handy touchpad / keyboard input device for PC). It's one of those "Just Works" tools I always reach for. Also have found SyncThing to be really excellent for keeping folders auto-sync'd between devices. (One personal use-case example for that is keeping my "Pictures" folder in sync between my phone camera and a local folder on one or more of my PCs.)

userbinator

There is still no good generally available way to send files between systems on the same LAN

For me, a pair of netcats has served that use-case quite well.

esafak

How do you do this with an Android phone and iPhone, one of which is yours and others is some friend's? My most common problem is sharing media.

api

Okay I’ll just tell my finance department head to netcat from port 5000…

Geezus_42

Rsync has been around along time and works great. I use it almost daily. SFTP has also been a solid option for quite a while. If you want a more permanent network share there's NFS.

minhmeoke

A useful utility for sharing (upload and download) files over a local LAN that a friend wrote is https://github.com/akovacs/uploadserver - it's basically a nicer version of:

    python -m http.server 8000
You first start one server on a desktop/laptop which has the software, and then any client (Android, iOS, PlayStation, Kindle, etc) with a web browser (no need to install any client software) can upload or download files from it.

You can download prebuilt binaries for x86-64 Linux, Windows 7 or higher, or Mac OS 10.7 Lion or higher (sorry, no prebuilt binaries for Apple Silicon, but they could be added if there is sufficient demand) from https://github.com/akovacs/uploadserver/releases/ or compile from source using a nightly rust toolchain if you prefer.

Start the file server on a desktop machine:

    chmod +x upload_server
    ./upload_server
Determine your machine's IP address using:

    # Linux
    hostname -I

    # Mac
    ifconfig

    # Windows
    ipconfig

Navigate to the server's ip address port 8000 (indicated by the hostname -I command you ran earlier) in the web browser of your choice on any device (no need to download or install any client applications) and upload files using the web UI or directly via curl:

    curl -X POST --data-binary @file_to_upload.txt http://192.168.1.X:8000/uploaded_file.txt
Then download the file to another machine or mobile device either from the web GUI or via a commandline tool:

    curl http://192.168.1.X:8000/uploads/uploaded_file.txt --output downloaded_file.txt
If you don't have a local network, you can setup an adhoc hotspot on any Android 9+ (Settings > Network & internet > Hotspot & tethering https://support.google.com/android/answer/9059108) or iPhone (Settings > Personal Hotspot), then connect to it using any WiFi-enabled device.

Compared to cloud services or `python -m http.server 8000`, this is extremely fast since the server is written in rust, it is fairly simple (compiled and stripped binary is typically less than 3MB), it sends everything over local LAN, it seems to handle large files (over 4GB) fairly well, and you only need to install the software on one machine.

raffraffraff

Because people are lazy, and phone makers haven't all agreed on a single sharing app that's preinstalled on every device. Apple own their own ecosystem but are famously "FUCK YOU" to every other platform, but inside their walled garden, AirDrop.

gitgud

This one is pretty good

https://wormhole.app/

yjftsjthsd-h

I had the thought once that it would be a useful - if not easy - to submit patches to as many of these projects as possible to allow interoperation (probably by implementing the same protocol(s) in as many as possible). It's the kind of thing where you really want enough common protocol use that most apps can communicate to get network effects.

(But of course, I hardly have the time or perhaps even ability to really go far with that thought. Oh well.)

anon115

what does widespread mean I always use https://www.sharedrop.io/ for myself only tho.

sinuhe69

I use LANDrop, another open source project, with satisfaction. The thing about LocalSend is its low transfer speed. Somehow it’s even slower than LANDrop and much lower than SMB or Croc.

I have also a very weird problem with detection: my iPad can’t send to my Windows PC, but my PC can! Restart server, turn off firewall … all no help. My LAN is a bit complex with VLAN so I didn’t report the issue because it might just be me.

However, LANDrop doesn’t seem to have the same problem. That’s weird square.

sunshinesnacks

I just got setup to use LocalSend, but then saw your comment and was having second thoughts.

Comparing the GitHub repos for the two, it seems like LANDrop is pretty stale, while LocalSend is very active.

https://github.com/LANDrop/LANDrop https://github.com/localsend/localsend

Something to consider, although I'm not sure how much it practically matters.

devmor

I've been using LANDrop between 2 iOS devices, an Android device, 2 Windows devices and an Ubuntu device since I first saw it posted on HN and have never had an issue with it personally.

tamimio

From my experience where I wanted to send some files from my iPhone to an android based screen in my car, local send and landrop where the best, the rest needed internet or didn’t work properly, like sharedrop, snapdrop, pairdrop, and arc.

ho_schi

I miss Bluetooth for discovery. And Bluetooth for transmission of small files.

    * Eliminates the need to be in one network of any kind.
    * Allows nearby detection.
    * Nowadays good for laptop <-> smartphone
    * Possiblilty to create AP with WiFi for big transfers

Bluetooth discovery is the strength of AirDrop. I’m not sure but I think Apple creates a temporary WiFi and the other party is connecting to it briefly for big transfers?

The application Teleport [1] uses Zeroconf for discovery. It misses cross-platform support. Probably it is better use Multicast directly, setup of Avahi is complicated (conflicts) and requires a Daemon.

PS: People often forget that Bluetooth has already the built-in capability to transfer files (e.g. vCard). I only remember GNOME to present it and then also not in Nautilus. Same as WebDAV which works much better than SMB for me. Again, most people just don’t know that there is WebDAV built-in.

janandonly

The screenshot on the landing page is a slap in the face of Apple, for good reasons, I think.

Yesterday, a friend tried to airdrop a picture to me from his iPhone 11 Pro to my iPhone 15 Pro. Touching the top of the phones did the funny jiggle, but didn't send the file. He then clicked on my picture in AirDrop, which showed him "waiting on confirmation" but I never got a pop-up. After a few retries and reboot, we gave up. He sent me the picture over WhatsApp, which, ironically, "just works."

Apple needs to get these bugs fixed. I lament the fact that they remain more focused on hardware then software.

brucethemoose2

Is there an equivalent of this with an http front end, so the client doesn't need to install anything?

I have used such apps before, but it seems they have gone unmaintained and don't work anymore.

cgriesh

I usually use Snapdrop (https://snapdrop.net) or PairDrop (https://pairdrop.net).

rcarmo

I have a Snapdrop fork running on my LAN that works wonders when sending files across platforms.

imiric

I frequently use `python -m http.server` on my LAN.

And if I can't be bothered to setup Python on the source host, or there are network complications, running uploadserver[1] on the destination host works great.

I'm wary of all these fancy tools with "magic" in their name, that rely on external relay servers. Even if they don't, I'm quite fond of the simplicity of plain old HTTP. I don't need anything more sophisticated, and in most cases, not even encryption.

netcat/socat would be another solution, but they're not as ubiquitous as Python and HTTP. And I can never remember the command incantations ':D

[1]: https://pypi.org/project/uploadserver/

SushiHippie

Localsend supports this

https://github.com/localsend/protocol?tab=readme-ov-file#51-...

Or do you mean uploading with an http frontend?

brucethemoose2

- A: I didn't know this, awesome.

- B: Yes, uploading via a web page would be nice too. I have seen other apps do this.

minhmeoke

One option is https://github.com/akovacs/uploadserver - it's basically a nicer version of:

    python -m http.server 8000
You first start one server on a desktop/laptop which has the software, and then any client (Android, iOS, PlayStation, Kindle, etc) with a web browser (no need to install any client software) can upload or download files from the web GUI.

You can download prebuilt binaries for x86-64 Linux, Windows, or Mac OS (sorry, no prebuilt binaries for Apple Silicon, but they could be added if there is sufficient demand) from https://github.com/akovacs/uploadserver/releases/ or compile from source using a nightly rust toolchain if you prefer.

Compared to cloud services or `python -m http.server 8000`, this is extremely fast since the server is written in rust, it is fairly simple (compiled and stripped binary is typically less than 3MB), it sends everything over local LAN, it seems to handle large files (over 4GB) fairly well, and you only need to install the software on one machine.

For additional details, please see: https://news.ycombinator.com/item?id=39665095

franga2000

A project idea I've had for a while is to make a library and corresponding apps that implement all of these different sending protocols in one. It seems like every few months, a new p2p file sending app/website is launched and they all basically do the same thing, but very few are inter-compatible. The reason Apple's AirDrop is so good isn't a technical reason, it's because there's just one AirDrop and it's installed on all Apple devices. We need to make one open stuff-sending standard and stop reinventing the wheel. But until then, having one multi-protocol library would be almost as good.

pbnjeh

A lot of mentions of Airdrop, here. Didn't some versions of it expose unique identifiers, that became a problem in e.g. Hong Kong?

I'm not on Apple, so I didn't sufficiently retain the details, but I remember reading about this a year or two ago.

Daily Digest email

Get the top HN stories in your inbox every day.

LocalSend: Open-source, cross-platform file sharing to nearby devices - Hacker News