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.
A set of networking related web based tools, written in NodeJS.
A simple IP/DNS Resolver lookup service, IPv4 and IPv6.
Does a full traversal of the entire DNS hierarchy to check for consistency in answers between different authoritative servers.
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.
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.
Basic ping/trace tools for testing connectivity from a remote location
The name says it all. Basic bandwidth test.
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.
A short video showing how easy it is to configure Apache and LetsEncrypt for HTTPS on a public web server.
Some open source projects I have been working on.
A script to add RFC8484 (DNS over HTTPS) support to any web server.
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.
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.
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.