The following projects are available for browsing

Key Title Description
BHAYSTACKG BASH Haystack Generator BASH Haystack Generator was initially created purely as an intellectual exercise aimed at analysis of masking 'genuine' traffic across an encrypted tunnel by generating additional traffic

The overall aim being to see whether it's feasibly possible (i.e. without wasting exorbitant amounts of bandwidth) to negate the risk of traffic level analysis by an adversary (on the assumption they're unable to decrypt the traffic).

The project itself simply generates traffic, it's up to the administrator to ensure that the traffic is routed over the relevant tunnel (whether that's a VPN, Tor, an SSH tunnel or anything else).

One thing the project doesn't try to address is the issue of an adversary who's also able to monitor traffic at your endpoint (i.e. if you're using a VPN, is 'public' traffic then emanating from the endpoint). In theory, at least, this would be less of an issue with Tor.

Codebase: Hosted on GitHub
BTFW BT Framework I've used elements of my simple framework in a number of projects but have never centralised the project to ensure that improvements made propogate across projects.

This project aims to achieve that task
BUGGER BUGGER BUGGER was originally a CGI based Project management system incorporating Issue Tracking, Document filing and release file storage.

It was later converted to PHP but the template never quite saw the work it needed to look anything but ugly.

As a result of it's offensive looks it fell out of use, and has been sitting largely idle.

This project has been created primarily to oversee the decommissioning of BUGGER, with an eye to preserving the data within.

DNS Chat isn't intended to be a useful utility - it's an intellectual exercise to prove the concept

The main point being that no matter how much interception the Government inflicts on it's populace, there will always be simple clandestine methods of communicating - it is in essence a response to claims such as those made by David Cameron following the Paris Attacks - ("There should be no means of communication which we cannot read") - a massive invasion of privacy in order to achieve an unattainable goal

Suggestions for features, comments on issue can be mailed in to dnschat AT (to comment on an issue, include the issue reference in your subject line)

GPXIN PHP GPXIngest GPXIngest is a PHP Class designed to ingest GPS Tracking Files and convert them into a nested object.
It supports JSON serialisation (and later import) of the ingested data and generates a number of statistics at ingest (such as acceleration rates).

Codebase: Hosted on GitHub

Issues can be raised by emailing gpxin AT To comment on an existing issue, include it's issue reference in the subject line.
HLS HLS Stream Creator

HLS-Stream-Creator is a simple BASH Script designed to take a media file, segment it and create an M3U8 playlist for serving using HLS. There are numerous tools out there which are far better suited to the task, and offer many more options. This project only exists because I was asked to look into HTTP Live Streaming in depth, so after reading the IETF Draft I figured I'd start with the basics by creating a script to encode arbitrary video into a VOD style HLS feed.

Code is available on GitHub


This is a project to take input from a DVD/Blu-ray player (or any other arbitrary HDMI Input) and make it available on the local network in a standardised format (initially HLS, though Smooth Streaming may come later if I'm feeling particularly sadomasochistic).

There are a limited number of HDMI ports on most TV's and most of my viewing now happens in Kodi (or more specifically RaspBMC). Given that Kodi gives me the ability to watch network stream, it'd be great to be able to stream from a single player to anywhere in the house (reducing the need to walk around trying to work out where a specific disk went).

The intention is that HLS-Stream-Creator (see project HLS) will do most of the leg-work in transcoding, so the main aim of this project is to build a system that can take input from a HDMI source and pass to HLS-Stream-Creator (ideally running on either a Raspberry Pi or in a VM).

JILS Jira Issue Listing Script A simple script to generate HTML pages containing JIRA Issues, although the main aim of the codebase has changed since the original implementation.

Documentation for the original Implementation can be found at

Codebase: Hosted on GitHub

Issues can be raised by emailing jils AT To comment on an existing issue, include it's issue key in the subject line.
JWL Jira Webhook Listener Small set of PHP scripts to catch JIRA webhook events and run custom commands/send notification emails via SMTP.

Created to satisfy a requirement in RIM-50

Codebase: GitHub
Issue Tracking:
MCI Mod Cat Implode Mod cat implode is a Joomla module designed to display all articles within a single com_content category as a single page (with named anchors for any H3 within).

An example of it's use can be seen at VehicleFuelTracker

Issues can be raised by emailing catimplode AT To comment on an existing issue, include it's issue reference in the subject line.
MGF mod Google+ Feed Google+ Feed (Mod_GoogPlusFeed) is a module designed to embed your Google+ posts into a Joomla site in the way that mod_btwitter does for Twitter. The core principle of the design is that it shouldn't contain un-necessary chrome and shouldn't slow page load.

The module can also display all posts within a Google Community - Simply specify the community ID instead of a user ID!

The module is available from
You can also view the documentation
MISC Miscellaneous This project is used to track anything that doesn't fit under an existing project (and doesn't need a project of it's own). The Version's functionality is used to group related issues.
NLA NGinx Log Actions
PAS PCAP Analysis Script

This script was originally created to help identify the extent to which my downstream traffic was observable, in part to aid in the writing of this analysis of what the draft IPB will allow

It's purpose is to crawl a PCAP and extract all potentially useful information about observed browsing behaviour/connections. At time of moving into a dedicated project, the script currently supports

  • Extraction of Host / Path /Cookie from Port 80 traffic
  • Extraction of FQDN from SNI handshake for port 443 traffic
  • Correlation of HTTP referrer headers to known HTTPS hosts to identify (some) paths viewed on HTTPS sites
  • Generation of unique list of cookies seen (for potential credential/session theft)
  • List of XMPP servers observed

Port 80 and 443 traffic information is combined into a chronologically ordered CSV to aid further analysis

The codebase can be found On Github

PHPCBA PHPChangedBinaries The PHPChangedBinaries project is used to keep track of issues/features in both the PHPChangedBinaries client and the API - it wasn't used to build either.

The PHPChangedBinaries client is Open Source Software and can be obtained from GitHub. It can also run in standalone mode so that there's no reliance on the API.

The API is not Open Source at this time, and API Keys are currently by request only.
PHPCRED PHPCredlocker PHPCredLocker is a secure web-based repository for credentials. Intended for teams who need to share credentials, the system aims to store all content securely

Development and issues were previously tracked on GitHub

Issues can be raised by emailing phpcredlocker AT To comment on an existing issue, include it's issue key in the subject line.
PIDVR PiDVR Project to build a DVR using a Raspberry Pi.

The aim is to build a system with
  • Scheduling API
  • Replication Support
  • Push/Pull media support
  • Freesat support

Codebase: Hosted on GitHub
Public Issue Tracking:

Useful Utilities
PLGSCH Send Custom Headers Send Custom Headers is a plugin allowing a Joomla site to send custom response headers if certain rules are met

It was designed to facilitate using NGinx as a reverse caching proxy for, and a similar example use case is documented here
URLBRND URLBrand 2 The original codebase can be found on GitHub

This is effectively a restart of the Project, using the good bits of the original.

The end result will be used for the URL shortener service.
VCL VehMan Client Libraries
VEH VehMan VehMan is a Vehicle Management API designed to help track the Total Cost of Ownership of vehicles.

It includes tracking of Fuel and servicing costs, as well as journey speeds (via ingestion of GPX track files) and will generate charts and reports.

VEHPI VehManPi VehManPi was a project to design and build a 'black box' to be fitted within a vehicle.

The idea being to create an autonomous system which uses GPS tracking to record journeys and automatically upload the resulting track files to VehMan whenever in range of a suitable Wifi point

For the time being, though, the project is on hold as other work has had to take priority
VFJ Vehman For Joomla Vehman for Joomla is a Joomla component that interacts with the API.

It will form part of and is the long-term replacement for VehManLegacy
XMLRPCPLG Sitemap Update Ping Plugin

Sitemap Update Ping is a plugin for Joomla 2.5 and Joomla 3.x. It sends a ping to various search engines, notifying them that your sitemap has been updated and should be refreshed (leading to the new content being crawled).

You can view the plugin documentation here

Further detail on the plugin can be found in the Web shop

XML Sitemap Moved Issues