{"repo":"philippdubach/cloudcounter","free":true,"listed":false,"github":"https://github.com/philippdubach/cloudcounter","clone":"git clone https://github.com/philippdubach/cloudcounter.git","description":"Privacy-focused web analytics running on Cloudflare Pages + D1. A serverless port of GoatCounter.","language":"TypeScript","stars":14,"topics":["analytics","cloudflare","cloudflare-d1","cloudflare-pages","goatcounter","privacy","serverless","typescript","web-analytics"],"license":"EUPL-1.2","category":"analytics","readme_excerpt":"A standalone port of GoatCounter to run entirely on Cloudflare's edge infrastructure. CloudCounter brings GoatCounter's privacy-focused analytics to Cloudflare Pages + D1, requiring no external servers or databases. Deploy once and track pageviews across your sites with a single JavaScript snippet. Features - Pageview tracking with session deduplication - Top pages, referrers, browsers, operating systems, locations - Screen size breakdown - Event tracking support - Privacy-first: no cookies, session hash only - Server-rendered dashboard - Data retention policies Screenshots Additional screenshots available in the media folder. Prerequisites - Node.js 18+ - Wrangler CLI - Cloudflare account with Pages and D1 access Quick Start 1. Clone and install 2. Create Cloudflare resources 3. Update wrangler.toml Edit wrangler.toml and add your database id and KV namespace id: 4. Initialize database 5. Set dashboard password 6. Deploy 7. Add tracking script to your site Local Development Configuration Environment Variables Variable Description Default ---------- ------------- --------- SITE NAME Dashboard title \"My Analytics\" DATA RETENTION DAYS Days to keep data (0 = unlimited) \"0\" Secrets Secret Description -------- ------------- DASHBOARD PASSWORD Password for dashboard access Tracking Script Basic usage The script auto-tracks pageviews on load: Manual tracking Click tracking Add data-cloudcounter-click attribute to elements: Disable tracking API Track pageview Parameter Description Re","default_branch":null,"files":null,"tree":[],"storefront":"/r/philippdubach","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/philippdubach/cloudcounter/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}