tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

trackingAPI.js (2458B)


      1 function createIframe(src) {
      2  let ifr = document.createElement("iframe");
      3  ifr.src = src;
      4  document.body.appendChild(ifr);
      5 }
      6 
      7 function createImage(src) {
      8  let img = document.createElement("img");
      9  img.src = src;
     10  img.onload = () => {
     11    parent.postMessage("done", "*");
     12  };
     13  document.body.appendChild(img);
     14 }
     15 
     16 onmessage = event => {
     17  switch (event.data) {
     18    case "tracking":
     19      createIframe("https://trackertest.org/");
     20      break;
     21    case "socialtracking":
     22      createIframe(
     23        "https://social-tracking.example.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs"
     24      );
     25      break;
     26    case "cryptomining":
     27      // eslint-disable-next-line @microsoft/sdl/no-insecure-url
     28      createIframe("http://cryptomining.example.com/");
     29      break;
     30    case "fingerprinting":
     31      createIframe("https://fingerprinting.example.com/");
     32      break;
     33    case "more-tracking":
     34      createIframe("https://itisatracker.org/");
     35      break;
     36    case "more-tracking-2":
     37      createIframe("https://tracking.example.com/");
     38      break;
     39    case "cookie":
     40      createIframe(
     41        "https://trackertest.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs"
     42      );
     43      break;
     44    case "first-party-cookie":
     45      // Since the content blocking log doesn't seem to get updated for
     46      // top-level cookies right now, we just create an iframe with the
     47      // first party domain...
     48      createIframe(
     49        // eslint-disable-next-line @microsoft/sdl/no-insecure-url
     50        "http://not-tracking.example.com/browser/browser/base/content/test/protectionsUI/cookieServer.sjs"
     51      );
     52      break;
     53    case "third-party-cookie":
     54      createIframe(
     55        "https://test1.example.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs"
     56      );
     57      break;
     58    case "image":
     59      createImage(
     60        // eslint-disable-next-line @microsoft/sdl/no-insecure-url
     61        "http://trackertest.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs?type=image-no-cookie"
     62      );
     63      break;
     64    case "window-open":
     65      window.win = window.open(
     66        // eslint-disable-next-line @microsoft/sdl/no-insecure-url
     67        "http://trackertest.org/browser/browser/base/content/test/protectionsUI/cookieServer.sjs",
     68        "_blank",
     69        "width=100,height=100"
     70      );
     71      break;
     72    case "window-close":
     73      window.win.close();
     74      window.win = null;
     75      break;
     76  }
     77 };