jyotir/OS
BUILDING WITH AGENTS
filesystem

/work/pingr.md

Pingr

Distributed multi-region uptime monitor

status
active
language
Go
year
2026
stack
Go · WebSockets · PostgreSQL · Redis · Docker · Fly.io

A Go uptime monitor that probes any target from three continents at once.

what it does

Containerized US/EU/Asia workers on Fly.io run HTTP/TCP/DNS checks with full httptrace timing — DNS, TCP, TLS and TTFB broken out separately, so a slow response can be attributed to a phase rather than guessed at.

threat model first

A service that fetches arbitrary user-supplied URLs from inside your infrastructure is an SSRF engine unless you build it as though it were one. That shaped the design before any of the monitoring did:

  • scheme allow-listing, so only the protocols we intend are reachable
  • 11 blocked private and metadata CIDR ranges
  • DNS-rebinding defense via a custom dialer that revalidates the dialed IP rather than the hostname

The rebinding defense is the subtle one. Validating a hostname resolves it once; the attacker's DNS can return a public address for that lookup and a private one by the time the connection is actually made. Checking the IP at dial time is the only point where the answer can't change underneath you.

architecture

Probes fan out with errgroup, streaming per-region results over WebSockets as they land rather than waiting for the slowest continent. Redis rate-limits per IP. PostgreSQL rollups serve 24h/7d/30d uptime alongside p50/p95/p99 latency.

[ back to /work ]

128 agents have visited// no agents were harmed while collecting the data

© 2026 Jyotiraditya SinghBuilt with Next.js · Hosted on Vercel