diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-04-16 16:06:32 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-04-16 16:06:32 +0300 |
commit | d308102880553b955f74e785032cec5c2b009116 (patch) | |
tree | dc023f52420f4c633785def94a67e49e8b7e0e21 /src/assets | |
parent | Updated README (diff) | |
download | libredirect-d308102880553b955f74e785032cec5c2b009116.zip |
Added cloudflare detection #99
Diffstat (limited to 'src/assets')
-rw-r--r-- | src/assets/javascripts/helpers/common.js | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js index 6dd0e7fb..287604d2 100644 --- a/src/assets/javascripts/helpers/common.js +++ b/src/assets/javascripts/helpers/common.js @@ -15,6 +15,16 @@ function getRandomInstance(instances) { return instances[~~(instances.length * Math.random())]; } +let cloudflareList = []; +async function initCloudflareList() { + return new Promise(resolve => { + fetch('/instances/cloudflare.json').then(response => response.text()).then(data => { + console.log(data); + cloudflareList = data; + resolve(); + }) + }); +} async function wholeInit() { await youtubeHelper.init(); await twitterHelper.init(); @@ -26,6 +36,7 @@ async function wholeInit() { await mediumHelper.init(); await sendTargetsHelper.init(); await tikTokHelper.init(); + await initCloudflareList(); } async function updateInstances() { @@ -79,7 +90,9 @@ function protocolHost(url) { return `${url.protocol}//${url.host}`; } -function processDefaultCustomInstances( + + +async function processDefaultCustomInstances( name, protocol, nameHelper, @@ -95,6 +108,8 @@ function processDefaultCustomInstances( let nameCheckListElement = nameProtocolElement.getElementsByClassName('checklist')[0]; let nameDefaultRedirects; + await initCloudflareList(); + function calcNameCheckBoxes() { let isTrue = true; for (const item of nameHelper.getRedirects()[name][protocol]) @@ -109,10 +124,11 @@ function processDefaultCustomInstances( nameDefaultRedirects = getNameRedirectsChecks(); + console.log('cloudflareList', cloudflareList) nameCheckListElement.innerHTML = [ `<div><x data-localise="__MSG_toggleAll__">Toggle All</x><input type="checkbox" class="toogle-all" /></div>`, - ...nameHelper.getRedirects()[name][protocol].map((x) => `<div>${x}<input type="checkbox" class="${x}" /></div>`), + ...nameHelper.getRedirects()[name][protocol].map(x => `<div><x>${x}${cloudflareList.includes(x) ? ' <span style="color:red;">cloudflare</span>' : ''}</x><input type="checkbox" class="${x}" /></div>`), ].join('\n<hr>\n'); localise.localisePage(); |