sitecheck
RunningA public service that grades how well a website is protected, from A to F: HTTPS, certificate, security headers and cookies. It runs on my Hetzner server in Docker behind Caddy. Every push to GitHub is tested, built and deployed on its own, and rolls back if the new version fails its health check. A monitor re-checks sites every few hours and posts to Discord when something gets worse.
Because it sends requests to any address a visitor types in, most of the work went into what it refuses to do: only public hostnames, every redirect re-checked, rate limits, and containers that run without root.
Python, FastAPI, Docker Compose, Caddy, GitHub Actions, SQLite