diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-06-10 21:03:38 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-06-10 21:03:48 +0300 |
commit | fd844da5e048d6ff476f41a4300ac502172639f5 (patch) | |
tree | 5a7bf802d8328bfc3e60ee18afdb0199d338b6fe /src/assets | |
parent | Supporting more cookie settings for nitter #325 (diff) | |
download | libredirect-fd844da5e048d6ff476f41a4300ac502172639f5.zip |
Added Switch Instance to proxiTok & fixed instance fetching for it #326
Diffstat (limited to '')
-rw-r--r-- | src/assets/javascripts/tiktok.js | 27 | ||||
-rw-r--r-- | src/assets/javascripts/utils.js | 1 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/assets/javascripts/tiktok.js b/src/assets/javascripts/tiktok.js index 50347a93..f8436a12 100644 --- a/src/assets/javascripts/tiktok.js +++ b/src/assets/javascripts/tiktok.js @@ -137,6 +137,32 @@ function reverse(url) { }) } +function switchInstance(url) { + return new Promise(async resolve => { + await init(); + let protocolHost = utils.protocolHost(url); + const all = [ + ...tiktokRedirects.proxiTok.tor, + ...tiktokRedirects.proxiTok.normal, + + ...proxiTokNormalCustomRedirects, + ...proxiTokTorCustomRedirects, + ]; + if (!all.includes(protocolHost)) { resolve(); return; } + + let instancesList; + if (tiktokProtocol == 'normal') instancesList = [...proxiTokNormalCustomRedirects, ...proxiTokNormalRedirectsChecks]; + else if (tiktokProtocol == 'tor') instancesList = [...proxiTokTorCustomRedirects, ...proxiTokTorRedirectsChecks]; + + const i = instancesList.indexOf(protocolHost); + if (i > -1) instancesList.splice(i, 1); + if (instancesList.length === 0) { resolve(); return; } + + const randomInstance = utils.getRandomInstance(instancesList); + resolve(`${randomInstance}${url.pathname}${url.search}`); + }) + } + function initDefaults() { return new Promise(async resolve => { fetch('/instances/data.json').then(response => response.text()).then(async data => { @@ -163,6 +189,7 @@ export default { redirect, reverse, + switchInstance, initProxiTokCookies, pasteProxiTokCookies, diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index 65bc67d0..113f4e2c 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -443,6 +443,7 @@ function switchInstance(test) { if (!newUrl) newUrl = await searchHelper.switchInstance(url); if (!newUrl) newUrl = await translateHelper.switchInstance(url); if (!newUrl) newUrl = await mediumHelper.switchInstance(url); + if (!newUrl) newUrl = await tiktokHelper.switchInstance(url); if (!newUrl) newUrl = await sendTargetsHelper.switchInstance(url); if (!newUrl) newUrl = await peertubeHelper.switchInstance(url); if (!newUrl) newUrl = await lbryHelper.switchInstance(url); |