Probe kit

Any computer that stays on in the school can be its probe: the lab PC, the office laptop, a Raspberry Pi. Open this page on it, give the address below to the funder, and keep the tab open. Funders open the term on Open a term.

1. This computer’s probe key

Made in this browser and kept here. Give the address to the funder who opens the term.

…

2. The term it reports to

3. Keep this tab open

While it runs, the probe tests once in each part of the school day and retries every 15 minutes until a test passes. When the line is down it signs an offline report and sends it when the line is back, so a dead line counts against the provider and a switched-off computer does not.

M-Lab publishes every test, including the address it ran from, in its open archive. Roll Call writes only a salted hash of the address on chain.

What the probe did

Nothing yet. Start the probe or run one test.

Without a browser: a server or a Raspberry Pi

The same probe as a Node 22 script. It runs one test, signs it and sends it; a scheduler runs it once in each part of the school day. Probe 0 runs exactly this, four times a day.

git clone https://github.com/RohanGlitched/rollcall
cd rollcall/web && npm install
npx esbuild scripts/probe0.ts --bundle --platform=node   --format=esm --outfile=probe.mjs

# one key and one salt per school, kept on the device
export PROBE_KEY=0x…  SALT=…  TERM_ID=…
node probe.mjs

Schedule it

Linux cron, four parts of a school day starting at 08:00:

0 8,10,12,14 * * *  cd ~/probe && node probe.mjs >> probe.log 2>&1

Windows Task Scheduler (Probe 1 runs this way):

schtasks /Create /SC DAILY /ST 10:00 /TN "Roll Call probe" ^
  /TR "cmd /c C:probe
un.cmd"