Disable Umami

Disable Umami Analytics to prevent being tracked.

  1. // ==UserScript==
  2. // @name Disable Umami
  3. // @license MPL-2.0
  4. // @namespace https://github.com/uiolee/disable-umami
  5. // @homepage https://github.com/uiolee/disable-umami
  6. // @version 1.0.2
  7. // @description Disable Umami Analytics to prevent being tracked.
  8. // @description.zh 关闭 Umami 统计以避免被追踪。
  9. // @author Uiolee
  10. // @match http://*/*
  11. // @match https://*/*
  12. // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAApVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbGxsAAAAAAAAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAVFRUAAAAAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///94eHj9/f34+PhcXFx7e3vn5+elpaU0NDTGxsbExMSzs7Orq6uAgIDN8jZ/AAAAKHRSTlMA/vtZQfSZh/y5dPzh2o+AfWVUJNK0jW9KFw/88NPQzclwPjo1MSYGsK63cgAAAOJJREFUOMutz1Vyw0AAA1DtmhnCKbNaQ5LS/Y/WegI1rDc/fb/SjEb4X5Pcdxw/n0DpeR7yIJwPOytHskXaK3QYFnssAy2J4FCME5tK9jG/44jFPjclR8iHJn+JOOq2KWTUaK5E1LgCHqn1hJRaKTxqzRBSK4JFLQuCepDnCpfnJkwnlrs3pZ2IHRO/Zm7xqlAEHvZyblWFLxo4uHHLYV66Uxzdi2o4UgkTJz7rfv5NHy02q85KWdFGx0JcbP9mPl2RoMe8ZlB/bIpi814HnJoYMjxJCkFKz4DaepmlSbZco+UH0FBoNslGTk8AAAAASUVORK5CYII=
  13. // @grant none
  14. // @run-at document-idle
  15. // @sandbox DOM
  16. // @noframes
  17.  
  18. // @source https://gist.github.com/uiolee/8683b0c8de01e922771ad7f68e911874
  19. // ==/UserScript==
  20.  
  21. "use strict";
  22. (async () => {
  23. "use strict";
  24. const NAME = "DU.js";
  25. const VERSION = "10";
  26. const log = (...args) => {
  27. return console.log(`[${NAME}]:`, ...args);
  28. };
  29. log(VERSION);
  30.  
  31. const db = {};
  32. db["umami.disabled"] = 1;
  33.  
  34. for (const [key, value] of Object.entries(db)) {
  35. const currentValue = localStorage.getItem(key);
  36. if (currentValue === String(value)) {
  37. const msg = `"${key}" have been set to "${currentValue}"`;
  38. log(msg);
  39. return;
  40. } else {
  41. const msg = `setting "${key}" to "${value}"`;
  42. log(msg);
  43. localStorage.setItem(key, value);
  44. return;
  45. }
  46. }
  47. })().catch((err) => {
  48. console.error(`[DU.js]: ${err}`);
  49. });