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"