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
If you wish to help us identify new trackers, you can request an ETIP account by sending a username and an email address to etip@exodus-privacy.eu.org.
If you want to contribute to this project, you can refer to this documentation.
You need pipenv to run this project locally
pip install pipenv
Clone the project
git clone https://github.com/Exodus-Privacy/etip.git
Install dependencies in pipenv environment
cd etip
pipenv install --dev
Create the database
echo "DJANGO_SETTINGS_MODULE=etip.settings.dev" > .env
# enter into python environment
pipenv shell
cd etip/
python manage.py migrate
# Import tracker definitions from the official instance of εxodus
python manage.py import_trackers
# Import predefined tracker categories
python manage.py import_categories
Create admin user
python manage.py createsuperuser
python manage.py test
python manage.py runserver
Some admin commands are available to help administrate the ETIP database.
This command retrieves trackers data from an εxodus instance and looks for differences with trackers in the local database.
python manage.py 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 https://reports.exodus-privacy.eu.org (see --exodus-hostname
parameter).
An API is available to help administrate the ETIP database.
POST /api/get-auth-token/
Example:
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 /api/trackers/
Example:
curl -X GET http://localhost:8000/api/trackers/ -H 'Authorization: Token <your-token>'