diff options
author | ManeraKai <manerakai@protonmail.com> | 2023-02-08 01:41:32 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2023-02-08 01:41:38 +0300 |
commit | 4983a7ad9f53f10a1b938b83b36bb0594ba4f295 (patch) | |
tree | b855d320c37acf9a587f159be7d51ec8b8eedd4c /src/pages/options/index.js | |
parent | 2.5.3 => 2.5.2 (diff) | |
download | libredirect-4983a7ad9f53f10a1b938b83b36bb0594ba4f295.zip |
Re-added Test Latency in a better implementation https://github.com/libredirect/libredirect/issues/605
Diffstat (limited to 'src/pages/options/index.js')
-rw-r--r-- | src/pages/options/index.js | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/src/pages/options/index.js b/src/pages/options/index.js index a68fa718..18fb120f 100644 --- a/src/pages/options/index.js +++ b/src/pages/options/index.js @@ -90,6 +90,11 @@ async function loadPage(path) { for (const frontend in config.services[service].frontends) { if (config.services[service].frontends[frontend].instanceList) { processCustomInstances(frontend, document) + document.getElementById(`ping-${frontend}`).addEventListener("click", async () => { + document.getElementById(`ping-${frontend}`).getElementsByTagName('x')[0].innerHTML = "Pinging..." + await ping(frontend) + document.getElementById(`ping-${frontend}`).getElementsByTagName('x')[0].innerHTML = "Ping instances" + }) } } @@ -228,4 +233,44 @@ function createList(frontend, networks, document, redirects, blacklist) { const r = window.location.href.match(/#(.*)/) if (r) loadPage(r[1]) -else loadPage("general") \ No newline at end of file +else loadPage("general") + +async function ping(frontend) { + let instanceElements = document.getElementById(frontend) + .getElementsByClassName('clearnet')[0] + .getElementsByTagName('x') + for (const element of instanceElements) { + let span = element.getElementsByTagName('span')[0] + if (!span) span = document.createElement('span') + span.innerHTML = '<span style="color:lightblue">pinging...</span>' + element.appendChild(span) + + const href = element.getElementsByTagName('a')[0].href + let time = await utils.ping(href) + + let color + let text + + if (time < 5000) { + text = `${time}ms` + if (time <= 1000) { color = "green" } + else if (time <= 2000) color = "orange" + } + else if (time >= 5000) { + color = "red" + if (time == 5000) { + text = "5000ms+" + } + if (time > 5000) { + text = `Error: ${time - 5000}` + } + } + else { + color = "red" + text = 'Server not found' + } + + span.innerHTML = `<span style="color:${color};">${text}</span>` + + } +} \ No newline at end of file |