mirror of
https://github.com/mdtahseen7/AnimepaheApi.git
synced 2026-04-17 16:11:44 +00:00
Added Referes
This commit is contained in:
@@ -215,10 +215,15 @@ class AnimePahe {
|
||||
/**
|
||||
* Resolve Kwik URL to M3U8 streaming URL
|
||||
* @param {string} kwikUrl - Kwik page URL
|
||||
* @returns {Promise<string>} M3U8 streaming URL
|
||||
* @returns {Promise<Object>} Object with m3u8 URL and required referer headers
|
||||
*/
|
||||
async resolveKwikWithNode(kwikUrl) {
|
||||
try {
|
||||
// Extract referer from kwik URL
|
||||
const kwikUrlObj = new URL(kwikUrl);
|
||||
const kwikReferer = `${kwikUrlObj.protocol}//${kwikUrlObj.host}/`;
|
||||
const kwikOrigin = `${kwikUrlObj.protocol}//${kwikUrlObj.host}`;
|
||||
|
||||
// Fetch Kwik page
|
||||
const html = await cloudscraper.get(kwikUrl, {
|
||||
headers: this.getHeaders(),
|
||||
@@ -228,7 +233,7 @@ class AnimePahe {
|
||||
// Check for direct M3U8 URL in HTML
|
||||
const directM3u8 = extractM3U8FromText(html);
|
||||
if (directM3u8) {
|
||||
return directM3u8;
|
||||
return { m3u8: directM3u8, referer: kwikReferer, origin: kwikOrigin };
|
||||
}
|
||||
|
||||
// Extract script blocks containing eval()
|
||||
@@ -267,7 +272,7 @@ class AnimePahe {
|
||||
const dataSrcPattern = /data-src="([^"]+\.m3u8[^"]*)"/;
|
||||
const dataSrcMatch = html.match(dataSrcPattern);
|
||||
if (dataSrcMatch) {
|
||||
return dataSrcMatch[1];
|
||||
return { m3u8: dataSrcMatch[1], referer: kwikReferer, origin: kwikOrigin };
|
||||
}
|
||||
throw new Error('No candidate <script> block found to evaluate');
|
||||
}
|
||||
@@ -304,7 +309,7 @@ ${transformedScript}
|
||||
// Extract M3U8 from output
|
||||
const m3u8FromOutput = extractM3U8FromText(nodeOutput);
|
||||
if (m3u8FromOutput) {
|
||||
return m3u8FromOutput;
|
||||
return { m3u8: m3u8FromOutput, referer: kwikReferer, origin: kwikOrigin };
|
||||
}
|
||||
|
||||
throw new Error(`Could not resolve .m3u8. Node output (first 2000 chars):\n${nodeOutput.substring(0, 2000)}`);
|
||||
|
||||
Reference in New Issue
Block a user