From 814045f689b511134573a15a9b175a86e8ba9493 Mon Sep 17 00:00:00 2001 From: kodjomoustapha <107993382+kodjodevf@users.noreply.github.com> Date: Wed, 17 Jul 2024 17:56:08 +0100 Subject: [PATCH] fixes --- .../mangabox/src/mangairo/mangaeiro.dart | 2 +- .../mangareader/src/sushiscanfr/icon.png | Bin 4046 -> 0 bytes .../src/sushiscanfr/sushiscanfr.dart | 13 -- javascript/anime/src/de/aniworld.js | 67 +++--- javascript/anime/src/en/allanime.js | 196 +++++++++--------- 5 files changed, 137 insertions(+), 141 deletions(-) delete mode 100644 dart/manga/multisrc/mangareader/src/sushiscanfr/icon.png delete mode 100644 dart/manga/multisrc/mangareader/src/sushiscanfr/sushiscanfr.dart diff --git a/dart/manga/multisrc/mangabox/src/mangairo/mangaeiro.dart b/dart/manga/multisrc/mangabox/src/mangairo/mangaeiro.dart index 4679f84c..add00bdd 100644 --- a/dart/manga/multisrc/mangabox/src/mangairo/mangaeiro.dart +++ b/dart/manga/multisrc/mangabox/src/mangairo/mangaeiro.dart @@ -10,6 +10,6 @@ Source _mangairoSource = Source( typeSource: "mangabox", iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangabox/src/mangairo/icon.png", - dateFormat: "dd-MM-yyyy", + dateFormat: "MMM-dd-yy", dateFormatLocale: "en", ); diff --git a/dart/manga/multisrc/mangareader/src/sushiscanfr/icon.png b/dart/manga/multisrc/mangareader/src/sushiscanfr/icon.png deleted file mode 100644 index 42fe15f564d1069fe29545f3b3028a02d553d817..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4046 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 A3jhEB diff --git a/dart/manga/multisrc/mangareader/src/sushiscanfr/sushiscanfr.dart b/dart/manga/multisrc/mangareader/src/sushiscanfr/sushiscanfr.dart deleted file mode 100644 index f201f2ae..00000000 --- a/dart/manga/multisrc/mangareader/src/sushiscanfr/sushiscanfr.dart +++ /dev/null @@ -1,13 +0,0 @@ -import '../../../../../../model/source.dart'; - -Source get sushiscanfrSource => _sushiscanfrSource; -Source _sushiscanfrSource = Source( - name: "Sushiscan.fr", - baseUrl: "https://sushiscan.fr", - lang: "fr", - isNsfw:false, - typeSource: "mangareader", - iconUrl: "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/src/sushiscanfr/icon.png", - dateFormat:"MMMM d, yyyy", - dateFormatLocale:"fr" - ); diff --git a/javascript/anime/src/de/aniworld.js b/javascript/anime/src/de/aniworld.js index 2766add7..110e2f69 100644 --- a/javascript/anime/src/de/aniworld.js +++ b/javascript/anime/src/de/aniworld.js @@ -7,7 +7,7 @@ const mangayomiSources = [{ "typeSource": "single", "isManga": false, "isNsfw": false, - "version": "0.0.1", + "version": "0.0.15", "dateFormat": "", "dateFormatLocale": "", "pkgPath": "anime/src/de/aniworld.js" @@ -132,38 +132,43 @@ class DefaultExtension extends MProvider { const hosterSelection = preference.get("hoster_selection"); const videos = []; for (const element of redirectlink) { - const langkey = element.attr("data-lang-key"); - let language = ""; - if (langkey.includes("3")) { - language = "Deutscher Sub"; - } else if (langkey.includes("1")) { - language = "Deutscher Dub"; - } else if (langkey.includes("2")) { - language = "Englischer Sub"; - } - const redirectgs = baseUrl + element.selectFirst("a.watchEpisode").attr("href"); - const hoster = element.selectFirst("a h4").text; - if (hoster == "Streamtape" && hosterSelection.includes("Streamtape")) { - const body = (await new Client().get(redirectgs)).body; - const quality = `Streamtape ${language}`; - const vids = await streamTapeExtractor(body.match(/https:\/\/streamtape\.com\/e\/[a-zA-Z0-9]+/g)[0], quality); - for (const vid of vids) { - videos.push(vid); + try { + const langkey = element.attr("data-lang-key"); + let language = ""; + if (langkey.includes("3")) { + language = "Deutscher Sub"; + } else if (langkey.includes("1")) { + language = "Deutscher Dub"; + } else if (langkey.includes("2")) { + language = "Englischer Sub"; } - } else if (hoster == "VOE" && hosterSelection.includes("VOE")) { - const body = (await new Client().get(redirectgs)).body; - const quality = `VOE ${language}`; - const vids = await voeExtractor(body.match(/https:\/\/voe\.sx\/e\/[a-zA-Z0-9]+/g)[0], quality); - for (const vid of vids) { - videos.push(vid); - } - } else if (hoster == "Vidoza" && hosterSelection.includes("Vidoza")) { - const body = (await new Client().get(redirectgs)).body; - const quality = `Vidoza ${language}`; - const match = body.match(/https:\/\/[^\s]*\.vidoza\.net\/[^\s]*\.mp4/g); - if (match.length > 0) { - videos.push({ url: match[0], originalUrl: match[0], quality }); + const redirectgs = baseUrl + element.selectFirst("a.watchEpisode").attr("href"); + const hoster = element.selectFirst("a h4").text; + + if (hoster == "Streamtape" && hosterSelection.includes("Streamtape")) { + const body = (await new Client().get(redirectgs)).body; + const quality = `Streamtape ${language}`; + const vids = await streamTapeExtractor(body.match(/https:\/\/streamtape\.com\/e\/[a-zA-Z0-9]+/g)[0], quality); + for (const vid of vids) { + videos.push(vid); + } + } else if (hoster == "VOE" && hosterSelection.includes("VOE")) { + const body = (await new Client().get(redirectgs)).body; + const quality = `VOE ${language}`; + const vids = await voeExtractor(body.match(/https:\/\/voe\.sx\/e\/[a-zA-Z0-9]+/g)[0], quality); + for (const vid of vids) { + videos.push(vid); + } + } else if (hoster == "Vidoza" && hosterSelection.includes("Vidoza")) { + const body = (await new Client().get(redirectgs)).body; + const quality = `Vidoza ${language}`; + const match = body.match(/https:\/\/[^\s]*\.vidoza\.net\/[^\s]*\.mp4/g); + if (match.length > 0) { + videos.push({ url: match[0], originalUrl: match[0], quality }); + } } + } catch (_) { + } } return this.sortVideos(videos); diff --git a/javascript/anime/src/en/allanime.js b/javascript/anime/src/en/allanime.js index c9152ec9..e2f73f00 100644 --- a/javascript/anime/src/en/allanime.js +++ b/javascript/anime/src/en/allanime.js @@ -7,7 +7,7 @@ const mangayomiSources = [{ "typeSource": "single", "isManga": false, "isNsfw": false, - "version": "0.0.15", + "version": "0.0.2", "dateFormat": "", "dateFormatLocale": "", "pkgPath": "anime/src/en/allanime.js" @@ -371,108 +371,112 @@ class AllAnimeExtractor { } const linkJson = JSON.parse(resp.body); for (const link of linkJson.links) { - const subtitles = []; - if (link.subtitles && link.subtitles.length > 0) { - subtitles.push(...link.subtitles.map(sub => { - const label = sub.label ? ` - ${sub.label}` : ''; - return { file: sub.src, label: `${sub.lang}${label}` }; - })); - } - if (link.mp4) { - videoList.push({ - url: - link.link, - quality: `Original (${name} - ${link.resolutionStr})`, - originalUrl: link.link, - subtitles, - }); - } else if (link.hls) { - const headers = - { - 'Host': link.link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/)[1], - 'Origin': endPoint, - 'Referer': `${endPoint}/` - }; - const resp = await new Client().get(link.link, headers); - - if (resp.statusCode === 200) { - const masterPlaylist = resp.body; - const audios = []; - if (masterPlaylist.includes('#EXT-X-MEDIA:TYPE=AUDIO')) { - const audioInfo = masterPlaylist.substringAfter('#EXT-X-MEDIA:TYPE=AUDIO').substringBefore('\n'); - const language = audioInfo.substringAfter('NAME="').substringBefore('"'); - const url = audioInfo.substringAfter('URI="').substringBefore('"'); - audios.push({ file: url, label: language }); - } - if (!masterPlaylist.includes('#EXT-X-STREAM-INF:')) { - if (audios.length === 0) { - videoList.push({ url: link.link, quality: `${name} - ${link.resolutionStr}`, originalUrl: link.link, subtitles, headers }); - } else { - videoList.push({ url: link.link, quality: `${name} - ${link.resolutionStr}`, originalUrl: link.link, subtitles, audios, headers }); - } - } else { - masterPlaylist.substringAfter('#EXT-X-STREAM-INF:').split('#EXT-X-STREAM-INF:').forEach(it => { - let bandwidth = ''; - if (it.includes('AVERAGE-BANDWIDTH')) { - bandwidth = ` ${this.bytesIntoHumanReadable(it.substringAfter('AVERAGE-BANDWIDTH=').substringBefore(','))}`; - } - const quality = `${it.substringAfter('RESOLUTION=').substringAfter('x').substringBefore(',')}p${bandwidth} (${name} - ${link.resolutionStr})`; - let videoUrl = it.substringAfter('\n').substringBefore('\n'); - - if (!videoUrl.startsWith('http')) { - videoUrl = resp.request.url.substringBeforeLast('/') + `/${videoUrl}`; - } - const headers = - { - 'Host': videoUrl.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/)[1], - 'Origin': endPoint, - 'Referer': `${endPoint}/` - }; - if (audios.length === 0) { - videoList.push({ url: videoUrl, quality, originalUrl: videoUrl, subtitles, headers }); - } else { - videoList.push({ url: videoUrl, quality, originalUrl: videoUrl, subtitles, audios, headers }); - } - - }); - } + try { + const subtitles = []; + if (link.subtitles && link.subtitles.length > 0) { + subtitles.push(...link.subtitles.map(sub => { + const label = sub.label ? ` - ${sub.label}` : ''; + return { file: sub.src, label: `${sub.lang}${label}` }; + })); } - } else if (link.crIframe) { - for (const stream of link.portData.streams) { - if (stream.format === 'adaptive_dash') { - videoList.push({ - url: - stream.url, - quality: `Original (AC - Dash${stream.hardsub_lang.length === 0 ? '' : ` - Hardsub: ${stream.hardsub_lang}`})`, - originalUrl: stream.url, - subtitles, - }); - } else if (stream.format === 'adaptive_hls') { - const resp = await new Client().get(stream.url, { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0' }) - if (resp.statusCode === 200) { - const masterPlaylist = resp.body; - masterPlaylist.substringAfter('#EXT-X-STREAM-INF:').split('#EXT-X-STREAM-INF:').forEach(t => { - const quality = `${t.substringAfter('RESOLUTION=').substringAfter('x').substringBefore(',')}p (AC - HLS${stream.hardsub_lang.length === 0 ? '' : ` - Hardsub: ${stream.hardsub_lang}`})`; - const videoUrl = t.substringAfter('\n').substringBefore('\n'); - videoList.push({ url: videoUrl, quality, originalUrl: videoUrl, subtitles }); + if (link.mp4) { + videoList.push({ + url: + link.link, + quality: `Original (${name} - ${link.resolutionStr})`, + originalUrl: link.link, + subtitles, + }); + } else if (link.hls) { + const headers = + { + 'Host': link.link.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/)[1], + 'Origin': endPoint, + 'Referer': `${endPoint}/` + }; + const resp = await new Client().get(link.link, headers); + + if (resp.statusCode === 200) { + const masterPlaylist = resp.body; + const audios = []; + if (masterPlaylist.includes('#EXT-X-MEDIA:TYPE=AUDIO')) { + const audioInfo = masterPlaylist.substringAfter('#EXT-X-MEDIA:TYPE=AUDIO').substringBefore('\n'); + const language = audioInfo.substringAfter('NAME="').substringBefore('"'); + const url = audioInfo.substringAfter('URI="').substringBefore('"'); + audios.push({ file: url, label: language }); + } + if (!masterPlaylist.includes('#EXT-X-STREAM-INF:')) { + if (audios.length === 0) { + videoList.push({ url: link.link, quality: `${name} - ${link.resolutionStr}`, originalUrl: link.link, subtitles, headers }); + } else { + videoList.push({ url: link.link, quality: `${name} - ${link.resolutionStr}`, originalUrl: link.link, subtitles, audios, headers }); + } + } else { + masterPlaylist.substringAfter('#EXT-X-STREAM-INF:').split('#EXT-X-STREAM-INF:').forEach(it => { + let bandwidth = ''; + if (it.includes('AVERAGE-BANDWIDTH')) { + bandwidth = ` ${this.bytesIntoHumanReadable(it.substringAfter('AVERAGE-BANDWIDTH=').substringBefore(','))}`; + } + const quality = `${it.substringAfter('RESOLUTION=').substringAfter('x').substringBefore(',')}p${bandwidth} (${name} - ${link.resolutionStr})`; + let videoUrl = it.substringAfter('\n').substringBefore('\n'); + + if (!videoUrl.startsWith('http')) { + videoUrl = resp.request.url.substringBeforeLast('/') + `/${videoUrl}`; + } + const headers = + { + 'Host': videoUrl.match(/^(?:https?:\/\/)?(?:www\.)?([^\/]+)/)[1], + 'Origin': endPoint, + 'Referer': `${endPoint}/` + }; + if (audios.length === 0) { + videoList.push({ url: videoUrl, quality, originalUrl: videoUrl, subtitles, headers }); + } else { + videoList.push({ url: videoUrl, quality, originalUrl: videoUrl, subtitles, audios, headers }); + } + }); } } - } - } else if (link.dash) { - const audios = link.rawUrls && link.rawUrls.audios ? link.rawUrls.audios.map(it => { return { file: it.url, label: this.bytesIntoHumanReadable(it.bandwidth) }; }) : []; - const videos = link.rawUrls && link.rawUrls.vids ? link.rawUrls.vids.map - (it => { - if (!audios) { - return { url: it.url, quality: `${name} - ${it.height} ${this.bytesIntoHumanReadable(it.bandwidth)}`, originalUrl: it.url, subtitles }; - } else { - return { url: it.url, quality: `${name} - ${it.height} ${this.bytesIntoHumanReadable(it.bandwidth)}`, originalUrl: it.url, audios, subtitles }; + } else if (link.crIframe) { + for (const stream of link.portData.streams) { + if (stream.format === 'adaptive_dash') { + videoList.push({ + url: + stream.url, + quality: `Original (AC - Dash${stream.hardsub_lang.length === 0 ? '' : ` - Hardsub: ${stream.hardsub_lang}`})`, + originalUrl: stream.url, + subtitles, + }); + } else if (stream.format === 'adaptive_hls') { + const resp = await new Client().get(stream.url, { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0' }) + if (resp.statusCode === 200) { + const masterPlaylist = resp.body; + masterPlaylist.substringAfter('#EXT-X-STREAM-INF:').split('#EXT-X-STREAM-INF:').forEach(t => { + const quality = `${t.substringAfter('RESOLUTION=').substringAfter('x').substringBefore(',')}p (AC - HLS${stream.hardsub_lang.length === 0 ? '' : ` - Hardsub: ${stream.hardsub_lang}`})`; + const videoUrl = t.substringAfter('\n').substringBefore('\n'); + videoList.push({ url: videoUrl, quality, originalUrl: videoUrl, subtitles }); + }); + } } - }) : []; + } + } else if (link.dash) { + const audios = link.rawUrls && link.rawUrls.audios ? link.rawUrls.audios.map(it => { return { file: it.url, label: this.bytesIntoHumanReadable(it.bandwidth) }; }) : []; + const videos = link.rawUrls && link.rawUrls.vids ? link.rawUrls.vids.map + (it => { + if (!audios) { + return { url: it.url, quality: `${name} - ${it.height} ${this.bytesIntoHumanReadable(it.bandwidth)}`, originalUrl: it.url, subtitles }; + } else { + return { url: it.url, quality: `${name} - ${it.height} ${this.bytesIntoHumanReadable(it.bandwidth)}`, originalUrl: it.url, audios, subtitles }; + } + }) : []; - if (videos.length > 0) { - videoList.push(...videos); + if (videos.length > 0) { + videoList.push(...videos); + } } + } catch (_) { + } } return videoList;