extension(NetMirror): update prime extraction logic

This commit is contained in:
Swakshan
2025-04-01 13:34:48 +05:30
parent 00439472ef
commit 4cab124c02

View File

@@ -7,7 +7,7 @@ const mangayomiSources = [{
"iconUrl": "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/all.netflixmirror.png", "iconUrl": "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/all.netflixmirror.png",
"typeSource": "single", "typeSource": "single",
"itemType": 1, "itemType": 1,
"version": "0.2.0", "version": "0.2.1",
"pkgPath": "anime/src/all/netflixmirror.js" "pkgPath": "anime/src/all/netflixmirror.js"
}]; }];
@@ -118,7 +118,7 @@ class DefaultExtension extends MProvider {
async getDetail(url) { async getDetail(url) {
var service = this.getServiceDetails(); var service = this.getServiceDetails();
const cookie = await this.getCookie(); const cookie = await this.getCookie();
var name_pref = this.getPreference("netmirror_pref_display_name_1");
const data = JSON.parse(await this.request(`/post.php?id=${url}`, cookie)); const data = JSON.parse(await this.request(`/post.php?id=${url}`, cookie));
const name = data.title; const name = data.title;
const genre = [data.ua, ...(data.genre || '').split(',').map(g => g.trim())]; const genre = [data.ua, ...(data.genre || '').split(',').map(g => g.trim())];
@@ -153,7 +153,7 @@ class DefaultExtension extends MProvider {
if (service === "pv") link = `https://www.primevideo.com/detail/${url}` if (service === "pv") link = `https://www.primevideo.com/detail/${url}`
return { return {
name: name_pref ? name : null, imageUrl: this.getPoster(url, service), link, description, status: 1, genre, episodes name, imageUrl: this.getPoster(url, service), link, description, status: 1, genre, episodes
}; };
} }
async getEpisodes(name, eid, sid, page, cookie) { async getEpisodes(name, eid, sid, page, cookie) {
@@ -201,19 +201,28 @@ class DefaultExtension extends MProvider {
} }
async getVideoList(url) { async getVideoList(url) {
var slug = ""
var src = this.getPreference("netmirror_pref_stream_extraction"); var src = this.getPreference("netmirror_pref_stream_extraction");
var baseUrl = src === 'tv' ? this.getTVBaseUrl() : this.getMobileBaseUrl()
var service = this.getServiceDetails(); var service = this.getServiceDetails();
var slug = "/mobile"
if (service === "nf" && src === 'tv') slug = "/tv"; // prime extracton works only in mobile
url = baseUrl + slug + `/playlist.php?id=${url}` if (service == "pv") {
slug = "/pv"
src = "mobile"
}
var device = "/mobile"
if (src == 'tv') device = "/tv";
var baseUrl = src === 'tv' ? this.getTVBaseUrl() : this.getMobileBaseUrl()
url = baseUrl + device + slug + `/playlist.php?id=${url}`
const data = JSON.parse(await this.request(url)); const data = JSON.parse(await this.request(url));
let videoList = []; let videoList = [];
let subtitles = []; let subtitles = [];
let audios = []; let audios = [];
for (const playlist of data) { for (const playlist of data) {
var source = playlist.sources[0] var source = playlist.sources[0]
var link = baseUrl.replace(slug, "") + source.file; var link = baseUrl + source.file;
var headers = var headers =
{ {
'Origin': baseUrl, 'Origin': baseUrl,