diff --git a/dist/providers/movies/goku.js b/dist/providers/movies/goku.js index 868183e6b..aba392cbb 100644 --- a/dist/providers/movies/goku.js +++ b/dist/providers/movies/goku.js @@ -12,7 +12,7 @@ class Goku extends models_1.MovieParser { super(...arguments); this.name = 'Goku'; this.baseUrl = 'https://goku.sx'; - this.logo = 'https://img.goku.sx/xxrz/100x100/100/81/94/819455c601168a1fd7caf7cdf77a8bbf/819455c601168a1fd7caf7cdf77a8bbf.png?v=1.1'; + this.logo = 'https://img.goku.sx/xxrz/400x400/100/9c/e7/9ce7510639c4204bfe43904fad8f361f/9ce7510639c4204bfe43904fad8f361f.png'; this.classPath = 'MOVIES.Goku'; this.supportedTypes = new Set([models_1.TvType.MOVIE, models_1.TvType.TVSERIES]); /** diff --git a/dist/providers/movies/goku.js.map b/dist/providers/movies/goku.js.map index a1ceaa912..666939176 100644 --- a/dist/providers/movies/goku.js.map +++ b/dist/providers/movies/goku.js.map @@ -1 +1 @@ -{"version":3,"file":"goku.js","sourceRoot":"","sources":["../../../src/providers/movies/goku.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"goku.js","sourceRoot":"","sources":["../../../src/providers/movies/goku.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/providers/movies/index.d.ts b/dist/providers/movies/index.d.ts index a85c7da5c..2bfa3092a 100644 --- a/dist/providers/movies/index.d.ts +++ b/dist/providers/movies/index.d.ts @@ -3,11 +3,13 @@ import ViewAsian from './viewAsian'; import DramaCool from './dramacool'; import Fmovies from './fmovies'; import Goku from './goku'; +import MovieHdWatch from './movidhdwatch'; declare const _default: { FlixHQ: typeof FlixHQ; ViewAsian: typeof ViewAsian; DramaCool: typeof DramaCool; Fmovies: typeof Fmovies; Goku: typeof Goku; + MovieHdWatch: typeof MovieHdWatch; }; export default _default; diff --git a/dist/providers/movies/index.js b/dist/providers/movies/index.js index aeaf02771..05f859c77 100644 --- a/dist/providers/movies/index.js +++ b/dist/providers/movies/index.js @@ -8,5 +8,6 @@ const viewAsian_1 = __importDefault(require("./viewAsian")); const dramacool_1 = __importDefault(require("./dramacool")); const fmovies_1 = __importDefault(require("./fmovies")); const goku_1 = __importDefault(require("./goku")); -exports.default = { FlixHQ: flixhq_1.default, ViewAsian: viewAsian_1.default, DramaCool: dramacool_1.default, Fmovies: fmovies_1.default, Goku: goku_1.default }; +const movidhdwatch_1 = __importDefault(require("./movidhdwatch")); +exports.default = { FlixHQ: flixhq_1.default, ViewAsian: viewAsian_1.default, DramaCool: dramacool_1.default, Fmovies: fmovies_1.default, Goku: goku_1.default, MovieHdWatch: movidhdwatch_1.default }; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/providers/movies/index.js.map b/dist/providers/movies/index.js.map index fba9a1d2b..35776accf 100644 --- a/dist/providers/movies/index.js.map +++ b/dist/providers/movies/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/movies/index.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,4DAAoC;AACpC,4DAAoC;AACpC,wDAAgC;AAChC,kDAA0B;AAE1B,kBAAe,EAAE,MAAM,EAAN,gBAAM,EAAE,SAAS,EAAT,mBAAS,EAAE,SAAS,EAAT,mBAAS,EAAE,OAAO,EAAP,iBAAO,EAAE,IAAI,EAAJ,cAAI,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/movies/index.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,4DAAoC;AACpC,4DAAoC;AACpC,wDAAgC;AAChC,kDAA0B;AAC1B,kEAA0C;AAE1C,kBAAe,EAAE,MAAM,EAAN,gBAAM,EAAE,SAAS,EAAT,mBAAS,EAAE,SAAS,EAAT,mBAAS,EAAE,OAAO,EAAP,iBAAO,EAAE,IAAI,EAAJ,cAAI,EAAE,YAAY,EAAZ,sBAAY,EAAE,CAAC"} \ No newline at end of file diff --git a/dist/providers/movies/movidhdwatch.d.ts b/dist/providers/movies/movidhdwatch.d.ts new file mode 100644 index 000000000..b5ab3caba --- /dev/null +++ b/dist/providers/movies/movidhdwatch.d.ts @@ -0,0 +1,37 @@ +import { MovieParser, TvType, IMovieInfo, IEpisodeServer, StreamingServers, ISource, IMovieResult, ISearch } from '../../models'; +declare class MovieHdWatch extends MovieParser { + readonly name = "MovieHdWatch"; + protected baseUrl: string; + protected logo: string; + protected classPath: string; + supportedTypes: Set; + /** + * + * @param query search query string + * @param page page number (default 1) (optional) + */ + search: (query: string, page?: number) => Promise>; + /** + * + * @param mediaId media link or id + */ + fetchMediaInfo: (mediaId: string) => Promise; + /** + * + * @param episodeId episode id + * @param mediaId media id + * @param server server type (default `VidCloud`) (optional) + */ + fetchEpisodeSources: (episodeId: string, mediaId: string, server?: StreamingServers) => Promise; + /** + * + * @param episodeId takes episode link or movie id + * @param mediaId takes movie link or id (found on movie info object) + */ + fetchEpisodeServers: (episodeId: string, mediaId: string) => Promise; + fetchRecentMovies: () => Promise; + fetchRecentTvShows: () => Promise; + fetchTrendingMovies: () => Promise; + fetchTrendingTvShows: () => Promise; +} +export default MovieHdWatch; diff --git a/dist/providers/movies/movidhdwatch.js b/dist/providers/movies/movidhdwatch.js new file mode 100644 index 000000000..595ad1a41 --- /dev/null +++ b/dist/providers/movies/movidhdwatch.js @@ -0,0 +1,374 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const cheerio_1 = require("cheerio"); +const axios_1 = __importDefault(require("axios")); +const models_1 = require("../../models"); +const extractors_1 = require("../../extractors"); +class MovieHdWatch extends models_1.MovieParser { + constructor() { + super(...arguments); + this.name = 'MovieHdWatch'; + this.baseUrl = 'https://movieshd.watch'; + this.logo = 'https://img.movieshd.watch/xxrz/400x400/100/ee/63/ee6317c38904ee048676164b0852207d/ee6317c38904ee048676164b0852207d.png'; + this.classPath = 'MOVIES.MovieHdWatch'; + this.supportedTypes = new Set([models_1.TvType.MOVIE, models_1.TvType.TVSERIES]); + /** + * + * @param query search query string + * @param page page number (default 1) (optional) + */ + this.search = async (query, page = 1) => { + const searchResult = { + currentPage: page, + hasNextPage: false, + results: [], + }; + try { + const { data } = await axios_1.default.get(`${this.baseUrl}/search/${query.replace(/[\W_]+/g, '-')}?page=${page}`); + const $ = (0, cheerio_1.load)(data); + const navSelector = 'div.pre-pagination:nth-child(3) > nav:nth-child(1) > ul:nth-child(1)'; + searchResult.hasNextPage = + $(navSelector).length > 0 ? !$(navSelector).children().last().hasClass('active') : false; + $('.film_list-wrap > div.flw-item').each((i, el) => { + var _a, _b, _c, _d; + const releaseDate = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const duration = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + searchResult.results.push({ + id: (_b = (_a = $(el).find('div.film-poster > a').attr('href')) === null || _a === void 0 ? void 0 : _a.slice(1)) !== null && _b !== void 0 ? _b : '', + title: (_c = $(el).find('div.film-detail > h2 > a').attr('title')) !== null && _c !== void 0 ? _c : '', + url: `${this.baseUrl}${$(el).find('div.film-poster > a').attr('href')}`, + image: $(el).find('div.film-poster > img').attr('data-src'), + releaseDate: isNaN(parseInt(releaseDate)) ? undefined : releaseDate, + seasons: releaseDate.includes('SS') ? parseInt(releaseDate.split('SS')[1]) : undefined, + duration: !duration.includes('EPS') ? duration : undefined, + type: ((_d = $(el).find('div.film-poster > a').attr('href')) === null || _d === void 0 ? void 0 : _d.includes('tv/')) + ? models_1.TvType.TVSERIES + : models_1.TvType.MOVIE, + }); + }); + return searchResult; + } + catch (err) { + throw new Error(err.message); + } + }; + /** + * + * @param mediaId media link or id + */ + this.fetchMediaInfo = async (mediaId) => { + var _a; + if (mediaId.startsWith(this.baseUrl)) { + mediaId = mediaId.replace(this.baseUrl + '/', ''); + } + try { + const { data } = await axios_1.default.get(`${this.baseUrl}/${mediaId}`); + const $ = (0, cheerio_1.load)(data); + const recommendationsArray = []; + const movieInfo = { + id: mediaId, + title: '', + url: `${this.baseUrl}/${mediaId}`, + }; + const uid = $('.detail_page-watch').attr('data-id'); + movieInfo.cover = (_a = $('div.dp-w-cover').attr('style')) === null || _a === void 0 ? void 0 : _a.slice(22).replace(')', '').replace(';', ''); + movieInfo.title = $('.heading-name > a:nth-child(1)').text(); + movieInfo.image = $('.film-poster > img').attr('src'); + movieInfo.description = $('.description') + .text() + .replace(/(\r\n|\n|\r)/gm, '') + .trim(); + movieInfo.type = movieInfo.id.split('/')[0] === 'tv' ? models_1.TvType.TVSERIES : models_1.TvType.MOVIE; + movieInfo.releaseDate = $('div.elements') + .find('div.row-line') + .first() + .text() + .replace('Released: ', '') + .trim(); + movieInfo.genres = $('div.row-line:nth-child(2)') + .first() + .find('a') + .map((i, el) => $(el).text().split('&')) + .get() + .map(v => v.trim()); + movieInfo.casts = $('div.row-line:nth-child(3)') + .first() + .find('a') + .map((i, el) => $(el).attr('title')) + .get(); + movieInfo.production = $('div.row-line:nth-child(3)') + .last() + .find('a') + .map((i, el) => $(el).attr('title')) + .get() + .join(); + movieInfo.country = $('div.row-line:nth-child(2)') + .last() + .find('a') + .map((i, el) => $(el).attr('title')) + .get(); + movieInfo.duration = $('div.row-line:nth-child(1)') + .last() + .text() + .replace(/(\r\n|\n| |\r)/gm, '') + .replace('Duration:', '') + .trim(); + movieInfo.rating = parseFloat($('div.dp-i-stats > span.item.mr-2').text().replace('IMDB: ', '')); + $('div.film_list-wrap > div.flw-item').each((i, el) => { + var _a, _b; + const releaseDate = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const duration = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + recommendationsArray.push({ + id: (_a = $(el).find('div.film-poster > a').attr('href')) === null || _a === void 0 ? void 0 : _a.slice(1), + title: $(el).find('div.film-detail > h3.film-name > a').text(), + image: $(el).find('div.film-poster > img').attr('data-src'), + releaseDate: isNaN(parseInt(releaseDate)) ? undefined : releaseDate, + seasons: releaseDate.includes('SS') ? parseInt(releaseDate.split('SS')[1]) : undefined, + duration: !duration.includes('EPS') ? duration : undefined, + type: ((_b = $(el).find('div.film-poster > a').attr('href')) === null || _b === void 0 ? void 0 : _b.includes('tv/')) + ? models_1.TvType.TVSERIES + : models_1.TvType.MOVIE, + }); + }); + movieInfo.recommendations = recommendationsArray; + const ajaxReqUrl = (id, type, isSeasons = false) => `${this.baseUrl}/ajax/${type === 'movie' ? type : `v2/${type}`}/${isSeasons ? 'seasons' : 'episodes'}/${id}`; + if (movieInfo.type === models_1.TvType.TVSERIES) { + const { data } = await axios_1.default.get(ajaxReqUrl(uid, 'tv', true)); + const $$ = (0, cheerio_1.load)(data); + const seasonsIds = $$('.dropdown-menu > a') + .map((i, el) => $(el).attr('data-id')) + .get(); + movieInfo.episodes = []; + let season = 1; + for (const id of seasonsIds) { + const { data } = await axios_1.default.get(ajaxReqUrl(id, 'season')); + const $$$ = (0, cheerio_1.load)(data); + $$$('.nav > li') + .map((i, el) => { + var _a; + const episode = { + id: $$$(el).find('a').attr('id').split('-')[1], + title: $$$(el).find('a').attr('title'), + number: parseInt($$$(el).find('a').attr('title').split(':')[0].slice(3).trim()), + season: season, + url: `${this.baseUrl}/ajax/v2/episode/servers/${$$$(el).find('a').attr('id').split('-')[1]}`, + }; + (_a = movieInfo.episodes) === null || _a === void 0 ? void 0 : _a.push(episode); + }) + .get(); + season++; + } + } + else { + movieInfo.episodes = [ + { + id: uid, + title: movieInfo.title, + url: `${this.baseUrl}/ajax/movie/episodes/${uid}`, + }, + ]; + } + return movieInfo; + } + catch (err) { + throw new Error(err.message); + } + }; + /** + * + * @param episodeId episode id + * @param mediaId media id + * @param server server type (default `VidCloud`) (optional) + */ + this.fetchEpisodeSources = async (episodeId, mediaId, server = models_1.StreamingServers.UpCloud) => { + if (episodeId.startsWith('http')) { + const serverUrl = new URL(episodeId); + switch (server) { + case models_1.StreamingServers.MixDrop: + return { + headers: { Referer: serverUrl.href }, + sources: await new extractors_1.MixDrop().extract(serverUrl), + }; + case models_1.StreamingServers.VidCloud: + return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud().extract(serverUrl, true))); + case models_1.StreamingServers.UpCloud: + return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud().extract(serverUrl))); + default: + return { + headers: { Referer: serverUrl.href }, + sources: await new extractors_1.MixDrop().extract(serverUrl), + }; + } + } + try { + const servers = await this.fetchEpisodeServers(episodeId, mediaId); + const i = servers.findIndex(s => s.name.toLowerCase() === server.toLowerCase()); + if (i === -1) { + throw new Error(`Server ${server} not found`); + } + const serverUrl = new URL(servers.filter(s => s.name.toLowerCase() === server.toLowerCase())[0].url); + return await this.fetchEpisodeSources(serverUrl.href, mediaId, server); + } + catch (err) { + throw new Error(err.message); + } + }; + /** + * + * @param episodeId takes episode link or movie id + * @param mediaId takes movie link or id (found on movie info object) + */ + this.fetchEpisodeServers = async (episodeId, mediaId) => { + if (!episodeId.startsWith(this.baseUrl + '/ajax') && !mediaId.includes('movie')) + episodeId = `${this.baseUrl}/ajax/v2/episode/servers/${episodeId}`; + else + episodeId = `${this.baseUrl}/ajax/movie/episodes/${episodeId}`; + try { + const { data } = await axios_1.default.get(episodeId); + const $ = (0, cheerio_1.load)(data); + const servers = []; + await Promise.all($('.nav > li').map(async (i, el) => { + const server = { + name: $(el).find('a').attr('title').slice(6).trim(), + url: `${this.baseUrl}/${mediaId}.${!mediaId.includes('movie') + ? $(el).find('a').attr('data-id') + : $(el).find('a').attr('data-linkid')}`.replace(!mediaId.includes('movie') ? /\/tv\// : /\/movie\//, !mediaId.includes('movie') ? '/watch-tv/' : '/watch-movie/'), + }; + const { data } = await axios_1.default.get(`${this.baseUrl}/ajax/get_link/${server.url.split('.').slice(-1).shift()}`); + const serverUrl = new URL(data.link); + server.url = serverUrl.href; + servers.push(server); + })); + return servers; + } + catch (err) { + throw new Error(err.message); + } + }; + this.fetchRecentMovies = async () => { + try { + const { data } = await axios_1.default.get(`${this.baseUrl}/home`); + const $ = (0, cheerio_1.load)(data); + const movies = $('.section-id-02') + .find('div.flw-item') + .map((i, el) => { + var _a, _b, _c, _d; + const releaseDate = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const duration = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + const movie = { + id: (_b = (_a = $(el).find('div.film-poster > a').attr('href')) === null || _a === void 0 ? void 0 : _a.slice(1)) !== null && _b !== void 0 ? _b : '', + title: (_c = $(el).find('div.film-detail > h3.film-name > a').attr('title')) !== null && _c !== void 0 ? _c : '', + url: `${this.baseUrl}${$(el).find('div.film-poster > a').attr('href')}`, + image: $(el).find('div.film-poster > img').attr('data-src'), + releaseDate: isNaN(parseInt(releaseDate)) ? undefined : releaseDate, + duration: !duration.includes('EPS') ? duration : undefined, + type: ((_d = $(el).find('div.film-poster > a').attr('href')) === null || _d === void 0 ? void 0 : _d.includes('movie/')) + ? models_1.TvType.MOVIE + : models_1.TvType.TVSERIES, + }; + return movie; + }) + .get(); + return movies; + } + catch (err) { + throw new Error(err.message); + } + }; + this.fetchRecentTvShows = async () => { + try { + const { data } = await axios_1.default.get(`${this.baseUrl}/home`); + const $ = (0, cheerio_1.load)(data); + const tvshows = $('.section-id-03') + .find('div.flw-item') + .map((i, el) => { + var _a, _b, _c, _d; + const season = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const episode = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + const tvshow = { + id: (_b = (_a = $(el).find('div.film-poster > a').attr('href')) === null || _a === void 0 ? void 0 : _a.slice(1)) !== null && _b !== void 0 ? _b : '', + title: (_c = $(el).find('div.film-detail > h3.film-name > a').attr('title')) !== null && _c !== void 0 ? _c : '', + url: `${this.baseUrl}${$(el).find('div.film-poster > a').attr('href')}`, + image: $(el).find('div.film-poster > img').attr('data-src'), + season: season.includes('SS') ? parseInt(season.split('SS')[1]) : undefined, + latestEpisode: episode.includes('EPS') ? parseInt(episode.split('EPS')[1]) : undefined, + type: ((_d = $(el).find('div.film-poster > a').attr('href')) === null || _d === void 0 ? void 0 : _d.includes('tv/')) + ? models_1.TvType.TVSERIES + : models_1.TvType.MOVIE, + }; + return tvshow; + }) + .get(); + return tvshows; + } + catch (err) { + throw new Error(err.message); + } + }; + this.fetchTrendingMovies = async () => { + try { + const { data } = await axios_1.default.get(`${this.baseUrl}/home`); + const $ = (0, cheerio_1.load)(data); + const movies = $('#trending-movies') + .find('div.flw-item') + .map((i, el) => { + var _a, _b, _c, _d; + const releaseDate = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const duration = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + const movie = { + id: (_b = (_a = $(el).find('div.film-poster > a').attr('href')) === null || _a === void 0 ? void 0 : _a.slice(1)) !== null && _b !== void 0 ? _b : '', + title: (_c = $(el).find('div.film-detail > h3.film-name > a').attr('title')) !== null && _c !== void 0 ? _c : '', + url: `${this.baseUrl}${$(el).find('div.film-poster > a').attr('href')}`, + image: $(el).find('div.film-poster > img').attr('data-src'), + releaseDate: isNaN(parseInt(releaseDate)) ? undefined : releaseDate, + duration: !duration.includes('EPS') ? duration : undefined, + type: ((_d = $(el).find('div.film-poster > a').attr('href')) === null || _d === void 0 ? void 0 : _d.includes('movie/')) + ? models_1.TvType.MOVIE + : models_1.TvType.TVSERIES, + }; + return movie; + }) + .get(); + return movies; + } + catch (err) { + throw new Error(err.message); + } + }; + this.fetchTrendingTvShows = async () => { + try { + const { data } = await axios_1.default.get(`${this.baseUrl}/home`); + const $ = (0, cheerio_1.load)(data); + const tvshows = $('#trending-tv') + .find('div.flw-item') + .map((i, el) => { + var _a, _b, _c, _d; + const season = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const episode = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + const tvshow = { + id: (_b = (_a = $(el).find('div.film-poster > a').attr('href')) === null || _a === void 0 ? void 0 : _a.slice(1)) !== null && _b !== void 0 ? _b : '', + title: (_c = $(el).find('div.film-detail > h3.film-name > a').attr('title')) !== null && _c !== void 0 ? _c : '', + url: `${this.baseUrl}${$(el).find('div.film-poster > a').attr('href')}`, + image: $(el).find('div.film-poster > img').attr('data-src'), + season: season.includes('SS') ? parseInt(season.split('SS')[1]) : undefined, + latestEpisode: episode.includes('EPS') ? parseInt(episode.split('EPS')[1]) : undefined, + type: ((_d = $(el).find('div.film-poster > a').attr('href')) === null || _d === void 0 ? void 0 : _d.includes('tv/')) + ? models_1.TvType.TVSERIES + : models_1.TvType.MOVIE, + }; + return tvshow; + }) + .get(); + return tvshows; + } + catch (err) { + throw new Error(err.message); + } + }; + } +} +exports.default = MovieHdWatch; +//# sourceMappingURL=movidhdwatch.js.map \ No newline at end of file diff --git a/dist/providers/movies/movidhdwatch.js.map b/dist/providers/movies/movidhdwatch.js.map new file mode 100644 index 000000000..655b09d2f --- /dev/null +++ b/dist/providers/movies/movidhdwatch.js.map @@ -0,0 +1 @@ +{"version":3,"file":"movidhdwatch.js","sourceRoot":"","sources":["../../../src/providers/movies/movidhdwatch.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/utils/providers-list.d.ts b/dist/utils/providers-list.d.ts index d4799e3c8..63fe3d4c7 100644 --- a/dist/utils/providers-list.d.ts +++ b/dist/utils/providers-list.d.ts @@ -9,7 +9,7 @@ export declare const PROVIDERS_LIST: { BOOKS: import("../providers/books/libgen").default[]; COMICS: import("../providers/comics/getComics").default[]; LIGHT_NOVELS: import("../providers/light-novels/readlightnovels").default[]; - MOVIES: (import("../providers/movies/flixhq").default | import("../providers/movies/viewAsian").default | import("../providers/movies/dramacool").default | import("../providers/movies/fmovies").default | import("../providers/movies/goku").default)[]; + MOVIES: (import("../providers/movies/flixhq").default | import("../providers/movies/viewAsian").default | import("../providers/movies/dramacool").default | import("../providers/movies/fmovies").default | import("../providers/movies/goku").default | import("../providers/movies/movidhdwatch").default)[]; NEWS: import("../providers/news/animenewsnetwork").default[]; META: (import("../providers/meta/anilist").default | import("../providers/meta/mal").default | import("../providers/meta/tmdb").default)[]; OTHERS: never[]; diff --git a/dist/utils/providers-list.js b/dist/utils/providers-list.js index 76bbc5685..db851a554 100644 --- a/dist/utils/providers-list.js +++ b/dist/utils/providers-list.js @@ -41,6 +41,7 @@ exports.PROVIDERS_LIST = { new providers_1.MOVIES.DramaCool(), new providers_1.MOVIES.Fmovies(), new providers_1.MOVIES.Goku(), + new providers_1.MOVIES.MovieHdWatch(), ], NEWS: [new providers_1.NEWS.ANN()], META: [new providers_1.META.Anilist(), new providers_1.META.TMDB(), new providers_1.META.Myanimelist()], diff --git a/dist/utils/providers-list.js.map b/dist/utils/providers-list.js.map index ff616d7bd..494cfcb85 100644 --- a/dist/utils/providers-list.js.map +++ b/dist/utils/providers-list.js.map @@ -1 +1 @@ -{"version":3,"file":"providers-list.js","sourceRoot":"","sources":["../../src/utils/providers-list.ts"],"names":[],"mappings":";;;AAAA,4CAA6F;AAE7F;;;;GAIG;AACU,QAAA,cAAc,GAAG;IAC5B,KAAK,EAAE;QACL,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,QAAQ,EAAE;QACpB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,QAAQ,EAAE;QACpB,IAAI,iBAAK,CAAC,WAAW,EAAE;QACvB,IAAI,iBAAK,CAAC,KAAK,EAAE;QACjB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,IAAI,EAAE;QAChB,IAAI,iBAAK,CAAC,KAAK,EAAE;KAClB;IACD,KAAK,EAAE;QACL,IAAI,iBAAK,CAAC,QAAQ,EAAE;QACpB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,YAAY,EAAE;QACxB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,WAAW,EAAE;QACvB,IAAI,iBAAK,CAAC,WAAW,EAAE;QACvB,IAAI,iBAAK,CAAC,MAAM,EAAE;QAClB,IAAI,iBAAK,CAAC,UAAU,EAAE;QACtB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,QAAQ,EAAE;KACrB;IACD,KAAK,EAAE,CAAC,IAAI,iBAAK,CAAC,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,CAAC,IAAI,kBAAM,CAAC,SAAS,EAAE,CAAC;IAChC,YAAY,EAAE,CAAC,IAAI,wBAAY,CAAC,eAAe,EAAE,CAAC;IAClD,MAAM,EAAE;QACN,IAAI,kBAAM,CAAC,MAAM,EAAE;QACnB,IAAI,kBAAM,CAAC,SAAS,EAAE;QACtB,IAAI,kBAAM,CAAC,SAAS,EAAE;QACtB,IAAI,kBAAM,CAAC,OAAO,EAAE;QACpB,IAAI,kBAAM,CAAC,IAAI,EAAE;KAClB;IACD,IAAI,EAAE,CAAC,IAAI,gBAAI,CAAC,GAAG,EAAE,CAAC;IACtB,IAAI,EAAE,CAAC,IAAI,gBAAI,CAAC,OAAO,EAAE,EAAE,IAAI,gBAAI,CAAC,IAAI,EAAE,EAAE,IAAI,gBAAI,CAAC,WAAW,EAAE,CAAC;IACnE,MAAM,EAAE,EAAE;CACX,CAAC"} \ No newline at end of file +{"version":3,"file":"providers-list.js","sourceRoot":"","sources":["../../src/utils/providers-list.ts"],"names":[],"mappings":";;;AAAA,4CAA6F;AAE7F;;;;GAIG;AACU,QAAA,cAAc,GAAG;IAC5B,KAAK,EAAE;QACL,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,QAAQ,EAAE;QACpB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,QAAQ,EAAE;QACpB,IAAI,iBAAK,CAAC,WAAW,EAAE;QACvB,IAAI,iBAAK,CAAC,KAAK,EAAE;QACjB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,IAAI,EAAE;QAChB,IAAI,iBAAK,CAAC,KAAK,EAAE;KAClB;IACD,KAAK,EAAE;QACL,IAAI,iBAAK,CAAC,QAAQ,EAAE;QACpB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,YAAY,EAAE;QACxB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,WAAW,EAAE;QACvB,IAAI,iBAAK,CAAC,WAAW,EAAE;QACvB,IAAI,iBAAK,CAAC,MAAM,EAAE;QAClB,IAAI,iBAAK,CAAC,UAAU,EAAE;QACtB,IAAI,iBAAK,CAAC,SAAS,EAAE;QACrB,IAAI,iBAAK,CAAC,QAAQ,EAAE;KACrB;IACD,KAAK,EAAE,CAAC,IAAI,iBAAK,CAAC,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,CAAC,IAAI,kBAAM,CAAC,SAAS,EAAE,CAAC;IAChC,YAAY,EAAE,CAAC,IAAI,wBAAY,CAAC,eAAe,EAAE,CAAC;IAClD,MAAM,EAAE;QACN,IAAI,kBAAM,CAAC,MAAM,EAAE;QACnB,IAAI,kBAAM,CAAC,SAAS,EAAE;QACtB,IAAI,kBAAM,CAAC,SAAS,EAAE;QACtB,IAAI,kBAAM,CAAC,OAAO,EAAE;QACpB,IAAI,kBAAM,CAAC,IAAI,EAAE;QACjB,IAAI,kBAAM,CAAC,YAAY,EAAE;KAC1B;IACD,IAAI,EAAE,CAAC,IAAI,gBAAI,CAAC,GAAG,EAAE,CAAC;IACtB,IAAI,EAAE,CAAC,IAAI,gBAAI,CAAC,OAAO,EAAE,EAAE,IAAI,gBAAI,CAAC,IAAI,EAAE,EAAE,IAAI,gBAAI,CAAC,WAAW,EAAE,CAAC;IACnE,MAAM,EAAE,EAAE;CACX,CAAC"} \ No newline at end of file diff --git a/docs/guides/movies.md b/docs/guides/movies.md index 19220ed3f..8fecc26ac 100644 --- a/docs/guides/movies.md +++ b/docs/guides/movies.md @@ -34,6 +34,8 @@ const movieProvider = MOVIES.(); ## Movies Providers List This list is in alphabetical order. (except the sub bullet points) +- [Goku](../providers/goku.md) +- [MovieHdWatch](../providers/moviehdwatch.md) - [FlixHQ](../providers/flixhq.md) - [ViewAsian](../providers/viewAsian.md) diff --git a/docs/providers/moviehdwatch.md b/docs/providers/moviehdwatch.md new file mode 100644 index 000000000..026e1457e --- /dev/null +++ b/docs/providers/moviehdwatch.md @@ -0,0 +1,436 @@ +

MovieHdWatch

+ +```ts +const moviesHd = new MOVIES.MovieHdWatch(); +``` + +

Methods

+ +- [search](#search) +- [fetchMediaInfo](#fetchmediainfo) +- [fetchEpisodeSources](#fetchepisodesources) +- [fetchEpisodeServers](#fetchepisodeservers) +- [fetchRecentMovies](#fetchrecentmovies) +- [fetchRecentTvShows](#fetchrecenttvshows) +- [fetchTrendingMovies](#fetchtrendingmovies) +- [fetchTrendingTvShows](#fetchtrendingtvshows) + +### search +> Note: This method is a subclass of the [`BaseParser`](https://github.com/consumet/extensions/blob/master/src/models/base-parser.ts) class. meaning it is available across most categories. + + +

Parameters

+ +| Parameter | Type | Description | +| --------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------ | +| query | `string` | query to search for. (*In this case, We're searching for `Batman`*) | +| page (optional) | `number` | page number (default: 1) | + +```ts +moviesHd.search("Batman").then(data => { + console.log(data); +}) +``` + +returns a promise which resolves into an array of movies/tv series. (*[`Promise>`](https://github.com/consumet/extensions/blob/master/src/models/types.ts#L233-L241)*)\ +output: +```js +{ + currentPage: 1, // current page + hasNextPage: true, // if there is a next page + results: [ + { + id: 'tv/watch-batman-online-39276', + title: 'Batman', + url: 'https://movieshd.watch/tv/watch-batman-online-39276', + image: 'https://img.movieshd.watch/xxrz/250x400/391/fb/f9/fbf9562059527ed2075e3e61bf7439c6/fbf9562059527ed2075e3e61bf7439c6.jpg', + releaseDate: undefined, + seasons: 3, + duration: undefined, + type: 'TV Series' + }, + { + id: 'movie/watch-batman-online-13647', + title: 'Batman', + url: 'https://movieshd.watch/movie/watch-batman-online-13647', + image: 'https://img.movieshd.watch/xxrz/250x400/391/7d/df/7ddf28de1b0053327ad6ff1c974894e8/7ddf28de1b0053327ad6ff1c974894e8.jpg', + releaseDate: '1966', + seasons: undefined, + duration: '105m', + type: 'Movie' + }, + { + id: 'movie/watch-batman-online-18073', + title: 'Batman', + url: 'https://movieshd.watch/movie/watch-batman-online-18073', + image: 'https://img.movieshd.watch/xxrz/250x400/391/d9/bc/d9bc77bc0c00049fbaba0896b51d361f/d9bc77bc0c00049fbaba0896b51d361f.jpg', + releaseDate: '1989', + seasons: undefined, + duration: '126m', + type: 'Movie' + }, + {...}, + ... + ] +} +``` + +### fetchMediaInfo + +

Parameters

+ +| Parameter | Type | Description | +| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------- | +| mediaId | `string` | takes media id or url as a parameter. (*media id or url can be found in the media search results as shown on the above method*) | + +```ts +moviesHd.fetchMediaInfo('movie/watch-the-batman-online-16076').then(data => { + console.log(data); +}) +``` + +returns a promise which resolves into an anime info object (including the episodes). (*[`Promise`](https://github.com/consumet/extensions/blob/master/src/models/types.ts#L243-L254)*)\ +output: +```js +{ + id: 'movie/watch-the-batman-online-16076', + title: 'The Batman', + url: 'https://movieshd.watch/movie/watch-the-batman-online-16076', + cover: 'https://img.movieshd.watch/xxrz/1200x600/391/34/98/3498b36949518ca118b1ebe321dbd7ca/3498b36949518ca118b1ebe321dbd7ca.jpg', + image: 'https://img.movieshd.watch/xxrz/250x400/391/21/2d/212d2d95b9d515504a4de227d49a769f/212d2d95b9d515504a4de227d49a769f.jpg', + description: "A point-of-view driven noir tale with heavy focus on Batman's detective work. A stand-alone story with no connection to the DCEU.", + type: 'Movie', + releaseDate: '2022-03-01', + genres: [ 'Drama', 'Action', 'Crime', 'Mystery', 'Fantasy', 'Thriller' ], + casts: [ + 'Robert Pattinson', + 'Vanessa Kirby', + 'Jeffrey Wright', + 'Jonah Hill', + 'Peter Sarsgaard' + ], + production: 'DC Entertainment,Branded Entertainment/Batfilm Productions,Atlas Entertainment,Cruel & Unusual Films,Warner Bros. Pictures,6th & Idaho Productions,Mad Ghost Productions,DC Comics,DC Films,Dylan Clark Productions', + country: [ 'United States of America' ], + duration: '176min', + rating: 7.9, + recommendations: [ + { + id: 'movie/watch-through-my-window-across-the-sea-online-97675', + title: 'Through My Window: Across the Sea', + image: 'https://img.movieshd.watch/xxrz/250x400/391/fd/fa/fdfaee0cf2c0321390292d5d2f60c9b4/fdfaee0cf2c0321390292d5d2f60c9b4.jpg', + releaseDate: '2023', + seasons: undefined, + duration: '110m', + type: 'Movie' + }, + { + id: 'tv/watch-the-walking-dead-dead-city-online-97540', + title: 'The Walking Dead: Dead City', + image: 'https://img.movieshd.watch/xxrz/250x400/391/96/2f/962fd0158f7f708e16fc62f8b763a276/962fd0158f7f708e16fc62f8b763a276.jpg', + releaseDate: undefined, + seasons: 1, + duration: undefined, + type: 'TV Series' + }, + {...}, + ... + ], + episodes: [ + { + id: '16076', + title: 'The Batman', + url: 'https://movieshd.watch/ajax/movie/episodes/16076' + } + ] +} +``` + +### fetchEpisodeSources + +

Parameters

+ +| Parameter | Type | Description | +| ----------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| episodeId | `string` | takes episode id as a parameter. (*episode id can be found in the media info object*) | +| mediaId | `string` | takes media id as a parameter. (*media id can be found in the media info object*) | +| server (optional) | [`StreamingServers`](https://github.com/consumet/extensions/blob/master/src/models/types.ts#L144-L157) | takes server enum as a parameter. *default: [`StreamingServers.VidCloud`](https://github.com/consumet/extensions/blob/master/src/models/types.ts#L150)* | + + +```ts +moviesHd.fetchEpisodeSources('16076', 'movie/watch-the-batman-online-16076').then(data => { + console.log(data); +}) +``` +returns a promise which resolves into an array of episode sources and subtitles. (*[`Promise`](https://github.com/consumet/extensions/blob/master/src/models/types.ts#L300-L306)*)\ +output: +```js +{ + headers: { Referer: 'https://dokicloud.one/embed-4/3F3nysmdRDMF?z=' }, + sources: [ + { + url: 'https://eno.dokicloud.one/_v10/fd5de830b89416820504ffef6b23be58878b11bc91d26f99a884f7d4c0dc7c4c500b6ce5d53054d705a74628a3b34208a95bf0d5663142027d6284e4ce2424b9a8cbe9241fb0054f352fcf4d797b2af0fec364a840a38d0d1d3a340c564ad89bb1fecb219076d813667da0ad13266f8a589df412b39bcc03c7c07dc5bfe401c2601ce19dd9530fac08c20fc89104a5d0/1080/index.m3u8', + quality: '1080', + isM3U8: true + }, + { + url: 'https://eno.dokicloud.one/_v10/fd5de830b89416820504ffef6b23be58878b11bc91d26f99a884f7d4c0dc7c4c500b6ce5d53054d705a74628a3b34208a95bf0d5663142027d6284e4ce2424b9a8cbe9241fb0054f352fcf4d797b2af0fec364a840a38d0d1d3a340c564ad89bb1fecb219076d813667da0ad13266f8a589df412b39bcc03c7c07dc5bfe401c2601ce19dd9530fac08c20fc89104a5d0/720/index.m3u8', + quality: '720', + isM3U8: true + }, + { + url: 'https://eno.dokicloud.one/_v10/fd5de830b89416820504ffef6b23be58878b11bc91d26f99a884f7d4c0dc7c4c500b6ce5d53054d705a74628a3b34208a95bf0d5663142027d6284e4ce2424b9a8cbe9241fb0054f352fcf4d797b2af0fec364a840a38d0d1d3a340c564ad89bb1fecb219076d813667da0ad13266f8a589df412b39bcc03c7c07dc5bfe401c2601ce19dd9530fac08c20fc89104a5d0/360/index.m3u8', + quality: '360', + isM3U8: true + }, + { + url: 'https://eno.dokicloud.one/_v10/fd5de830b89416820504ffef6b23be58878b11bc91d26f99a884f7d4c0dc7c4c500b6ce5d53054d705a74628a3b34208a95bf0d5663142027d6284e4ce2424b9a8cbe9241fb0054f352fcf4d797b2af0fec364a840a38d0d1d3a340c564ad89bb1fecb219076d813667da0ad13266f8a589df412b39bcc03c7c07dc5bfe401c2601ce19dd9530fac08c20fc89104a5d0/playlist.m3u8', + isM3U8: true, + quality: 'auto' + } + ], + subtitles: [ + { + url: 'https://cc.2cdns.com/85/ca/85ca0405b2fc0f1f3edacf13e84a9277/85ca0405b2fc0f1f3edacf13e84a9277.vtt', + lang: 'Arabic' + }, + { + url: 'https://cc.2cdns.com/9c/19/9c19c8fceb977034e8ef86bba8ec161e/9c19c8fceb977034e8ef86bba8ec161e.vtt', + lang: 'Danish' + }, + { + url: 'https://cc.2cdns.com/c7/7f/c77fc58f1848b61b665e7de01f298223/eng-2.vtt', + lang: 'English' + }, + { + url: 'https://cc.2cdns.com/a2/73/a2737a6c19b70eb7be88f852eb3f2b8a/a2737a6c19b70eb7be88f852eb3f2b8a.vtt', + lang: 'Finnish' + }, + { + url: 'https://cc.2cdns.com/b2/18/b2180b98383a2ad8a3d3297af5ee9e7f/b2180b98383a2ad8a3d3297af5ee9e7f.vtt', + lang: 'Indonesian' + }, + { + url: 'https://cc.2cdns.com/8f/4b/8f4bf106dc5aca724af13820acde367c/8f4bf106dc5aca724af13820acde367c.vtt', + lang: 'Norwegian' + }, + { + url: 'https://cc.2cdns.com/37/3f/373fd3656dfbccd23746b325f0fdf917/373fd3656dfbccd23746b325f0fdf917.vtt', + lang: 'Portuguese' + }, + { + url: 'https://cc.2cdns.com/b7/e5/b7e5765026f7031a883d19b9b919613a/b7e5765026f7031a883d19b9b919613a.vtt', + lang: 'Spanish' + } + ] +} +``` + +### fetchEpisodeServers + +

Parameters

+ +| Parameter | Type | Description | +| --------- | -------- | ------------------------------------------------------------------------------------------------------------- | +| episodeId | `string` | take an episode id or url as a parameter. (*episode id or episode url can be found in the media info object*) | +| mediaId | `string` | takes media id as a parameter. (*media id can be found in the media info object*) | + +```ts +moviesHd.fetchEpisodeServers('16076', 'movie/watch-the-batman-online-16076').then(data => { + console.log(data); +}) +``` +returns a promise which resolves into an array of episode servers. (*[`Promise`](https://github.com/consumet/extensions/blob/master/src/models/types.ts#L115-L118)*)\ +output: +```js +[ + { name: 'MixDrop', url: 'https://mixdrop.co/e/7r1l3erphjrn0o' }, + { name: 'DoodStream', url: 'https://dood.watch/e/6xi1hr51ghlb' }, + { + name: 'Vidcloud', + url: 'https://rabbitstream.net/embed-4/T2SqGLFECVhb?z=' + }, + { + name: 'UpCloud', + url: 'https://dokicloud.one/embed-4/3F3nysmdRDMF?z=' + } + {...}, + ... +] +``` + +

(back to movie providers list)

+ +### fetchRecentMovies + +```ts +moviesHd.fetchRecentMovies().then(data => { + console.log(data); +}) +``` + +returns a promise which resolves into an array of movies. (*[`Promise`](https://github.com/consumet/extensions/blob/master/src/models/types.ts#L328-L336)*)\ +output: +```js +[ + { + id: 'movie/watch-worlds-best-online-97678', + title: "World's Best", + url: 'https://movieshd.watch/movie/watch-worlds-best-online-97678', + image: 'https://img.movieshd.watch/xxrz/250x400/391/39/a6/39a6f63d6aa29ed36b292e029d3d38f0/39a6f63d6aa29ed36b292e029d3d38f0.jpg', + releaseDate: '2023', + duration: '101m', + type: 'Movie' + }, + { + id: 'movie/watch-through-my-window-across-the-sea-online-97675', + title: 'Through My Window: Across the Sea', + url: 'https://movieshd.watch/movie/watch-through-my-window-across-the-sea-online-97675', + image: 'https://img.movieshd.watch/xxrz/250x400/391/fd/fa/fdfaee0cf2c0321390292d5d2f60c9b4/fdfaee0cf2c0321390292d5d2f60c9b4.jpg', + releaseDate: '2023', + duration: '110m', + type: 'Movie' + }, + { + id: 'movie/watch-the-perfect-find-online-97669', + title: 'The Perfect Find', + url: 'https://movieshd.watch/movie/watch-the-perfect-find-online-97669', + image: 'https://img.movieshd.watch/xxrz/250x400/391/c9/a7/c9a780f7d7cd1eb8a72c3e4ee5880426/c9a780f7d7cd1eb8a72c3e4ee5880426.jpg', + releaseDate: '2023', + duration: '99m', + type: 'Movie' + }, + {...}, +] +``` + + +### fetchRecentTvShows + +```ts +moviesHd.fetchRecentTvShows().then(data => { + console.log(data); +}) +``` + +returns a promise which resolves into an array of tv shows. (*[`Promise`](https://github.com/consumet/extensions/blob/master/src/models/types.ts#L328-L336)*)\ +output: +```js +[ + { + id: 'tv/watch-deadloch-online-97072', + title: 'Deadloch', + url: 'https://movieshd.watch/tv/watch-deadloch-online-97072', + image: 'https://img.movieshd.watch/xxrz/250x400/391/9f/85/9f8594271eb6540e32b7fbda24747c6e/9f8594271eb6540e32b7fbda24747c6e.jpg', + season: 1, + latestEpisode: 6, + type: 'TV Series' + }, + { + id: 'tv/watch-clone-high-online-96937', + title: 'Clone High', + url: 'https://movieshd.watch/tv/watch-clone-high-online-96937', + image: 'https://img.movieshd.watch/xxrz/250x400/391/ad/c5/adc55790c8c88d5538210f7558fec960/adc55790c8c88d5538210f7558fec960.jpg', + season: 1, + latestEpisode: 10, + type: 'TV Series' + }, + { + id: 'tv/watch-and-just-like-that-online-75286', + title: 'And Just Like That…', + url: 'https://movieshd.watch/tv/watch-and-just-like-that-online-75286', + image: 'https://img.movieshd.watch/xxrz/250x400/391/b8/e2/b8e20a6264e28cf1133413f63425297d/b8e20a6264e28cf1133413f63425297d.jpg', + season: 2, + latestEpisode: 2, + type: 'TV Series' + }, + {...}, +] +``` + + +### fetchTrendingMovies + +```ts +moviesHd.fetchTrendingMovies().then(data => { + console.log(data); +}) +``` + +returns a promise which resolves into an array of movies. (*[`Promise`](https://github.com/consumet/extensions/blob/master/src/models/types.ts#L328-L336)*)\ +output: +```js +[ + { + id: 'movie/watch-through-my-window-across-the-sea-online-97675', + title: 'Through My Window: Across the Sea', + url: 'https://movieshd.watch/movie/watch-through-my-window-across-the-sea-online-97675', + image: 'https://img.movieshd.watch/xxrz/250x400/391/fd/fa/fdfaee0cf2c0321390292d5d2f60c9b4/fdfaee0cf2c0321390292d5d2f60c9b4.jpg', + releaseDate: '2023', + duration: '110m', + type: 'Movie' + }, + { + id: 'movie/watch-extraction-2-online-97549', + title: 'Extraction 2', + url: 'https://movieshd.watch/movie/watch-extraction-2-online-97549', + image: 'https://img.movieshd.watch/xxrz/250x400/391/9c/d5/9cd56c00c2b79598f7fba8ba33b2128d/9cd56c00c2b79598f7fba8ba33b2128d.jpg', + releaseDate: '2023', + duration: '123m', + type: 'Movie' + }, + { + id: 'movie/watch-the-perfect-find-online-97669', + title: 'The Perfect Find', + url: 'https://movieshd.watch/movie/watch-the-perfect-find-online-97669', + image: 'https://img.movieshd.watch/xxrz/250x400/391/c9/a7/c9a780f7d7cd1eb8a72c3e4ee5880426/c9a780f7d7cd1eb8a72c3e4ee5880426.jpg', + releaseDate: '2023', + duration: '99m', + type: 'Movie' + }, + {...}, +] +``` + + +### fetchTrendingTvShows + +```ts +moviesHd.fetchTrendingTvShows().then(data => { + console.log(data); +}) +``` + +returns a promise which resolves into an array of tv shows. (*[`Promise`](https://github.com/consumet/extensions/blob/master/src/models/types.ts#L328-L336)*)\ +output: +```js +[ + { + id: 'tv/watch-secret-invasion-online-88246', + title: 'Secret Invasion', + url: 'https://movieshd.watch/tv/watch-secret-invasion-online-88246', + image: 'https://img.movieshd.watch/xxrz/250x400/391/84/21/84218c778e006f43777e1f8fe18a2560/84218c778e006f43777e1f8fe18a2560.jpg', + season: 1, + latestEpisode: 1, + type: 'TV Series' + }, + { + id: 'tv/watch-skull-island-online-97690', + title: 'Skull Island', + url: 'https://movieshd.watch/tv/watch-skull-island-online-97690', + image: 'https://img.movieshd.watch/xxrz/250x400/391/83/c1/83c19806235b273f762c328a49d4d91d/83c19806235b273f762c328a49d4d91d.jpg', + season: 1, + latestEpisode: 8, + type: 'TV Series' + }, + { + id: 'tv/watch-black-mirror-online-39396', + title: 'Black Mirror', + url: 'https://movieshd.watch/tv/watch-black-mirror-online-39396', + image: 'https://img.movieshd.watch/xxrz/250x400/391/d6/9d/d69d87285ef143fab74322227616bb04/d69d87285ef143fab74322227616bb04.jpg', + season: 6, + latestEpisode: 5, + type: 'TV Series' + }, + {...}, +] +``` diff --git a/src/providers/movies/goku.ts b/src/providers/movies/goku.ts index e3c4320c4..add9a3b15 100644 --- a/src/providers/movies/goku.ts +++ b/src/providers/movies/goku.ts @@ -18,7 +18,7 @@ class Goku extends MovieParser { override readonly name = 'Goku'; protected override baseUrl = 'https://goku.sx'; protected override logo = - 'https://img.goku.sx/xxrz/100x100/100/81/94/819455c601168a1fd7caf7cdf77a8bbf/819455c601168a1fd7caf7cdf77a8bbf.png?v=1.1'; + 'https://img.goku.sx/xxrz/400x400/100/9c/e7/9ce7510639c4204bfe43904fad8f361f/9ce7510639c4204bfe43904fad8f361f.png'; protected override classPath = 'MOVIES.Goku'; override supportedTypes = new Set([TvType.MOVIE, TvType.TVSERIES]); diff --git a/src/providers/movies/index.ts b/src/providers/movies/index.ts index f034b66a1..ed39eb337 100644 --- a/src/providers/movies/index.ts +++ b/src/providers/movies/index.ts @@ -3,5 +3,6 @@ import ViewAsian from './viewAsian'; import DramaCool from './dramacool'; import Fmovies from './fmovies'; import Goku from './goku'; +import MovieHdWatch from './movidhdwatch'; -export default { FlixHQ, ViewAsian, DramaCool, Fmovies, Goku }; +export default { FlixHQ, ViewAsian, DramaCool, Fmovies, Goku, MovieHdWatch }; diff --git a/src/providers/movies/movidhdwatch.ts b/src/providers/movies/movidhdwatch.ts new file mode 100644 index 000000000..8d0391236 --- /dev/null +++ b/src/providers/movies/movidhdwatch.ts @@ -0,0 +1,423 @@ +import { load } from 'cheerio'; +import axios from 'axios'; + +import { + MovieParser, + TvType, + IMovieInfo, + IEpisodeServer, + StreamingServers, + ISource, + IMovieResult, + ISearch, + IMovieEpisode, +} from '../../models'; +import { MixDrop, VidCloud } from '../../extractors'; + +class MovieHdWatch extends MovieParser { + override readonly name = 'MovieHdWatch'; + protected override baseUrl = 'https://movieshd.watch'; + protected override logo = + 'https://img.movieshd.watch/xxrz/400x400/100/ee/63/ee6317c38904ee048676164b0852207d/ee6317c38904ee048676164b0852207d.png'; + protected override classPath = 'MOVIES.MovieHdWatch'; + override supportedTypes = new Set([TvType.MOVIE, TvType.TVSERIES]); + + /** + * + * @param query search query string + * @param page page number (default 1) (optional) + */ + override search = async (query: string, page: number = 1): Promise> => { + const searchResult: ISearch = { + currentPage: page, + hasNextPage: false, + results: [], + }; + try { + const { data } = await axios.get( + `${this.baseUrl}/search/${query.replace(/[\W_]+/g, '-')}?page=${page}` + ); + const $ = load(data); + + const navSelector = 'div.pre-pagination:nth-child(3) > nav:nth-child(1) > ul:nth-child(1)'; + + searchResult.hasNextPage = + $(navSelector).length > 0 ? !$(navSelector).children().last().hasClass('active') : false; + + $('.film_list-wrap > div.flw-item').each((i, el) => { + const releaseDate = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const duration = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + searchResult.results.push({ + id: $(el).find('div.film-poster > a').attr('href')?.slice(1) ?? '', + title: $(el).find('div.film-detail > h2 > a').attr('title') ?? '', + url: `${this.baseUrl}${$(el).find('div.film-poster > a').attr('href')}`, + image: $(el).find('div.film-poster > img').attr('data-src'), + releaseDate: isNaN(parseInt(releaseDate)) ? undefined : releaseDate, + seasons: releaseDate.includes('SS') ? parseInt(releaseDate.split('SS')[1]) : undefined, + duration: !duration.includes('EPS') ? duration : undefined, + type: $(el).find('div.film-poster > a').attr('href')?.includes('tv/') + ? TvType.TVSERIES + : TvType.MOVIE, + }); + }); + + return searchResult; + } catch (err) { + throw new Error((err as Error).message); + } + }; + + /** + * + * @param mediaId media link or id + */ + override fetchMediaInfo = async (mediaId: string): Promise => { + if (mediaId.startsWith(this.baseUrl)) { + mediaId = mediaId.replace(this.baseUrl + '/', ''); + } + + try { + const { data } = await axios.get(`${this.baseUrl}/${mediaId}`); + const $ = load(data); + const recommendationsArray: IMovieResult[] = []; + + const movieInfo: IMovieInfo = { + id: mediaId, + title: '', + url: `${this.baseUrl}/${mediaId}`, + }; + + const uid = $('.detail_page-watch').attr('data-id')!; + movieInfo.cover = $('div.dp-w-cover').attr('style')?.slice(22).replace(')', '').replace(';', ''); + movieInfo.title = $('.heading-name > a:nth-child(1)').text(); + movieInfo.image = $('.film-poster > img').attr('src'); + movieInfo.description = $('.description') + .text() + .replace(/(\r\n|\n|\r)/gm, '') + .trim(); + movieInfo.type = movieInfo.id.split('/')[0] === 'tv' ? TvType.TVSERIES : TvType.MOVIE; + movieInfo.releaseDate = $('div.elements') + .find('div.row-line') + .first() + .text() + .replace('Released: ', '') + .trim(); + movieInfo.genres = $('div.row-line:nth-child(2)') + .first() + .find('a') + .map((i, el) => $(el).text().split('&')) + .get() + .map(v => v.trim()); + movieInfo.casts = $('div.row-line:nth-child(3)') + .first() + .find('a') + .map((i, el) => $(el).attr('title')) + .get(); + movieInfo.production = $('div.row-line:nth-child(3)') + .last() + .find('a') + .map((i, el) => $(el).attr('title')) + .get() + .join(); + movieInfo.country = $('div.row-line:nth-child(2)') + .last() + .find('a') + .map((i, el) => $(el).attr('title')) + .get(); + movieInfo.duration = $('div.row-line:nth-child(1)') + .last() + .text() + .replace(/(\r\n|\n| |\r)/gm, '') + .replace('Duration:', '') + .trim(); + movieInfo.rating = parseFloat($('div.dp-i-stats > span.item.mr-2').text().replace('IMDB: ', '')); + + $('div.film_list-wrap > div.flw-item').each((i, el) => { + const releaseDate = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const duration = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + recommendationsArray.push({ + id: $(el).find('div.film-poster > a').attr('href')?.slice(1)!, + title: $(el).find('div.film-detail > h3.film-name > a').text(), + image: $(el).find('div.film-poster > img').attr('data-src'), + releaseDate: isNaN(parseInt(releaseDate)) ? undefined : releaseDate, + seasons: releaseDate.includes('SS') ? parseInt(releaseDate.split('SS')[1]) : undefined, + duration: !duration.includes('EPS') ? duration : undefined, + type: $(el).find('div.film-poster > a').attr('href')?.includes('tv/') + ? TvType.TVSERIES + : TvType.MOVIE, + }); + }); + + movieInfo.recommendations = recommendationsArray; + const ajaxReqUrl = (id: string, type: string, isSeasons: boolean = false) => + `${this.baseUrl}/ajax/${type === 'movie' ? type : `v2/${type}`}/${ + isSeasons ? 'seasons' : 'episodes' + }/${id}`; + + if (movieInfo.type === TvType.TVSERIES) { + const { data } = await axios.get(ajaxReqUrl(uid, 'tv', true)); + const $$ = load(data); + const seasonsIds = $$('.dropdown-menu > a') + .map((i, el) => $(el).attr('data-id')) + .get(); + + movieInfo.episodes = []; + let season = 1; + for (const id of seasonsIds) { + const { data } = await axios.get(ajaxReqUrl(id, 'season')); + const $$$ = load(data); + + $$$('.nav > li') + .map((i, el) => { + const episode: IMovieEpisode = { + id: $$$(el).find('a').attr('id')!.split('-')[1], + title: $$$(el).find('a').attr('title')!, + number: parseInt($$$(el).find('a').attr('title')!.split(':')[0].slice(3).trim()), + season: season, + url: `${this.baseUrl}/ajax/v2/episode/servers/${$$$(el).find('a').attr('id')!.split('-')[1]}`, + }; + movieInfo.episodes?.push(episode); + }) + .get(); + season++; + } + } else { + movieInfo.episodes = [ + { + id: uid, + title: movieInfo.title, + url: `${this.baseUrl}/ajax/movie/episodes/${uid}`, + }, + ]; + } + + return movieInfo; + } catch (err) { + throw new Error((err as Error).message); + } + }; + + /** + * + * @param episodeId episode id + * @param mediaId media id + * @param server server type (default `VidCloud`) (optional) + */ + override fetchEpisodeSources = async ( + episodeId: string, + mediaId: string, + server: StreamingServers = StreamingServers.UpCloud + ): Promise => { + if (episodeId.startsWith('http')) { + const serverUrl = new URL(episodeId); + switch (server) { + case StreamingServers.MixDrop: + return { + headers: { Referer: serverUrl.href }, + sources: await new MixDrop().extract(serverUrl), + }; + case StreamingServers.VidCloud: + return { + headers: { Referer: serverUrl.href }, + ...(await new VidCloud().extract(serverUrl, true)), + }; + case StreamingServers.UpCloud: + return { + headers: { Referer: serverUrl.href }, + ...(await new VidCloud().extract(serverUrl)), + }; + default: + return { + headers: { Referer: serverUrl.href }, + sources: await new MixDrop().extract(serverUrl), + }; + } + } + + try { + const servers = await this.fetchEpisodeServers(episodeId, mediaId); + + const i = servers.findIndex(s => s.name.toLowerCase() === server.toLowerCase()); + + if (i === -1) { + throw new Error(`Server ${server} not found`); + } + + const serverUrl: URL = new URL( + servers.filter(s => s.name.toLowerCase() === server.toLowerCase())[0].url + ); + + return await this.fetchEpisodeSources(serverUrl.href, mediaId, server); + } catch (err) { + throw new Error((err as Error).message); + } + }; + + /** + * + * @param episodeId takes episode link or movie id + * @param mediaId takes movie link or id (found on movie info object) + */ + override fetchEpisodeServers = async (episodeId: string, mediaId: string): Promise => { + if (!episodeId.startsWith(this.baseUrl + '/ajax') && !mediaId.includes('movie')) + episodeId = `${this.baseUrl}/ajax/v2/episode/servers/${episodeId}`; + else episodeId = `${this.baseUrl}/ajax/movie/episodes/${episodeId}`; + + try { + const { data } = await axios.get(episodeId); + const $ = load(data); + const servers: IEpisodeServer[] = []; + + await Promise.all( + $('.nav > li').map(async (i, el) => { + const server: IEpisodeServer = { + name: $(el).find('a').attr('title')!.slice(6).trim(), + url: `${this.baseUrl}/${mediaId}.${ + !mediaId.includes('movie') + ? $(el).find('a').attr('data-id') + : $(el).find('a').attr('data-linkid') + }`.replace( + !mediaId.includes('movie') ? /\/tv\// : /\/movie\//, + !mediaId.includes('movie') ? '/watch-tv/' : '/watch-movie/' + ), + }; + + const { data } = await axios.get( + `${this.baseUrl}/ajax/get_link/${server.url.split('.').slice(-1).shift()}` + ); + + const serverUrl: URL = new URL(data.link); + server.url = serverUrl.href; + + servers.push(server); + }) + ); + + return servers; + } catch (err) { + throw new Error((err as Error).message); + } + }; + + fetchRecentMovies = async (): Promise => { + try { + const { data } = await axios.get(`${this.baseUrl}/home`); + const $ = load(data); + + const movies = $('.section-id-02') + .find('div.flw-item') + .map((i, el) => { + const releaseDate = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const duration = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + const movie: IMovieResult = { + id: $(el).find('div.film-poster > a').attr('href')?.slice(1) ?? '', + title: $(el).find('div.film-detail > h3.film-name > a').attr('title') ?? '', + url: `${this.baseUrl}${$(el).find('div.film-poster > a').attr('href')}`, + image: $(el).find('div.film-poster > img').attr('data-src'), + releaseDate: isNaN(parseInt(releaseDate)) ? undefined : releaseDate, + duration: !duration.includes('EPS') ? duration : undefined, + type: $(el).find('div.film-poster > a').attr('href')?.includes('movie/') + ? TvType.MOVIE + : TvType.TVSERIES, + }; + return movie; + }) + .get(); + return movies; + } catch (err) { + throw new Error((err as Error).message); + } + }; + + fetchRecentTvShows = async (): Promise => { + try { + const { data } = await axios.get(`${this.baseUrl}/home`); + const $ = load(data); + + const tvshows = $('.section-id-03') + .find('div.flw-item') + .map((i, el) => { + const season = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const episode = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + const tvshow = { + id: $(el).find('div.film-poster > a').attr('href')?.slice(1) ?? '', + title: $(el).find('div.film-detail > h3.film-name > a').attr('title') ?? '', + url: `${this.baseUrl}${$(el).find('div.film-poster > a').attr('href')}`, + image: $(el).find('div.film-poster > img').attr('data-src'), + season: season.includes('SS') ? parseInt(season.split('SS')[1]) : undefined, + latestEpisode: episode.includes('EPS') ? parseInt(episode.split('EPS')[1]) : undefined, + type: $(el).find('div.film-poster > a').attr('href')?.includes('tv/') + ? TvType.TVSERIES + : TvType.MOVIE, + }; + return tvshow; + }) + .get(); + return tvshows; + } catch (err) { + throw new Error((err as Error).message); + } + }; + + fetchTrendingMovies = async (): Promise => { + try { + const { data } = await axios.get(`${this.baseUrl}/home`); + const $ = load(data); + + const movies = $('#trending-movies') + .find('div.flw-item') + .map((i, el) => { + const releaseDate = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const duration = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + const movie: IMovieResult = { + id: $(el).find('div.film-poster > a').attr('href')?.slice(1) ?? '', + title: $(el).find('div.film-detail > h3.film-name > a').attr('title') ?? '', + url: `${this.baseUrl}${$(el).find('div.film-poster > a').attr('href')}`, + image: $(el).find('div.film-poster > img').attr('data-src'), + releaseDate: isNaN(parseInt(releaseDate)) ? undefined : releaseDate, + duration: !duration.includes('EPS') ? duration : undefined, + type: $(el).find('div.film-poster > a').attr('href')?.includes('movie/') + ? TvType.MOVIE + : TvType.TVSERIES, + }; + return movie; + }) + .get(); + return movies; + } catch (err) { + throw new Error((err as Error).message); + } + }; + + fetchTrendingTvShows = async (): Promise => { + try { + const { data } = await axios.get(`${this.baseUrl}/home`); + const $ = load(data); + + const tvshows = $('#trending-tv') + .find('div.flw-item') + .map((i, el) => { + const season = $(el).find('div.film-detail > div.film-infor > span:nth-child(2)').text(); + const episode = $(el).find('div.film-detail > div.film-infor > span:nth-child(4)').text(); + const tvshow = { + id: $(el).find('div.film-poster > a').attr('href')?.slice(1) ?? '', + title: $(el).find('div.film-detail > h3.film-name > a').attr('title') ?? '', + url: `${this.baseUrl}${$(el).find('div.film-poster > a').attr('href')}`, + image: $(el).find('div.film-poster > img').attr('data-src'), + season: season.includes('SS') ? parseInt(season.split('SS')[1]) : undefined, + latestEpisode: episode.includes('EPS') ? parseInt(episode.split('EPS')[1]) : undefined, + type: $(el).find('div.film-poster > a').attr('href')?.includes('tv/') + ? TvType.TVSERIES + : TvType.MOVIE, + }; + return tvshow; + }) + .get(); + return tvshows; + } catch (err) { + throw new Error((err as Error).message); + } + }; +} + +export default MovieHdWatch; diff --git a/src/utils/providers-list.ts b/src/utils/providers-list.ts index a33e93e65..f0c83f13f 100644 --- a/src/utils/providers-list.ts +++ b/src/utils/providers-list.ts @@ -39,6 +39,7 @@ export const PROVIDERS_LIST = { new MOVIES.DramaCool(), new MOVIES.Fmovies(), new MOVIES.Goku(), + new MOVIES.MovieHdWatch(), ], NEWS: [new NEWS.ANN()], META: [new META.Anilist(), new META.TMDB(), new META.Myanimelist()], diff --git a/test/movies/goku.test.ts b/test/movies/goku.test.ts index a4e27ab17..dd915d83a 100644 --- a/test/movies/goku.test.ts +++ b/test/movies/goku.test.ts @@ -1,4 +1,3 @@ -import { StreamingServers } from '../../src/models'; import { MOVIES } from '../../src/providers'; jest.setTimeout(120000); diff --git a/test/movies/moviehdwatch.test.ts b/test/movies/moviehdwatch.test.ts new file mode 100644 index 000000000..bc00f20e9 --- /dev/null +++ b/test/movies/moviehdwatch.test.ts @@ -0,0 +1,62 @@ +import { MOVIES } from '../../src/providers'; + +jest.setTimeout(120000); + +const moviesHd = new MOVIES.MovieHdWatch(); + +test('returns a filled array of movies/tv', async () => { + const data = await moviesHd.search('batman'); + expect(data.results).not.toEqual([]); +}); + +test('returns a filled object of movies data', async () => { + const data = await moviesHd.fetchMediaInfo('movie/watch-the-batman-online-16076'); + expect(data.description).not.toEqual(''); + expect(data.episodes).not.toEqual([]); +}); + +test('returns a filled object of streaming movie servers', async () => { + const data = await moviesHd.fetchEpisodeServers('16076', 'movie/watch-the-batman-online-16076'); + expect(data).not.toEqual([]); +}); + +test('returns a filled object of streaming movie sources', async () => { + const data = await moviesHd.fetchEpisodeSources('16076', 'movie/watch-the-batman-online-16076'); + expect(data.sources).not.toEqual([]); +}); + +test('returns a filled object of tv data', async () => { + const data = await moviesHd.fetchMediaInfo('tv/watch-batman-online-39276'); + expect(data.description).not.toEqual(''); + expect(data.episodes).not.toEqual([]); +}); + +test('returns a filled object of streaming tv servers', async () => { + const data = await moviesHd.fetchEpisodeServers('46259', 'tv/watch-batman-online-39276'); + expect(data).not.toEqual([]); +}); + +test('returns a filled object of streaming tv sources', async () => { + const data = await moviesHd.fetchEpisodeSources('46259', 'tv/watch-batman-online-39276'); + expect(data.sources).not.toEqual([]); +}); + +test('returns a filled object of recent movies', async () => { + const data = await moviesHd.fetchRecentMovies(); + expect(data).not.toEqual([]); +}); + +test('returns a filled object of recent tv shows', async () => { + const data = await moviesHd.fetchRecentTvShows(); + expect(data).not.toEqual([]); +}); + +test('returns a filled object of trending movies', async () => { + const data = await moviesHd.fetchTrendingMovies(); + expect(data).not.toEqual([]); +}); + +test('returns a filled object of trending tv shows', async () => { + const data = await moviesHd.fetchTrendingTvShows(); + expect(data).not.toEqual([]); +});