tor-browser

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

open_credentialless_document.sjs (1359B)


      1 /* Any copyright is dedicated to the Public Domain.
      2  * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 "use strict";
      4 
      5 // Created with: mktoken --origin 'https://example.com' --feature CoepCredentialless --expiry 'Wed, 01 Jan 3000 01:00:00 +0100' --sign test-keys/test-ecdsa.pkcs8
      6 const TOKEN =
      7   "Az+DK2Kczk8Xz1cAlD+TkvPZmuM2uJZ2CFefbp2hLuCU9FbUqxWTyQ2tEYr50r0syKELcOZLAPaABw8aYTLHn5YAAABUeyJvcmlnaW4iOiJodHRwczovL2V4YW1wbGUuY29tIiwiZmVhdHVyZSI6IkNvZXBDcmVkZW50aWFsbGVzcyIsImV4cGlyeSI6MzI1MDM2ODAwMDB9";
      8 
      9 function handleRequest(request, response) {
     10   let params = (request.queryString || "").split("&");
     11   if (params.includes("credentialless")) {
     12     response.setHeader("Cross-Origin-Embedder-Policy", "credentialless");
     13     // Enables the SharedArrayBuffer feature
     14     response.setHeader("Cross-Origin-Opener-Policy", "same-origin");
     15   } else if (params.includes("requirecorp")) {
     16     response.setHeader("Cross-Origin-Embedder-Policy", "require-corp");
     17   }
     18   let html = "<!doctype html>";
     19   if (!params.includes("meta")) {
     20     response.setHeader("Origin-Trial", TOKEN);
     21   } else {
     22     html += `<meta http-equiv="origin-trial" content="${TOKEN}">`;
     23   }
     24   html += "<body>Hello, world!</body>";
     25   response.setHeader("Content-Type", "text/html;charset=utf-8", false);
     26   response.setStatusLine(request.httpVersion, "200", "Found");
     27   response.write(html);
     28 }