mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-17 12:20:28 +00:00
Merge pull request #146 from Swakshan/extension/netmirror
Update: Netmirror
This commit is contained in:
@@ -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.1.3",
|
"version": "0.1.5",
|
||||||
"pkgPath": "anime/src/all/netflixmirror.js"
|
"pkgPath": "anime/src/all/netflixmirror.js"
|
||||||
}];
|
}];
|
||||||
|
|
||||||
@@ -193,9 +193,11 @@ class DefaultExtension extends MProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getVideoList(url) {
|
async getVideoList(url) {
|
||||||
var baseUrl = this.getTVApi()
|
var src = this.getPreference("netmirror_pref_stream_extraction");
|
||||||
|
|
||||||
|
var baseUrl = src === 'tv' ? this.getTVApi() : this.source.baseUrl
|
||||||
var service = this.getServiceDetails();
|
var service = this.getServiceDetails();
|
||||||
if (service === "nf") baseUrl += "/tv";
|
if (service === "nf" && src === 'tv') baseUrl += "/tv";
|
||||||
|
|
||||||
const data = JSON.parse(await this.request(`/playlist.php?id=${url}`));
|
const data = JSON.parse(await this.request(`/playlist.php?id=${url}`));
|
||||||
let videoList = [];
|
let videoList = [];
|
||||||
@@ -214,6 +216,9 @@ class DefaultExtension extends MProvider {
|
|||||||
|
|
||||||
if (resp.statusCode === 200) {
|
if (resp.statusCode === 200) {
|
||||||
const masterPlaylist = resp.body;
|
const masterPlaylist = resp.body;
|
||||||
|
|
||||||
|
if (masterPlaylist.indexOf("#EXT-X-STREAM-INF:") > 1) {
|
||||||
|
|
||||||
masterPlaylist.substringAfter('#EXT-X-MEDIA:').split('#EXT-X-MEDIA:').forEach(it => {
|
masterPlaylist.substringAfter('#EXT-X-MEDIA:').split('#EXT-X-MEDIA:').forEach(it => {
|
||||||
if (it.includes('TYPE=AUDIO')) {
|
if (it.includes('TYPE=AUDIO')) {
|
||||||
const audioInfo = it.substringAfter('TYPE=AUDIO').substringBefore('\n');
|
const audioInfo = it.substringAfter('TYPE=AUDIO').substringBefore('\n');
|
||||||
@@ -223,8 +228,8 @@ class DefaultExtension extends MProvider {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
masterPlaylist.substringAfter('#EXT-X-STREAM-INF:').split('#EXT-X-STREAM-INF:').forEach(it => {
|
|
||||||
|
|
||||||
|
masterPlaylist.substringAfter('#EXT-X-STREAM-INF:').split('#EXT-X-STREAM-INF:').forEach(it => {
|
||||||
var quality = `${it.substringAfter('RESOLUTION=').substringAfter('x').substringBefore(',')}p (${source.label})`;
|
var quality = `${it.substringAfter('RESOLUTION=').substringAfter('x').substringBefore(',')}p (${source.label})`;
|
||||||
let videoUrl = it.substringAfter('\n').substringBefore('\n');
|
let videoUrl = it.substringAfter('\n').substringBefore('\n');
|
||||||
|
|
||||||
@@ -255,6 +260,7 @@ class DefaultExtension extends MProvider {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
videoList[0].audios = audios;
|
videoList[0].audios = audios;
|
||||||
@@ -288,7 +294,17 @@ class DefaultExtension extends MProvider {
|
|||||||
entries: ["Net mirror", "Prime mirror"],
|
entries: ["Net mirror", "Prime mirror"],
|
||||||
entryValues: ["nf", "pv",]
|
entryValues: ["nf", "pv",]
|
||||||
}
|
}
|
||||||
},];
|
}, {
|
||||||
|
key: 'netmirror_pref_stream_extraction',
|
||||||
|
listPreference: {
|
||||||
|
title: 'Preferred stream extraction source',
|
||||||
|
summary: 'Extract stream from which source (if one source fails choose another)',
|
||||||
|
valueIndex: 0,
|
||||||
|
entries: ["TV", "Mobile"],
|
||||||
|
entryValues: ["tv", "mobile"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user