T.EX is Web privacy measurement framework in form of a Web extension for Firefox and Chromium-based browsers to enable data collection, inspection, analysis, and visualization to be used in research.
Clone the respository and all its submodules with the following command:
git clone --recurse-submodules https://github.com/t-ex-tools/t.ex.git
or
git clone --recurse-submodules git@github.com:t-ex-tools/t.ex.git
To use t.ex, you need to install Node.js (ideally v16+) and npm (ideally v8+). Use the following command to install the dependencies.
npm install
Afterwards you can start the development environment with:
npm run dev
NOTE: The errors below will be logged. However, the development environment is successfully set up eventually. The reason for this error is that the submodules have to be built first. The build process of the main repository, which finishes first, is started at the same time as the build processes of the submodules. This circumstance causes the errors below. Changes to the builds of the submodules are detected by the main repository and included in its dist/
folder. This way, the errors vanish whenever a submodule is finished building. Unfortunately, all processes must be executed concurrently as npx webpack
does not exit if the --watch
flag is set.
[.] ERROR in unable to locate '/path/to/t.ex/t.ex-tension/dist' glob
[.]
[.] ERROR in unable to locate '/path/to/t.ex/labeler-core/dist/labeler-core.var.js' glob
[.]
[.] ERROR in unable to locate '/path/to/t.ex/t.ex-gui/dist/**/*' glob
To build T.EX on your own use the following command:
npm run build
The build is placed in the folder dist/
.
The following steps also work with a self-build version of T.EX. Simply follow the steps from Step 3 onwards and chose the dist/
folder in Step 6 (Step 5 for Firefox).
- Download the latest version of T.EX to your local drive
- Extract the ZIP-archive to a location of your liking
- Open Chrome (or Chromium-based browser) and navigate to More tools -> Extensions
- Enable Developer mode (switch on the upper right)
- Click on Load unpacked
- Select the extracted folder (Step 2) and click Open
- Download the latest version of T.EX to your local drive
- Extract the ZIP-archive to a location of your liking
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox
- Click on Load Temporary Add-on...
- Navigate to the extracted folder (Step 2), select
manifest.json
, and click Open
You can import the state of an existing T.EX installation to your instance of T.EX. This is useful if you crawled data with a T.EX instance on a remote server (e.g., a cloud server) and now you want to explore the data on your local machine. You can find existing datasets here.
-
Determine the
extension_id
Chrome assigned to T.EX by clicking on the button Details on the Extension page. The field field ID shows theextension_id
-
Open the folder in which the T.EX state is persisted:
-
Windows:
C:\Users\<username>\AppData\Local\Google\Chrome\User Data\<profile>\Local Extension Settings\<extension_id>\
-
macOS:
/Users/<username>/Library/Application Support/Google/Chrome/<profile>/Local Extension Settings/<extension_id>/
-
Linux:
/home/<username>/.config/google-chrome/<profile>/Local Extension Settings/<extension_id>/
-
-
Close Chrome and delete all files in this folder.
-
Extract the
*.ldb
files from the ZIP-archive to this folder. -
Open Chrome and T.EX again.
-
Extract directory moz-extension+++<extension_id> from ZIP-archive to:
-
Windows:
C:\Users\<username>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>\storage\default\
-
macOS:
/Users/<username>/Library/Application Support/Firefox/Profiles/<profile>/storage/default/
-
Linux:
/home/<username>/mozilla/firefox/Profiles/<profile>/storage/default/
-
-
Open Firefox and load T.EX as a temporary Add-on.
-
Enter
about:debugging#/runtime/this-firefox
in the address bar. -
Remember the Internal UUID assigned to T.EX:
-
Enter
about:config
in the address bar. -
Accept the risk and search for
extensions.webextensions.uuids
. -
Click on Edit.
-
Search for the Internal UUID assigned to T.EX, when you added it as temporary add-on.
- Hint: It is usually at the end of the long string.
-
Replace the Internal UUID with
<extension_id>
from Step 1. -
Go back to
about:debugging#/runtime/this-firefox
and reload T.EX. -
The Internal UUID will have changed, and the extension storage will be read from the extracted directory from the ZIP archive.