You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit dcce8e6
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,7 @@ Since this is not a library, this changelog focuses on the changes that are rele
30
30
- Added GeoIP header mappings and presets for Akamai, Cloudflare, CloudFront, Netlify, and Vercel, with MaxMind results taking precedence when available
31
31
- Tracker requests now avoid CORS preflight requests by sending JSON as `text/plain` and the event API accepts tracker JSON regardless of content type
32
32
- Added external authentication with OpenID Connect, Google, and Microsoft Entra ID, including optional user creation and provider access restrictions
33
+
- Improved visit duration accuracy by tracking page exits
Quickly get started with Liwan with a single, self-contained binary . No database or complex setup required. The tracking script is a single line of code that works with any website and less than 1KB in size.
27
-
-**Privacy first**\
28
-
Liwan respects your users’ privacy by default. No cookies, no cross-site tracking, no persistent identifiers. All data is stored on your server.
29
-
-**Lightweight**\
30
-
You can run Liwan on a cheap VPS, your old mac mini, or even a Raspberry Pi. Written in Rust and using tokio for async I/O, Liwan is fast and efficient.
31
-
-**Open source**\
32
-
Fully open source. You can change, extend, and contribute to the codebase.
33
-
-**Accurate data**\
34
-
Get accurate data about your website’s visitors, page views, referrers, and more. Liwan detects bots and crawlers and filters them out by default.
35
-
-**Real-time analytics**\
36
-
See your website’s traffic in real-time. Liwan updates the dashboard automatically as new visitors come in.
25
+
**Understand your traffic**\
26
+
See your most-visited pages, where visitors come from, and how traffic changes over time. The dashboard updates automatically, with bot filtering enabled by default.
27
+
28
+
**Easy to self-host**\
29
+
Run Liwan as a single binary or Docker container. The dashboard and database are built in, with no additional services to manage.
30
+
31
+
**Privacy first**\
32
+
No tracking cookies or cross-site tracking. Your analytics data stays on your server, and you control what’s collected and how long it’s kept.
33
+
[Read more about data collection](https://liwan.dev/collected-data/).
34
+
35
+
**Collect only what you need**\
36
+
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.
37
+
38
+
**Lightweight tracking**\
39
+
Add a small tracking script to your website with a single line of HTML. Works with any framework or CMS.
40
+
41
+
**Single sign-on**\
42
+
Manage accounts with Google Workspaces, Microsoft Entra, or your own OpenID Connect provider like Keycloak or Dex.
coalesce(avg(extract(epoch from {alias}.time_to_next_event)) filter (where {alias}.time_to_next_event is not null and {alias}.time_to_next_event <= {SESSION_DURATION_SQL}), 0)"
113
+
coalesce(avg(extract(epoch from case
114
+
when {alias}.time_to_next_event is not null and {alias}.time_to_next_event between interval '0 seconds' and {SESSION_DURATION_SQL}
115
+
then {alias}.time_to_next_event
116
+
when {alias}.exited_at between {alias}.created_at and {alias}.created_at + {SESSION_DURATION_SQL}
0 commit comments