Rust website monitoring service
A website monitoring service written in Rust. The checking engine was ported from the reqwest HTTP library to libcurl to properly capture DNS, connect, TLS, and first-byte timing breakdowns. The new engine was validated side by side with the original for weeks at 100k+ daily checks, reaching 99.8% agreement, with mismatches including Cloudflare challenges that returned 403 responses based on the HTTP/2 fingerprint regardless of user-agent.
What it addresses
The previous reqwest-based checks could not properly capture DNS/connect/TLS/first-byte timing, and HTTP/2 fingerprint differences triggered Cloudflare 403 challenges during checks.
Shared over time
Each entry reflects what was shared on that date. Details may have changed since then.
Rust website monitoring service
A website monitoring service written in Rust. The checking engine was ported from the reqwest HTTP library to libcurl to properly capture DNS, connect, TLS, and first-byte timing breakdowns. The new engine was validated side by side with the original for weeks at 100k+ daily checks, reaching 99.8% agreement, with mismatches including Cloudflare challenges that returned 403 responses based on the HTTP/2 fingerprint regardless of user-agent.
Problem: The previous reqwest-based checks could not properly capture DNS/connect/TLS/first-byte timing, and HTTP/2 fingerprint differences triggered Cloudflare 403 challenges during checks.
Posted by @pupskipper · Original comment ↗
“I've been working on a website monitoring service written in Rust. I had to port from using the reqwest library to libcurl in order to properly capture DNS/connect/TLS/first-byte timing.”