Hide IP and ISP - speedtest.net

This script hides all elements which indicate to people what your IP or ISP is, as well as the location/sponsor.

// ==UserScript==
// @name        Hide IP and ISP - speedtest.net
// @namespace   Violentmonkey Scripts
// @match       *://www.speedtest.net/*
// @grant       none
// @license     GNU GPLv3
// @version     1.03
// @author      doge2018
// @description This script hides all elements which indicate to people what your IP or ISP is, as well as the location/sponsor.
// ==/UserScript==


// Create effect class
class Effect {
  constructor(name, value) {
    this.name = name;
    this.value = value;
  }
  
  get css() {
    return `${this.name}: ${this.value};`;
  }
}

// Variables
var classes = ["js-sponsor-name", "js-data-sponsor", "js-data-isp", "js-data-ip", "ispComponent", "server-current"];
var effects = [new Effect("filter", "blur(8px)")];
var css = "<style>";

// Generate CSS classnames
var classNameIndex = 0;
classes.forEach(className => {
  if (classNameIndex < classes.length - 1)
    css += `.${className}, `;
  else
    css += `.${className} {`;
  
  classNameIndex++;
});

// Generate CSS content/filter
effects.forEach(effect => {
  effect = effect.css;
  css += `\n${effect}`;
});

// Finish CSS
css += "\n}</style>";

// Apply CSS override
document.body.insertAdjacentHTML("afterbegin", css);