@ -6,7 +6,6 @@ const {
homgot
} = require ( '../api/apiCall' ) ;
function btoa ( str ) {
let buffer ;
if ( str instanceof Buffer ) {
@ -26,11 +25,11 @@ async function videoServersJK(id) {
const $ = await homgot ( ` ${ BASE _JKANIME } ${ id } ` , options ) ;
const scripts = $ ( 'script' ) ;
const totalEps = $ ( 'div#container div#reproductor-box div ul li' ) . length ;
const episodes = $ ( 'div#reproductor-box li' ) ;
const serverNames = [ ] ;
let servers = [ ] ;
$( 'div#container div#reproductor-box div ul li' ) . each ( ( index , element ) => {
episodes . each ( ( index , element ) => {
const $element = $ ( element ) ;
const serverName = $element . find ( 'a' ) . text ( ) ;
serverNames . push ( serverName ) ;
@ -40,9 +39,8 @@ async function videoServersJK(id) {
const $script = $ ( scripts [ i ] ) ;
const contents = $script . html ( ) ;
try {
if ( ( contents || '' ) . includes ( 'var video = [];' ) ) {
Array . from ( { length : totalEps } , ( v , k ) => {
Array . from ( { length : episodes. length } , ( v , k ) => {
let index = Number ( k + 1 ) ;
let videoPageURL = contents . split ( ` video[ ${ index } ] = \' <iframe class="player_conte" src=" ` ) [ 1 ] . split ( '"' ) [ 0 ] ;
servers . push ( { iframe : videoPageURL } ) ;
@ -52,24 +50,17 @@ async function videoServersJK(id) {
return null ;
}
}
let serverList = [ ] ;
let serverTempList = [ ] ;
for ( const [ key , value ] of Object . entries ( servers ) ) {
let video = await getVideoURL ( value . iframe )
serverTempList . push ( video ) ;
}
Array . from ( { length : serverTempList . length } , ( v , k ) => {
let name = serverNames [ k ] ;
let video = serverTempList [ k ] ;
for ( let server in servers ) {
serverList . push ( {
id : name . toLowerCase ( ) ,
url : video ,
id : serverNames [ server ] . toLowerCase ( ) ,
url : await getVideoURL ( servers [ server ] . iframe ) ,
direct : true
} ) ;
} ) ;
serverList = serverList . filter ( function ( obj ) {
return obj . id !== 'xtreme s' ;
} ) ;
}
serverList = serverList . filter ( x => x . id !== 'xtreme s' && x . id !== 'desuka' ) ;
return await Promise . all ( serverList ) ;
}
@ -304,6 +295,7 @@ const animeflvInfo = async (id, index) => {
const getAnimeCharacters = async ( title ) => {
try {
let options = { parse : true }
const res = await homgot ( ` ${ BASE _JIKAN } search/anime?q= ${ title } ` , options ) ;
@ -340,10 +332,15 @@ const getAnimeCharacters = async (title) => {
} ) ;
return Promise . all ( characters ) ;
} catch ( e ) {
console . log ( e . message )
}
} ;
const getAnimeVideoPromo = async ( title ) => {
try {
let options = { parse : true }
const res = await homgot ( ` ${ BASE _JIKAN } search/anime?q= ${ title } ` , options ) ;
const matchAnime = res . results . filter ( x => x . title === title ) ;
@ -364,10 +361,16 @@ const getAnimeVideoPromo = async (title) => {
} ) ;
return Promise . all ( promises ) ;
} catch ( e ) {
console . log ( e . message )
}
} ;
const animeExtraInfo = async ( title ) => {
try {
let options = { parse : true }
const res = await homgot ( ` ${ BASE _JIKAN } search/anime?q= ${ title } ` , options ) ;
const matchAnime = res . results . filter ( x => x . title === title ) ;
@ -425,6 +428,12 @@ const animeExtraInfo = async (title) => {
} ) ;
} ) ;
return Promise . all ( promises ) ;
} catch ( e ) {
console . log ( e . message )
}
} ;
const imageUrlToBase64 = async ( url ) => {
@ -441,7 +450,8 @@ const searchAnime = async (query) => {
const jkAnimeTitles = [
{ title : 'BNA' , search : 'BNA' } ,
{ title : 'The God of High School' , search : 'The god' }
{ title : 'The God of High School' , search : 'The god' } ,
{ title : 'Ansatsu Kyoshitsu' , search : 'Assassination Classroom' } ,
] ;
let jkanime = false