DEV Community

Michael Volchenkov
Michael Volchenkov

Posted on

I built LibrePing — decentralized uptime monitoring on a libp2p mesh

I built LibrePing — decentralized uptime monitoring on a libp2p mesh

Commercial uptime tools are great until you care about who sees your check targets, or you want vantage points you actually control. I wanted something closer to a community mesh than a SaaS control plane.

What LibrePing is

LibrePing is AGPL-3.0, written in Go, and uses libp2p so hubs gossip checks and results peer-to-peer. Probes run HTTP(S), TCP, DNS, TLS cert, ICMP, and traceroute checks from wherever you put them.

Highlights:

  • No central company server for the mesh
  • Deduplicated checks (same URL added by many people is monitored once and shared)
  • Browser key = account (no signup); recovery phrase
  • Signed everything; sealed alert destinations (ntfy / Discord / Slack / webhook)
  • Probe failover across hubs

Live demo (no signup): https://nl.lp.mw.gg

Repo: https://github.com/mwgg/LibrePing

git clone https://github.com/mwgg/LibrePing.git
cd LibrePing
docker compose up -d --build
# open http://localhost:8081
Enter fullscreen mode Exit fullscreen mode

Why libp2p

Gossip + anti-entropy means a hub that joins late can catch up instead of only seeing new traffic. Results are sharded across hubs so the network can grow without every node storing everything.

What I want feedback on

Probe trust / abuse resistance, alert UX, and whether hub operators would actually run public entry points. Issues and PRs welcome.

Top comments (0)