Stoatworks Labs

Discipline

Networking & Infrastructure

The plumbing under a multi-room event: transport that crosses networks you don't own, and machines that boot the same way every time.

This is the least glamorous category on the site and the one that decides whether any of the rest of it works. A twelve-room event is a network problem wearing an AV badge — media has to cross it, control has to cross it, and neither is allowed to notice the other is there.

Most of that work does not come out as a download. It comes out as a topology you can copy, a board that fills a gap in the signal chain, or a job somebody does on site. Only the genuinely reusable software is listed as a project here; the links further down go to the rest.

14 projects · 6 with builds to download

Software

The parts of the plumbing that turned out to be reusable enough to publish.

SRT Router — SRT crosspoint router

SRT Router

Field testing

AV Systems · Networking & Infrastructure / Application/ Rust/ v0.2.4

A broadcast-router-style crosspoint for SRT: any number of inputs and outputs, each output live-switchable to one source, added and removed at runtime from a web UI. Pure relay, no transcode. NDI transport included.

  • SRT
  • NDI
  • Crosspoint
  • Low latency
System Graft — Graft modules into an initrd

System Graft

Field testing

Networking & Infrastructure / Application/ Python/ v0.2.3

Injects out-of-tree kernel modules into a SquashFS initrd and writes it to bootable removable media. You supply the image and the modules — useful when an installer doesn't know about your NIC or RAID card.

  • Linux
  • initrd
  • UEFI
  • Bootable USB

Also infrastructure

Everything else in the category.

bdts — Tailscale, signed in from the decoder's own web UI

bdts

In development

AV Systems · Networking & Infrastructure / Firmware/ Go

A firmware patch for the BirdDog PLAY that adds a Tailscale panel to the System page of the decoder's own web UI, so a unit joins a tailnet from a browser instead of over SSH. It is the other half of the PLAY Patcher: that installs Tailscale but deliberately bakes in no auth key, because a key in a file the browser hands you is a key in cleartext — which left every patched unit installed but not signed in. Settings go through Tailscale's set command rather than up, so changing one preference does not silently reset the rest, and the panel declines to offer exit-node and subnet-route switches this kernel cannot honour: there is no TUN device, so Tailscale runs in userspace networking. Reads are open; writes are gated on a live birdUI session, because an open Tailscale API would let anyone on the LAN join the box to a tailnet of their own.

  • BirdDog
  • Tailscale
  • Firmware
  • Remote access
  • NDI
BirdDog PLAY Flasher — A factory image onto a decoder, from a browser

BirdDog PLAY Flasher

In development

AV Systems · Networking & Infrastructure / Browser app/ JavaScript

A browser page that flashes a BirdDog PLAY in recovery mode over WebUSB, and can inject a firmware package into the image on the way so the unit installs it by itself on first boot. It is the counterpart to the PLAY Patcher: the Patcher builds a package for a working unit, this one is for a unit that needs putting back.

  • BirdDog
  • WebUSB
  • Recovery
  • Firmware
BirdDog PLAY Patcher — Remote access for an NDI decoder that has none

BirdDog PLAY Patcher

Field testing

AV Systems · Networking & Infrastructure / Browser app/ JavaScript

A BirdDog PLAY is an NDI decoder with no way in from outside the room it is sitting in. This builds an installable firmware package that adds one: an SSH key, Tailscale, and an NDI KVM endpoint that turns the keyboard and mouse on the PLAY's USB port into control of whatever machine it is displaying. The surprise is that it needs nothing from you but a public key — the stock updater runs a script from the uploaded archive as root with no signature check, so a valid package is an ordinary gzip'd tar and there is nothing to decrypt. That means no upload, no vendor keys, and the whole thing assembles in the browser: tar, gzip and SHA-256 are native APIs now. The installer is readable bash that refuses to run on the wrong hardware, stays off the recovery path, and cannot reach the kernel or bootloader. Confirmed on a real unit — Tailscale carries 195 Mbps over userspace networking, and the KVM agent drove a Windows machine using only the free NDI SDK.

  • BirdDog
  • NDI
  • Tailscale
  • KVM
  • Firmware
  • Reverse engineering
gh-fleet-analytics — GitHub numbers, before GitHub forgets them

gh-fleet-analytics

Released

Networking & Infrastructure / Library & Protocol/ Python/ v0.1.1

