tor-browser

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

file_block_subresource_redir_to_data.sjs (795B)


      1 "use strict";
      2 
      3 let SCRIPT_DATA = "alert('this alert should be blocked');";
      4 let WORKER_DATA =
      5   "onmessage = function(event) { postMessage('worker-loaded'); }";
      6 
      7 function handleRequest(request, response) {
      8   const query = request.queryString;
      9 
     10   response.setHeader("Cache-Control", "no-cache", false);
     11   response.setStatusLine("1.1", 302, "Found");
     12 
     13   if (query === "script" || query === "modulescript") {
     14     response.setHeader(
     15       "Location",
     16       "data:text/javascript," + escape(SCRIPT_DATA),
     17       false
     18     );
     19     return;
     20   }
     21 
     22   if (query === "worker") {
     23     response.setHeader(
     24       "Location",
     25       "data:text/javascript," + escape(WORKER_DATA),
     26       false
     27     );
     28     return;
     29   }
     30 
     31   // we should never get here; just in case return something unexpected
     32   response.write("do'h");
     33 }