fix(netfilm): use different cdn

This commit is contained in:
cloud 2023-03-09 15:34:54 -07:00
parent 935cb2427b
commit 139a760be0
3 changed files with 12 additions and 12 deletions

1
.gitattributes vendored Normal file
View file

@ -0,0 +1 @@
* text=auto eol=lf

View file

@ -4,5 +4,8 @@
"eslint.format.enable": true, "eslint.format.enable": true,
"[json]": { "[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
} }
} }

View file

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