Skip to content

Commit

Permalink
Update script.js
Browse files Browse the repository at this point in the history
  • Loading branch information
MrMalekfar authored Dec 15, 2023
1 parent 6fc83bb commit e1dfcaf
Showing 1 changed file with 26 additions and 1 deletion.
27 changes: 26 additions & 1 deletion script.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,27 @@ function startScan() {
testIPs(ips);
}, 50)
}
function getMeanAndVar(arr) {

function getVariance(arr, mean) {
return arr.reduce(function(pre, cur) {
pre = pre + Math.pow((cur - mean), 2);
return pre;
}, 0)
}

var meanTot = arr.reduce(function(pre, cur) {
return pre + cur;
})
var total = getVariance(arr, meanTot / arr.length);

return{
mean: meanTot / arr.length,
variance: Math.sqrt(total / arr.length)
};


}
function processIPs() {
let ips = [];
let regex = null;
Expand Down Expand Up @@ -206,13 +226,18 @@ async function testIPs(ipList) {

if (testResult === 10 && failedAttempts === 0 && MaxofLatencies <= maxLatency) {
numberOfWorkingIPs++;
validIPs.push({ip: ip, latency: MaxofLatencies, numberOfWorkingIPs: numberOfWorkingIPs});
var math = getMeanAndVar(EachFetchLatency);
var arr_mean = math.mean;
var arr_variance = math.variance;
validIPs.push({ip: ip, latency: MaxofLatencies, numberOfWorkingIPs: numberOfWorkingIPs, arr_variance = arr_variance, arr_mean = arr_mean});
const sortedArr = validIPs.sort((a, b) => a.latency - b.latency);
const tableRows = sortedArr.map(obj => `
<tr>
<td>${obj.numberOfWorkingIPs}</td>
<td>${obj.ip}</td>
<td>${obj.arr_variance}</td>
<td>${obj.latency}ms</td>
<td>${obj.arr_mean}</td>
<td>
<button class="btn btn-outline-secondary btn-sm" onclick="copyToClipboard('${obj.ip}')"><img height="16px" src="assets/icon-copy.png" /></button>
</td>
Expand Down

0 comments on commit e1dfcaf

Please sign in to comment.