Rybbit analytics (first-party proxy)
Privacy-friendly analytics via a first-party /analytics/* path proxied to your Rybbit instance (Fenod default: https://a.fno.ovh).
Official: Cloudflare Workers proxy
Fenod stack recommendation
Section titled “Fenod stack recommendation”| App type | Approach |
|---|---|
| TanStack Start on Cloudflare Workers | Standalone Worker + zone route yourdomain.com/analytics/* — do not modify @tanstack/react-start/server-entry |
| Astro static on Cloudflare Pages | Pages Function — see agent guide below |
Worker serving dist/ assets | Same Worker + run_worker_first for /analytics/* |
Add to your HTML shell:
<script src="/analytics/script.js" async data-site-id="YOUR_SITE_ID"></script>- Site ID: Rybbit dashboard → inject at build (
PUBLIC_RYBBIT_SITE_ID) via Infisical / CI RYBBIT_HOST: non-secret Workervaron the proxy worker (not necessarily on the app worker)
Implementation references
Section titled “Implementation references”Keep reusable templates in each project or in a public template package. Avoid linking to private sibling checkouts from public docs.
| Guide | Contents |
|---|---|
| Cloudflare Workers proxy | Pattern A/B/C, zone routes, Fenod TanStack Start, caching |
| Astro + Pages Functions proxy | Static Astro, Vite dev proxy, Pages Function |
| Worker template | Copy-paste standalone Worker for /analytics/* |
Quick deploy (standalone Worker)
Section titled “Quick deploy (standalone Worker)”# From a project that copied the templateswrangler deploy# Dashboard → Triggers → Route: yourdomain.com/analytics/*Forward visitor IP using CF-Connecting-IP (included in the template).
Related stack docs
Section titled “Related stack docs”- Cloudflare Compute — Worker primitives
- Deployment — Alchemy / Wrangler
- Environment and Secrets — Infisical + Worker vars
- Astro SEO Guide — layout / metadata patterns