libtorrent icon indicating copy to clipboard operation
libtorrent copied to clipboard

Release versions with webtorrent support?

Open petterreinholdtsen opened this issue 2 years ago • 74 comments

Hi. I tried and failed to figure out which library releases include webtorrent support. Can you help point me to a version with such support available?

I had a look at #4123, but it did not realy make this clear.

petterreinholdtsen avatar Jan 23 '23 07:01 petterreinholdtsen

Hey @petterreinholdtsen,

Only the master branch, built with the -DWebtorrent=on flag set has WebTorrent support. From my understanding there are no existing releases with this enabled by default and you must compile this yourself.

Hope this helps.

SilentBot1 avatar Jan 24 '23 22:01 SilentBot1

[Brad Marsden]

Hey @petterreinholdtsen,

Only the master branch, built with the -DWebtorrent=on flag set has WebTorrent support. From my understanding there are no existing releases with this enabled by default and you must compile this yourself.

Hope this helps.

It is useful knowledge, at least. Is there any hope to have a tagged release soon that I can ask to have packaged in Debian, for use by the general public?

-- Happy hacking Petter Reinholdtsen

petterreinholdtsen avatar Jan 25 '23 01:01 petterreinholdtsen

You can try LibreTorrent on Android https://f-droid.org/packages/org.proninyaroslav.libretorrent/ It's a client that is compiled with the support enabled.

If you do testing, be careful to disable any webseed, non-wss tracker, DHT, PEX and LSD (local seed discovery) be sure to have a webtorrent peer and not a regular one. If it works, check on the peer list the user agent and connection of the peer and tell us what you got :)

tuxayo avatar May 20 '23 01:05 tuxayo

Any update on when will we get WebTorrent support on libtorrent by default?

Conobi avatar Jun 02 '23 17:06 Conobi

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Sep 17 '23 01:09 stale[bot]

This is a really bad way to "resolve" tickets.

vrubleg avatar Sep 17 '23 05:09 vrubleg

I similar request is in https://github.com/arvidn/libtorrent/issues/7333, where a user ask for webtorrent support in the default python module.

petterreinholdtsen avatar Dec 20 '23 07:12 petterreinholdtsen

Is there a reason why web torrent support ıs left out of release builds?

bertung avatar Dec 21 '23 07:12 bertung

WE WANT WEBTORRENT BY DEFAULT! (pretty pretty please :) @arvidn is a sex machine for creating and maintaining Libtorrent. It is a GOD made library. To change the world of torrenting, moving to webtorrent enabled by default completely changes the internet and the world. I don't think its possible to exaggerate the impact of the world doing browser peer to peer file sharing. It's one of those sounds boring but insanely impactful when you look back at it

Please be the king of torrents and make this god like feature a reality for the masses by default.

kingomarnajjar avatar Feb 13 '24 10:02 kingomarnajjar

I think the reason it still isn't enabled by default is arvidn is against the protocol. He might believe it is bad for the torrent economy because web seeders aren't really going to stay around to seed. But webtorrent is still extremely important for two use cases:

  1. Previews: Torrent sites often show image previews of the content. The problem with this is that they don't want to host the previews themselves, likely for legal reasons, so it is required to upload them to a 3rd-party image host. But when you go to look at multi-year old torrents, the images are likely either taken down or the host is gone. WebTorrent could solve this because it means distributed hosting of the images, and since previews are tiny, it won't have a big cost on the seeders.
  2. Extremely easy web-based P2P: I can imagine many services would enjoy a non-centralized file storage. For example PeerTube is a P2P video hosting software (although they switched away from WebTorrent). WebTorrent makes this super easy to do and allows people to help increase speeds (although you would likely need an HTTP source for low latency, it still helps with big files, like videos). Of course there are other WebTorrent clients like the official JS one that services could use, but libtorrent is much more mature, scalable (I would assume), and is widely used which would lower the barrier of entry for people who want to help seed web content.

Important: This is an assumption of his reasoning so don't take it as fact. AFAIK he hasn't stated dislike of the protocol anywhere. But if this is the case, I hope this changes your opinion.

OvercookedBeef avatar Jul 27 '24 01:07 OvercookedBeef

it's primarily that the attack surface of libtorrent is significantly larger with webtorrents enabled. It's especially disappointing to be hacked by a feature you're not using.

arvidn avatar Jul 28 '24 19:07 arvidn

surely any client that wants to support webtorrents would enable it. Why is the default so significant?

arvidn avatar Jul 28 '24 19:07 arvidn

[Arvid Norberg]

surely any client that wants to support webtorrents would enable it. Why is the default so significant?

Are you talking about it being build it by default and enabled at runtime, or not being built in by default and a rebuild is needed to enable it?

Only enabling it at runtime work for clients sharing the same shared library.

-- Happy hacking Petter Reinholdtsen

petterreinholdtsen avatar Jul 28 '24 19:07 petterreinholdtsen

surely any client that wants to support webtorrents would enable it. Why is the default so significant?

My understanding was that WebTorrent was added to the master branch, not any of the release branches, like RC_2_0. I do not have a good understanding of libtorrent's structure so correct me if I'm wrong.

It seems many pieces of software depend on the releases or release branch: https://github.com/qbittorrent/qBittorrent/issues/17974#issuecomment-1302616587 https://github.com/transmission/transmission/issues/47#issuecomment-1272237178 https://github.com/arvidn/libtorrent/pull/4123#issuecomment-1863985198

But if you think the implementation has security issues, that obviously takes priority. Have you received any reports about this? I couldn't find anything in this repo about security issues with WebTorrent. Have you experienced this yourself?

Only enabling it at runtime work for clients sharing the same shared library.

I also agree with this. Clients won't want to require custom builds of libtorrent that they can't control. I don't think clients typically static link libtorrent, nor have a desire to. For this reason having it as the default is important, but only if it doesn't have security issues of course.

fineless71 avatar Jul 28 '24 19:07 fineless71