vxtwitter support

- moved out host overrides to its own file
- added mastodon verification
This commit is contained in:
wukko
2023-08-20 16:11:16 +06:00
parent 8304499ce7
commit a8cbebd240
6 changed files with 67 additions and 28 deletions

View File

@@ -6,6 +6,7 @@ import { cleanURL, apiJSON } from "./sub/utils.js";
import { errorUnsupported } from "./sub/errors.js";
import loc from "../localization/manager.js";
import match from "./processing/match.js";
import hostOverrides from "./processing/hostOverrides.js";
export async function getJSON(originalURL, lang, obj) {
try {
@@ -15,32 +16,10 @@ export async function getJSON(originalURL, lang, obj) {
if (!url.startsWith('https://')) return apiJSON(0, { t: errorUnsupported(lang) });
switch(host) {
case "youtu":
if (url.startsWith("https://youtu.be/")) {
host = "youtube";
url = `https://youtube.com/watch?v=${url.replace("https://youtu.be/", "")}`;
}
break;
case "goo":
if (url.substring(0, 30) === "https://soundcloud.app.goo.gl/") {
host = "soundcloud";
url = `https://soundcloud.com/${url.replace("https://soundcloud.app.goo.gl/", "").split('/')[0]}`
}
break;
case "x":
if (url.startsWith("https://x.com/")) {
host = "twitter";
url = url.replace("https://x.com/", "https://twitter.com/")
}
break;
case "tumblr":
if (!url.includes("blog/view")) {
if (url.slice(-1) === '/') url = url.slice(0, -1);
url = url.replace(url.split('/')[5], '')
}
break;
}
let overrides = hostOverrides(host, url);
host = overrides.host;
url = overrides.url;
if (!(host && host.length < 20 && host in patterns && patterns[host]["enabled"])) return apiJSON(0, { t: errorUnsupported(lang) });
let pathToMatch = cleanURL(url, host).split(`.${patterns[host]['tld'] ? patterns[host]['tld'] : "com"}/`)[1].replace('.', '');