{"repo":"kaichaosun/swa","free":true,"listed":false,"github":"https://github.com/kaichaosun/swa","clone":"git clone https://github.com/kaichaosun/swa.git","description":"Self-hosted Website Analytics with Sqlite","language":"Rust","stars":13,"topics":["analytics","rust","sqlite","web-analytics","website","website-traffic"],"license":"MIT","category":"analytics","readme_excerpt":"SWA — Self-hosted Website Analytics A lightweight, single-binary web analytics tool built with Rust and SQLite. No external dependencies, no cloud services — just deploy and go. Features - Single binary — UI, API, and tracker bundled into one executable via rust-embed - SQLite storage — WAL mode, zero-config, file-based database - Two-port architecture — separate ports for the public tracker API and the authenticated dashboard - Pageview + CTA action tracking — page views and custom named actions (login, purchase, etc.) - Multi-domain — track multiple sites from one instance, switch between them in the dashboard - Privacy-friendly — respects Do-Not-Track; daily-rotating fingerprints (no cookies for visitors) - Auth-protected dashboard — cookie-based sessions with argon2 password hashing - Dark-themed dashboard — real-time stats, date ranges, Chart.js graphs, auto-refresh Quick Start Open http://127.0.0.1:3331 to register an account and access the dashboard. Integrate the Tracker Add one script tag to any website you want to track: The tracker ( 1 KB) automatically collects page path, referrer, browser, OS, and screen size. CTA Action Tracking Track named events (logins, purchases, button clicks, etc.) via the window.swa global exposed by the tracker: Both arguments are free-form strings. label is optional. Events appear in the Actions section of the dashboard. API Reference SWA runs two servers: Port (default) Purpose --- --- 3330 Tracker API — public, receives events from tr","default_branch":null,"files":null,"tree":[],"storefront":"/r/kaichaosun","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kaichaosun/swa/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."}