Skip to main content


For distributing software updates, I wonder if there's a way to automatically use BitTorrent in such a way that machines within the same LAN automatically peer up with each other, but not with any outside machines. That way the software would automatically do the right thing for large organizations, while not externalizing the vendor's bandwidth cost onto users by using their outgoing Internet bandwidth.
in reply to Matt Campbell

Many update systems can already work like that. But it's unclear that it's strictly a win unless you have a relatively known network topology. You can just as easily trash your internal network.
in reply to Josh Simmons

@dotstdy Interesting. What are known examples of update systems that do this? I should also clarify that I meant "BitTorrent or similar".
in reply to Adrian Vovk

@AdrianVovk @dotstdy Yes, I remember that now. And the functionality seems to be exposed through an API, called BITS (learn.microsoft.com/en-us/wind…), which integrates with the Windows peer caching feature, BranchCache. I think this is what I want.
in reply to Matt Campbell

check out #Passim by @hughsie who developed it for locally distributing #LVFS data consumed by #fwupd:
github.com/hughsie/passim/blob…
This entry was edited (2 months ago)
in reply to Mikołaj Hołysz

@miki Good point. As mentioned in another reply on the thread, I think the best I could probably do is to use something provided by the platform. In the case of Windows, that's the Background Intelligent Transfer Service (BITS), which integrates with BranchCache, a peer caching service controlled by the admin.
in reply to Matt Campbell

No idea how BITS works, but I feel very squeamish about this approach due to its privacy problems.

It potentially lets you find out who on your LAN is using a particular piece of software, and people on your LAN often include family members, friends, domestic partners, children, parents etc.

This is the kind of privacy issue that's both heavily underappreciated and very, very dangerous in my view.

Personally, I'd rather give all my data via telemetry to some faceless corporation that has no personal interest in me, rather than exposing that data to people who I interact with daily, and who are statistically a lot more likely in using it against me specifically, in a way that measurably impacts me. Of course, the seriousness of that issue heavily depends on what kind of software it is.

That's also one of the reasons why I'm very much not sold on the benefits of the "small and federated servers" model over the "one giant service run by our Silicon Valley Overlords" model.

in reply to Matt Campbell

Not sure if you're familiar with this extension to BitTorrent: en.wikipedia.org/wiki/Local_Pe…

It would probably do what you need, though the applications to updates would have to take into account potential privacy implications and so on.