Live data from Hacker News

Build your own BitTorrent

app.codecrafters.io

121–130 of 136 posts

Re: Build your own BitTorrent

#121

Earlier quoted context omitted.

There's a whole ton of bluster in the torrent community. Bittorrent is a simple protocol, to the point of being naive (and therefore a fun toy network app project). Clients identify themselves to the tracker by user agent; there's really nothing else to fingerprint against. Claims to the contrary are almost certainly bullshit to scare people out of editing their user agent. Clients also self-report the amount of data…

> "there's no excuse for having a ratio less than 1" Maybe the context of the quote was in regard to a private tracker? The "ratio" in terms of private trackers isn't always the real ratio of GBs uploaded or downloaded. There are for example some private trackers that grant additional credit for longer seed-time or they declare specific torrents "freeleech" so they don't "cost" ratio. In the end they are just some of…

Yes, but this tracker did not offer any such things. The only reason the mean ratio of active members was > 1 was because of the steady stream of users being banned for low ratios.

Re: Build your own BitTorrent

#122

Earlier quoted context omitted.

User agents, fingerprinting, etc. There are certainly ways to mask your client, but these would be considered cheating by most private trackers and would be grounds for a ban.

There's a whole ton of bluster in the torrent community. Bittorrent is a simple protocol, to the point of being naive (and therefore a fun toy network app project). Clients identify themselves to the tracker by user agent; there's really nothing else to fingerprint against. Claims to the contrary are almost certainly bullshit to scare people out of editing their user agent. Clients also self-report the amount of data…

There's at least some differences, such as HTTP/2 usage, or maybe algorithm usage/bugs in newer versions. Whether or not most tracker staff actually bother to attempt fingerprinting, IDK.

Re: Build your own BitTorrent

#123
post #43

I wish more folks distributed Linux ISOs via Bittorrent since it has an integrity check built into the protocol -- messing with PGP is hard and showing me an MD5 sum over a self signed certificate is... just special .

Instead of replacing the md5sum on the download page an attacker could replace the infohash/magnet link/.torrent file.

Re: Build your own BitTorrent

#124
post #120
post #78

Hi! Sarp here, author of the Build your own BitTorrent challenge on Codecrafters. Some back story: After being laid off from my FAANG job, I found myself very unmotivated to go back. I started looking for interesting programming projects to revive my interest in coding. While nomading, I discovered Codecrafters on Nomadlist and really liked the push code to git and pass different stages interaction. The gamification…

I don't know if this is feedback on the challenge per-se, but I was a little saddened that I couldn't add dependencies to my `Cargo.toml`; I wanted to solve part of the bencode challenge using nom (perhaps overkill, but it was for fun), but I can't. If this is a concern of load/execution times on a remote builder, it would be cool if I had some way to run the testcases locally to avoid this concern

We just shipped support for this last week! You should be able to edit the file now. We’ll remove the comments saying those files can’t be edited soon.

Re: Build your own BitTorrent

#125

For anyone who is interested in peer-to-peer systems like this, and completes Sarp's course, I have an open interview challenge you can submit it to if you find that you want to continue building in this space as a profession: https://gitlab.com/webai-open/network/interview-challenge Take the guidelines to heart though. We evaluate you on demonstrating understanding of what you did, not that you completed the course.…

This is so cool! Have you already hired people using this method? Or is this a new initiative?

Re: Build your own BitTorrent

#126
post #120

Earlier quoted context omitted.

I don't know if this is feedback on the challenge per-se, but I was a little saddened that I couldn't add dependencies to my `Cargo.toml`; I wanted to solve part of the bencode challenge using nom (perhaps overkill, but it was for fun), but I can't. If this is a concern of load/execution times on a remote builder, it would be cool if I had some way to run the testcases locally to avoid this concern

We just shipped support for this last week! You should be able to edit the file now. We’ll remove the comments saying those files can’t be edited soon.

Oh! Awesome! I'll have to give this a shot, then :)

Re: Build your own BitTorrent

#127

I am curious has anyone subscribed to codecrafters.io and if so what was your impression of the service?

I am life time subscriber, as someone who likes to learn by doing, this platform was perfect to me. I didn't ever think i will look into internals but this one seduced me to dive deep in a fun way.

Re: Build your own BitTorrent

#128
post #78

Hi! Sarp here, author of the Build your own BitTorrent challenge on Codecrafters. Some back story: After being laid off from my FAANG job, I found myself very unmotivated to go back. I started looking for interesting programming projects to revive my interest in coding. While nomading, I discovered Codecrafters on Nomadlist and really liked the push code to git and pass different stages interaction. The gamification…

I've actually just begun work on a project involving bittorrent, I don't think I will be implementing a client but maybe, I'm certainly going to have to implement generation of .torrent files and magnet links, so I've been learning a little bit about the protocol. Interesting to see this pop up and maybe I can use it to help me make headway.

Re: Build your own BitTorrent

#129
post #104
post #8

Jon Gjengset[1] is currently doing a livestream on the same challenge in Rust, on his YT channel[2]. [1]: https://thesquareplanet.com/ [2]: https://www.youtube.com/watch?v=jSTkEPPiULs

Oh hey, that's me! A better link is https://www.youtube.com/watch?v=jf_ddGnum_4 which has chapter marks and has the power outage in the middle spliced away :p

Hey! Came across your videos randomly a few months ago and just wanted to say great content. Funny running into you here.

Re: Build your own BitTorrent

#130
post #43

I wish more folks distributed Linux ISOs via Bittorrent since it has an integrity check built into the protocol -- messing with PGP is hard and showing me an MD5 sum over a self signed certificate is... just special .

messing with PGP is hard _FOR YOU_. Your inadequacies are not universal.
Post reply on HN