Added Referes

This commit is contained in:
Md Tahseen Hussain
2026-03-08 15:08:16 +05:30
parent 3cb2dfbc10
commit 96eeca7b49
2 changed files with 34 additions and 16 deletions

View File

@@ -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)}`);