Minimalist open-source web analytics

NULLITICS

Build Status GoDoc GoReportCard example Docker Image Size (latest by date) License: MIT Buy me a coffee

Zero-effort web analytics. This is a self-hosted open-source version of Nullitics. Check out https://nullitics.com for the world cheapest web analytics in the cloud.

Features

  • Privacy-focused (no cookies, fully anonymized).
  • Easy to set up (no databases, no external dependencies).
  • Meaningful, stylish dashboard.
  • Easy to understand metrics (unique visitors, page views, referrers, countries, device types).
  • Very lightweight (Docker image is under 10MB, same is the size of the executable).
  • Compliant with GDPR, ePrivacy, PECR, CCPA, and COPPA.
  • Fast (can handle 35K req/sec on my humble personal server).
  • By-pass ad-blockers.
  • Can be used as a standalone service or as a Go library.
  • You own your data.

How to use it?

Nullitics comes in several flavours:

  • Embedded (a Go library to use in your Go projects).
  • Self-hosted (a static binary or a Docker container to run on your server).
  • Cloud (the world cheapest web analytics, that also respect your users' privacy).

Library API

The package API is designed to be as simple as possible:

mux := http.NewServeMux()
...
// Create a new Nullitics collector to collect analytics
c := nullitics.New()
// Register a report endpoint to see the dashboard
mux.Handle("/_/stats/", c.Report(nil))
// Wrap mux so that every request would be recorded
http.ListenAndServe(":"+port, c.Collect(mux))

Of course, there's plenty of room for customization, see GoDoc for further details.

Also you may try out the ./cmd/example to see how Nullitics work as library.

Self-hosted container

Running container on a personal server is even simpler:

docker run -p 8080:8080 zserge/nullitics \
	-url mydomain.com \
	-dir nullitics-data \
	-loc Europe/Berlin \

You may check ./cmd/pixel to see how the standalone version works.

Of course, you can still build it yourself and run as a Linux service instead of a Docker container, if you like.

License

Code is distributed under MIT license, feel free to use it in your proprietary projects as well.

Similar Resources

記帳-PWA-web-app (Bookkeeping-PWA-web-app)

記帳-PWA-web-app (Bookkeeping-PWA-web-app)

GoKeep (bookkeeping web app) 記帳-PWA-web-app (Bookkeeping-PWA-web-app) demo link : https://bookkepping.herokuapp.com/ 測試用帳密 : tester002 , tester002 (亦可

Jan 31, 2022

log4jScanner: provides you with the ability to scan internal (only) subnets for vulnerable log4j web servicelog4jScanner: provides you with the ability to scan internal (only) subnets for vulnerable log4j web service

log4jScanner: provides you with the ability to scan internal (only) subnets for vulnerable log4j web servicelog4jScanner: provides you with the ability to scan internal (only) subnets for vulnerable log4j web service

log4jScanner Goals This tool provides you with the ability to scan internal (only) subnets for vulnerable log4j web services. It will attempt to send

Jan 5, 2023

Web terminal - A (unsafe) technical demo to export a shell to web browser

Web terminal - A (unsafe) technical demo to export a shell to web browser

Web Terminal A (unsafe) technical demo to export a shell to web browser. This pr

Dec 27, 2022

Go-web-scaffold - A simple scaffold for building web app quickly

Go-web-scaffold A simple scaffold for building web app quickly. features This sc

Jan 21, 2022

The source code for workshop Scalable architecture using Redis as backend database using Golang + Redis

The source code for workshop Scalable architecture using Redis as backend database using Golang + Redis

Sep 23, 2022

🎬 The source code of https://asoul.video

🎬 asoul-video The source code of https://asoul.video/ Set up development environment Frontend TBD Backend The ASOUL-Video backend server binary is me

Nov 3, 2022

IP geolocation web server

freegeoip NOTE: as of April 2018 this repository is no longer active. Please visit https://github.com/apilayer/freegeoip/ for the current version. Thi

Dec 26, 2022

Polite, slim and concurrent web crawler.

gocrawl gocrawl is a polite, slim and concurrent web crawler written in Go. For a simpler yet more flexible web crawler written in a more idiomatic Go

Dec 31, 2022

A quick and easy password protected web server for your files. httpfolder makes downloading/uploading files from your current working directory easy, even for fairly large files.

httpfolder A quick and easy password protected web server for your files. httpfolder makes downloading/uploading files from your current working direc

Sep 12, 2022
Comments
  • null.gif and file.gif throw 404 errors

    null.gif and file.gif throw 404 errors

    The docs for tracking users with disabled JS (https://nullitics.com/docs/#/script?id=disabled-javascript) use this URL: https://nullitics.com/file.gif. That gives me a 404 error, is this intentional? Thanks!

  • Invalid tracking snippet

    Invalid tracking snippet

    The tracking snippet popup in the dashboard contains 2 extra characters

    image

    We should get rid of `) on the 4th line like this:

    <script type="text/javascript">new 
    Image().src='https://nullitics.com/n.gif?u=' + 
    encodeURI(location.href) + '&r=' + 
    encodeURI(document.referrer) + '&d=' + screen.width;
    </script>
    

    PS. I really want to make a PR but couldn't find it in the repository.

  • Share the dashboard with a team

    Share the dashboard with a team

    Hi

    I discovered nullitics from https://github.com/pluja/awesome-privacy and I like the spirit of your project.

    But it lacks some important features like sharing the dashboard with another google/github account.

    Good luck for the future !

GoatCounter is an open source web analytics platform available as a hosted service or self-hosted app

GoatCounter is an open source web analytics platform available as a hosted service (free for non-commercial use) or self-hosted app. It aims to offer easy to use and meaningful privacy-friendly web analytics as an alternative to Google Analytics or Matomo.

Dec 29, 2022
A simple and privacy focused analytics tool written in go.
A simple and privacy focused analytics tool written in go.

Analytics Box Hello guys, this is privacy friendly analytics tool, Analytics Box for web written in go. It ensures user privacy but at the same time a

Nov 27, 2022
📈 Reincarnation of mrratality - MRR analytics system for SaaS-apps

remrratality Перерождение проекта mrratality с улучшенной архитектурой и стеком. Данный проект будет использован для лабораторных работ по курсам "Тес

Sep 25, 2022
WriteFreely is a clean, minimalist publishing platform made for writers
WriteFreely is a clean, minimalist publishing platform made for writers

WriteFreely is a clean, minimalist publishing platform made for writers. Start a blog, share knowledge within your organization, or build a community

Jan 4, 2023
Ukuleleweb is a minimalist Wiki with the look and feel of the original WikiWikiWeb

Ukuleleweb Ukuleleweb is a simple Wiki implementation in the style of the original WikiWikiWeb / C2 wiki. Few dependencies The only dependencies are a

Feb 7, 2022
Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.
Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.

Focalboard Like what you see? ?? Give us a GitHub Star! ⭐ Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana. It helps

Jan 9, 2023
GoTrue is a small open-source API written in Golang, that can act as a self-standing API service for handling user registration and authentication for Jamstack projects.
GoTrue is a small open-source API written in Golang, that can act as a self-standing API service for handling user registration and authentication for Jamstack projects.

GoTrue is a small open-source API written in Golang, that can act as a self-standing API service for handling user registration and authentication for Jamstack projects.

Dec 13, 2021
An open-source project for managing OpenStack resources and OpenStack infrastructure in a Kubernetes cluster

kupenStack Kubernetes-Native OpenStack A Sandbox Project. Have you used OpenStack before? If so, then for you KupenStack is magic ✨ that lets you use

Nov 11, 2021
Mattermost is an open source platform for secure collaboration across the entire software development lifecycle.
Mattermost is an open source platform for secure collaboration across the entire software development lifecycle.

Mattermost is an open source platform for secure collaboration across the entire software development lifecycle. This repo is the primary source for c

Jan 2, 2023
Extract structured data from web sites. Web sites scraping.
Extract structured data from web sites. Web sites scraping.

Dataflow kit Dataflow kit ("DFK") is a Web Scraping framework for Gophers. It extracts data from web pages, following the specified CSS Selectors. You

Jan 7, 2023