diff --git a/src/_renderer.js b/src/_renderer.js index e3ccd648..bea1d155 100644 --- a/src/_renderer.js +++ b/src/_renderer.js @@ -340,6 +340,7 @@ window.themeChanger = (theme) => { e.setAttribute("class", "mod_column"); }); document.querySelectorAll(".mod_column > div").forEach(e => {e.remove()}); + document.querySelectorAll("div.smoothie-chart-tooltip").forEach(e => {e.remove()}); window.term = new Terminal({ role: "client", diff --git a/src/classes/locationGlobe.class.js b/src/classes/locationGlobe.class.js index 87e05383..3e2ab6c1 100644 --- a/src/classes/locationGlobe.class.js +++ b/src/classes/locationGlobe.class.js @@ -74,7 +74,7 @@ class LocationGlobe { // Connections this.conns = []; this.addConn = ip => { - require("https").get({"host": "ipinfo.now.sh", "port": 443, "path": "/"+ip}, (res) => { + require("https").get({host: "ipinfo.now.sh", port: 443, path: "/"+ip, agent: false}, (res) => { let rawData = ""; res.on("data", (chunk) => { rawData += chunk; diff --git a/src/classes/netstat.class.js b/src/classes/netstat.class.js index 25c04f0d..27ad71e7 100644 --- a/src/classes/netstat.class.js +++ b/src/classes/netstat.class.js @@ -27,6 +27,12 @@ class Netstat { `; this.offline = false; + this.lastconn = {_ended: true}; + + this._httpsAgent = new require("https").Agent({ + keepAlive: false, + maxSockets: 10 + }); // Init updaters this.updateInfo(); @@ -54,27 +60,34 @@ class Netstat { if (net.ip4 === "127.0.0.1") { offline = true; } else { - require("https").get({"host": "ipinfo.now.sh", "port": 443, "path": "/"}, (res) => { - let rawData = ""; - res.on("data", (chunk) => { - rawData += chunk; - }); - res.on("end", () => { - try { - this.ipinfo = JSON.parse(rawData); - let ip = this.ipinfo.ip; - document.querySelector("#mod_netstat_innercontainer > div:nth-child(2) > h2").innerHTML = ip; - } catch(e) { - console.warn(e); - console.info(json); - let electron = require("electron"); - electron.ipcRenderer.send("log", "note", "NetStat: Error parsing data from ipinfo.now.sh"); - electron.ipcRenderer.send("log", "debug", `Error: ${e}`); - } + if (this.lastconn._ended) { + this.lastconn = require("https").get({host: "ipinfo.now.sh", port: 443, path: "/", agent: this._httpsAgent}, (res) => { + let rawData = ""; + res.on("data", (chunk) => { + rawData += chunk; + }); + res.on("end", () => { + try { + this.ipinfo = JSON.parse(rawData); + + if (this.ipinfo.api_version !== "2.0.0") console.warn("Warning: ipinfo API version might not be compatible"); + + delete this.ipinfo.api_version; + delete this.ipinfo.time; + let ip = this.ipinfo.ip; + document.querySelector("#mod_netstat_innercontainer > div:nth-child(2) > h2").innerHTML = ip; + } catch(e) { + console.warn(e); + console.info(json); + let electron = require("electron"); + electron.ipcRenderer.send("log", "note", "NetStat: Error parsing data from ipinfo.now.sh"); + electron.ipcRenderer.send("log", "debug", `Error: ${e}`); + } + }); + }).on("error", (e) => { + // Drop it }); - }).on("error", (e) => { - // Drop it - }); + } this.si.inetLatency("1.1.1.1", (data) => { let ping;