about summary refs log tree commit diff stats
path: root/src/assets
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2024-09-03 21:57:18 +0300
committerManeraKai <manerakai@protonmail.com>2024-09-03 21:57:18 +0300
commit51686a395eee7e3d325a86ee69b19f0f732bd547 (patch)
tree3704265b0360c4d9b4c71b35f1c8cec3a11ff01b /src/assets
parentTranslated using Weblate (Russian) (diff)
downloadlibredirect-51686a395eee7e3d325a86ee69b19f0f732bd547.zip
Fixing bugs
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/javascripts/services.js38
1 files changed, 14 insertions, 24 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index 243f0598..d19d8aa2 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -66,7 +66,6 @@ function rewrite(url, originUrl, frontend, randomInstance) {
     case "searx":
     case "searxng":
       for (const key of [...url.searchParams.keys()]) if (key !== "q") url.searchParams.delete(key)
-      console.log(url.searchParams)
       return `${randomInstance}/${url.search}`
     case "whoogle":
       for (const key of [...url.searchParams.keys()]) if (key !== "q") url.searchParams.delete(key)
@@ -658,7 +657,7 @@ function computeService(url) {
         return
       } else {
         for (const frontend in config.services[service].frontends) {
-          if (all(service, frontend, options, config).includes(utils.protocolHost(url))) {
+          if (all(service, frontend, options, config).findIndex(instance => url.href.startsWith(instance)) >= 0) {
             return resolve(service)
           }
         }
@@ -670,8 +669,8 @@ function computeService(url) {
 export function computeFrontend(url) {
   for (const service in config.services) {
     for (const frontend in config.services[service].frontends) {
-      if (all(service, frontend, options, config).includes(utils.protocolHost(url))) {
-        return {service, frontend}
+      if (all(service, frontend, options, config).findIndex(instance => url.href.startsWith(instance)) >= 0) {
+        return { service, frontend }
       }
     }
   }
@@ -692,25 +691,20 @@ function switchInstance(url, customService) {
       if (instancesList !== undefined) {
         const newInstance = utils.getNextInstance(url.origin, instancesList)
         if (newInstance) {
-          resolve(`${newInstance}${url.pathname}${url.search}`)
-          return
+          return resolve(`${newInstance}${url.pathname}${url.search}`)
         }
       }
     } else {
       for (const service in config.services) {
         let instancesList = options[options[service].frontend]
         if (instancesList === undefined) continue
-        if (!instancesList.includes(protocolHost)) continue
-
-        instancesList.splice(instancesList.indexOf(protocolHost), 1)
-        if (instancesList.length === 0) {
-          resolve()
-          return
-        }
+        const index = instancesList.findIndex(instance => url.href.startsWith(instance))
+        if (index < 0) continue
+        instancesList.splice(index, 1)
+        if (instancesList.length === 0) return resolve()
         const newInstance = utils.getNextInstance(url.origin, instancesList)
         if (newInstance) {
-          resolve(`${newInstance}${url.pathname}${url.search}`)
-          return
+          return resolve(`${newInstance}${url.pathname}${url.search}`)
         }
       }
     }
@@ -724,11 +718,14 @@ function switchInstance(url, customService) {
 async function reverse(url) {
   let options = await utils.getOptions()
   let config = await utils.getConfig()
-  let protocolHost = utils.protocolHost(url)
   for (const service in config.services) {
     let frontend = options[service].frontend
     if (options[frontend] == undefined) continue
-    if (!options[frontend].includes(protocolHost) && protocolHost != `http://${frontend}.localhost:8080`) continue
+    if (
+      options[frontend].findIndex(instance => url.href.startsWith(instance)) < 0 &&
+      !url.href.startsWith(`http://${frontend}.localhost:8080`)
+    )
+      continue
     switch (service) {
       case "youtube":
       case "imdb":
@@ -776,7 +773,6 @@ async function reverse(url) {
 }
 
 const defaultInstances = {
-  // invidious: ["https://inv.vern.cc"],
   materialious: ["https://app.materialio.us"],
   viewtube: ["https://viewtube.io"],
   piped: ["https://pipedapi-libre.kavin.rocks"],
@@ -786,8 +782,6 @@ const defaultInstances = {
   poketube: ["https://poketube.fun"],
   proxiTok: ["https://proxitok.pabloferreiro.es"],
   redlib: ["https://safereddit.com"],
-  libreddit: ["https://libreddit.spike.codes"],
-  teddit: ["https://teddit.net"],
   eddrit: ["https://eddrit.com"],
   scribe: ["https://scribe.rip"],
   libMedium: ["https://md.vern.cc"],
@@ -807,15 +801,11 @@ const defaultInstances = {
   intellectual: ["https://intellectual.insprill.net"],
   ruralDictionary: ["https://rd.vern.cc"],
   anonymousOverflow: ["https://code.whatever.social"],
-  biblioReads: ["https://biblioreads.ml"],
-  wikiless: ["https://wikiless.org"],
   suds: ["https://sd.vern.cc"],
   unfunny: ["https://uf.vern.cc"],
   soprano: ["https://sp.vern.cc"],
   meme: ["https://mm.vern.cc"],
   waybackClassic: ["https://wayback-classic.net"],
-  gothub: ["https://gh.odyssey346.dev"],
-  mikuInvidious: ["https://mikuinv.resrv.org"],
   tent: ["https://tent.sny.sh"],
   wolfreeAlpha: ["https://gqq.gitlab.io", "https://uqq.gitlab.io"],
   laboratory: ["https://lab.vern.cc"],