This is a server-client app that shows your digital browser fingerprint and stores it, so it can be compared with others users browser fingerprint.
The project has the following components:
- Front end website: Gets all information about the user as possible without any dialog, makes a fingerprint and send that information to the backend
- Backend:
- Nodejs: Ensures that the format is correct and stores the data into an elasticsearch database
- Elasticsearch: Is our database choice
- Kibana: Provides a front-end to see statistics and queries.
All these components run in it's docker container and we need a nginx proxy because kibana don't support authentication and we don't want to expose the statistics dashboard to the mases.
# [optional]You can use your own version of the fp-demo if you build it like this
docker build fp-demo -t diegoreico/fp-demo
# Then just us docker-compose to create all the containers
docker-compose up -d
docker-compose down
You should access to the front-end in the following url:
The front-end is not so pretty but it should provide you some info about your browser:
The URL is:
Default password is admin and user is admin
Change by doing:
htcpasswd -c passwd <username>
Overwrite the file before creating the containers
The schema of the database is defined in NodeJS using node-schema-object that lets us ensure that users cannot insert random objects to the database
We'll use the node elasticsearch connector to help us insert the data into the database.
- Delete all of the "trangalladas"
- Using docker-compose to truly orchestate the thing:
- fpdemo_node has a slep in order to wait for elasticsearch
# Delete dead
docker rm $(docker ps --all -q -f status=dead)
# When a container mountpoint dies
sudo umount /var/lib/docker/devicemapper/mnt/9769dbe9e21d2aba6d2b08e79e3a67534ff8d69b66a93ae554a519cdc9ea7027
rm /etc/nginx/conf.d/default.conf && nano /etc/nginx/conf.d/default.conf
# Delete and re-run containters
docker-compose down && docker-compose up -d --force-recreate
# Reset nginx
apt-get update && apt-get install -y procps
killall nginx && sleep 1 && nginx