monero-project / monero-site

https://getmonero.org
BSD 3-Clause "New" or "Revised" License
266 stars 378 forks source link

Torrents on downloads page #1629

Open Masken8 opened 3 years ago

erciccione commented 3 years ago

I guess you are suggesting to have the possibility to download the wallets as torrents. This has been discussed in past (#508 #515), but at the end we didn't add them. Mostly because it's something that need to be maintained.

Supporting torrent downloads is something i considered for some time. The problem is: who is going to host these torrent? Even if the hashes can be verified for autenticity, we need a trusted entity to publish the torrents if we want to list them on getmonero.

I don't know if the core team is willing to do that. Especially since a new torrent needs to be created for each release and then they need to be seeded.

erciccione commented 3 years ago

There could be two solutions:

  1. @binaryFate (or somebody else from the core team) could create and upload the torrent to a seedbox hosted by core. Then the process would be the same as it is for the normal binaries now. We don't need to add the hash of the torrent (but we could anyway) because people can unpack the torrent and verify the archive, so we would just need to add the links.
  2. Somebody else takes care of uploading the torrent files. This could be an easy CSS, but requires effort from the maintainers anyway, since the torrents will need to be verified to make sure they match the binaries released by core. We could also ask the uploader to post the hash of each torrent, so that people can easily verify the torrent is the same as the one of the uploader, but at the end, the important is to verify that the hash of the Monero binaries match.
HardenedSteel commented 3 years ago

I think seeding is shouldn't be problem, everyone can seed and contribute + Monero has a community so we will have enough seeder i guees.

HardenedSteel commented 2 years ago

Related bounty topic: https://bounties.monero.social/posts/52/add-alternative-download-methods-on-getmonero-org

erciccione commented 2 years ago

I don't think a bounty will help here.

MoneroArbo commented 2 years ago

I don't mind creating and seeding torrents, I already run a seedbox on a gigabit connection

The easiest thing (for me) would be create a single torrent containing all the downloads, then the user picks which one(s) they want in their torrent client, but separate torrent files would probably be easier for users.

Another question would be DHT vs public trackers vs running a tracker. I don't want to run a tracker. Public trackers are pretty unreliable. I think DHT works well enough and is decentralized, plus if I'm not mistaken someone could recreate the link with the same file and get the same result since it's a hash table, but maybe others have thoughts.

sample DHT only magnet link: magnet:?xt=urn:btih:9a884d0b352df58dbd49af49be0819f373b5b536&dn=monero-gui-linux-x64-v0.17.3.1.tar.bz2

seems to work for me but maybe someone else can test

I'm just not sure how much work me doing this would take from binaryFate since the links are easy to make and he'd have to verify stuff anyway. if the magnet links are indeed deterministic, maybe they could be generated during the build process or something.

I guess another question is how much this would help availability or censorship resistance. The files are small enough to be re-hosted easily, and however you get them you're going to need to verify authenticity somehow.

HardenedSteel commented 2 years ago

@MoneroArbo I already made two separate torrent file which contains all the downloads at the pull request.

MoneroArbo commented 2 years ago

I saw the pr