Skip to content
View mjaksn's full-sized avatar

Block or report mjaksn

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mjaksn/README.md

mjaksn

Small networking and hardware tools, and a shed for the scripts that belong to none of them. Mostly Python, mostly no dependencies, and each one built to be read as well as run.

ProjectWhat it isLatestBuild
nettailtail -f for your network: a NetFlow and IPFIX collector that prints flows with hostnames, colour and a live status barPyPICI
netflumeNetFlow v5, NetFlow v9 and IPFIX collection and parsing, as a libraryPyPICI
lannameAddress to hostname lookup on a local network: reverse DNS, mDNS and NetBIOS, cached and non-blockingPyPICI
readerboardAn HTTP service for BetaBrite and Alpha protocol LED signs, with alerts, scheduling and clock syncPyPICI
bravia-http-remoteA single-page console for controlling a Sony Bravia display over your networkReleaseCI
cec-ir-bridgeVolume control for an IR-only soundbar from the Apple TV Remote app, over HDMI-CEC and an ESP32 IR blasterReleaseCI
toolshedSmall scripts and helper apps that belong to no particular project, one directory per tool, and mixed languages on purposeno releasesCI

Where everything stands

The badges above say whether the last build passed and what the registries serve. They cannot say whether those two agree with each other, or whether a tag is on the branch it claims to be on, so the table below asks, of every repository in the table above.

scripts/sweep.py reads it fresh from GitHub, PyPI and both container registries every morning and writes what it found here. It is standard library only and clones nothing. When something is genuinely wrong, as opposed to merely untidy, the run fails rather than quietly updating a table nobody reads.

RepoVersionReleaseTags on mainUnreleasedCIPRsUnmergedPublished
nettail0.13.1v0.13.1all 18nonesuccess1dependabot/docker/python-3.14.7-slim (+1/-17)PyPI 0.13.1, GHCR 0.13.1, Docker Hub 0.13.1
netflume0.5.0v0.5.0all 5nonesuccess0nonePyPI 0.5.0
lanname0.2.1v0.2.1all 32 commitssuccess5nonePyPI 0.2.1
readerboard0.3.0v0.3.0all 66 commitssuccess1dependabot/docker/python-3.14.7-slim (+1/-3)PyPI 0.3.0, GHCR 0.3.0, Docker Hub 0.3.0
bravia-http-remote1.3.0v1.3.0all 43 commitssuccess0split-app-js (+2/-20)GHCR 1.3.0, Docker Hub 1.3.0
cec-ir-bridge0.1.1v0.1.1all 2nonesuccess0nonenone
toolshednonenonenonen/ano runs0nonenone

Generated: 2026-09-06 11:26 UTC

Read the columns this way. Tags on main counts tags that are ancestors of main; a tag put on a release branch before it was squash merged is not one, and the history stops describing it. Unreleased is how far main has moved since the newest release, which is normal in itself. Published is what the registries actually serve, asked of them rather than inferred from a green publish job. CI is the latest run of each workflow on main, leaving out any the sweep is told is a fixture rather than a check: toolshed's Dungeon Crawl exists to be dispatched at and fails on purpose when fed bad input, so its runs are not read. A repository that releases nothing, which is what the shed is, shows none and n/a where those questions do not apply, and the columns that say anything about it are CI, PRs and Unmerged.

Are you cool enough

Nothing third-party is used within seven days of its release. Dependabot has a cooldown setting for that, and the repositories above that use Dependabot set it, but it only holds where the registry tells Dependabot when a version came out, and Docker Hub does not. scripts/are_you_cool_enough.py asks the registries itself, every morning after the sweep, for each open Dependabot pull request in the repositories above, and writes the ones that have waited long enough here, then the ones still waiting with the moment each clears. One it could not date at all is only in the run's summary, with the reason. It reads the project table above for the repositories to check, so a row added there is a row checked here.

Nothing yet.

Still waiting:

Checked: 2026-09-06 11:43 UTC

Pinned Loading

  1. bravia-http-remotebravia-http-remotePublic

    Control a Sony Bravia TV or professional display from a browser: a single-page vanilla JavaScript console for the Bravia HTTP REST API, with no framework, no build step and no dependencies

    JavaScript

  2. nettailnettailPublic

    tail -f for your network: a Python NetFlow and IPFIX collector that prints flows to the console with hostnames, colour and a live status bar

    Python

  3. readerboardreaderboardPublic

    An HTTP service for BetaBrite and Alpha protocol LED signs: several sources share one sign, with alerts, expiring messages and clock sync

    Python

  4. RfidResearchGroup/proxmark3RfidResearchGroup/proxmark3Public

    Iceman Fork - Proxmark3

    C 6k 1.4k