Framework to test browsers comprehensively for information leaking observation channels.
- Prerequisites:
- Poetry with python 3.9.6 has to be installed
- Node.js (17+) has to be installed
- Postgresql
- Install python dependencies with:
poetry install
- Install node.js dependencies with:
cd automator; npm install
- Update
/etc/hosts/
:
127.0.0.1 echo.org
127.0.0.1 echo2.org
127.0.0.1 observer.org
- Initialize the response space:
cd echo; poetry run python file_creator.py; poetry run python url_creator.py create True
. - To extend the used respponse space, update
url_creator.py
. - Start with
cd echo; poetry run uwsgi --ini uwsgi.ini
orpoetry run python manage.py runserver
. - Available at http://echo.org:8000/ and https://echo.org:44300/
- Start with
cd observer; poetry run uwsgi --ini uwsgi.ini
(or setDEBUG=True
inobserver/settings.py
and runpoetry run python manage.py runserver 8001
). - To extend the available inclusion methods or observation methods, follow the instructions in the Observer README.
- Available at http://observer.org:8001
- Visits every observation page for every response using playwright. (The postgres database has to be correctly initialized.)
- Start with
cd automator; poetry run python run_browsers.py
(see--help
for options).
- See the
.ipynb
files indata_analysis
. - To create the visual representation of the trees,
h2o_jar
inhelper.py
has to point to a local h2o installation.