Projects

Personal Projects

I just enjoy writing software, so in my spare time I have created a number of projects which are free and available to download. I also use a lot of this software in my day job.

Creating software on your own terms is a joy, as it lacks the requirements and constraints of commercial development activities. It also pushes you to get out of your comfort zone, learn technologies and techniques that you wouldn't normally learn, and helps you engage and communicate with your peers.

For any developer that has not yet published any software or contributed to other people's projects, I would highly recommend it! Here are some of my projects:

Other Projects

Here are some of my other GitHub repositories that I have developed to support some of my projects:

Fail2ban Rules

Fail2ban is a software appliance for analysing log files, identifying patterns, and taking actions. It is a very effective tool for banning malicious IP addresses. My rules enable web server administrators to detect a range of threats such as malicious requests, multiple auth failures, and multiple 404's.

IP Ranges

This project compiles nightly lists of IP address ranges for datacentres and verified crawlers. The information is compiled from various online sources that publish their IP ranges, such as AWS, Azure and Google Cloud, datacentre companies such as IONOS, OVH, and GoDaddy, and crawlers such as GoogleBot, ChatGPT, and Meta crawlers.

Browser Versions

Compiles publish dates for each version of a number of popular browsers, this repository can be integrated with AgentZero to provide the publish date of the browser, along with the latest version and the browser status. This is useful for determining how out of date a browser is, for use as a risk metric.