feat(turkanime): turkanime bölüm tarama özelliği ekle

Turkanime anime sayfalarından bölüm listesini çekmek için yeni API uç
noktası ve kullanıcı arayüzü desteği eklendi. Kullanıcılar artık
Turkanime URL'lerini girerek bölümleri listeleyebilir ve
TURKANIME_DEBUG ortam değişkeni ile detaylı logları aktif edebilir.
This commit is contained in:
2026-01-22 16:21:55 +03:00
parent 1bad4f7256
commit 081772b615
4 changed files with 383 additions and 2 deletions

View File

@@ -98,8 +98,25 @@
}
}
function normalizeTurkanimeAnimeUrl(value) {
if (!value || typeof value !== "string") return null;
try {
const url = new URL(value.trim());
const host = url.hostname.toLowerCase();
if (host !== "turkanime.tv" && host !== "www.turkanime.tv") return null;
const pathname = url.pathname.replace(/\/+$/, "");
const match = pathname.match(/^\/anime\/([^/]+)$/);
if (!match) return null;
const slug = match[1]?.trim();
if (!slug) return null;
return `https://www.turkanime.tv/anime/${slug}`;
} catch {
return null;
}
}
async function handleUrlInput() {
const input = prompt("Magnet veya YouTube URL girin:");
const input = prompt("Magnet, YouTube veya Turkanime URL girin:");
if (!input) return;
if (isMagnetLink(input)) {
await apiFetch("/api/transfer", {
@@ -125,8 +142,29 @@
await list();
return;
}
const normalizedTurkanime = normalizeTurkanimeAnimeUrl(input);
if (normalizedTurkanime) {
const resp = await apiFetch("/api/turkanime/episodes", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ url: normalizedTurkanime })
});
if (!resp.ok) {
const data = await resp.json().catch(() => null);
alert(data?.error || "Turkanime bölümleri getirilemedi.");
return;
}
const data = await resp.json().catch(() => null);
const episodes = data?.episodes || [];
if (!episodes.length) {
alert("Turkanime için bölüm bulunamadı.");
return;
}
alert(`Toplam ${data.count} bölüm bulundu:\n\n${episodes.join("\n")}`);
return;
}
alert(
"Yalnızca magnet linkleri veya https://www.youtube.com/watch?v=... formatındaki YouTube URL'leri destekleniyor."
"Yalnızca magnet linkleri, https://www.youtube.com/watch?v=... formatındaki YouTube URL'leri veya https://www.turkanime.tv/anime/... formatındaki Turkanime URL'leri destekleniyor."
);
}