Skip to content
Version: Current

IPTV catalog

import StatusPill from ‘../../../components/StatusPill.astro’;

The IPTV catalog (tcpsystems/iptv, product name iptvcat) is the public IPTV catalogue: gather, parse M3U/XMLTV, export. This page separates three kinds of statement and dates each one: what the code implements, what was observed live on 2026-11-08, and what is not known.

Source: card META-CARDS-SWEEP-IPTV-2026110806, a read-only sweep of the iptv repo plus single GET requests to the public host at 2026-11-08T07:11Z. Nothing here was re-measured when this page was written; the figures are a dated snapshot, not a health claim.

  • The public host answered 200 on /, the channels API and both export files.
  • /healthz and /metrics answered 404 on the public host, although the repo wires both in its serve code. See Known caveats.
  • The owner update of 2026-11-05 (“dead until restored”) predates this measurement. It has not been reversed by an owner; the pill therefore says degraded (reachable, but missing routes and unverified deployment), not live.

Base URL: https://iptv.tcp.systems (public, no login).

Route Live observed 2026-11-08 Notes
/ 200 Landing response.
/channels.json?limit=1&state=alive 200 JSON channel listing; limit and state filters.
/active.m3u 200 About 32 MB, about 123k entries, ETag v888828.
/dead.csv 200 About 60 MB.
/healthz 404 Implemented in repo serve code; not served live (2026-11-08).
/metrics 404 Implemented in repo serve code; not served live (2026-11-08).

“Code-implemented” means present in the iptv repo at the sweep; “live observed” means one GET on the date above. The two columns disagree for /healthz and /metrics, which is the main drift.

Commands used (read-only, one request each):

Terminal window
curl -sS -o /dev/null -w '%{http_code}\n' https://iptv.tcp.systems/
curl -sS -o /dev/null -w '%{http_code}\n' 'https://iptv.tcp.systems/channels.json?limit=1&state=alive'
curl -sSI https://iptv.tcp.systems/active.m3u # status, ETag, length
curl -sSI https://iptv.tcp.systems/dead.csv
curl -sS -o /dev/null -w '%{http_code}\n' https://iptv.tcp.systems/healthz
curl -sS -o /dev/null -w '%{http_code}\n' https://iptv.tcp.systems/metrics

Do not fetch the full exports as a health check; use HEAD. They are tens of megabytes. Scan, crawl and probe traffic must stay on Hetzner hosts.

  • Route drift. /healthz and /metrics 404 live while other routes answer 200. Either the running binary is older than the repo or the edge does not forward them. Cause not established.
  • Migrations. The repo has migrations through 0003 (EPG schema plus discovery and intelligence tables). Whether the live database is at 0003 was not measured.
  • Deployment claim. The repo’s PROJECT.md mentions a Nomad jobspec and a history of 502 / no active job. The suite operations guide of 2026-11-07 lists iptvcat as placed on eg1/eg2 but the suite atlas listed iptv as not live. Treat deployment state as unverified until a release agent checks the Nomad job.
  • Large exports. active.m3u and dead.csv are large and change between fetches (the ETag changes). Do not hard-code sizes or entry counts.
  • Earlier operational note. An earlier master-binary rollout (2026-10-30) recorded a slow cold /channels.json and unindexed queries. The 2026-11-08 single-row request returned 200; timing was not recorded.
  • Credential harvesting is out of scope. Those parts of the original plan were refused; the catalogue covers public metadata, provenance and takedown.
  • Older architecture notes (an embedded database, cmd/iptvcatalog in the search module) described a previous layout and are not authoritative. The iptv repo and its Postgres migrations are.
  • Card META-CARDS-SWEEP-IPTV-2026110806: source of the measurements above.
  • Card DOCS-IPTV-QUICKSTART (on hold, different scope): how-to once the live state is settled. Do not add quickstart steps here.
  • Surfaces index for the other products and their status pills.
  • Source drift runbook for reconciling docs with code.
  • Massprox operator runbook, the sibling control-loop product the catalogue originated from.
  • tcpsystems/iptv: PROJECT.md and the migrations, authoritative for implemented behaviour.
  • strategy/2026-11/SUITE-OPERATIONS-GUIDE-2026-11-07.md for placement.