wikiextensions-flix
Advanced tools
Comparing version 1.7.8 to 1.7.9
@@ -17,19 +17,29 @@ "use strict"; | ||
}; | ||
let dataFail = null; | ||
try { | ||
const fileUrl = 'https://keys4.fun/'; | ||
const keyData = (await axios_1.default.get(fileUrl)).data; | ||
const v = "12834"; //keyData.rabbitstream.v; | ||
const h = "ff690eeefdda18949ddc0bac3f610c79aeeeb47c"; //keyData.rabbitstream.h; | ||
const b = "1676800512"; //keyData.rabbitstream.b; | ||
const agent = keyData.rabbitstream.agent; | ||
const key = keyData.rabbitstream.keys.key; | ||
const id = videoUrl.href.split('/').pop()?.split('?')[0]; | ||
const options = { | ||
headers: { | ||
'X-Requested-With': 'XMLHttpRequest', | ||
'Referer': videoUrl.href, | ||
//'X-Requested-With': 'XMLHttpRequest', | ||
//'Referer': videoUrl.href, | ||
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0" | ||
}, | ||
}; | ||
const { data } = await axios_1.default.get(`${isAlternative ? this.host2 : this.host}/ajax/embed-4/getSources?id=${id}`, options); | ||
//12:02pm - 6:56pm | ||
const { data } = await axios_1.default.get(`${isAlternative ? this.host2 : this.host}/ajax/v2/embed-4/getSources?id=${id}&v=12834&h=ff690eeefdda18949ddc0bac3f610c79aeeeb47c&b=1676800512`, options); | ||
console.log(data); | ||
let sources = null; | ||
if (data.encrypted) { | ||
if (data.t == 1) { | ||
dataFail = data; | ||
// const key = await (await axios.get('https://raw.githubusercontent.com/enimax-anime/key/e4/key.txt')).data; | ||
//const key = await (await axios.get('https://raw.githubusercontent.com/theonlymo/keys/e4/key')).data; | ||
const fileUrl = 'https://keys4.fun/'; | ||
const keyData = (await axios_1.default.get(fileUrl)).data; | ||
const key = keyData.rabbitstream.keys; | ||
//const fileUrl = 'https://keys4.fun/'; | ||
//const keyData = (await axios.get(fileUrl)).data; | ||
/*const sourcesArray = data.sources.split(''); | ||
@@ -49,4 +59,5 @@ let extractedKey = ''; | ||
data.sources = sourcesArray.join('');*/ | ||
let keyString = btoa(String.fromCharCode.apply(null, (key))); | ||
sources = JSON.parse(crypto_js_1.default.AES.decrypt(data.sources, keyString).toString(crypto_js_1.default.enc.Utf8)); | ||
//let keyString = btoa(String.fromCharCode.apply(null, (key))) | ||
console.log(key); | ||
sources = JSON.parse(crypto_js_1.default.AES.decrypt(data.sources, key).toString(crypto_js_1.default.enc.Utf8)); | ||
} | ||
@@ -79,3 +90,16 @@ else { | ||
catch (err) { | ||
throw new Error(err.message); | ||
videoResult.sources.push({ | ||
url: dataFail.sources, | ||
quality: "uknown", | ||
isM3U8: false, | ||
}); | ||
videoResult.subtiles = dataFail.tracks.map((track) => { | ||
return { | ||
url: track.file, | ||
lang: track.label ?? 'Default', | ||
}; | ||
}); | ||
console.log(err); | ||
return videoResult; | ||
//throw new Error((err as Error).message); | ||
} | ||
@@ -82,0 +106,0 @@ }; |
{ | ||
"name": "wikiextensions-flix", | ||
"version": "1.7.8", | ||
"version": "1.7.9", | ||
"description": "Nodejs library that provides an Api for obtaining the movies information from FlixHQ website.", | ||
@@ -9,3 +9,4 @@ "main": "dist/index.js", | ||
"build": "tsc", | ||
"test": "nodemon test/index.ts" | ||
"test": "nodemon test/index.ts", | ||
"test2": "nodemon test/test.js" | ||
}, | ||
@@ -12,0 +13,0 @@ "keywords": [ |
@@ -0,0 +0,0 @@ |
import MOVIES from './movies'; | ||
export { MOVIES }; |
@@ -0,0 +0,0 @@ import axios from "axios"; |
import FlixHQ from "./flixhq"; | ||
export default { FlixHQ }; |
@@ -0,0 +0,0 @@ import VidCloud from "./vidcloud"; |
@@ -0,0 +0,0 @@ import axios from "axios"; |
@@ -17,11 +17,22 @@ import axios from 'axios'; | ||
let dataFail = null; | ||
try { | ||
const fileUrl = 'https://keys4.fun/'; | ||
const keyData = (await axios.get(fileUrl)).data; | ||
const v = "12834" //keyData.rabbitstream.v; | ||
const h = "ff690eeefdda18949ddc0bac3f610c79aeeeb47c"//keyData.rabbitstream.h; | ||
const b = "1676800512"//keyData.rabbitstream.b; | ||
const agent = keyData.rabbitstream.agent; | ||
const key = keyData.rabbitstream.keys.key; | ||
const id = videoUrl.href.split('/').pop()?.split('?')[0]; | ||
const options = { | ||
headers: { | ||
'X-Requested-With': 'XMLHttpRequest', | ||
'Referer': videoUrl.href, | ||
//'X-Requested-With': 'XMLHttpRequest', | ||
//'Referer': videoUrl.href, | ||
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0" | ||
}, | ||
}; | ||
const { data } = await axios.get(`${isAlternative ? this.host2 : this.host}/ajax/embed-4/getSources?id=${id}`, options); | ||
//12:02pm - 6:56pm | ||
const { data } = await axios.get(`${isAlternative ? this.host2 : this.host}/ajax/v2/embed-4/getSources?id=${id}&v=12834&h=ff690eeefdda18949ddc0bac3f610c79aeeeb47c&b=1676800512`, options); | ||
@@ -31,10 +42,11 @@ console.log(data); | ||
if (data.encrypted) { | ||
if (data.t == 1) { | ||
dataFail = data; | ||
// const key = await (await axios.get('https://raw.githubusercontent.com/enimax-anime/key/e4/key.txt')).data; | ||
//const key = await (await axios.get('https://raw.githubusercontent.com/theonlymo/keys/e4/key')).data; | ||
const fileUrl = 'https://keys4.fun/'; | ||
const keyData = (await axios.get(fileUrl)).data; | ||
//const fileUrl = 'https://keys4.fun/'; | ||
//const keyData = (await axios.get(fileUrl)).data; | ||
const key = keyData.rabbitstream.keys; | ||
/*const sourcesArray = data.sources.split(''); | ||
@@ -54,4 +66,5 @@ let extractedKey = ''; | ||
data.sources = sourcesArray.join('');*/ | ||
let keyString = btoa(String.fromCharCode.apply(null, (key))) | ||
sources = JSON.parse(cryptoJs.AES.decrypt(data.sources, keyString).toString(cryptoJs.enc.Utf8)); | ||
//let keyString = btoa(String.fromCharCode.apply(null, (key))) | ||
console.log(key); | ||
sources = JSON.parse(cryptoJs.AES.decrypt(data.sources, key).toString(cryptoJs.enc.Utf8)); | ||
@@ -90,3 +103,17 @@ | ||
} catch (err) { | ||
throw new Error((err as Error).message); | ||
videoResult.sources.push({ | ||
url: dataFail.sources, | ||
quality: "uknown", | ||
isM3U8: false, | ||
}); | ||
videoResult.subtiles = dataFail.tracks.map((track: any) => { | ||
return { | ||
url: track.file, | ||
lang: track.label ?? 'Default', | ||
} | ||
}); | ||
console.log(err); | ||
return videoResult; | ||
//throw new Error((err as Error).message); | ||
} | ||
@@ -93,0 +120,0 @@ } |
import { MOVIES } from './crawler'; | ||
export { MOVIES }; |
@@ -0,0 +0,0 @@ export enum MovieType { |
@@ -0,0 +0,0 @@ import { AnyNode, Cheerio, CheerioAPI } from "cheerio"; |
export {}; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -0,0 +0,0 @@ "use strict"; |
@@ -5,9 +5,11 @@ import { MOVIES } from "../src"; | ||
(async () => { | ||
const FlixHQ = new MOVIES.FlixHQ(); | ||
const data = await FlixHQ.fetchMovieInfo('movie/watch-aquaman-and-the-lost-kingdom-104119'); | ||
const search = await FlixHQ.search("titanic"); | ||
console.log(search.results[0]); | ||
const data = await FlixHQ.fetchMovieInfo(search.results[0].id/*'movie/watch-aquaman-and-the-lost-kingdom-104119'*/); | ||
const server = await FlixHQ.fetchEpisodeServers(data.id, data.episodes[0].id); | ||
console.log(JSON.stringify(server)); | ||
const source = await FlixHQ.fetchEpisodeSources(data.id, data.episodes[0].id, StreamingServers.VidCloud) as IVideoResult; | ||
const source = await FlixHQ.fetchEpisodeSources(data.id, data.episodes[0].id, StreamingServers.UpCloud) as IVideoResult; | ||
console.log(JSON.stringify(source)); | ||
console.log("FINAL:"+JSON.stringify(source)); | ||
})(); |
@@ -0,0 +0,0 @@ { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
137480
57
1986
1