Snapshots every repo an account owns into per-repo JSON committed to git, and renders a password-gated dashboard from it — because GitHub keeps traffic for 14 days and reports stars and downloads only as a running total.

  • GitHub API
  • Analytics
  • Cloudflare Workers
  • Self-hosted
GLKVM Extended — KVM cloud that reaches more than KVMs

GLKVM Extended

Released

Networking & Infrastructure / Application/ Go/ v2.7.0-vnc.1

GL.iNet's self-hosted KVM cloud, extended so the same UI reaches ordinary machines too — VNC, RDP and xpra endpoints alongside the KVM devices it already managed.

  • KVM
  • VNC
  • RDP
  • xpra
  • Self-hosting
squawk — Open partyline intercom

squawk

In development

Audio · Networking & Infrastructure / Application/ Rust

The software half of a partyline intercom rig: a server that mixes, and endpoints with up to ten keys each. Every key is its own AES67 stream carrying either a partyline bus — minus that endpoint's own voice — or a direct point-to-point path.

  • Intercom
  • AES67
  • Partyline
  • Mix-minus
  • Comms
stoatworks-unraid — Container packaging for the web fleet

stoatworks-unraid

In development

Networking & Infrastructure / Library & Protocol/ JavaScript

Dockerfiles, compose files and Unraid Community Applications templates for the self-hostable apps in this fleet — all generated from two JSON files rather than written by hand.

  • Docker
  • Unraid
  • Self-hosting
  • GHCR
Stoatworks Burrow — One list for every plugin, tool and module

Stoatworks Burrow

Beta

Video FX · AV Systems · Audio · Networking & Infrastructure / Application/ Rust / TypeScript/ v0.3.0

An optional desktop client for the Stoatworks software — plugins, tools, applications and Companion modules. Shows what you have installed and what has an update, and installs each one in whichever formats you use: FFGL for Resolume, OpenFX for Resolve, After Effects, VST3 and Audio Units for a DAW. It keeps itself up to date too. No account, and nothing sent anywhere.

  • Resolume
  • DaVinci Resolve
  • After Effects
  • FFGL
  • OpenFX
  • Plugin manager
  • Tauri
  • macOS
  • Windows
openflash — LineageOS onto your phone, from a browser tab

openflash

In development

Networking & Infrastructure / Browser app/ TypeScript

A browser-based installer for LineageOS and other alternative Android systems. It speaks fastboot and ADB over WebUSB, reads the codename, firmware version and lock state off the connected handset, and generates the install procedure for that exact device — the extra partitions it needs, the stock firmware it expects, the unlock command it actually takes. The device data is generated from the LineageOS wiki's own files rather than transcribed from them, so all 733 devices the wiki documents are covered: 554 get a full procedure, and the other 179 are told plainly that no browser can flash them. Files dropped in are hashed in the page and checked against the official SHA-256 for that build before anything is written, and every automated step prints the adb and fastboot commands it stands in for — so it is still a correct, ordered, device-specific command list in a browser without WebUSB. Verified end to end on a Pixel 4a, from bootloader unlock through to a booted LineageOS.

  • Android
  • LineageOS
  • WebUSB
  • fastboot
  • adb
  • Custom ROM

Two problems that keep coming back

The first is that a feed has to reach several places at once, over a network you do not control, and the destinations change during the event. Doing that with a stack of point-to-point encoders means reconfiguring endpoints live, which is exactly when you least want to. A crosspoint — any number of inputs, any number of outputs, each output switchable to any source at runtime, relayed rather than transcoded so switching costs nothing — is the mental model everyone already has from a video router, applied to stream transport.

The second is that a machine has to boot the same way every time, on hardware whose vendor image has never heard of your NIC or your RAID card. Patching an initrd by hand with unsquashfs and mksquashfs quietly produces a broken image, because a non-root round trip loses ownership and drops setuid bits and nothing tells you until it fails to boot in the truck.

Why so little of this is downloadable

Because infrastructure is mostly specific. The valuable output of a large multi-room build is the topology, the addressing plan and the decisions about what shares a VLAN with what — and those are documents, published anonymised as a reference rather than dressed up as an application nobody could run.

The other half is hardware. An inline repeater, a PoE DMX node or a stagebox is the honest answer to a physical-layer problem, and pretending otherwise by writing software around it helps nobody. Those live on the hardware page.

The whole catalogue

This is one discipline of several

The full index carries every project at once, searchable and filterable by discipline, type and how finished it is — including the disciplines that don't yet have a page of their own.