My Projects

Some examples of things I have made. [My GitHub]

RFC8484 DoH Server

A script to add RFC8484 (DNS over HTTPS) support to any web server.

Containerisation thing
[Config Example] [Docs]

A docker-like system I created before docker became well known. It is far simpler than docker, but also far more flexible.

VPN Client

A standalone p2p VPN client for linux. Includes support for dynamic routing via secondary routing tables.

6in4 client

A basic user-land tun/tap implementation of 6in4. Useful on OpenVZ servers that have tun/tap but no native 6in4 driver. The small line count also demonstrates how simple the tun/tap interface is to code for.

University Project - MyVid Streaming Video
[Demo Video] [Report]

Overview of a WebRTC based streaming video platform I created for the distributed systems module at university. Service is no longer online because video platforms cost a lot of money to run! Mostly here to demonstrate a less talked about aspect of the capabilities of the WebRTC APIs in modern browsers.

Network Toolkit [source]

A set of networking related web based tools, written in NodeJS.


A simple IP/DNS Resolver lookup service, IPv4 and IPv6.

DNS Traversal [Original PHP Version]

Does a full traversal of the entire DNS hierarchy to check for consistency in answers between different authoritative servers.

BGP Advertisment Tool

Allows advertising an IPv6 prefix from multiple locations, turning announcements on and off in real-time to view the effects of anycast and dynamic routing. Used in the Anycasting tutorial below.

CloudShark Server

A wrapper around tshark that automatically uploads pcap files to the server and outputs a HTTP URL for downloading. Useful for doing packet captures on remote machines.

Looking Glass

Basic ping/trace tools for testing connectivity from a remote location

Speed Test

The name says it all. Basic bandwidth test.

Video Tutorials

Domain Name System

A basic overview of the Domain Name System, including the meaning behind the names and the delegation structure and meaning of the . in domain names.


A demonstration of the latency and fail-over characteristics of anycast routing on the public Internet.

JavaScript Art

Is Javascript ugly, or beautiful?

IPv6 Certification Badge for Unbitrium