fix
Fetch and Save Remote Content / fetch (push) Successful in 24s
Sync Versions to index.json / sync-versions (push) Successful in 38s

This commit is contained in:
aka paul
2026-05-10 13:32:22 +02:00
parent aa56034bf7
commit c4fccf85bd
9 changed files with 298 additions and 52 deletions
+43 -31
View File
@@ -243,41 +243,53 @@ async function extractStreamUrl(url) {
const streams = [];
if (m3u8Link) {
streams.push({
title: "Auto",
streamUrl: "https://1anime.app/api/m3u8-proxy?url=" + m3u8Link
});
}
/*
const m3u8Response = await fetchv2("https://1anime.app/api/m3u8-proxy?url=" + encodeURIComponent(m3u8Link));
const m3u8Text = await m3u8Response.text();
const baseUrl = m3u8Link.substring(0, m3u8Link.lastIndexOf('/') + 1);
const streams = [];
const lines = m3u8Text.split('\n');
for (let i = 0; i < lines.length; i++) {
const line = lines[i].trim();
if (line.startsWith('#EXT-X-STREAM-INF:')) {
const resolutionMatch = line.match(/RESOLUTION=(\d+x\d+)/);
let quality = 'Unknown';
let pushedQualities = 0;
try {
const m3u8Response = await fetchv2("https://1anime.app/api/m3u8-proxy?url=" + encodeURIComponent(m3u8Link));
const m3u8Text = await m3u8Response.text();
const lines = m3u8Text.split('\n');
if (resolutionMatch) {
const [width, height] = resolutionMatch[1].split('x');
quality = `${height}p`;
}
if (i + 1 < lines.length) {
const streamPath = lines[i + 1].trim();
streams.push({
title: quality,
streamUrl: "https://1anime.app/api/m3u8-proxy?url=" + encodeURIComponent(baseUrl + streamPath)
});
for (let i = 0; i < lines.length; i++) {
const line = lines[i].trim();
if (line.startsWith('#EXT-X-STREAM-INF:')) {
const resolutionMatch = line.match(/RESOLUTION=(\d+x\d+)/);
let quality = 'Unknown';
if (resolutionMatch) {
const [width, height] = resolutionMatch[1].split('x');
quality = `${height}p`;
}
if (i + 1 < lines.length) {
let streamPath = lines[i + 1].trim();
let absolutePath;
if (streamPath.startsWith('/api/')) {
absolutePath = 'https://1anime.app' + streamPath;
} else if (streamPath.startsWith('http')) {
absolutePath = "https://1anime.app/api/m3u8-proxy?url=" + encodeURIComponent(streamPath);
} else {
const baseUrl = m3u8Link.substring(0, m3u8Link.lastIndexOf('/') + 1);
absolutePath = "https://1anime.app/api/m3u8-proxy?url=" + encodeURIComponent(baseUrl + streamPath);
}
streams.push({
title: quality,
streamUrl: absolutePath
});
pushedQualities++;
}
}
}
} catch (e) {
console.log("Failed to extract qualities:", e);
}
if (pushedQualities === 0) {
streams.push({
title: "Source",
streamUrl: "https://1anime.app/api/m3u8-proxy?url=" + encodeURIComponent(m3u8Link)
});
}
}
*/
const returnValue = {
streams: streams,
subtitles: englishSubUrl !== "N/A" ? englishSubUrl : ""
+1 -1
View File
@@ -5,7 +5,7 @@
"name": "50/50",
"icon": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ3122kQwublLkZ6rf1fEpUP79BxZOFmH9BSA&s"
},
"version": "1.2.4",
"version": "1.2.5",
"language": "English",
"streamType": "HLS",
"quality": "1080p",