Just a heads up, You won't be able to use retroshare if you are under CGNAT - at least i wasn't able to .
The absolutely massive advantage of BitTorrent over older networks is that current downloaders (leechers) can share the parts they have already downloaded. So instead of just a few seeders getting hammered with traffic and hitting a bottleneck as on Limewire, etc., you can get just the parts you need from the critical seeders.
Trackers also make this easier by avoiding the slow search through nodes and broadcast issues that P2P gossip-style networks have.
That said you could totally imagine a client that lets you share .torrent files like Limewire, etc. with direct search, and even merging it with the concept of trackers - like how RAFT can maintain a list of active nodes - i.e. you could just track the peers per torrent, and then let the actual traffic take place via direct connections like BitTorrent does.
I highly recommend reading the libp2p docs - https://libp2p.io/
The various Wikipedia articles on Gnutella, BitTorrent etc. - https://en.wikipedia.org/wiki/Gnutella
And Tailscale's article on NAT traversal - https://tailscale.com/...
To appreciate some of the challenges and development over time.
I really wish someone would write a book like How Music Got Free, but about the technical history and challenges of piracy / file-sharing. From Modem BBSs to Usenet to Napster, Gnutella, BitTorrent, and Freenet, I2P, IPFS, etc.
undefined> The absolutely massive advantage of BitTorrent over older networks is that current downloaders (leechers) can share the parts they have already downloaded
This is not true at all. Bit torrent as protocol didn't brought any new concept to p2p. Bit torrent didn't invent download swarms or sharing while download (even the gnutella clients do that). Bit torrent won, because emule was ahead of it's time and was too greedy. The bittorrent block is 512KiB while the emule is 9MiB. Emule appeared in a time where ADSL was started to be rolled out, and before bittorrent, so the internet speeds and connectivity were not the best. Since the block is 9MiB, the users needed to download first 9MiB in shitty speeds before starting to share. Also people wouldn't realize that the network implements a credit system, so you need to upload (ideally to the person from who you are downloading from - the upload credits aren't global) otherwise you are going to the bottom of the download queue. This would cause a bottleneck in the speeds. Btw, emule continues to be used massively (not as bittorrent but more than 200k users)
Do you have a source for this (like genuinely, I'd like to read about it) as I was 99% sure that Gnutella didn't do out-of-order swarm piece downloading like BitTorrent.
I'm not that familiar with eMule and its networks though - but it'd be interesting to learn about. These slides were cool - https://pages.cs.wisc.edu/... but also don't cover eMule lol
here you have gtk-gnutella screenshots:
gtk-gnutella download progress bar: https://imgur.com/FIzJa1b.png gtk-gnutella upload options: https://imgur.com/yLg0LOl.png
Btw, gnutella died (it will never die because of the way it works, but it's a shell of what it was) because of the fake files (the DHT and magnet links appeared to late - with this the downloads can be curated), and because of the clients implementations. This last one was the gnutella downfall - There's the open protocol and then each client started to implement their own features making and giving priority in the connections between them, making almost subnetworks - kinda the same that happened with XMPP.
BTW 2, those slides are not up to date. The gnutella search as it is described in those slides are for gnutella 0.4. The protocol is now in version 0.6 (and probably won't be updated anymore) and it has now supernodes - kinda lika kazaa. Gnutella (mojito), emule (KAD) and bittorrent have DHT.
I am actually surprised IPFS isn't leveraged more for this.
I loved eMule. I had my company install a second T1 line for "business reasons" then never shared it with anyone else, and promptly used it all on my own with eMule. Downloading a few 700MB movies a day and contributing back was so sweet. In the early 00s having your own T1 eMule was peak high seas sailing.
Not sure what replaces it now, though I'd say there are so many other options, its just the nature of the beast
I still use MLDonkey 3.1.7 (July 2020) on my debian server to connect to ed2k/kad and bittorrent and it works without any problems. It is very resource efficient but has a bit of a learning curve to set up and use.
Built-in network-wide search:
Try FrostWire, somewhat achieves this by aggregating search through the biggest torrent indices, also searches and downloads from youtube
Easy sharing and unique links:
Magnet links are there for this. And now smaller v2 torrents.
Is that still based on Java?
I'm quite happy with DC++ but the only worthwhile hubs are super private and gate keepy
I thought eMule is still quite active?
.
emule is not slow. It's really fast (with emule client). You just need to have high id. The lack of clients is an issue and amule although it works is crap (it's really slow and the dev doesn't acknowledge that - there's some problem in the download queues...).
If you don't want to use emule, use gnutella - namely gtk-gnutella. It supports magnet links (as long as they contain the bitprint hash), integrated search, windows, linux and mac, and it's fast (since there's no queue management, it depends on the uploader speed). The only problem is the lack of files being shared.
Or better yet, use shareaza. It supports bittorrent, emule, gnutella, g2 networks. There's the problem of not being developed anymore (there are some forks, but they are mostly dead) and the bittorrent support is not the most up to date, so some trackers block it.
thanks for using Leebra!
go to feed...
.
save