|
|
|
@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
|
|
|
|
|
import { proxiedFetch } from "../helpers/fetch"; |
|
|
|
|
import { registerProvider } from "../helpers/register"; |
|
|
|
|
import { MWStreamQuality, MWStreamType } from "../helpers/streams"; |
|
|
|
|
import { MWCaptionType, MWStreamQuality, MWStreamType } from "../helpers/streams"; |
|
|
|
|
import { MWMediaType } from "../metadata/types"; |
|
|
|
|
|
|
|
|
|
const netfilmBase = "https://net-film.vercel.app"; |
|
|
|
@ -18,7 +18,6 @@ registerProvider({
@@ -18,7 +18,6 @@ registerProvider({
|
|
|
|
|
displayName: "NetFilm", |
|
|
|
|
rank: 15, |
|
|
|
|
type: [MWMediaType.MOVIE, MWMediaType.SERIES], |
|
|
|
|
disabled: true, // https://github.com/lamhoang1256/netfilm/issues/25
|
|
|
|
|
|
|
|
|
|
async scrape({ media, episode, progress }) { |
|
|
|
|
// search for relevant item
|
|
|
|
@ -41,12 +40,9 @@ registerProvider({
@@ -41,12 +40,9 @@ registerProvider({
|
|
|
|
|
|
|
|
|
|
// get stream info from media
|
|
|
|
|
progress(75); |
|
|
|
|
const watchInfo = await proxiedFetch<any>( |
|
|
|
|
`/api/episode?id=${netfilmId}`, |
|
|
|
|
{ |
|
|
|
|
baseURL: netfilmBase, |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
const watchInfo = await proxiedFetch<any>(`/api/episode?id=${netfilmId}`, { |
|
|
|
|
baseURL: netfilmBase, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const { qualities } = watchInfo.data; |
|
|
|
|
|
|
|
|
@ -58,7 +54,7 @@ registerProvider({
@@ -58,7 +54,7 @@ registerProvider({
|
|
|
|
|
return { |
|
|
|
|
embeds: [], |
|
|
|
|
stream: { |
|
|
|
|
streamUrl: source.url, |
|
|
|
|
streamUrl: source.url.replace("akm-cdn", "aws-cdn").replace("gg-cdn", "aws-cdn"), |
|
|
|
|
quality: qualityMap[source.quality as QualityInMap], |
|
|
|
|
type: MWStreamType.HLS, |
|
|
|
|
captions: [], |
|
|
|
@ -109,17 +105,17 @@ registerProvider({
@@ -109,17 +105,17 @@ registerProvider({
|
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
const { qualities } = episodeStream.data; |
|
|
|
|
const data = episodeStream.data; |
|
|
|
|
|
|
|
|
|
// get best quality source
|
|
|
|
|
const source = qualities.reduce((p: any, c: any) => |
|
|
|
|
const source = data.qualities.reduce((p: any, c: any) => |
|
|
|
|
c.quality > p.quality ? c : p |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
embeds: [], |
|
|
|
|
stream: { |
|
|
|
|
streamUrl: source.url, |
|
|
|
|
streamUrl: source.url.replace("akm-cdn", "aws-cdn").replace("gg-cdn", "aws-cdn"), |
|
|
|
|
quality: qualityMap[source.quality as QualityInMap], |
|
|
|
|
type: MWStreamType.HLS, |
|
|
|
|
captions: [], |
|
|
|
|