mirror of
https://github.com/movie-web/providers.git
synced 2025-09-13 15:33:26 +00:00
Merge branch 'dev' into fix-goojara
This commit is contained in:
@@ -2,6 +2,16 @@
|
|||||||
title: 'Changelog'
|
title: 'Changelog'
|
||||||
---
|
---
|
||||||
|
|
||||||
|
# Version 2.2.0
|
||||||
|
- Fixed vidsrc.me URL decoding.
|
||||||
|
- Added ridomovies with Ridoo and Closeload embed.
|
||||||
|
- Added Goojara.to source.
|
||||||
|
- Fixed VidSrcTo crashing if no subtitles are found.
|
||||||
|
- Added Nepu Provider.
|
||||||
|
- Added vidcloud to flixhq and zoechip.
|
||||||
|
- Add thumbnail track option to response (Not supported by any providers yet).
|
||||||
|
- Disabled Lookmovie and swapped Showbox and VidSrcTo in ranking.
|
||||||
|
|
||||||
# Version 2.1.1
|
# Version 2.1.1
|
||||||
- Fixed vidplay decryption keys being wrong and switched the domain to one that works
|
- Fixed vidplay decryption keys being wrong and switched the domain to one that works
|
||||||
|
|
||||||
|
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@movie-web/providers",
|
"name": "@movie-web/providers",
|
||||||
"version": "2.1.1",
|
"version": "2.2.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@movie-web/providers",
|
"name": "@movie-web/providers",
|
||||||
"version": "2.1.1",
|
"version": "2.2.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cheerio": "^1.0.0-rc.12",
|
"cheerio": "^1.0.0-rc.12",
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@movie-web/providers",
|
"name": "@movie-web/providers",
|
||||||
"version": "2.1.1",
|
"version": "2.2.0",
|
||||||
"description": "Package that contains all the providers of movie-web",
|
"description": "Package that contains all the providers of movie-web",
|
||||||
"main": "./lib/index.umd.js",
|
"main": "./lib/index.umd.js",
|
||||||
"types": "./lib/index.d.ts",
|
"types": "./lib/index.d.ts",
|
||||||
|
@@ -43,7 +43,7 @@ export const closeLoadScraper = makeEmbed({
|
|||||||
const evalCode = iframeRes$('script')
|
const evalCode = iframeRes$('script')
|
||||||
.filter((_, el) => {
|
.filter((_, el) => {
|
||||||
const script = iframeRes$(el);
|
const script = iframeRes$(el);
|
||||||
return (script.attr('type') === 'text/javascript' && script.html()?.includes('eval')) ?? false;
|
return (script.attr('type') === 'text/javascript' && script.html()?.includes('p,a,c,k,e,d')) ?? false;
|
||||||
})
|
})
|
||||||
.html();
|
.html();
|
||||||
if (!evalCode) throw new Error("Couldn't find eval code");
|
if (!evalCode) throw new Error("Couldn't find eval code");
|
||||||
|
@@ -9,8 +9,12 @@ export const referer = `${vidplayBase}/`;
|
|||||||
// Full credits to @Ciarands!
|
// Full credits to @Ciarands!
|
||||||
|
|
||||||
export const getDecryptionKeys = async (ctx: EmbedScrapeContext): Promise<string[]> => {
|
export const getDecryptionKeys = async (ctx: EmbedScrapeContext): Promise<string[]> => {
|
||||||
const res = await ctx.fetcher<string>('https://raw.githubusercontent.com/Ciarands/vidsrc-keys/main/keys.json');
|
const res = await ctx.proxiedFetcher<string>('https://github.com/Ciarands/vidsrc-keys/blob/main/keys.json');
|
||||||
return JSON.parse(res);
|
const regex = /"rawLines":\s*\[([\s\S]*?)\]/;
|
||||||
|
const rawLines = res.match(regex)?.[1];
|
||||||
|
if (!rawLines) throw new Error('No keys found');
|
||||||
|
const keys = JSON.parse(`${rawLines.substring(1).replace(/\\"/g, '"')}]`);
|
||||||
|
return keys;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getEncodedId = async (ctx: EmbedScrapeContext) => {
|
export const getEncodedId = async (ctx: EmbedScrapeContext) => {
|
||||||
|
@@ -32,6 +32,7 @@ async function universalScraper(ctx: MovieScrapeContext | ShowScrapeContext): Pr
|
|||||||
export const lookmovieScraper = makeSourcerer({
|
export const lookmovieScraper = makeSourcerer({
|
||||||
id: 'lookmovie',
|
id: 'lookmovie',
|
||||||
name: 'LookMovie',
|
name: 'LookMovie',
|
||||||
|
disabled: true,
|
||||||
rank: 700,
|
rank: 700,
|
||||||
flags: [flags.IP_LOCKED],
|
flags: [flags.IP_LOCKED],
|
||||||
scrapeShow: universalScraper,
|
scrapeShow: universalScraper,
|
||||||
|
@@ -41,7 +41,7 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
|
|||||||
export const showboxScraper = makeSourcerer({
|
export const showboxScraper = makeSourcerer({
|
||||||
id: 'showbox',
|
id: 'showbox',
|
||||||
name: 'Showbox',
|
name: 'Showbox',
|
||||||
rank: 300,
|
rank: 400,
|
||||||
flags: [flags.CORS_ALLOWED, flags.CF_BLOCKED],
|
flags: [flags.CORS_ALLOWED, flags.CF_BLOCKED],
|
||||||
scrapeShow: comboScraper,
|
scrapeShow: comboScraper,
|
||||||
scrapeMovie: comboScraper,
|
scrapeMovie: comboScraper,
|
||||||
|
@@ -83,5 +83,5 @@ export const vidSrcToScraper = makeSourcerer({
|
|||||||
scrapeMovie: universalScraper,
|
scrapeMovie: universalScraper,
|
||||||
scrapeShow: universalScraper,
|
scrapeShow: universalScraper,
|
||||||
flags: [],
|
flags: [],
|
||||||
rank: 400,
|
rank: 300,
|
||||||
});
|
});
|
||||||
|
@@ -8,10 +8,16 @@ export type StreamFile = {
|
|||||||
|
|
||||||
export type Qualities = 'unknown' | '360' | '480' | '720' | '1080' | '4k';
|
export type Qualities = 'unknown' | '360' | '480' | '720' | '1080' | '4k';
|
||||||
|
|
||||||
|
type ThumbnailTrack = {
|
||||||
|
type: 'vtt';
|
||||||
|
url: string;
|
||||||
|
};
|
||||||
|
|
||||||
type StreamCommon = {
|
type StreamCommon = {
|
||||||
id: string; // only unique per output
|
id: string; // only unique per output
|
||||||
flags: Flags[];
|
flags: Flags[];
|
||||||
captions: Caption[];
|
captions: Caption[];
|
||||||
|
thumbnailTrack?: ThumbnailTrack;
|
||||||
headers?: Record<string, string>; // these headers HAVE to be set to watch the stream
|
headers?: Record<string, string>; // these headers HAVE to be set to watch the stream
|
||||||
preferredHeaders?: Record<string, string>; // these headers are optional, would improve the stream
|
preferredHeaders?: Record<string, string>; // these headers are optional, would improve the stream
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user