Greasy Fork

Greasy Fork is available in English.

Anti Snoop

Conceal information about network type (e.g. cellular/broadband), number of CPU cores (or Hyper Threads), and video adapter brand & model.

当前为 2021-09-29 提交的版本,查看 最新版本

// ==UserScript==
// @name         Anti Snoop
// @namespace    http://greasyfork.icu/en/users/85671-jcunews
// @version      1.0.2
// @license      AGPLv3
// @author       jcunews
// @description  Conceal information about network type (e.g. cellular/broadband), number of CPU cores (or Hyper Threads), and video adapter brand & model.
// @match        *://*/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

(() => {
  ["connection", "mozConnection", "webkitConnection", "hardwareConcurrency"].forEach((k, p) => {
    if (navigator[k] && (p = Object.getPrototypeOf(navigator, k))) {
      p.get = undefined;
      Object.defineProperty(navigator, k, p)
    }
  });
  var cv = document.createElement("canvas");
  ["webgl2", "webgl", "experimental-webgl2", "experimental-webgl"].forEach((k, wgl, dri) => {
    if (
      (wgl = cv.getContext(k)) && (dri = wgl.getExtension("webgl_debug_renderer_info")) && (dri = dri.UNMASKED_RENDERER_WEBGL) &&
      (wgl = Object.getPrototypeOf(wgl)) && !wgl.getExtension.as_ujs
    ) {
      var ge = wgl.getExtension;
      wgl.getExtension = function(s) {
        if (s && s.toLowerCase && (s.toLowerCase() === "webgl_debug_renderer_info")) return null;
        return ge.apply(this, arguments)
      };
      wgl.getExtension.as_ujs = true
      var gp = wgl.getParameter;
      wgl.getParameter = function(n) {
        if (n === dri) return null;
        return gp.apply(this, arguments)
      };
    }
  })
})();