Mercurio

Introduction

Mercurio is a lightweight (around 700 bytes), asynchronous, pageview tracker.

Mercurio collects data regarding the source of each pageview, in order to understand where each user does come from.

Furthermore, Mercurio detects fraudolent advertising traffic.

Installation

Adding the following code to your site's html code is the easiest way to get started. The code should be added near the top of the <head> tag and before any other script but after the CSS tags.

<script async src="https://cdn.exsigma.eu/mercurio/data.min.js"></script>

Example of configured <head> tag

<head>
  <meta charset="utf-8">
  <title>Configuration example</title>
  <link rel="stylesheet" href="/css/your_stylesheet.css">
  <script async src="https://cdn.exsigma.eu/mercurio/data.min.js"></script>
  <script src="/js/your_script.js"></script>
</head>

Collected Data

For each pageview Mercurio collects 20 datapoints. The datapoints are saved for 30 days, before being marked for deletion. Aggregated data is made available for the owner of the website, no data is given to any third party.

Example of collected data

This table has been populated with your session data.

Name Property Value
Current date Date.now()
AppCodename navigator.appCodeName
AppName navigator.appName
AppVersion navigator.appVersion
Cookies navigator.cookieEnabled
Language navigator.language
Browser Online navigator.onLine
Platform navigator.platform
Product navigator.product
User Agent navigator.userAgent
Referrer document.referrer
Base URI document.baseURI
Domain document.domain
Screen height window.screen.height
Screen width window.screen.width
History length history.length
Protocol location.protocol
Pathname location.pathname
Search location.search
EXID cookie _exid beedb305-bec8-470b-967a-ff6f5248a76a

Browser support

Mercurio supports these browsers:

  • Chrome version > 6
  • Microsoft Edge version > 1
  • Firefox version > 4.0
  • Safari version > 1
  • Opera version > 12
  • Internet Explorer version > 10
  • Android version > 4.0

TLS Cipherlist

Mercurio use the following TLS configuration based from Mozilla's Intermediate configuration:

global
    tune.ssl.default-dh-param 2048
    ssl-default-bind-ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
    ssl-default-bind-options no-sslv3 no-tls-tickets
    ssl-default-server-ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
    ssl-default-server-options no-sslv3 no-tls-tickets

frontend ft_test
    mode    http
    bind    :443 ssl crt /path/to/<cert+privkey+intermediate+dhparam> alpn h2,http/1.1
    bind    :80
    redirect scheme https code 301 if !{ ssl_fc }