I run restic to back up my servers. One day I noticed a repository hadn’t received a new snapshot in weeks. The backup job had been silently failing, and I had no idea. That’s the worst kind of failure: everything appears fine until you actually need the backup. TL;DR /stv0g/restic-monitor is a small Go tool that checks whether each of your restic repositories has a recent enough snapshot and…
When I spotted a used Sylvac S_Cal EVO caliper on eBay for €90, I jumped on it. Swiss-made precision instruments don’t usually fall into hobby budgets, but here was my chance: a Bluetooth-enabled digital caliper that normally costs 3-4× as much. I thought I was buying a better measuring tool. I didn’t realize I was buying a new FreeCAD input device. TL;DR I’ve developed a Python library,…
More than 14 years ago , I migrated my 26 open source code projects to GitHub. Back then GitHub was a fresh and modern platform pushing the boundaries of collaborative software development. Over the years, however, my perspective on GitHub has changed significantly. I have recently migrated my by now 79 repositories from GitHub to Codeberg , a decision driven by several significant factors.…
I recently moved into a new apartment which I used as an opportunity to make our home a little smarter. As a big open source supporter I built my smart home platform with Home Assistant of course. Unfortunately, there are still far too few products that are directly compatible with Home Assistant. Especially in the area of humidifiers where I only found products that rely on a proprietary app or…
Outdated Information Since this post was published, I have migrated my blog from WordPress to a static site generator (SSG). Due to this migration the ActivityPub integration described in this post is no longer functional. ActivityPub Logo. TL;DR My blog noteblok.net has joined the Fediverse. You can follow my posts via this new handle: stv0g@noteblok.net . This has been made possible by the…
Fritz!Box. In my home network, I am using an AVM FRITZ!Box Cable 6690. It handles DHCP, DNS, Wi-Fi and recently also interfaces my home network via WireGuard to my servers . Just like the venerable Dnsmasq , AVM’s FRITZ!OS uses hostnames learned from its DHCP leases and makes them resolvable via its internal DNS server. Unfortunately, this feature in FRITZ!OS has some limitations: The name of the…
Ich möchte Stadtpolitik in Aachen für alle verständlich machen. Mein aktuellstes Projekt aachen-transparent.de ermöglicht es, die öffentlichen Informationen aus dem städtischen Ratsinformationssystem modern und benutzerfreundlich aufzubereiten. Dazu habe ich das bereits existierende Open-Source Projekt Meine-Stadt-Transparent erweitert und für die Bedürfnisse in Aachen angepasst. Screenshot von…
WireGuard is a communication protocol and free and open-source software that implements encrypted virtual private networks (VPNs), and was designed with the goals of ease of use, high speed performance, and low attack surface. My Journey to WireGuard Tinc Logo. I’ve been using it in my home lab setup since about 2020. When, at the end of 2021, it was finally merged into the Linux mainline with…
In my previous post, I demonstrated how to gain root access by enabling a Telnet daemon via the router’s AT-over-TCP interface . In this post I will close this gaping security hole by replacing the Telnet with a Secure Shell (SSH) daemon. Netgear’s firmware does not ship with an SSH daemon itself. So we first build a statically linked Dropbear instead of the rather heavy OpenSSH daemon. Building…
After gaining root access to the device in the first post of this series, we will have a closer look at the device and its firmware. This post is documenting some internals of the device which is not the most exciting stuff to read. I mainly collected it here for documentation purposes. All information in this post has been collected from a device running firmware version NTGX55_12.04.12.00 .…
I have recently designed and printed a wall mount for Netgear’s Nighthawk mobile 5G/LTE routers. More specifically a Nighthawk M5 (MR5200). I have been inspired by an existing commercial wall mount for the Nighthawk M-series routers by FTS Hennig GmbH : My inspiration: the wall-mount and antenna adapter from FTS Hennig. Unfortunately, the mount is with a price tag of around 50 € rather expensive.…
This blog post covers the required steps to gain root access via Telnet on Netgear Nighthawk Mobile 5G/LTE Routers. It’s the first post in a small series covering my experiences playing around with this device. Last month I obtained one of Netgear’s latest mobile 5G routers, the Netgear Nighthawk M5 (model MR5200-100EUS) . Being one of the most expensive consumer 5G routers, I was lucky to get a…
Aachener Rathaus. Logo des Open Data Lab Aachen. Im September letzten Jahres hat sich in Aachen das Open Data Lab mit einer virtuellen Kick-off Veranstaltung gegründet. Im Open Data Lab wollen wir ehrenamtlich Projekte rund um Offene Daten in Aachen voranbringen. Wir suchen dazu Personen, die daran generell interessiert sind, ob Entwickler*innen, Designer*innen, Datenjournalist*innen aus…
GoSƐ Logo. GoSƐ is a modern and scalable file-uploader focusing on scalability and simplicity. It is a little hobby project I’ve been working on over the last weekends. The only requirement for GoSƐ is an S3 storage backend which allows it to scale horizontally without the need for additional databases or caches. Uploaded files are divided into equally sized chunks which are hashed with an MD5…
Dockerized Xilinx hw_server Setup. This article describes the necessary steps to run a Xilinx hw_server as a Docker container. Xilinx’s hw_server is a command line utility which handles JTAG communication between a Xilinx FPGA board and usually the Vivado IDE. It can be used to configure the FPGA bitstream, connect to the embedded logic analyzer cores (ILA) or perform debugging of processor cores…
In this quick post I will show you how to use the password manager “ password-store ” 1 to securely store your credentials used by the Amazon Webservices command line client . AWS CLI Logo. The installation for Mac and Linux system is fairly easy: pip install awscli The credentials are stored as key-value pairs inside a PGP-encrypted file. Every time you call the AWS CLI tool, your keys will be…
I spent some time over the last months to improve the security of servers and passwords. In doing so, I started to orchestrate my servers using a configuration management tool called Ansible . This allows me to spin-up fresh servers in a few seconds and to get rid of year-old, polluted and insecure system images. Ansible loves Yubico. My ‘single password for everything’ has been replaced by a new…
Der Open Source Arbeitskreis (OSAK) der Fachschaft FSMPI, veranstaltet nun zum zweiten Mal eine Crypto Party auf der sich Interessierte über Verschlüsselung und verwandte Themen informieren können. Ich möchte hier die Gelegenheit nutzen um etwas Werbung für diese Veranstaltung zu machen. Genaue Infos findet Ihr unten im Flyer. Dieses Mal wird es auch einen kleinen Workshop von mir geben: Hardware…
OpenCV & QT. As a follow-up to the previous post, I’d like to present some code which I think might be helpful for other Qt / OpenCV projects as well. This code was written for Pastie. Pastie is a piece of software I wrote as part of my image processing seminar . It makes use of the well known libraries: Qt for the graphical user interface OpenCV for image processing and computer vision I…
Mini Kossel 3D Printer. The lectures during my last semester were largely focused on digital image processing. Combining this with the inspiration for 3D printing, I gathered through my trip through South Korea, resulted in the following seminar paper. Seminars are a compulsory part of our curriculum which I like due to the self-contained work and the ability to pick an individual topic. Over the…