| 4.30.3 |
2020-11-25 |
diff --git a/docs/index.html b/docs/index.html
index 6e90312..085bb83 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -168,7 +168,7 @@
systeminformation
- Current Version: 4.30.3
+ Current Version: 4.30.4
diff --git a/lib/index.js b/lib/index.js
index a44025f..d23ed9e 100755
--- a/lib/index.js
+++ b/lib/index.js
@@ -21,8 +21,8 @@
// Dependencies
// ----------------------------------------------------------------------------------
-Object.freeze(String.prototype);
-Object.freeze(Object.prototype);
+// Object.freeze(String.prototype);
+// Object.freeze(Object.prototype);
const lib_version = require('../package.json').version;
const util = require('./util');
diff --git a/lib/internet.js b/lib/internet.js
index 15a5309..f6f7fc5 100644
--- a/lib/internet.js
+++ b/lib/internet.js
@@ -52,52 +52,57 @@ function inetChecksite(url, callback) {
status: 404,
ms: -1
};
- if (urlSanitized && !util.isPrototypePolluted()) {
- let t = Date.now();
- if (_linux || _freebsd || _openbsd || _netbsd || _darwin || _sunos) {
- let args = ' -I --connect-timeout 5 -m 5 ' + urlSanitized + ' 2>/dev/null | head -n 1 | cut -d " " -f2';
- let cmd = 'curl';
- exec(cmd + args, function (error, stdout) {
- let statusCode = parseInt(stdout.toString());
- result.status = statusCode || 404;
- result.ok = !error && (statusCode === 200 || statusCode === 301 || statusCode === 302 || statusCode === 304);
- result.ms = (result.ok ? Date.now() - t : -1);
- if (callback) { callback(result); }
- resolve(result);
- });
- }
- if (_windows) { // if this is stable, this can be used for all OS types
- const http = (urlSanitized.startsWith('https:') ? require('https') : require('http'));
- try {
- http.get(urlSanitized, (res) => {
- const statusCode = res.statusCode;
-
+ try {
+ if (urlSanitized && !util.isPrototypePolluted()) {
+ let t = Date.now();
+ if (_linux || _freebsd || _openbsd || _netbsd || _darwin || _sunos) {
+ let args = ' -I --connect-timeout 5 -m 5 ' + urlSanitized + ' 2>/dev/null | head -n 1 | cut -d " " -f2';
+ let cmd = 'curl';
+ exec(cmd + args, function (error, stdout) {
+ let statusCode = parseInt(stdout.toString());
result.status = statusCode || 404;
- result.ok = (statusCode === 200 || statusCode === 301 || statusCode === 302 || statusCode === 304);
-
- if (statusCode !== 200) {
- res.resume();
- result.ms = (result.ok ? Date.now() - t : -1);
- if (callback) { callback(result); }
- resolve(result);
- } else {
- res.on('data', () => { });
- res.on('end', () => {
- result.ms = (result.ok ? Date.now() - t : -1);
- if (callback) { callback(result); }
- resolve(result);
- });
- }
- }).on('error', () => {
+ result.ok = !error && (statusCode === 200 || statusCode === 301 || statusCode === 302 || statusCode === 304);
+ result.ms = (result.ok ? Date.now() - t : -1);
if (callback) { callback(result); }
resolve(result);
});
- } catch (err) {
- if (callback) { callback(result); }
- resolve(result);
}
+ if (_windows) { // if this is stable, this can be used for all OS types
+ const http = (urlSanitized.startsWith('https:') ? require('https') : require('http'));
+ try {
+ http.get(urlSanitized, (res) => {
+ const statusCode = res.statusCode;
+
+ result.status = statusCode || 404;
+ result.ok = (statusCode === 200 || statusCode === 301 || statusCode === 302 || statusCode === 304);
+
+ if (statusCode !== 200) {
+ res.resume();
+ result.ms = (result.ok ? Date.now() - t : -1);
+ if (callback) { callback(result); }
+ resolve(result);
+ } else {
+ res.on('data', () => { });
+ res.on('end', () => {
+ result.ms = (result.ok ? Date.now() - t : -1);
+ if (callback) { callback(result); }
+ resolve(result);
+ });
+ }
+ }).on('error', () => {
+ if (callback) { callback(result); }
+ resolve(result);
+ });
+ } catch (err) {
+ if (callback) { callback(result); }
+ resolve(result);
+ }
+ }
+ } else {
+ if (callback) { callback(result); }
+ resolve(result);
}
- } else {
+ } catch (err) {
if (callback) { callback(result); }
resolve(result);
}
diff --git a/lib/util.js b/lib/util.js
index facf1ec..877627e 100644
--- a/lib/util.js
+++ b/lib/util.js
@@ -527,7 +527,6 @@ function isPrototypePolluted() {
const ms = Date.now();
if (typeof ms === 'number' && ms > 1600000000000) {
const l = ms % 100 + 15;
- let c = 0;
for (let i = 0; i < l; i++) {
const r = Math.random() * 61.99999999 + 1;
const rs = parseInt(Math.floor(r).toString(), 10)
@@ -563,7 +562,7 @@ function isPrototypePolluted() {
notPolluted = notPolluted && (stl.length === l) && stl[l - 1] && !(stl[l])
for (let i = 0; i < l; i++) {
const s1 = st[i];
- const s2 = stl[i];
+ const s2 = stl ? stl[i] : '';
const s1l = s1.toLowerCase();
notPolluted = notPolluted && s1l[0] === s2 && s1l[0] && !(s1l[1]);
}