Reverse Engineering an LTech M4 RGBW Controller

A while ago I purchased a RGBW LED strip and a controller for my desk, I mounted the strips on the back of my monitors and on the bottom of my desk. It was a bit of an arduous process as I wanted the strip to flex with my monitor …

Making a REST API for your Doorbell

For a while I've been wanting to do a project around something wireless based, but it seems like it's something that's quite difficult to get in to. For one I didn't have any tools that would really allow me to inspect anything, how do you go about reverse engineering something …

Building A Debian Based VPN Router

A few months ago based on the laws being brought in around the snoopers charter and digital economy bill in the UK, I decided that I needed to start pushing most of my traffic over VPN.

The thing is I really don't want to run a VPN client for every …

Building a Debian Based VPN Router - Part 1 - Networking

I've been using systemd-networkd quite a bit recently, so this focuses on setting up the interfaces via that. I'm going to be setting up two VLANs on the router, 100 will be my protected vlan that will force all traffic via VPN and 200 will be a completely unprotected network that will go directly out over the WAN.

Building a Debian Based VPN Router - Part 2 - DNS/DHCP

So lets get a DNS server set up for your network, I'm using unbound for this as it's way easier than setting up a recursive BIND server and really I'm not wanting to do anything advanced other than serve out DNS requests and maybe serve out a local zone.

Building a Debian Based VPN Router - Part 3 - VPN Tunnels and Policy Based Routing

We have a few requirements for VPN:

Building a Debian Based VPN Router - Part 4 - Performance

To give you a bit of a background as to how I'm collecting these metrics, I have a Graphite setup here with a Grafana frontend. I'm using a local collector on each of my boxes called Diamond which collects metrics every 5 seconds and reports this via statsdaemon into Graphite.