netnl·live

daily Internet.nl standards measurements of a real fleet

Every day a GitHub Action runs the unmodified internetnl CLI against api.westerweel.work — a self-hosted Internet.nl batch instance behind the multi-tenant netnl facade — and commits the CLI’s own --json output here. What you see below is that file, rendered.

Try it with your own domain

Type a domain you operate — this only rewrites the examples below, nothing is measured from this page.

On your terminal

# 1. install the CLI (Python, via uv)
uv tool install git+https://github.com/MWest2020/internetnl-cli

# 2. point it at an endpoint + your credential
export INTERNETNL_ENDPOINT=https://api.westerweel.work
export INTERNETNL_USERNAME=you INTERNETNL_PASSWORD=…

# 3. measure — web or mail (table on your terminal, --json for CI)
internetnl submit example.nl
internetnl submit --type mail example.nl

In your CI — the real target

Three lines of YAML and every deploy gates on the same standards internet.nl measures: exit 3 when a scored subtest fails, so the pipeline goes red. Full CI guide →

# .github/workflows/standards.yml
- uses: MWest2020/internetnl-cli@main   # pin a SHA in production
  with:
    hosts: example.nl
    endpoint: https://api.westerweel.work
    username: ${{ secrets.INTERNETNL_USERNAME }}
    password: ${{ secrets.INTERNETNL_PASSWORD }}

How this works

The internetnl CLI speaks the Internet.nl batch API. It measures a list of hosts and returns the verdicts — as a table for humans or JSON for CI. Behind api.westerweel.work sits netnl: a small multi-tenant facade in front of a self-hosted Internet.nl batch instance, so multiple teams can measure without running their own stack. Full picture in the illustrated walk-through.

Run your own

Everything is open source: the CLI, the facade, and the deploy runbooks (Kubernetes or a single VPS). Own your measurements end-to-end, like this page does.

Repo & runbooks →

Ask for access

Prefer not to host? A small donation gets you a lifetime credential on our instance — an endpoint, a username and a password; the CLI (or the GitHub Action) does the rest. Leave your email in the donation message and your key arrives by mail. Best-effort beta, no SLA; fair use is enforced by per-tenant rate limits. Only measure hosts you operate or have permission to test.

☕ Buy a coffee, get a lifetime key   or just ask →

Our own fleet, measured daily

Loading latest measurement…

Mail measurements are coming. internet.nl tests email standards too (SPF, DKIM, DMARC, STARTTLS, DNSSEC) and so does our instance — but our measurement VPS is still waiting for its outbound SMTP unblock at the hosting provider (new-account limit). Rather than publish a verdict our own infrastructure distorts, we wait. Web scores are unaffected.

Why not 100%? The remaining points on the two public hosts are Cloudflare edge-TLS cipher tests (fixable only with a paid Cloudflare add-on — a deliberate trade-off for now), and netnl.westerweel.work deliberately refuses public HTTPS: the measurement instance is reachable over a private network only. An honest scoreboard shows its own trade-offs.