Build Your Own BitTorrent Client
BitTorrent is a peer-to-peer file sharing protocol. Building a client teaches you about distributed systems, networking protocols, and file handling. ...
BitTorrent is a peer-to-peer file sharing protocol. Building a client teaches you about distributed systems, networking protocols, and file handling. ...
Build your own distributed message broker inspired by systems like Apache Kafka. This project covers distributed consensus, log-structured storage, message partitioning, consumer groups, and fault tolerance. ...
A DNS Forwarder is a nameserver that is used to resolve DNS queries locally instead of directly using the authoritative nameserver chain. Often they sit on the edge of a local area network and provide DNS resolution to the computers on the local network, reducing external traffic and speeding up external access by serving the answer from a local cache. ...
Build your own DNS Resolver. ...
Build your own Echo server. Implement a UDP or TCP based Echo server that echoes back to the client whatever is sent to it.. ...
Many organisations used forward proxies to block large parts of the Internet. They can also be used to obfuscate the identify of users where multiple users all connect through the same proxy. ...
Build your a HTTP(S) Load Tester that can be used to simulate a load on a website or HTTP(S) based API. ...
Build your own Memcached server. Implement the TCP based Memcached protocol and build a Memcached server. ...
Build your own NATS Message Broker. Implement the TCP based NATS protocol and build a NATS Message Broker. ...
Build a network modelling tool that can load in a network description and some traffic data, then model the traffic flowing over the network to determine the utilisation of each link within the network. ...