tor-browser

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

fetch.js (900B)


      1 function get_query_params(url) {
      2  var search = new URL(url).search;
      3  if (!search) {
      4    return {};
      5  }
      6  var ret = {};
      7  var params = search.substring(1).split("&");
      8  params.forEach(function (param) {
      9    var element = param.split("=");
     10    ret[decodeURIComponent(element[0])] = decodeURIComponent(element[1]);
     11  });
     12  return ret;
     13 }
     14 
     15 addEventListener("fetch", function (event) {
     16  if (event.request.url.includes("fail.html")) {
     17    event.respondWith(fetch("hello.html", { integrity: "abc" }));
     18  } else if (event.request.url.includes("fake.html")) {
     19    event.respondWith(fetch("hello.html"));
     20  } else if (event.request.url.includes("redirect")) {
     21    let param = get_query_params(event.request.url);
     22    let url = param.url;
     23    let mode = param.mode;
     24 
     25    event.respondWith(fetch(url, { mode }));
     26  }
     27 });
     28 
     29 addEventListener("activate", function (event) {
     30  event.waitUntil(clients.claim());
     31 });