- Rust 55.8%
- TypeScript 35.1%
- CSS 5.8%
- Astro 2.9%
- HTML 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .cargo | ||
| .github | ||
| crates | ||
| data | ||
| packages | ||
| .gitignore | ||
| .rustfmt.toml | ||
| about.toml | ||
| biome.json | ||
| bun.lock | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE.md | ||
| NOTICE.md | ||
| package.json | ||
| README.md | ||
liwan.dev - Self-hosted, privacy-first web analytics
Features
Understand your traffic
See your most-visited pages, where visitors come from, and how traffic changes over time. The dashboard updates in real time, with bot filtering enabled by default.
Easy to self-host
Run Liwan as a single binary or Docker container. The dashboard and database are built in, with no additional services to manage.
Privacy first
No tracking cookies or cross-site tracking. Your analytics data stays on your server, and raw IP addresses aren't recorded.
Read more about data collection.
Collect only what you need
Choose what data to collect and how long to keep it. Location detail is adjustable, and campaign attribution and session metrics can be disabled independently.
Lightweight tracking
Add a small browser script with one line of HTML, or send events entirely from your server. Use either approach with any framework or CMS.
Single sign-on
Set up teams and manage accounts with Google Workspaces, Microsoft Entra, or your own OpenID Connect provider like Keycloak or Dex.
License
Unless otherwise noted, this repository is licensed under the Apache License, Version 2.0.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Liwan by you, as defined in the Apache-2.0 license, shall be licensed under Apache-2.0, without any additional terms or conditions.

