Thaddeus’s Personal Site

This is a slice of the internet that I use to brain dump and document things that I am working. Anything here is something likely something I typed out because I didn’t want to forget. Hopefully it helps someone, if not thats cool too. If you have any suggestions of things for me to check out, make sure to hit the about page and shoot me an email. I’d love to chat. All source code for this site is available at: https://github.com/adminprivileges/thaddeuskoenig.com

Read my lastest posts here:

23OCT2026 - Google Home Music Assistant Setup.

01. Intro

I got some google home max speakers a while back because the hardware on them is very good, but they’ve gotten a lot worse since they released Gemini. I’m opted out of Gemini, because I dont really want to use their AI stuff, and ive just been very frustrated with the product in full. Ive had them firewalled off from the internet and just use them as bluetooth speakers. I found out about MusicAssistant, so now I want to use them as a Sonos like experience. I have them connected to Raspberry Pis now with 2.5mm aux chords and I will use them to send music to the speakers.

Read more >

11OCT2026 - Downloading All of Wikipedia.

01. Intro

This isnt something thats immediately practical, but I thought it was interesting party trick. I saw this on the Proton youtube page here: https://youtu.be/3VJ5Htyhm7k?si=LTC5sgaAbNU-b6Ff . The video itself is a bit gimmicky, but I still enjoyed it so I decided to check out how to do the wikipedia thing. Its actually pretty simple, you just download a special browser and a (pretty big) file to search using the browser. The browser id developed by a group called Kiwix, which has a mission to bring tech to places that don’t have it and making free education offline and accessible, check them out here and you can donate if you are so inclined: https://get.kiwix.org/en/about-us/ .

Read more >

05SEP2026 - Cleaning Trackers from Links.

01. Intro

Usually when I share links to people I try to clean out the tracking infomation. Anyone who has been shared a social media link by somone has likely seen the little indicator of the person who shared them the link. Its just another way that companies track you around the internet to gather information about you. I wont go on too long about my opinions about tracking and ads, I’ll just show you the point of the post. See this link here to the live shark cam at the Monterey Bay Aquarium https://www.youtube.com/live/tEtg5Kg3voQ?si=kslcgshej56klows . I have alterred the tracking string, but in this case, the actual usable url is https://www.youtube.com/live/tEtg5Kg3voQ and the tracking info is ?si=kslcgshej56klows. This tracking string comes in many forms, but it should include a question mark ? a number of alphabetic characters and an equal sign =. Because I get tired of removing this tracking string myself, I wanted a quicker solution. I know apps for this exist, but this is hardly a job for an entire app, this is where IOS shortcuts come in handy.

Read more >

09AUG2026 - Using travel routers the hard way.

01. Intro

When I travel, I have a few technology essentials that I like to bring along to include 1) travel router 2) streaming device 3) laptop. Im more likely to forget my toothbrush than I am these things and theyre going to be the focal point of this post. I like to bring a travel router for a few different reasons. The primary reason is that I dont trust any shared network so I would like to ensure there is some kind of VPN, either back to my house or to a VPN provider of my choosing. Next is that the devices I bring along with me have the travel router login pre-programmed, so once the router is plugged in they’ll auto-connect. Lastly I can continue to use my DNS ad blocking and it just helps me get around any weird network restrictions imposed wherever I am, whether thats having to pay per-device in the captive portal, or blocking websites that I like to go to. I will admit that the way I wanted it set up is very particilar, but for documentation purposed this is what I have going for my situation.

Read more >

A complete guide to setting up a local AI Chatbot

Overview

For school and personal curiosity I wanted to mess around with hosting my own local AI Chat server for testing and evaluation. I wanted this to be open source, private, and privacy concious. This setup enables a LAN-locked AU chat web UI backed by Ollama models with the ability to enable web search, code execution, and HTTPS through a reverse proxy. Its important to note, that this is simply meant to be something contained and not sitting on the public internet.

Read more >

28FEB28 - Git remote track fix

Intro

While working on my git repo for my research project found here: https://github.com/adminprivileges/ebpH I was making changes to a local branch and pushing it up to the remote github repo without really worrying about where it was going because I assumed it was going to a remote branch. I was wrong and the changes were going directly to main. This isnt really a huge issue since the repo is only for me, but I’m typing this out so hopefully I dont make this mistake somewhere it actually matters and so I can have the steps to fix it id it does. I’ll include the actual output to give you a practical example as well and you can check out the repo for the exact changes.

Read more >

16JAN26 - NextJS Authentication Bypass

Intro

Today while messing around with one of the HackTheBox retired machines “Previous”, the method of gaining initial access is due to the “Middleware” Authentication Bypass in Next.js. This vulnerability can be exploited to bypass authorization and access sensitive pages. Details of the affected versions can be found here CVE-2025-29927.

Background

The CVE is a vulnerability in the handling of “middleware”. In its simplest terms (the only ones I understand) middleware is a function used to process a user request in some form or fashion. This could be as simple as parsing raw data into a JSON template, or as much as providing authentication to an application that doesn’t have any. In the case of the HackTheBox machine, this was the case. The application uses Next Auth as its authentication provider. In an incredibly oversimplified piece of pseudocode, authentication in this application looks like this (forgive me im not a javascipt developer).

Read more >

28AUG25 - Dont Forget to update initramfs

01. Intro

I use ZFSBootMenu to manage my boot environments and help me roll back when I inevitably do something destructive to my system. Today I decided to change my encryption password because my current one has a key combination that confused my fingers so I almost always typed it incorrectly the first time. I changed my zfs rpool password, but I neglected to update initramfs. Im documenting the steps to properly change my password here so that i dont forget.

Read more >

16JUL25 - The Credential Theft Shuffle

01. Intro

I was doing the Password Attacks lab in hackthebox academy and I found it pretty interesting so I figured I would redo it and step through how I did it and my thought process to help solidify concepts and because I enjoyed this one, even though it was a bit frustrating initially.

02. Gathering Initial Info

To start this engagement we know a couple things. We have a user Betty Jade that works at Nexura LLC. We also have a password for the user <REDACTED> with a reasonable assumption that she reuses passwords. We also have the scope of this engagement with the following devices:

Read more >

06FEB25 - DLL Hijacking

Today I was looking at something new to learn and I came accross some material on DLL Hijacking. Previously I was only really aware of DLL search order hijacking, but I was interested to see that theres actually several varients to this idea. It may be best to first explain what a DLL is before talking about methods of manipulation. A DLL is a shared object or a snippet of code that several applications and operating system components can import for many common functions as to not have to re-invent the wheel on many things. Since many vital applications and operating system components need these DLLs, there is an opportunity for arbitrary code execution if you can somehow influence an application to load your DLL. There are many techniques to do so, many of them are very similar so I categorize them as such:

Read more >