Giter Site home page Giter Site logo

snoopy's Introduction

Snoopy

About the project

Snoopy is a very lightweight and simplistic, anonomised usage tracker

Privacy

In order to be able to track users through IP whilst also anonymising the records, the identifier stored in the database consists of a salted IP hashed using SHA512. This can be seen here

Whilst any system is vulnerable if the underlying server is fully breached, server security is the concern of the admin and not this project.

Getting started

The recomended way to run this service is through using the provided Dockerfile. However feel free to run it from source.

This project serves my needs and as such support will be limited, though feel free to reach out with issues or pull requests.

Usage

The project will connect to a mysql compatible database as defined by the following environment variables:

  • MARIA_HOST
  • MARIA_USER
  • MARIA_PASS
  • MARIA_DATABASE

(note, this does not have to be mariadb)

Also expected is an environment variable SALT which is used to salt IP addresses prior to hashing.

Lastly, you can adjust the session time (default 10 minutes) using the SESS_TIME env var. The session time is how long of a gap is required between hits to the same service

Endpoints

The following endpoints are configured for the service

/ping

Accessible as a system health endpoint, returns a period (.).

/snoopy/{slug}.css

This is the tracking enpoint, the DB record consists of a salted and hashed IP, and the slug identifier. It will return the following css

.snoopy {
  color: #28a745 !important;
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.