Write a note in this area. It's really easy to share with others. Click { "moduleName": "AnimeVibe", "moduleInitials": "AV", "moduleDesc": "Module for AnimeVibe", "developer": "Jack_", "moduleID": "1143445297", "moduleImage": "https://animevibe.tv/wp-content/uploads/2020/04/180x180.png", "moduleVersion": "1.7", "moduleLenguage": "ENG", "moduleHasVideos": "true", "randomizeUserAgent": "false", "baseURL": "https://animevibe.tv/", "mainPageLeftTitle": "Recently Updated", "mainPageRightTitle": "Random Anime", "blackListed": [ "" ], "mainPage": [ { "request": "https://animevibe.tv/", "method": "get", "headers": [ { "key": "", "value": "" } ], "extraInfo": [ { "value": "" } ], "loadJavascript": "false", "javaScript": " function Header(key, value) { this.key = key; this.value = value;}function ExtraInfo(value) { this.value = value;}function Output(lastEpisodes, lastAnimes) { this.lastEpisodes = lastEpisodes; this.lastAnimes = lastAnimes;}function LastAnimes(moduleID, image, link, title) { this.moduleID = moduleID; this.image = image; this.link = link; this.title = title;}function LastEpisodes(moduleID, image, link, title, episode) { this.moduleID = moduleID; this.image = image; this.link = link; this.title = title; this.episode = episode;}function MainPageObject(request, headers, method, extraInfo, loadJavascript, javaScript, output) { this.request = request; this.headers = headers; this.method = method; this.extraInfo = extraInfo; this.loadJavascript = loadJavascript; this.javaScript = javaScript; this.output = output;}var savedData = document.getElementById('katsu-final-data');var parsedJson = JSON.parse(savedData.innerHTML);var moduleID = '1143445297';var headers = [new Header('', '')];var extraInfo = [new ExtraInfo('')];var mainPageObject;var output;var lastAnimes = [];var lastEpisodes = [];var recentEle = document.querySelectorAll('.av-cont > div > .row > .anime-listing-col:not(#refresh-random-div) > .hovereffect');for (var x = 0; x < recentEle.length; x++) { var anime = recentEle[x]; var cover = anime.querySelector('.img-responsive').src; var link = anime.querySelector('.overlay > a.info').href; var title = anime.querySelector('.overlay > h6.h2-anime-list').innerText.trim(); var episode = anime.querySelector('.overlay > a.info').innerText.replace('play_circle_filled', '').trim(); var animeObj = new LastEpisodes(moduleID, cover, link, title, episode); lastEpisodes.push(animeObj);}var randomEle = document.querySelectorAll('.anime-listing-col');for (var y = 0; y < randomEle.length; y++) { var anime = randomEle[y]; var cover = anime.querySelector('.img-responsive').src; var link = anime.querySelectorAll('a'); link = link[link.length - 1].href; var title = anime.querySelector('.overlay > h6.h2-anime-list').innerText.trim(); var randomObj = new LastAnimes(moduleID, cover, link, title); lastAnimes.push(randomObj);}while (lastEpisodes.length % 2 != 0) { lastEpisodes.push(lastEpisodes[0]);}while (lastAnimes.length % 3 != 0) { lastAnimes.push(lastAnimes[0]);}output = new Output(lastEpisodes, lastAnimes);mainPageObject = new MainPageObject('', headers, '', extraInfo, '', '', output);var finalJson = JSON.stringify(mainPageObject);savedData.innerHTML = finalJson;", "output": { "lastEpisodes": [ { "moduleID": "0", "image": "", "link": "", "title": "", "episode": "" } ], "lastAnimes": [ { "moduleID": "0", "image": "", "link": "", "title": "" } ] } } ], "search": [ { "request": "https://animevibe.wtf/?s=<searched>", "method": "get", "headers": [ { "key": "", "value": "" } ], "separator": "+", "extraInfo": [ { "value": "" } ], "loadJavascript": "false", "javaScript": "function Header(key, value) { this.key = key; this.value = value;}function ExtraInfo(value) { this.value = value;}function Output(moduleID, image, link, title, type, voice, stars) { this.moduleID = moduleID; this.image = image; this.link = link; this.title = title; this.type = type; this.voice = voice; this.stars = stars;}function SearchObject(request, method, headers, separator, extraInfo, loadJavascript, javaScript, output) { this.request = request; this.method = method; this.headers = headers; this.separator = separator; this.extraInfo = extraInfo; this.loadJavascript = loadJavascript; this.javaScript = javaScript; this.output = output;}var savedData = document.getElementById('katsu-final-data');var parsedJson = JSON.parse(savedData.innerHTML);var moduleID = '1143445297';var headers = [new Header('', '')];var extraInfo = [new ExtraInfo('')];var searchPageObject;var output = [];var searchEle = document.querySelectorAll('.search-results-hd > div#blog > #blogShort');for (var x = 0; x < searchEle.length; x++) { var anime = searchEle[x]; var image = anime.querySelector('#thumb-rsz'); var cover = image.getAttribute('style').split('\'')[1]; var link = anime.querySelector('#thumb-rsz > a').href; var title = anime.querySelector('h5.title-av-search-res > a').innerText.trim(); var type = 'Anime'; var voice = title.includes('Dub') ? 'Dub' : 'Sub'; var stars = '★★★★★'; var searchObj = new Output(moduleID, cover, link, title, type, voice, stars); output.push(searchObj);}searchPageObject = new SearchObject('', '', headers, '+', extraInfo, '', '', output);var finalJson = JSON.stringify(searchPageObject);savedData.innerHTML = finalJson;", "output": [ { "moduleID": "0", "image": "", "link": "", "title": "", "type": "", "voice": "", "stars": "" } ] } ], "info": [ { "request": "this Can be empty", "method": "get", "headers": [ { "key": "", "value": "" } ], "extraInfo": [ { "value": "" } ], "loadJavascript": "false", "javaScript": "function Header(key,value) { this.key = key; this.value = value; } function ExtraInfo(value) { this.value = value; } function Output(moduleID,image,link,title,description,genres,type,status,episodes) { this.moduleID = moduleID; this.image = image; this.link = link; this.title = title; this.description = description; this.genres = genres; this.type = type; this.status = status; this.episodes = episodes; } function Episodes(link,moduleID,isDecodable) { this.link = link; this.moduleID = moduleID; this.isDecodable = isDecodable; } function InfoObject(request,method,headers,extraInfo,loadJavascript,javaScript,output) { this.request = request; this.method = method; this.headers = headers; this.extraInfo = extraInfo; this.loadJavascript = loadJavascript; this.javaScript = javaScript; this.output = output; } var savedData = document.getElementById('katsu-final-data'); var parsedJson = JSON.parse(savedData.innerHTML); var moduleID = '1143445297'; var headers = [new Header('', '')]; var extraInfo = [new ExtraInfo('')]; var infoObject; var output; var episodes = []; var type = ''; var status = ''; var genres = []; var desc = ''; var title = ''; var animeInfo = document.querySelector('#collapse-anime-info > #blog > #blogShort'); var image = animeInfo.querySelector('#thumb-rsz'); var cover = image.getAttribute('style').split('(')[1].split(')')[0]; title = animeInfo.querySelector('h5.title-av-search-res').innerText.trim(); var infoReg = /<font.*?s*>([^<:]+):?\s?<\/font>([^<]+)/g; var mobi = document.querySelector('.search-ex').innerHTML; var result; while((result = infoReg.exec(mobi)) !== null) { if (result[1].includes('Summary')) { desc = result[2] .replace('Synosis : ', '') .trim(); } else if (result[1].includes('Genre')) { genres = result[2].split(', '); } else if (result[1].includes('Status')) { status = result[2]; } else if (result[1].includes('Type')) { type = result[2].replace(/\(.+\)/, ''); } } var episodeWrap = document.querySelector('.wrap-episode-list'); if (episodeWrap) { var btnEp = episodeWrap.querySelector('.current-episode-button').innerText; var btnLink = parsedJson.request + btnEp; episodes.push(new Episodes(btnLink, moduleID, 'false')); var episodeEle = episodeWrap.querySelectorAll('a'); for (var x = 0; x < episodeEle.length; x++) { var anime = episodeEle[x]; var episodeObj = new Episodes(anime.href, moduleID, 'false'); episodes.push(episodeObj); } } else { episodes.push(new Episodes(parsedJson.request, moduleID, 'false')); } output = new Output(moduleID, cover, parsedJson.request, title, desc, genres, type, status, episodes); infoObject = new InfoObject('','get',headers,extraInfo,'', '',output); var finalJson = JSON.stringify(infoObject); savedData.innerHTML = finalJson;", "output": { "moduleID": "0", "image": "", "link": "", "title": "", "description": "", "genres": [ "" ], "type": "", "status": "", "episodes": [ { "link": "", "moduleID": "", "isDecodable": "false" } ] } } ], "episodes": [ { "request": "This can be Empty", "method": "get", "headers": [ { "key": "", "value": "" } ], "extraInfo": [ { "value": "" } ], "loadJavascript": "true", "javaScript": "function Header(key,value) { this.key = key; this.value = value; } function ExtraInfo(value) { this.value = value; } function Output(link,linkIdentifier,moduleID,isDecodable,headers) { this.link = link; this.linkIdentifier = linkIdentifier; this.moduleID = moduleID; this.isDecodable = isDecodable; this.headers = headers; } function EpisodeObject(request,method,headers,extraInfo,loadJavascript,javaScript,output) { this.request = request; this.method = method; this.headers = headers; this.extraInfo = extraInfo; this.loadJavascript = loadJavascript; this.javaScript = javaScript; this.output = output; } var savedData = document.getElementById('katsu-final-data'); var parsedJson = JSON.parse(savedData.innerHTML); var moduleID = '1143445297'; var headers = [new Header('','')]; var extraInfo = [new ExtraInfo('')]; var episodeObject; var output = []; var episodeLink = 'https://animevibe.tv' + document.querySelector('iframe').src; output.push(new Output('', '', moduleID, 'false', headers)); episodeObject = new EpisodeObject(episodeLink, 'get', headers, extraInfo, '', '', output); var finalJson = JSON.stringify(episodeObject); savedData.innerHTML = finalJson;", "output": [ { "link": "", "moduleID": "", "linkIdentifier": "", "isDecodable": "false", "headers": [ { "key": "key", "value": "value" } ] } ] }, { "request": "This can be Empty", "method": "get", "headers": [ { "key": "", "value": "" } ], "extraInfo": [ { "value": "" } ], "loadJavascript": "true", "javaScript": "function Header(key,value) { this.key = key; this.value = value; } function ExtraInfo(value) { this.value = value; } function Output(link,linkIdentifier,moduleID,isDecodable,headers) { this.link = link; this.linkIdentifier = linkIdentifier; this.moduleID = moduleID; this.isDecodable = isDecodable; this.headers = headers; } function EpisodeObject(request,method,headers,extraInfo,loadJavascript,javaScript,output) { this.request = request; this.method = method; this.headers = headers; this.extraInfo = extraInfo; this.loadJavascript = loadJavascript; this.javaScript = javaScript; this.output = output; } var savedData = document.getElementById('katsu-final-data'); var parsedJson = JSON.parse(savedData.innerHTML); var moduleID = '1143445297'; var headers = [new Header('','')]; var extraInfo = [new ExtraInfo('')]; var episodeObject; var output = []; var providers = document.querySelectorAll('select > option:not(:disabled)'); for (var x = 0; x < providers.length; x++) { var provider = providers[x].value; if (provider.indexOf('3rdparty') == 0 || provider.includes('could not copy')) continue; var link = provider; if (provider.indexOf('iframe') == 0) { link = provider.split('?vid=')[1] || provider } output.push(new Output(link, '', moduleID, 'false', headers)); } episodeObject = new EpisodeObject('', '', headers, extraInfo, '', '', output); var finalJson = JSON.stringify(episodeObject); savedData.innerHTML = finalJson;", "output": [ { "link": "", "moduleID": "", "linkIdentifier": "", "isDecodable": "false", "headers": [ { "key": "key", "value": "value" } ] } ] } ] }