1
0
forked from 50n50/sources

Update kickassanimes/kickassanimes.js

This commit is contained in:
aka paul
2026-02-08 15:59:39 +00:00
parent 3e0ffb51d0
commit b6ebc52403
+15 -15
View File
@@ -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) {