The wires · every upstream host, counted off the tree

Every wire this site reads,
on one board.

The desks on labs.llc read the world off public feeds — the weather off Open-Meteo, the ground off USGS, the markets off Yahoo and CoinGecko, the news off a hundred RSS wires. The front page has long said “50+ upstream sources” without a list anyone could open. This is the list, and it is not typed: a generator reads every JavaScript and PHP file in the tree and keeps each host the code actually reads.

Each host names the desks that read it, linked in this edition, and says whether your browser asks it directly or a relay on this origin asks on your behalf. Press Probe and the board asks every host from your own browser, once this session, with a twelve-second timeout and no cache — and reports a silence as a silence.

upstream hosts · read by desks · asked from the browser, through a relay · counted from files on · no key, no account

The board

Every host. The desks behind it. Its answer.

One row per host. Read by opens the desk that reads it; how is direct when the visitor’s browser asks the host itself, relay when only a PHP file on this origin does, and both when the estate does each somewhere. Status is empty until you press Probe.

The wires

loading the list…

hosts shown · the probe runs once per session, on your click, from your browser · 12-second timeout, no cache

The relays

What the browser cannot ask, a file on this origin asks.

Some hosts send no Access-Control-Allow-Origin header, and some want a key that must not travel in a page. For those the desk carries a small PHP relay: it hardcodes its upstream, whitelists its parameters, caches to a file, and refuses anything else. A host read only that way is marked relay on the board, and the probe asks the relay — a feed through rss-proxy.php is fetched for real; a relay that needs parameters is asked bare, so its answer says the relay is up and nothing about the host behind it.

A PHP file that reads an upstream but is not a relay — the assistant’s model call, the file-share upload — cannot be probed from a page without doing the thing it does, so its host is marked not probeable from here. relay files read for the estate; hosts sit behind readers this page will not exercise.

About

A list that cannot drift.

tools/mkwires.py reads every .js and .php file in the tree and finds every https:// host. A host is kept when at least one occurrence is something the code reads: it sits in a fetch or curl call, or its path is API-shaped (/api/, /v1/, /rss, .json, .xml…), or its hostname is (api., feeds., rdap.…). It is dropped when the occurrence is written as a link or an asset and none of the stronger signals hold — a brand’s homepage in a register, a course in the stacks, an embedded video. This site’s own domains, the analytics tag and the font and script CDNs are never wires. The tool has a --check that fails the build when the shipped list and the tree disagree.

A desk is a file’s top folder, named and linked from the register; a folder not yet registered is named for itself. The figures at the top — hosts, desks — are counted off the shipped list when this page loads, not typed here, which is what lets the front page’s “50+ upstream sources” become a number with a list behind it.

A probe is one request from your browser to a host’s root, with no cache and a twelve-second limit. Answered is any HTTP status — a 404 at / is a server that is up. Reachable is an opaque response: the host is there but sends no CORS header for its root, so the status cannot be read. Silent is no answer in twelve seconds or a connection refused. It measures the path from you to the host at this minute; it is not the desk’s own read, and not the host’s uptime. Results are kept for the session so the board does not itself lean on hosts that count requests. Questions to labs@labs.llc.