bebo-dot-dev.github.io blog https://bebo-dot-dev.github.io/ Fri, 09 Jul 2021 07:10:44 +0100 Fri, 09 Jul 2021 07:10:44 +0100 Jekyll v4.2.0 an SBC IPSEC router <h2 id="who-needs-a-vpn">Who needs a VPN?</h2> <p>It’s a giveaway from the title of this article that this is about a little VPN gateway / router device sat on the LAN so the answer is me, I need a VPN.</p> <p>But to be serious for a moment the question as to whether anyone needs a VPN is a question worth asking. There’s much controversy and snake oil myth around the selling of commercial VPN services and a large proportion of this type of service selling is targetted at users who are keen on concealing questionable torrenting and streaming behaviour.</p> <p>One area where... Wed, 14 Jun 2017 09:22:55 +0100 https://bebo-dot-dev.github.io/neo2-vpn-gateway/ https://bebo-dot-dev.github.io/neo2-vpn-gateway/ VPN security internet web applications esp8266, MQTT and node-RED <h2 id="another-worcester-bosch-boiler-hack">Another Worcester-Bosch boiler hack</h2> <p>I decided to automate my heating system after being inspired by <a href="http://www.stevenhale.co.uk/main/2013/08/home-automation-reverse-engineering-a-worcester-bosch-dt10rf-wireless-thermostat/" target="_blank">Steven Hale’s phenomenal original work</a></p> <p>This post is a whistle-stop tour in pictures and video of my take on Steve’s method of reverse engineering the 433MHz signals sent from my <a href="https://www.worcester-bosch.co.uk/professional/support/documents/worcester-dt10rf-installation-instructions" target="_blank">DT10RF MK2</a> thermostat, to enable a node-RED system to be built around my home heating system for more flexible monitoring and control. Many thanks go to Steve for paving the way to make this build a reality.</p> <p><strong style="display:block; text-align: center;">SDR dongle <a href="http://www.ebay.co.uk/itm/252674906658" target="_blank">(ebay listing here)</a>:</strong> <a href="../assets/img/sdr-dongle.jpg" data-lightbox="image_set"... Sun, 29 Jan 2017 12:09:55 +0000 https://bebo-dot-dev.github.io/esp8266-mqtt-node-red-boiler-hack/ https://bebo-dot-dev.github.io/esp8266-mqtt-node-red-boiler-hack/ esp8266 MQTT node-RED boiler Worcester-Bosch digistat DT10RF Mk2 applications esp8266 two factor authentication <h2 id="adding-another-layer">Adding another layer..</h2> <p>In my <a href="/esp8266-password-complexify/" target="_blank">previous article</a> that talked about beefing up security on public internet facing IOT devices, I mentioned one of a number of potential improvements that I could introduce to my own stuff was two factor authentication. After a little thought I decided to have a go at implementing it.</p> <p><a href="https://tools.ietf.org/html/rfc6238" target="_blank">RFC6238</a> / Google Authenticator support looked like a good fit for me because it’s a purely mathematical self contained algorithm based on HMAC and epoch time so it’s all done in software with no hardware dependencies. Add to that other people have... Sat, 03 Dec 2016 16:50:55 +0000 https://bebo-dot-dev.github.io/esp8266-rfc6238-totp/ https://bebo-dot-dev.github.io/esp8266-rfc6238-totp/ esp8266 C/C++ security passwords secondary authentication security More esp8266 security <h2 id="ermp55w0rd1">..erm..P@55w0rd1!</h2> <p>IOT device security is a hot topic at the moment. Many well known websites, services and companies are regularly coming under massive DDOS attacks and are being knocked offline. Recently these attacks are coming from <a href="https://en.wikipedia.org/wiki/Mirai_(malware)" target="_blank">Mirai malware</a> which targets IOT devices with weak default passwords and these IOT devices are being recruited into IOT powered botnets under the control of internet miscreants. Krebs came under attack, dyn came under attack and there was even discussion whether the <a href="https://krebsonsecurity.com/2016/11/did-the-mirai-botnet-really-take-liberia-offline/" target="_blank">country of Liberia</a> was being completely knocked offline by Mirai.</p> <p>IOT device manufacturers are in the frame... Fri, 11 Nov 2016 07:55:43 +0000 https://bebo-dot-dev.github.io/esp8266-password-complexify/ https://bebo-dot-dev.github.io/esp8266-password-complexify/ esp8266 C/C++ JavaScript security passwords security An esp8266 Lithium Charging Breakout PCB <h2 id="shrink-that-prototype">Shrink that prototype</h2> <p>This is a follow on to my <a href="/esp8266-configurable-power-management/" target="_blank">last post</a> which was about building a prototyped lithium charging ESP8266 (ESP12) breakout board along with some power management firmware features. Having had reasonable success with the stripboard prototype, the next step was to create a PCB version of this project. PCBs are everywhere and although over time I’ve fiddled around with attempting to fix TVs and stereo systems with varying levels of success, I’ve never designed and created a PCB of my own so this was a completely new discipline to me.</p> <p>I set myself the... Thu, 15 Sep 2016 08:49:10 +0100 https://bebo-dot-dev.github.io/esp8266-lithium-charging-breakout-pcb/ https://bebo-dot-dev.github.io/esp8266-lithium-charging-breakout-pcb/ esp8266 pcb battery solar electronics esp8266 Configurable Power Management <h2 id="a-100-solar-application">A 100% solar application</h2> <p>Since the start of getting going with esp8266 boards in late 2015 I’ve had in the back of my mind the idea of how nice it would be to develop a little device that is free of all ties to a regular plug-in-the-wall power supply. With no plug in supply, we’re talking about battery power and if the goal of this project is complete independence then we’re talking rechargeable battery power. If this dream was a reality then the idea is that the device could go anywhere and be positioned anywhere, within WiFi range.</p> <p>I... Tue, 19 Jul 2016 20:25:10 +0100 https://bebo-dot-dev.github.io/esp8266-configurable-power-management/ https://bebo-dot-dev.github.io/esp8266-configurable-power-management/ esp8266 C/C++ arduino firmware esp8266 Automated Project Versioning <h2 id="auto-generate-a-version-number">Auto-generate a version number</h2> <p>This is a quick post about a method that can be used to get the preprocessor to do the job of generating a self incrementing version build number. This can eliminate a potentially boring repetitive task if you’re currently doing it in some manual way. The trick described here uses the built in <strong>__DATE__</strong> and <strong>__TIME__</strong> GCC preprocessor macros.</p> <p>Inquisitive types can read more about these macros <a href="https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html" target="_blank">here</a>.</p> <p>Here’s the sample code for the method described: <a href="https://github.com/jjssoftware/autoVersioning" target="_blank">https://github.com/jjssoftware/autoVersioning</a>. There’s not a lot of code and it’s probably quickest to just have a... Wed, 22 Jun 2016 21:45:10 +0100 https://bebo-dot-dev.github.io/esp8266-automated-version-number-generation/ https://bebo-dot-dev.github.io/esp8266-automated-version-number-generation/ esp8266 C/C++ arduino firmware Securing your esp8266 <h2 id="the-internet-and-esp8266">The internet and esp8266</h2> <p>This is an article about using TLS/SSL to secure an esp8266 device so it can be safely accessed over the internet. This is important for me because the firmware running on my device is <a href="/id8266-aka-skynet/">http web based firmware</a> and I’d like to be able to access my device from anywhere. If you use your esp8266 device to switch your lights on/off, open/close the curtains, control the heating in your home, something else you don’t want some random person in Timbuktoo having control of then you 100% will want to be securing access to your... Sat, 18 Jun 2016 13:19:30 +0100 https://bebo-dot-dev.github.io/secure-your-esp8266/ https://bebo-dot-dev.github.io/secure-your-esp8266/ esp8266 arduino tls ssl internet web security web internet security esp8266 String Optimization <h2 id="big-software--little-software">Big software / little software</h2> <p>Traditional software systems and platforms (think Twitter, your operating system, the web browser you’re using right now to read this article etc) run on servers and personal computers that have gigabytes of RAM available for developers to use. Mobile phones have reached the point where they also have gigabytes of RAM onboard. Add to this operating system features like virtual memory management and it’s easy to see why developers that are creating software targetting these platforms might tend to treat system resources as limitless to use as they see fit. There are exceptions to... Wed, 15 Jun 2016 22:20:02 +0100 https://bebo-dot-dev.github.io/string-optimization/ https://bebo-dot-dev.github.io/string-optimization/ esp8266 C/C++ arduino firmware esp8266 Dynamic Web Forms <h2 id="the-problem">The problem</h2> <p>In my <a href="/id8266-aka-skynet/">last post</a> where I talked about my ep8266 web based firmware project, it became apparent fairly early in the process of putting things together than I needed some way to render dynamic data in the web pages I was building e.g. current device network configuration settings, device web server settings etc. In the ‘heavyweight’ web based systems and platforms that I’ve worked with in my day job there has always been some sort of framework to help out in this area. If I was working / developing in ASP.NET web forms, MVC, PHP, Express... Mon, 13 Jun 2016 20:40:46 +0100 https://bebo-dot-dev.github.io/dynamic-web-forms/ https://bebo-dot-dev.github.io/dynamic-web-forms/ esp8266 HTML AJAX JavaScript web internet