Skip to content


Repository files navigation

ETIP - εxodus tracker investigation platform

Build Status

ETIP is meant to ease investigations on tracker detection. For the moment, it offers few features:

  • track all modifications on trackers
  • detect rules collisions for both network and code signature

Contribute to the identification of trackers

If you wish to help us identify new trackers, you can request an ETIP account by sending a username and an email address to

Contributing to ETIP development

If you want to contribute to this project, you can refer to this documentation.

Development environment


You need pipenv to run this project locally

pip install pipenv


Clone the project

git clone

Install dependencies in pipenv environment

cd etip
pipenv install --dev

Create the database

echo "" > .env

# enter into python environment
pipenv shell

cd etip/
python migrate

# Import tracker definitions from the official instance of εxodus
python import_trackers

# Import predefined tracker categories
python import_categories

Create admin user

python createsuperuser

Run the tests

python test

Start the server

python runserver

Useful commands

Some admin commands are available to help administrate the ETIP database.

Compare with Exodus

This command retrieves trackers data from an εxodus instance and looks for differences with trackers in the local database.

python compare_with_exodus

Note: for now, it only compares with local trackers having the flag is_in_exodus.

The default εxodus instance queried is the public one available at (see --exodus-hostname parameter).

Administration API

An API is available to help administrate the ETIP database.


POST /api/get-auth-token/


curl -X POST http://localhost:8000/api/get-auth-token/ --data "username=admin&password=testtest"

You need to include your token as an Authorization header in all subsequent requests.

Get trackers

GET /api/trackers/


curl -X GET http://localhost:8000/api/trackers/ -H 'Authorization: Token <your-token>'