MegaLAN is a p2p VPN client for quickly and easily setting up Ethernet VPNs over the Internet. It can be used between users for adhoc shared LANs (for games etc), or a user can set up a private network for easy remote access to their home systems without complex server configuration.


A basic DNS hosting service with web based zone management.

AS206671 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

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.

Setting up HTTPS on Apache2

A short video showing how easy it is to configure Apache and LetsEncrypt for HTTPS on a public web server.

Other Stuff

My GitHub

Some open source projects I have been working on.

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.


A standalone p2p VPN client for linux, created before MegaLAN. 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.

JavaScript Art

Is Javascript ugly, or beautiful?

IPv6 Certification Badge for Unbitrium