All Projects β†’ parkr β†’ ping

parkr / ping

Licence: MIT license
πŸ“Š Your very own Google Analytics replacement, without all of the Google. Simple as pie.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to ping

angular-scaffolding
πŸ”₯ A seed project to help us get up & running with Progressive Web Apps, Google Analytics, Angular Universal, and be able to deploy to App Engine & GitHub Pages
Stars: ✭ 12 (-87.1%)
Mutual labels:  google-analytics
gadget
Gadget is a library that makes analytics tracking easier for android apps
Stars: ✭ 54 (-41.94%)
Mutual labels:  google-analytics
chartjs-plugin-piechart-outlabels
Highly customizable Chart.js plugin that displays labels outside the pie/doughnut chart.
Stars: ✭ 46 (-50.54%)
Mutual labels:  pie
shopify-gtm-ga
Enhances Google Analytics and integrates Google Tag Manager for Shopify.
Stars: ✭ 44 (-52.69%)
Mutual labels:  google-analytics
privera
Use the tools you know. Respect users' privacy. Forget cookie consents. Comply with GDPR, ePrivacy, COPPA, CalOPPA, PECR, PIPEDA, CASL; you name it.
Stars: ✭ 23 (-75.27%)
Mutual labels:  google-analytics
react-native-base-project
Base react native application for scalable project using Redux + React Navigation + Code Push + Realm + Axios + i18n + Google Analytics + Facebook login with fbsdk...
Stars: ✭ 31 (-66.67%)
Mutual labels:  google-analytics
extrude
πŸ•΅οΈ Analyse binaries for missing security features, information disclosure and more...
Stars: ✭ 51 (-45.16%)
Mutual labels:  pie
nextsss
Next.js static site starter including full setup for TypeScript, Tailwind CSS, Google Analytics, Next SEO, etc.
Stars: ✭ 80 (-13.98%)
Mutual labels:  google-analytics
gatsby-plugin-gdpr-cookies
Gatsby plugin to add Google Analytics (V4 is supported), Google Tag Manager, Facebook Pixel, TikTok Pixel and Hotjar in a GDPR form to your site.
Stars: ✭ 88 (-5.38%)
Mutual labels:  google-analytics
Trackie
A Chrome extension to enhance debugging of some frequently-used tag management platforms (Google Tag Manager, Tealium, Commanders Act, DTM) in combination with some frequently-used tags (Google Analytics, Google Analytics 4, GA Audiences, Ddm, Criteo, Adobe Analytics/Omniture, Floodlight, Comscore, Facebook, Bluekai, Youbora, Kinesis, Webtrekk, …
Stars: ✭ 23 (-75.27%)
Mutual labels:  google-analytics
tag-manager
Website analytics, JavaScript error tracking + analytics, tag manager, data ingest endpoint creation (tracking pixels). GDPR + CCPA compliant.
Stars: ✭ 279 (+200%)
Mutual labels:  google-analytics
php-analytics-event
Create a Google Analytics Event from PHP
Stars: ✭ 23 (-75.27%)
Mutual labels:  google-analytics
roku-libs
Compilation of utilities for Roku development
Stars: ✭ 47 (-49.46%)
Mutual labels:  google-analytics
nextjs-google-analytics
Google Analytics for Next.js
Stars: ✭ 242 (+160.22%)
Mutual labels:  google-analytics
django-sitemetrics
Reusable application for Django that offers easy integration with different site metrics service providers.
Stars: ✭ 41 (-55.91%)
Mutual labels:  google-analytics
yii2-stat
Yii2 Multi Web Statistic Module (yametrika, google-analytic, own db-counter)
Stars: ✭ 18 (-80.65%)
Mutual labels:  google-analytics
hubot-analytics
πŸ“ˆ A hubot script to get google analytics reports
Stars: ✭ 16 (-82.8%)
Mutual labels:  google-analytics
scripts
Open Source Public Scripts for Simple Analytics
Stars: ✭ 62 (-33.33%)
Mutual labels:  google-analytics
skeletoid
Bootstrapping and Utils code for Android applications πŸ€–made at Mindera πŸ’›
Stars: ✭ 24 (-74.19%)
Mutual labels:  google-analytics
Google-Analytics-for-OS-X
Google Analytics SDK for OS X
Stars: ✭ 51 (-45.16%)
Mutual labels:  google-analytics

ping

Your very own Google Analytics replacement, without all of the Google. Simple as pie.

Motivation

Google Analytics is creepy. It knows where you are, what computer you're using, what browser you're using, what page you visited, and so on. It has horizontal data for IP addresses, so Google knows what sites you've visited across the Internet, for how long, and what your path was. I'm uncomfortable giving Google all this data. In fact, I even wrote a blog post about how to block the various tracking services.

But, I wanted to know what my "greatest" hits are. I wanted to see what people liked and didn't like. Using Google Anayltics isn't an option, but what about using something much simpler? Enter: ping.

Ping: What It Is

Ping is a tiny little server that logs three things:

  • IP address of visitor
  • URL they visited
  • When the visit happened

A single tiny JavaScript file that the user requests sends down these three things and that's all there is to it. As unintrusive as possible, while still providing insight into the site's strenghts.

It also respects the Do Not Track header, which many browsers now allow users to set for all requests. Complying with this header is not mandatory, but aligns nicely with our motivation for respecting users' privacy when they ask for it.

Installation

Want to run ping? No problem.

$ go get github.com/parkr/ping
$ PING_DB=./ping_production.sqlite3 ping -http=:8972

Specify a port (defaults to 8000) and a database URL and you're off to the races. Enjoy!

Running behind a proxy? No problem. Specify PING_PROXIED=true when invoking ping and you're good to go.

Prefer Docker? We got that too!

$ mkdir data
$ docker run --rm \
  -e PING_DB=/srv/data/ping_production.sqlite3 \
  -v $(pwd)/data:/srv/data:rw \
  parkr/ping \
  ping -http=:8972

This will save all data to the specified sqlite3 database, mounted to the container and written back to the host.

Then, load the script on your pages in the HTML:

<script src="https://domain.for.ping.server/ping.js" type="text/javascript"></script>

Every page will load this /ping.js path from the ping server and will log the result to your sqlite3 database in the visits table.

If you set the -hosts flag for the ping executable, you can limit which hostnames will be logged. This is a security feature to ensure your sqlite3 database doesn't bloat with unwanted data from sites you don't want to track. For example, adding the flag -hosts=example.com,my-site.com,mysite.rocks will only log visits to your database for visits to example.com, my-site.com, and mysite.rocks. Of course, these sites have to load the javascript path as specified above, so this will only work for sites you control.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].