diff options
author | Hygna <hygna@proton.me> | 2022-10-04 19:10:07 +0100 |
---|---|---|
committer | Hygna <hygna@proton.me> | 2022-10-04 19:10:07 +0100 |
commit | c87bbba349ced5cbc5d9559fbf8af88f9557ad24 (patch) | |
tree | c8289fd3f245ee365310731f36b66be5405acd39 /src/assets/javascripts/services.js | |
parent | Merge branch 'optimizations' (diff) | |
download | libredirect-c87bbba349ced5cbc5d9559fbf8af88f9557ad24.zip |
Ported 87d68cb662
Diffstat (limited to 'src/assets/javascripts/services.js')
-rw-r--r-- | src/assets/javascripts/services.js | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index afd7906f..eed1e6c6 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -140,13 +140,23 @@ function redirect(url, type, initiator) { case "send": return randomInstance case "nitter": + let search = new URLSearchParams(url.search) + + search.delete("ref_src") + search.delete("ref_url") + + search = search.toString() + if (search !== "") search = `?${search}` + if (url.host.split(".")[0] === "pbs" || url.host.split(".")[0] === "video") { const [, id, format, extra] = url.search.match(/(.*)\?format=(.*)&(.*)/) const query = encodeURIComponent(`${id}.${format}?${extra}`) - return `${randomInstance}/pic${url.pathname}${query}` - } else if (url.pathname.split("/").includes("tweets")) return `${randomInstance}${url.pathname.replace("/tweets", "")}${url.search}` - else if (url.host == "t.co") return `${randomInstance}/t.co${url.pathname}` - else return `${randomInstance}${url.pathname}${url.search}` + return `${randomInstance}/pic${search}${query}` + } + + if (url.pathname.split("/").includes("tweets")) return `${randomInstance}${url.pathname.replace("/tweets", "")}${search}` + if (url.host == "t.co") return `${randomInstance}/t.co${url.pathname}` + return `${randomInstance}${url.pathname}${search}` case "yattee": return url.href.replace(/^https?:\/{2}/, "yattee://") case "freetube": |