A BitTorrent client
Bencode, trackers and the peer-to-peer protocol. Download a real file by talking to real peers.
Go · Python · Java
Construye y parsea paquetes UDP a nivel de bit. Resuelve nombres siguiendo la jerarquía desde los root servers.
Build it in your language
The tester treats your program as a black box: any language works. These are just the most convenient ones for this project.
Cada vez que escribes una URL, algo traduce un nombre en una dirección IP recorriendo una jerarquía mundial de servidores. Ese algo cabe en unos cientos de líneas.
Aquí construyes paquetes DNS bit a bit, los mandas por UDP y parseas la respuesta, incluida la compresión de nombres que tanto despista. Terminarás resolviendo dominios de verdad partiendo de los root servers, sin apoyarte en el resolver del sistema.
8 stages across 4 phases. Every stage comes with its guide and its tests: you move on when they pass.
Construye una consulta DNS byte a byte y mándala por UDP.
Parsea cabecera y secciones, y descomprime nombres con punteros.
Recorrido iterativo desde los root servers, CNAMEs y varios tipos de registro.
Respeta los TTL y evita consultas repetidas.
Bencode, trackers and the peer-to-peer protocol. Download a real file by talking to real peers.
Go · Python · Java
Build a Model Context Protocol server from scratch with JSON-RPC, tools, and resources.
TypeScript · Python · Go
From raw bytes to a 200 response. Parse requests, manage connections and serve concurrent traffic.
Go · Python · C · Rust