diff --git a/kickassanimes/kickassanimes.js b/kickassanimes/kickassanimes.js index 90ff82d..807c6fb 100644 --- a/kickassanimes/kickassanimes.js +++ b/kickassanimes/kickassanimes.js @@ -5,13 +5,13 @@ async function searchResults(keyword) { "Content-Type": "application/json" }; try { - const response = await fetchv2("https://kickass-anime.ro/api/search", headers, "POST", postData); + const response = await fetchv2("https://kaa.lt/api/search", headers, "POST", postData); const data = await response.json(); data.forEach(item => { results.push({ title: item.title_en || item.title, - image: `https://kickass-anime.ro/image/poster/${item.poster.hq}.webp`, + image: `https://kaa.lt/image/poster/${item.poster.hq}.webp`, href: `${item.slug}` }); }); @@ -28,28 +28,28 @@ async function searchResults(keyword) { async function extractDetails(slug) { try { - const response = await fetchv2("https://kickass-anime.ro/" + slug); + const response = await fetchv2("https://kaa.lt/" + slug); const html = await response.text(); - const synopsisMatch = html.match(/f\.synopsis\s*=\s*"([^"]*)"/); - const description = synopsisMatch ? synopsisMatch[1] : "N/A"; + const synopsisMatch = html.match(/g\.synopsis\s*=\s*"([^"\\]*(?:\\.[^"\\]*)*)"/); + const description = synopsisMatch ? synopsisMatch[1].replace(/\\n/g, "\n") : "N/A"; - const aliasesMatch = html.match(/f\.title_original\s*=\s*"([^"]*)"/); + const aliasesMatch = html.match(/g\.title_original\s*=\s*"([^"]*)"/); const aliases = aliasesMatch ? aliasesMatch[1] : "N/A"; - const airdateMatch = html.match(/f\.start_date\s*=\s*"([^"]*)"/); - const airdate = airdateMatch ? airdateMatch[1] : "N/A"; + const airdateMatch = html.match(/g\.start_date\s*=\s*"([^"]*)"/); + const airdate = airdateMatch ? airdateMatch[1].split('T')[0] : "N/A"; return JSON.stringify([{ description: description, aliases: aliases, - airdate: airdate + airdate: airdate, }]); } catch (err) { return JSON.stringify([{ description: "Error", aliases: "Error", - airdate: "Error" + airdate: "Error", }]); } } @@ -58,9 +58,9 @@ async function extractEpisodes(slug) { const results = []; try { const cleanSlug = slug.replace("anime/", ""); - const responseEn = await fetchv2(`https://kickass-anime.ro/api/show/${cleanSlug}/episodes?ep=1&page=1&lang=en-US`); + const responseEn = await fetchv2(`https://kaa.lt/api/show/${cleanSlug}/episodes?ep=1&page=1&lang=en-US`); const dataEn = await responseEn.json(); - const responseJa = await fetchv2(`https://kickass-anime.ro/api/show/${cleanSlug}/episodes?ep=1&page=1&lang=ja-JP`); + const responseJa = await fetchv2(`https://kaa.lt/api/show/${cleanSlug}/episodes?ep=1&page=1&lang=ja-JP`); const dataJa = await responseJa.json(); const enMap = {}; @@ -72,7 +72,7 @@ async function extractEpisodes(slug) { const enSlug = enMap[episode.episode_number]; const hrefSlug = enSlug ? `${enSlug}|${episode.slug}` : episode.slug; results.push({ - href: `https://kickass-anime.ro/${cleanSlug}/ep-${episode.episode_number}-${hrefSlug}`, + href: `https://kaa.lt/${cleanSlug}/ep-${episode.episode_number}-${hrefSlug}`, number: episode.episode_number }); }); @@ -125,7 +125,7 @@ async function extractStreamUrl(url) { let enDetails = null; if (enSlug) { - const enUrl = `https://kickass-anime.ro/${cleanSlug}/ep-${number}-${enSlug}`; + const enUrl = `https://kaa.lt/${cleanSlug}/ep-${number}-${enSlug}`; const src = await fetchSrc(enUrl); if (src) { enDetails = await fetchDetails(src); @@ -141,7 +141,7 @@ async function extractStreamUrl(url) { } } - const jaUrl = `https://kickass-anime.ro/${cleanSlug}/ep-${number}-${jaSlug}`; + const jaUrl = `https://kaa.lt/${cleanSlug}/ep-${number}-${jaSlug}`; const jaSrc = await fetchSrc(jaUrl); let subtitle = "https://placeholder.com/subtitles.vtt"; if (jaSrc) {