Socket
Socket
Sign inDemoInstall

@consumet/extensions

Package Overview
Dependencies
24
Maintainers
2
Versions
64
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.5.0 to 1.5.1

dist/extractors/mp4player.d.ts

6

dist/extractors/filemoon.js
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const models_1 = require("../models");

@@ -27,3 +23,3 @@ const utils_1 = require("../utils");

};
const { data } = await axios_1.default.get(videoUrl.href);
const { data } = await this.client.get(videoUrl.href);
const s = data.substring(data.indexOf('eval(function') + 5, data.lastIndexOf(')))'));

@@ -30,0 +26,0 @@ try {

@@ -6,3 +6,2 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -38,3 +37,3 @@ const crypto_js_1 = __importDefault(require("crypto-js"));

if (decryptedData.source[0].file.includes('.m3u8')) {
const resResult = await axios_1.default.get(decryptedData.source[0].file.toString());
const resResult = await this.client.get(decryptedData.source[0].file.toString());
const resolutions = resResult.data.match(/(RESOLUTION=)(.*)(\s*?)(\s*.*)/g);

@@ -78,3 +77,3 @@ resolutions === null || resolutions === void 0 ? void 0 : resolutions.forEach((res) => {

if (source.file.includes('m3u8')) {
const m3u8Urls = await axios_1.default
const m3u8Urls = await this.client
.get(source.file, {

@@ -114,3 +113,3 @@ headers: {

});
const scriptValue = $("script[data-name='episode']").data().value;
const scriptValue = $("script[data-name='episode']").attr('data-value');
const decryptedToken = crypto_js_1.default.AES.decrypt(scriptValue, this.keys.key, {

@@ -117,0 +116,0 @@ iv: this.keys.iv,

@@ -7,2 +7,3 @@ import AsianLoad from './asianload';

import MixDrop from './mixdrop';
import Mp4Player from './mp4player';
import Mp4Upload from './mp4upload';

@@ -19,2 +20,3 @@ import RapidCloud from './rapidcloud';

import VizCloud from './vizcloud';
export { AsianLoad, BilibiliExtractor, Filemoon, GogoCDN, Kwik, MixDrop, Mp4Upload, RapidCloud, SmashyStream, StreamHub, StreamLare, StreamSB, StreamTape, StreamWish, VidCloud, VidMoly, VizCloud, };
import Voe from './voe';
export { AsianLoad, BilibiliExtractor, Filemoon, GogoCDN, Kwik, MixDrop, Mp4Player, Mp4Upload, RapidCloud, SmashyStream, StreamHub, StreamLare, StreamSB, StreamTape, StreamWish, VidCloud, VidMoly, VizCloud, Voe };

@@ -6,3 +6,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.VizCloud = exports.VidMoly = exports.VidCloud = exports.StreamWish = exports.StreamTape = exports.StreamSB = exports.StreamLare = exports.StreamHub = exports.SmashyStream = exports.RapidCloud = exports.Mp4Upload = exports.MixDrop = exports.Kwik = exports.GogoCDN = exports.Filemoon = exports.BilibiliExtractor = exports.AsianLoad = void 0;
exports.Voe = exports.VizCloud = exports.VidMoly = exports.VidCloud = exports.StreamWish = exports.StreamTape = exports.StreamSB = exports.StreamLare = exports.StreamHub = exports.SmashyStream = exports.RapidCloud = exports.Mp4Upload = exports.Mp4Player = exports.MixDrop = exports.Kwik = exports.GogoCDN = exports.Filemoon = exports.BilibiliExtractor = exports.AsianLoad = void 0;
const asianload_1 = __importDefault(require("./asianload"));

@@ -20,2 +20,4 @@ exports.AsianLoad = asianload_1.default;

exports.MixDrop = mixdrop_1.default;
const mp4player_1 = __importDefault(require("./mp4player"));
exports.Mp4Player = mp4player_1.default;
const mp4upload_1 = __importDefault(require("./mp4upload"));

@@ -43,2 +45,4 @@ exports.Mp4Upload = mp4upload_1.default;

exports.VizCloud = vizcloud_1.default;
const voe_1 = __importDefault(require("./voe"));
exports.Voe = voe_1.default;
//# sourceMappingURL=index.js.map
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const models_1 = require("../models");

@@ -15,3 +11,3 @@ class Mp4Upload extends models_1.VideoExtractor {

try {
const { data } = await axios_1.default.get(videoUrl.href);
const { data } = await this.client.get(videoUrl.href);
const playerSrc = data.match(/(?<=player\.src\()\s*{\s*type:\s*"[^"]+",\s*src:\s*"([^"]+)"\s*}\s*(?=\);)/s);

@@ -18,0 +14,0 @@ const streamUrl = playerSrc[1];

@@ -6,3 +6,2 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -35,3 +34,3 @@ const crypto_js_1 = __importDefault(require("crypto-js"));

let res = null;
// let { data: sId } = await axios({
// let { data: sId } = await this.client({
// method: 'GET',

@@ -42,3 +41,3 @@ // url: `${this.consumetApi}/utils/rapid-cloud`,

// if (!sId) {
// sId = await axios({
// sId = await this.client({
// method: 'GET',

@@ -60,2 +59,12 @@ // url: `${this.enimeApi}/tool/rapid-cloud/server-id`,

if (encrypted) {
const sourcesArray = sources.split("");
let extractedKey = "";
for (const index of decryptKey) {
for (let i = index[0]; i < index[1]; i++) {
extractedKey += sources[i];
sourcesArray[i] = "";
}
}
decryptKey = extractedKey;
sources = sourcesArray.join("");
const decrypt = crypto_js_1.default.AES.decrypt(sources, decryptKey);

@@ -77,3 +86,3 @@ sources = JSON.parse(decrypt.toString(crypto_js_1.default.enc.Utf8));

for (const source of sources) {
const { data } = await axios_1.default.get(source.file, options);
const { data } = await this.client.get(source.file, options);
const m3u8data = data

@@ -126,3 +135,3 @@ .split('\n')

const domain = uri.protocol + '//' + uri.host;
const { data } = await axios_1.default.get(`https://www.google.com/recaptcha/api.js?render=${key}`, {
const { data } = await this.client.get(`https://www.google.com/recaptcha/api.js?render=${key}`, {
headers: {

@@ -135,5 +144,5 @@ Referer: domain,

const anchor = `https://www.google.com/recaptcha/api2/anchor?ar=1&hl=en&size=invisible&cb=kr42069kr&k=${key}&co=aHR0cHM6Ly9yYXBpZC1jbG91ZC5ydTo0NDM.&v=${v}`;
const c = (0, cheerio_1.load)((await axios_1.default.get(anchor)).data)('#recaptcha-token').attr('value');
const c = (0, cheerio_1.load)((await this.client.get(anchor)).data)('#recaptcha-token').attr('value');
// currently its not returning proper response. not sure why
const res = await axios_1.default.post(`https://www.google.com/recaptcha/api2/reload?k=${key}`, {
const res = await this.client.post(`https://www.google.com/recaptcha/api2/reload?k=${key}`, {
v: v,

@@ -140,0 +149,0 @@ k: key,

@@ -6,3 +6,2 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const crypto_1 = __importDefault(require("crypto"));

@@ -22,3 +21,3 @@ const models_1 = require("../models");

const result = [];
const { data } = await axios_1.default.get(videoUrl.href);
const { data } = await this.client.get(videoUrl.href);
const $ = (0, cheerio_1.load)(data);

@@ -87,3 +86,3 @@ const sourceUrls = $('.dropdown-menu a[data-id]')

};
const res = await axios_1.default.get(url, {
const res = await this.client.get(url, {
headers: {

@@ -132,3 +131,3 @@ referer: url,

const key = '4VqE3#N7zt&HEP^a';
const res = await axios_1.default.get(url, {
const res = await this.client.get(url, {
headers: {

@@ -174,3 +173,3 @@ referer: url,

};
const res = await axios_1.default.get(url, {
const res = await this.client.get(url, {
headers: {

@@ -193,3 +192,3 @@ referer: url,

await Promise.all(files === null || files === void 0 ? void 0 : files.map(async (source) => {
await axios_1.default
await this.client
.head(source.link)

@@ -233,3 +232,3 @@ .then(res => console.log(res.status))

};
const res = await axios_1.default.get(url, {
const res = await this.client.get(url, {
headers: {

@@ -256,3 +255,3 @@ referer: url,

};
const res = await axios_1.default.get(url, {
const res = await this.client.get(url, {
headers: {

@@ -263,3 +262,3 @@ referer: url,

const file = res.data.match(/file:\s*"([^"]+)"/)[1];
const fileRes = await axios_1.default.head(file);
const fileRes = await this.client.head(file);
if (fileRes.status !== 200 || fileRes.data.includes('404')) {

@@ -286,3 +285,3 @@ return result;

};
const res = await axios_1.default.get(url, {
const res = await this.client.get(url, {
headers: {

@@ -289,0 +288,0 @@ referer: url,

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const models_1 = require("../models");

@@ -20,3 +16,3 @@ class StreamHub extends models_1.VideoExtractor {

};
const { data } = await axios_1.default.get(videoUrl.href).catch(() => {
const { data } = await this.client.get(videoUrl.href).catch(() => {
throw new Error('Video not found');

@@ -26,3 +22,3 @@ });

const links = (_a = unpackedData.match(new RegExp('sources:\\[\\{src:"(.*?)"'))) !== null && _a !== void 0 ? _a : [];
const m3u8Content = await axios_1.default.get(links[1], {
const m3u8Content = await this.client.get(links[1], {
headers: {

@@ -29,0 +25,0 @@ Referer: links[1],

@@ -6,3 +6,2 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -28,3 +27,3 @@ const video_extractor_1 = __importDefault(require("../models/video-extractor"));

}
const POST = await axios_1.default.post(this.host + '/api/video/stream/get', {
const POST = await this.client.post(this.host + '/api/video/stream/get', {
id: videoId,

@@ -31,0 +30,0 @@ }, {

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const models_1 = require("../models");

@@ -28,3 +24,3 @@ const utils_1 = require("../utils");

const bytes = new TextEncoder().encode(id);
const res = await axios_1.default
const res = await this.client
.get(`${isAlt ? this.host2 : this.host}/${this.PAYLOAD(Buffer.from(bytes).toString('hex'))}`, {

@@ -40,3 +36,3 @@ headers,

};
const m3u8Urls = await axios_1.default.get(res.data.stream_data.file, {
const m3u8Urls = await this.client.get(res.data.stream_data.file, {
headers,

@@ -43,0 +39,0 @@ });

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -17,3 +13,3 @@ const models_1 = require("../models");

try {
const { data } = await axios_1.default.get(videoUrl.href).catch(() => {
const { data } = await this.client.get(videoUrl.href).catch(() => {
throw new Error('Video not found');

@@ -20,0 +16,0 @@ });

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const models_1 = require("../models");

@@ -15,3 +11,3 @@ class StreamWish extends models_1.VideoExtractor {

try {
const { data } = await axios_1.default.get(videoUrl.href);
const { data } = await this.client.get(videoUrl.href);
const unPackagedData = eval(/(eval)(\(f.*?)(\n<\/script>)/s.exec(data)[2]);

@@ -24,3 +20,3 @@ const links = unPackagedData.match(/file:\s*"([^"]+)"/);

});
const m3u8Content = await axios_1.default.get(links[1], {
const m3u8Content = await this.client.get(links[1], {
headers: {

@@ -27,0 +23,0 @@ Referer: videoUrl.href,

@@ -40,2 +40,12 @@ "use strict";

}
const sourcesArray = res.data.sources.split("");
let extractedKey = "";
for (const index of key) {
for (let i = index[0]; i < index[1]; i++) {
extractedKey += res.data.sources[i];
sourcesArray[i] = "";
}
}
key = extractedKey;
res.data.sources = sourcesArray.join("");
const decryptedVal = crypto_js_1.default.AES.decrypt(res.data.sources, key).toString(crypto_js_1.default.enc.Utf8);

@@ -42,0 +52,0 @@ sources = (0, utils_1.isJson)(decryptedVal) ? JSON.parse(decryptedVal) : res.data.sources;

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const models_1 = require("../models");

@@ -15,5 +11,5 @@ class VidMoly extends models_1.VideoExtractor {

try {
const { data } = await axios_1.default.get(videoUrl.href);
const { data } = await this.client.get(videoUrl.href);
const links = data.match(/file:\s*"([^"]+)"/);
const m3u8Content = await axios_1.default.get(links[1], {
const m3u8Content = await this.client.get(links[1], {
headers: {

@@ -20,0 +16,0 @@ Referer: videoUrl.href,

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const models_1 = require("../models");

@@ -32,3 +28,3 @@ class VizCloud extends models_1.VideoExtractor {

}
const { data } = await axios_1.default.get(url);
const { data } = await this.client.get(url);
if (!((_b = data.data) === null || _b === void 0 ? void 0 : _b.media))

@@ -48,3 +44,3 @@ throw new Error('Video not found');

const main = this.sources[this.sources.length - 1].url;
const req = await (0, axios_1.default)({
const req = await this.client({
method: 'get',

@@ -51,0 +47,0 @@ url: main,

@@ -1,4 +0,3 @@

import { BaseParser, IAnimeInfo, ISource, IEpisodeServer, ProxyConfig } from '.';
import { BaseParser, IAnimeInfo, ISource, IEpisodeServer } from '.';
declare abstract class AnimeParser extends BaseParser {
constructor(baseUrl?: string, proxyConfig?: ProxyConfig);
/**

@@ -5,0 +4,0 @@ * if the provider has dub and it's avialable seperatly from sub set this to `true`

@@ -5,4 +5,4 @@ "use strict";

class AnimeParser extends _1.BaseParser {
constructor(baseUrl, proxyConfig) {
super(baseUrl, proxyConfig);
constructor() {
super(...arguments);
/**

@@ -9,0 +9,0 @@ * if the provider has dub and it's avialable seperatly from sub set this to `true`

@@ -1,5 +0,3 @@

import { ProxyConfig } from '.';
import Proxy from './proxy';
declare abstract class BaseParser extends Proxy.Provider {
constructor(baseUrl?: string, proxyConfig?: ProxyConfig);
import { BaseProvider } from '.';
declare abstract class BaseParser extends BaseProvider {
/**

@@ -6,0 +4,0 @@ * Search for books/anime/manga/etc using the given query

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const proxy_1 = __importDefault(require("./proxy"));
class BaseParser extends proxy_1.default.Provider {
constructor(baseUrl, proxyConfig) {
super(baseUrl, proxyConfig);
}
const _1 = require(".");
class BaseParser extends _1.BaseProvider {
}
exports.default = BaseParser;
//# sourceMappingURL=base-parser.js.map
import { IProviderStats } from '.';
declare abstract class BaseProvider {
import Proxy from './proxy';
declare abstract class BaseProvider extends Proxy {
/**

@@ -4,0 +5,0 @@ * Name of the provider

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
class BaseProvider {
const proxy_1 = __importDefault(require("./proxy"));
class BaseProvider extends proxy_1.default {
constructor() {
super(...arguments);
/**

@@ -6,0 +11,0 @@ * Most providers are english based, but if the provider is not english based override this value.

@@ -1,4 +0,3 @@

import { BaseParser, TvType, ISource, IEpisodeServer, IMovieInfo, IAnimeInfo, ProxyConfig } from '.';
import { BaseParser, TvType, ISource, IEpisodeServer, IMovieInfo, IAnimeInfo } from '.';
declare abstract class MovieParser extends BaseParser {
constructor(baseUrl?: string, proxyConfig?: ProxyConfig);
/**

@@ -5,0 +4,0 @@ * The supported types of the provider (e.g. `TV`, `Movie`)

@@ -5,7 +5,4 @@ "use strict";

class MovieParser extends _1.BaseParser {
constructor(baseUrl, proxyConfig) {
super(baseUrl, proxyConfig);
}
}
exports.default = MovieParser;
//# sourceMappingURL=movie-parser.js.map

@@ -1,28 +0,25 @@

import { AxiosInstance } from 'axios';
import { AxiosAdapter, AxiosInstance } from 'axios';
import { ProxyConfig } from './types';
import BaseProvider from './base-provider';
declare namespace Proxy {
abstract class Provider extends BaseProvider {
constructor(baseUrl?: string, proxy?: ProxyConfig);
private validUrl;
/**
* Set or Change the proxy config
*/
setProxy(proxy: ProxyConfig): void;
private rotateProxy;
private toMap;
protected client: AxiosInstance;
}
class Extractor {
constructor(proxy?: ProxyConfig);
private validUrl;
/**
* Set or Change the proxy config
*/
setProxy(proxy: ProxyConfig): void;
private rotateProxy;
private toMap;
protected client: AxiosInstance;
}
export declare abstract class Proxy {
protected proxyConfig?: ProxyConfig | undefined;
protected adapter?: AxiosAdapter | undefined;
/**
*
* @param proxyConfig The proxy config (optional)
* @param adapter The axios adapter (optional)
*/
constructor(proxyConfig?: ProxyConfig | undefined, adapter?: AxiosAdapter | undefined);
private validUrl;
/**
* Set or Change the proxy config
*/
setProxy(proxyConfig: ProxyConfig): void;
/**
* Set or Change the axios adapter
*/
setAxiosAdapter(adapter: AxiosAdapter): void;
private rotateProxy;
private toMap;
protected client: AxiosInstance;
}
export default Proxy;

@@ -6,98 +6,63 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.Proxy = void 0;
const axios_1 = __importDefault(require("axios"));
const base_provider_1 = __importDefault(require("./base-provider"));
var Proxy;
(function (Proxy) {
class Provider extends base_provider_1.default {
constructor(baseUrl, proxy) {
super();
this.validUrl = /^https?:\/\/.+/;
this.rotateProxy = (proxy, ms = 5000) => {
setInterval(() => {
const url = proxy.urls.shift();
if (url)
proxy.urls.push(url);
this.setProxy({ url: proxy.urls[0], key: proxy.key });
}, ms);
};
this.toMap = (arr) => arr.map((v, i) => [i, v]);
if (baseUrl)
this.client = axios_1.default.create({
baseURL: baseUrl,
});
else
this.client = axios_1.default.create();
if (proxy)
this.setProxy(proxy);
}
/**
* Set or Change the proxy config
*/
setProxy(proxy) {
if (!(proxy === null || proxy === void 0 ? void 0 : proxy.url))
return;
if (typeof (proxy === null || proxy === void 0 ? void 0 : proxy.url) === 'string')
if (!this.validUrl.test(proxy.url))
throw new Error('Proxy URL is invalid!');
if (Array.isArray(proxy === null || proxy === void 0 ? void 0 : proxy.url)) {
for (const [i, url] of this.toMap(proxy.url))
if (!this.validUrl.test(url))
throw new Error(`Proxy URL at index ${i} is invalid!`);
this.rotateProxy(Object.assign(Object.assign({}, proxy), { urls: proxy.url }));
}
this.client.interceptors.request.use(config => {
var _a;
if (proxy === null || proxy === void 0 ? void 0 : proxy.url) {
config.headers = Object.assign(Object.assign({}, config.headers), { 'x-api-key': (_a = proxy === null || proxy === void 0 ? void 0 : proxy.key) !== null && _a !== void 0 ? _a : '', origin: 'axios' });
config.url = `${proxy.url}/${config === null || config === void 0 ? void 0 : config.baseURL}${(config === null || config === void 0 ? void 0 : config.url) ? config === null || config === void 0 ? void 0 : config.url : ''}`;
}
return config;
});
}
class Proxy {
/**
*
* @param proxyConfig The proxy config (optional)
* @param adapter The axios adapter (optional)
*/
constructor(proxyConfig, adapter) {
this.proxyConfig = proxyConfig;
this.adapter = adapter;
this.validUrl = /^https?:\/\/.+/;
this.rotateProxy = (proxy) => {
var _a;
setInterval(() => {
const url = proxy.urls.shift();
if (url)
proxy.urls.push(url);
this.setProxy({ url: proxy.urls[0], key: proxy.key });
}, (_a = proxy === null || proxy === void 0 ? void 0 : proxy.rotateInterval) !== null && _a !== void 0 ? _a : 5000);
};
this.toMap = (arr) => arr.map((v, i) => [i, v]);
this.client = axios_1.default.create();
if (proxyConfig)
this.setProxy(proxyConfig);
if (adapter)
this.setAxiosAdapter(adapter);
}
Proxy.Provider = Provider;
class Extractor {
constructor(proxy) {
this.validUrl = /^https?:\/\/.+/;
this.rotateProxy = (proxy, ms = 5000) => {
setInterval(() => {
const url = proxy.urls.shift();
if (url)
proxy.urls.push(url);
this.setProxy({ url: proxy.urls[0], key: proxy.key });
}, ms);
};
this.toMap = (arr) => arr.map((v, i) => [i, v]);
this.client = axios_1.default.create();
if (proxy)
this.setProxy(proxy);
/**
* Set or Change the proxy config
*/
setProxy(proxyConfig) {
if (!(proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.url))
return;
if (typeof (proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.url) === 'string')
if (!this.validUrl.test(proxyConfig.url))
throw new Error('Proxy URL is invalid!');
if (Array.isArray(proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.url)) {
for (const [i, url] of this.toMap(proxyConfig.url))
if (!this.validUrl.test(url))
throw new Error(`Proxy URL at index ${i} is invalid!`);
this.rotateProxy(Object.assign(Object.assign({}, proxyConfig), { urls: proxyConfig.url }));
}
/**
* Set or Change the proxy config
*/
setProxy(proxy) {
if (!(proxy === null || proxy === void 0 ? void 0 : proxy.url))
return;
if (typeof (proxy === null || proxy === void 0 ? void 0 : proxy.url) === 'string')
if (!this.validUrl.test(proxy.url))
throw new Error('Proxy URL is invalid!');
if (Array.isArray(proxy === null || proxy === void 0 ? void 0 : proxy.url)) {
for (const [i, url] of this.toMap(proxy.url))
if (!this.validUrl.test(url))
throw new Error(`Proxy URL at index ${i} is invalid!`);
this.rotateProxy(Object.assign(Object.assign({}, proxy), { urls: proxy.url }));
this.client.interceptors.request.use(config => {
var _a;
if (proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.url) {
config.headers = Object.assign(Object.assign({}, config.headers), { 'x-api-key': (_a = proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.key) !== null && _a !== void 0 ? _a : '' });
config.url = `${proxyConfig.url}/${(config === null || config === void 0 ? void 0 : config.url) ? config === null || config === void 0 ? void 0 : config.url : ''}`;
}
this.client.interceptors.request.use(config => {
var _a;
if (proxy === null || proxy === void 0 ? void 0 : proxy.url) {
config.headers = Object.assign(Object.assign({}, config.headers), { 'x-api-key': (_a = proxy === null || proxy === void 0 ? void 0 : proxy.key) !== null && _a !== void 0 ? _a : '', Origin: 'axios' });
config.url = `${proxy.url}/${(config === null || config === void 0 ? void 0 : config.url) ? config === null || config === void 0 ? void 0 : config.url : ''}`;
}
return config;
});
}
return config;
});
}
Proxy.Extractor = Extractor;
})(Proxy || (Proxy = {}));
/**
* Set or Change the axios adapter
*/
setAxiosAdapter(adapter) {
this.client.defaults.adapter = adapter;
}
}
exports.Proxy = Proxy;
exports.default = Proxy;
//# sourceMappingURL=proxy.js.map

@@ -424,3 +424,7 @@ import { Book, Hashes } from './base-types';

key?: string;
/**
* The proxy rotation interval in milliseconds. (default: 5000)
*/
rotateInterval?: number;
}
export {};

@@ -1,5 +0,4 @@

import { IVideo, ISource, ProxyConfig } from '.';
import { IVideo, ISource } from '.';
import Proxy from '../models/proxy';
declare abstract class VideoExtractor extends Proxy.Extractor {
constructor(proxyConfig?: ProxyConfig);
declare abstract class VideoExtractor extends Proxy {
/**

@@ -6,0 +5,0 @@ * The server name of the video provider

@@ -7,8 +7,5 @@ "use strict";

const proxy_1 = __importDefault(require("../models/proxy"));
class VideoExtractor extends proxy_1.default.Extractor {
constructor(proxyConfig) {
super(proxyConfig);
}
class VideoExtractor extends proxy_1.default {
}
exports.default = VideoExtractor;
//# sourceMappingURL=video-extractor.js.map

@@ -0,1 +1,2 @@

import { AxiosAdapter } from 'axios';
import { AnimeParser, ISearch, IAnimeInfo, IAnimeResult, IEpisodeServer, ISource, StreamingServers, ProxyConfig } from '../../models';

@@ -13,3 +14,3 @@ /**

readonly isWorking = false;
constructor(nineAnimeResolver?: string, proxyConfig?: ProxyConfig, apiKey?: string);
constructor(nineAnimeResolver?: string, proxyConfig?: ProxyConfig, apiKey?: string, adapter?: AxiosAdapter);
search(query: string, page?: number): Promise<ISearch<IAnimeResult>>;

@@ -16,0 +17,0 @@ fetchAnimeInfo(animeUrl: string): Promise<IAnimeInfo>;

"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");

@@ -15,4 +11,4 @@ const extractors_1 = require("../../extractors");

class NineAnime extends models_1.AnimeParser {
constructor(nineAnimeResolver, proxyConfig, apiKey) {
super('https://9anime.pl', proxyConfig && proxyConfig.url ? proxyConfig : undefined);
constructor(nineAnimeResolver, proxyConfig, apiKey, adapter) {
super(proxyConfig, adapter);
this.name = '9Anime';

@@ -36,3 +32,3 @@ this.nineAnimeResolver = '';

const vrf = await this.searchVrf(query);
const res = await this.client.get(`/filter?keyword=${encodeURIComponent(query).replace(/%20/g, '+')}&vrf=${encodeURIComponent(vrf)}&page=${page}`);
const res = await this.client.get(`${this.baseUrl}/filter?keyword=${encodeURIComponent(query).replace(/%20/g, '+')}&vrf=${encodeURIComponent(vrf)}&page=${page}`);
const $ = (0, cheerio_1.load)(res.data);

@@ -87,3 +83,3 @@ searchResult.hasNextPage =

if (!animeUrl.startsWith(this.baseUrl))
animeUrl = `/watch/${animeUrl}`;
animeUrl = `${this.baseUrl}/watch/${animeUrl}`;
const animeInfo = {

@@ -163,3 +159,3 @@ id: '',

const vrf = await this.ev(id);
const { data: { result }, } = await this.client.get(`/ajax/episode/list/${id}?vrf=${encodeURIComponent(vrf)}`);
const { data: { result }, } = await this.client.get(`${this.baseUrl}/ajax/episode/list/${id}?vrf=${encodeURIComponent(vrf)}`);
const $$ = (0, cheerio_1.load)(result);

@@ -252,5 +248,5 @@ animeInfo.totalEpisodes = $$('div.episodes > ul > li > a').length;

}
const serverVrf = (await axios_1.default.get(`${this.nineAnimeResolver}/vrf?query=${encodeURIComponent(s.url)}&apikey=${this.apiKey}`)).data.url;
const serverSource = (await this.client.get(`/ajax/server/${s.url}?vrf=${encodeURIComponent(serverVrf)}`)).data;
const embedURL = (await axios_1.default.get(`${this.nineAnimeResolver}/decrypt?query=${encodeURIComponent(serverSource.result.url)}&apikey=${this.apiKey}`)).data.url;
const serverVrf = (await this.client.get(`${this.nineAnimeResolver}/vrf?query=${encodeURIComponent(s.url)}&apikey=${this.apiKey}`)).data.url;
const serverSource = (await this.client.get(`${this.baseUrl}/ajax/server/${s.url}?vrf=${encodeURIComponent(serverVrf)}`)).data;
const embedURL = (await this.client.get(`${this.nineAnimeResolver}/decrypt?query=${encodeURIComponent(serverSource.result.url)}&apikey=${this.apiKey}`)).data.url;
if (embedURL.startsWith('http')) {

@@ -275,3 +271,3 @@ const response = await this.fetchEpisodeSources(embedURL, server);

if (!episodeId.startsWith(this.baseUrl))
episodeId = `/ajax/server/list/${episodeId}?vrf=${encodeURIComponent(await this.ev(episodeId))}`;
episodeId = `${this.baseUrl}/ajax/server/list/${episodeId}?vrf=${encodeURIComponent(await this.ev(episodeId))}`;
const { data: { result }, } = await this.client.get(episodeId);

@@ -290,3 +286,3 @@ const $ = (0, cheerio_1.load)(result);

async ev(query, raw = false) {
const { data } = await axios_1.default.get(`${this.nineAnimeResolver}/vrf?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
const { data } = await this.client.get(`${this.nineAnimeResolver}/vrf?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
if (raw) {

@@ -300,3 +296,3 @@ return data;

async searchVrf(query, raw = false) {
const { data } = await axios_1.default.get(`${this.nineAnimeResolver}/9anime-search?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
const { data } = await this.client.get(`${this.nineAnimeResolver}/9anime-search?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
if (raw) {

@@ -310,3 +306,3 @@ return data;

async decrypt(query, raw = false) {
const { data } = await axios_1.default.get(`${this.nineAnimeResolver}/decrypt?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
const { data } = await this.client.get(`${this.nineAnimeResolver}/decrypt?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
if (raw) {

@@ -320,7 +316,7 @@ return data;

async vizcloud(query) {
const { data } = await axios_1.default.get(`${this.nineAnimeResolver}/vizcloud?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
const { data } = await this.client.get(`${this.nineAnimeResolver}/vizcloud?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
return data;
}
async customRequest(query, action) {
const { data } = await axios_1.default.get(`${this.nineAnimeResolver}/${action}?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
const { data } = await this.client.get(`${this.nineAnimeResolver}/${action}?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
return data;

@@ -327,0 +323,0 @@ }

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -23,3 +19,3 @@ const models_1 = require("../../models");

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/search?keyword=${decodeURIComponent(query)}&page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/search?keyword=${decodeURIComponent(query)}&page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -76,3 +72,3 @@ const hasNextPage = $('.pagination > nav > ul > li').last().hasClass('disabled') ? false : true;

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/anime/${id}`);
const { data } = await this.client.get(`${this.baseUrl}/anime/${id}`);
const $ = (0, cheerio_1.load)(data);

@@ -140,3 +136,3 @@ info.title = $('h2.film-name').attr('data-jname');

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/latest-added?page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/latest-added?page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -171,3 +167,3 @@ const hasNextPage = $('.pagination > nav > ul > li').last().hasClass('disabled') ? false : true;

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/watch/${episodeId}`);
const { data } = await this.client.get(`${this.baseUrl}/watch/${episodeId}`);
const $ = (0, cheerio_1.load)(data);

@@ -177,3 +173,3 @@ const iframe = $('#iframe-to-load').attr('src') || '';

return {
sources: await new extractors_1.GogoCDN().extract(new URL(streamUrl)),
sources: await new extractors_1.GogoCDN(this.proxyConfig).extract(new URL(streamUrl)),
};

@@ -197,5 +193,7 @@ }

// const animepahe = new AnimeFox();
// const sources = await animepahe.fetchEpisodeSources("youkoso-jitsuryoku-shijou-shugi-no-kyoushitsu-e-tv-episode-1");
// const sources = await animepahe.fetchEpisodeSources(
// 'youkoso-jitsuryoku-shijou-shugi-no-kyoushitsu-e-tv-episode-1'
// );
// console.log(sources);
// })();
//# sourceMappingURL=animefox.js.map
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -23,3 +19,3 @@ const models_1 = require("../../models");

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/api?m=search&q=${encodeURIComponent(query)}`);
const { data } = await this.client.get(`${this.baseUrl}/api?m=search&q=${encodeURIComponent(query)}`);
const res = {

@@ -51,3 +47,3 @@ results: data.data.map((item) => ({

try {
const res = await axios_1.default.get(`${this.baseUrl}/anime/${id.split('/')[1]}?anime_id=${id.split('/')[0]}`);
const res = await this.client.get(`${this.baseUrl}/anime/${id.split('/')[1]}?anime_id=${id.split('/')[0]}`);
const $ = (0, cheerio_1.load)(res.data);

@@ -93,3 +89,3 @@ animeInfo.title = $('div.title-wrapper > h1 > span').first().text();

if (episodePage < 0) {
const { data: { last_page, data }, } = await axios_1.default.get(`${this.baseUrl}/api?m=release&id=${id.split('/')[1]}&sort=episode_asc&page=1`);
const { data: { last_page, data }, } = await this.client.get(`${this.baseUrl}/api?m=release&id=${id.split('/')[1]}&sort=episode_asc&page=1`);
animeInfo.episodePages = last_page;

@@ -123,3 +119,3 @@ animeInfo.episodes.push(...data.map((item) => ({

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/play/${episodeId}`, {
const { data } = await this.client.get(`${this.baseUrl}/play/${episodeId}`, {
headers: {

@@ -142,3 +138,3 @@ Referer: `${this.baseUrl}`,

for (const link of links) {
const res = await new extractors_1.Kwik().extract(new URL(link.url));
const res = await new extractors_1.Kwik(this.proxyConfig).extract(new URL(link.url));
res[0].quality = link.quality;

@@ -155,3 +151,3 @@ res[0].isDub = link.audio === 'eng';

this.fetchEpisodes = async (session, page) => {
const res = await axios_1.default.get(`${this.baseUrl}/api?m=release&id=${session}&sort=episode_asc&page=${page}`);
const res = await this.client.get(`${this.baseUrl}/api?m=release&id=${session}&sort=episode_asc&page=${page}`);
const epData = res.data.data;

@@ -158,0 +154,0 @@ return [

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -21,3 +17,3 @@ const models_1 = require("../../models");

// baseUrl/animelist?search={query}
const data = await axios_1.default.get(`${this.baseUrl}animelist?search=${query}`);
const data = await this.client.get(`${this.baseUrl}animelist?search=${query}`);
const $ = await (0, cheerio_1.load)(data.data);

@@ -49,3 +45,3 @@ if (!$)

var _a, _b, _c, _d, _e, _f;
const data = await axios_1.default.get(`${this.baseUrl}anime/${id}`);
const data = await this.client.get(`${this.baseUrl}anime/${id}`);
const $ = await (0, cheerio_1.load)(data.data);

@@ -65,3 +61,5 @@ const info = {

$('.tab-pane.fade').each((i, element) => {
$(element).find('.bottone-ep').each((i, element) => {
$(element)
.find('.bottone-ep')
.each((i, element) => {
var _a, _b;

@@ -85,3 +83,3 @@ const link = $(element).attr('href');

var _a;
const fakeData = await axios_1.default.get(`${this.baseUrl}ep/${episodeId}`);
const fakeData = await this.client.get(`${this.baseUrl}ep/${episodeId}`);
const $2 = await (0, cheerio_1.load)(fakeData.data);

@@ -91,3 +89,3 @@ const newUrl = $2("div > a:contains('Streaming')").attr('href');

throw new Error('Invalid url');
const data = await axios_1.default.get(newUrl);
const data = await this.client.get(newUrl);
const $ = await (0, cheerio_1.load)(data.data);

@@ -100,3 +98,3 @@ const sources = {

const scriptTag = $('script').filter(function () {
return $(this).text().includes('jwplayer(\'player_hls\')');
return $(this).text().includes("jwplayer('player_hls')");
});

@@ -106,3 +104,3 @@ let getOneSource;

const scriptText = $(element).text();
scriptText.split("\n").forEach((line) => {
scriptText.split('\n').forEach(line => {
if (line.includes('file:') && !getOneSource) {

@@ -120,4 +118,4 @@ getOneSource = line.split('file:')[1].trim().replace(/'/g, '').replace(/,/g, '').replace(/"/g, '');

(_a = sources.subtitles) === null || _a === void 0 ? void 0 : _a.push({
url: getOneSource.replace("playlist.m3u8", "subtitles.vtt"),
lang: 'Spanish'
url: getOneSource.replace('playlist.m3u8', 'subtitles.vtt'),
lang: 'Spanish',
});

@@ -124,0 +122,0 @@ return sources;

@@ -1,2 +0,3 @@

import { AnimeParser, IAnimeInfo, IAnimeResult, IEpisodeServer, ISearch, ISource } from '../../models';
import { AnimeParser, IAnimeInfo, IAnimeResult, IEpisodeServer, ISearch, ISource, ProxyConfig } from '../../models';
import { AxiosAdapter } from 'axios';
declare class Bilibili extends AnimeParser {

@@ -11,3 +12,3 @@ readonly name = "Bilibili";

private sgProxy;
constructor(cookie?: string, locale?: string);
constructor(cookie?: string, locale?: string, proxyConfig?: ProxyConfig, adapter?: AxiosAdapter);
search(query: string): Promise<ISearch<IAnimeResult>>;

@@ -14,0 +15,0 @@ fetchAnimeInfo(id: string): Promise<IAnimeInfo>;

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const models_1 = require("../../models");
const extractors_1 = require("../../extractors");
class Bilibili extends models_1.AnimeParser {
constructor(cookie, locale) {
super();
constructor(cookie, locale, proxyConfig, adapter) {
super(proxyConfig, adapter);
this.name = 'Bilibili';

@@ -27,3 +23,3 @@ this.baseUrl = 'https://bilibili.tv';

var _a;
const { data } = await axios_1.default.get(`${this.sgProxy}/${this.apiUrl}/v2/search?keyword=${query}&platform=web&pn=1&ps=20&qid=&s_locale=${this.locale}`, { headers: { cookie: this.cookie } });
const { data } = await this.client.get(`${this.sgProxy}/${this.apiUrl}/v2/search?keyword=${query}&platform=web&pn=1&ps=20&qid=&s_locale=${this.locale}`, { headers: { cookie: this.cookie } });
if (!data.data.filter((item) => item.module.includes('ogv')).length)

@@ -46,3 +42,3 @@ return { results: [], totalResults: 0 };

try {
const { data } = await axios_1.default.get(`${this.sgProxy}/https://app.biliintl.com/intl/gateway/v2/ogv/view/app/season2?locale=${this.locale}&platform=android&season_id=${id}`, { headers: { cookie: this.cookie } });
const { data } = await this.client.get(`${this.sgProxy}/https://app.biliintl.com/intl/gateway/v2/ogv/view/app/season2?locale=${this.locale}&platform=android&season_id=${id}`, { headers: { cookie: this.cookie } });
let counter = 1;

@@ -81,4 +77,4 @@ const episodes = data.data.sections.section.flatMap((section) => section.ep_details.map((ep) => ({

try {
const { data } = await axios_1.default.get(`${this.sgProxy}/${this.apiUrl}/v2/subtitle?s_locale=${this.locale}&platform=web&episode_id=${episodeId}`, { headers: { cookie: this.cookie } });
const ss = await axios_1.default.get(`${this.sgProxy}/${this.apiUrl}/playurl?s_locale=${this.locale}&platform=web&ep_id=${episodeId}`, { headers: { cookie: this.cookie } });
const { data } = await this.client.get(`${this.sgProxy}/${this.apiUrl}/v2/subtitle?s_locale=${this.locale}&platform=web&episode_id=${episodeId}`, { headers: { cookie: this.cookie } });
const ss = await this.client.get(`${this.sgProxy}/${this.apiUrl}/playurl?s_locale=${this.locale}&platform=web&ep_id=${episodeId}`, { headers: { cookie: this.cookie } });
const sources = await new extractors_1.BilibiliExtractor().extract(episodeId);

@@ -103,3 +99,3 @@ return {

// (async () => {
// const source = new Bilibili(// );
// const source = new Bilibili();
// const result = await source.search('classroom of the elite');

@@ -106,0 +102,0 @@ // const info = await source.fetchAnimeInfo(result.results[0].id);

@@ -1,2 +0,3 @@

import { AnimeParser, ISearch, IAnimeInfo, IAnimeResult, ISource, IEpisodeServer } from '../../models';
import { AxiosAdapter } from 'axios';
import { AnimeParser, ISearch, IAnimeInfo, IAnimeResult, ISource, IEpisodeServer, ProxyConfig } from '../../models';
declare class Crunchyroll extends AnimeParser {

@@ -12,3 +13,3 @@ readonly name = "Crunchyroll";

private subOrder;
static create(locale?: string, token?: string, accessToken?: string): Promise<Crunchyroll>;
static create(locale?: string, token?: string, accessToken?: string, proxyConfig?: ProxyConfig, adapter?: AxiosAdapter): Promise<Crunchyroll>;
/**

@@ -15,0 +16,0 @@ * @param query Search query

@@ -102,5 +102,5 @@ "use strict";

}
static async create(locale, token, accessToken) {
static async create(locale, token, accessToken, proxyConfig, adapter) {
var _a;
const instance = new Crunchyroll();
const instance = new Crunchyroll(proxyConfig, adapter);
instance.TOKEN = (_a = instance.TOKEN) !== null && _a !== void 0 ? _a : (await axios_1.default.get(`${instance.baseUrl}/token`)).data;

@@ -112,7 +112,7 @@ return instance;

// (async () => {
// const crunchyroll = await Crunchyroll.create();
// const search = await crunchyroll.search('spy-x-family');
// const res = await crunchyroll.fetchAnimeInfo(search.results[0].id, search.results[0].type!);
// const sources = await crunchyroll.fetchEpisodeSources(res.episodes![res.episodes?.length! - 1].id);
// const crunchyroll = await Crunchyroll.create();
// const search = await crunchyroll.search('spy-x-family');
// const res = await crunchyroll.fetchAnimeInfo(search.results[0].id, search.results[0].type!);
// const sources = await crunchyroll.fetchEpisodeSources(res.episodes![res.episodes?.length! - 1].id);
// })();
//# sourceMappingURL=crunchyroll.js.map
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const models_1 = require("../../models");

@@ -21,3 +17,3 @@ class Enime extends models_1.AnimeParser {

this.rawSearch = async (query, page = 1, perPage = 15) => {
const { data } = await axios_1.default.get(`${this.enimeApi}/search/${query}?page=${page}&perPage=${perPage}`);
const { data } = await this.client.get(`${this.enimeApi}/search/${query}?page=${page}&perPage=${perPage}`);
return data;

@@ -35,3 +31,3 @@ };

};
const { data } = await axios_1.default.get(`${this.enimeApi}/search/${query}?page=${page}&perPage=${perPage}`);
const { data } = await this.client.get(`${this.enimeApi}/search/${query}?page=${page}&perPage=${perPage}`);
if (data.currentPage !== res.currentPage)

@@ -68,3 +64,3 @@ res.hasNextPage = true;

};
const { data } = await axios_1.default.get(`${this.enimeApi}/anime/${id}`).catch(() => {
const { data } = await this.client.get(`${this.enimeApi}/anime/${id}`).catch(() => {
throw new Error('Anime not found');

@@ -97,3 +93,3 @@ });

this.fetchAnimeInfoByIdRaw = async (id) => {
const { data } = await axios_1.default.get(`${this.enimeApi}/mapping/anilist/${id}`).catch(err => {
const { data } = await this.client.get(`${this.enimeApi}/mapping/anilist/${id}`).catch(err => {
throw new Error("Backup api seems to be down! Can't fetch anime info");

@@ -112,3 +108,3 @@ });

};
const { data } = await axios_1.default.get(`${this.enimeApi}/mapping/anilist/${id}`).catch(err => {
const { data } = await this.client.get(`${this.enimeApi}/mapping/anilist/${id}`).catch(err => {
throw new Error(err);

@@ -167,3 +163,3 @@ });

};
const { data } = await axios_1.default.get(`${this.enimeApi}/mapping/mal/${id}`).catch(err => {
const { data } = await this.client.get(`${this.enimeApi}/mapping/mal/${id}`).catch(err => {
throw new Error(err);

@@ -221,6 +217,6 @@ });

};
const { data } = await axios_1.default.get(`${this.enimeApi}/episode/${episodeId}`);
const { data: { url, referer }, } = await axios_1.default.get(`${this.enimeApi}/source/${data.sources[0].id}`);
const { data } = await this.client.get(`${this.enimeApi}/episode/${episodeId}`);
const { data: { url, referer }, } = await this.client.get(`${this.enimeApi}/source/${data.sources[0].id}`);
res.headers['Referer'] = referer;
const resResult = await axios_1.default.get(url);
const resResult = await this.client.get(url);
const resolutions = resResult.data.match(/(RESOLUTION=)(.*)(\s*?)(\s*.*)/g);

@@ -249,5 +245,5 @@ resolutions.forEach((ress) => {

};
const { data: { url, referer, subtitle }, } = await axios_1.default.get(`${this.enimeApi}/source/${sourceId}`);
const { data: { url, referer, subtitle }, } = await this.client.get(`${this.enimeApi}/source/${sourceId}`);
res.headers['Referer'] = referer;
const resResult = await axios_1.default.get(url).catch(() => {
const resResult = await this.client.get(url).catch(() => {
throw new Error('Source not found');

@@ -254,0 +250,0 @@ });

@@ -1,4 +0,3 @@

import { AnimeParser, ISearch, IAnimeInfo, IEpisodeServer, StreamingServers, IAnimeResult, ISource, ProxyConfig } from '../../models';
import { AnimeParser, ISearch, IAnimeInfo, IEpisodeServer, StreamingServers, IAnimeResult, ISource } from '../../models';
declare class Gogoanime extends AnimeParser {
private proxyConfig?;
readonly name = "Gogoanime";

@@ -11,13 +10,2 @@ protected baseUrl: string;

*
* @param proxyConfig proxy configuration (optional)
* @example
* ```ts
* const gogo = new Gogoanime({ url: 'https://cors-anywhere.herokuapp.com' });
* // or with multiple proxies
* const gogo = new Gogoanime({ url: ['https://cors-anywhere.herokuapp.com', ...]});
* ```
*/
constructor(proxyConfig?: ProxyConfig | undefined);
/**
*
* @param query search query string

@@ -24,0 +12,0 @@ * @param page page number (default 1) (optional)

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -12,17 +8,6 @@ const models_1 = require("../../models");

class Gogoanime extends models_1.AnimeParser {
/**
*
* @param proxyConfig proxy configuration (optional)
* @example
* ```ts
* const gogo = new Gogoanime({ url: 'https://cors-anywhere.herokuapp.com' });
* // or with multiple proxies
* const gogo = new Gogoanime({ url: ['https://cors-anywhere.herokuapp.com', ...]});
* ```
*/
constructor(proxyConfig) {
super('https://gogoanimehd.to', proxyConfig);
this.proxyConfig = proxyConfig;
constructor() {
super(...arguments);
this.name = 'Gogoanime';
this.baseUrl = 'https://gogoanimehd.to';
this.baseUrl = 'https://gogoanimehd.io';
this.logo = 'https://play-lh.googleusercontent.com/MaGEiAEhNHAJXcXKzqTNgxqRmhuKB1rCUgb15UrN_mWUNRnLpO5T1qja64oRasO7mn0';

@@ -43,3 +28,3 @@ this.classPath = 'ANIME.Gogoanime';

try {
const res = await this.client.get(`/search.html?keyword=${encodeURIComponent(query)}&page=${page}`);
const res = await this.client.get(`${this.baseUrl}/search.html?keyword=${encodeURIComponent(query)}&page=${page}`);
const $ = (0, cheerio_1.load)(res.data);

@@ -73,3 +58,3 @@ searchResult.hasNextPage =

if (!id.includes('gogoanime'))
id = `/category/${id}`;
id = `${this.baseUrl}/category/${id}`;
const animeInfo = {

@@ -131,3 +116,3 @@ id: '',

const alias = $('#alias_anime').attr('value');
const html = await axios_1.default.get(`${this.ajaxUrl}/load-list-episode?ep_start=${ep_start}&ep_end=${ep_end}&id=${movie_id}&default_ep=${0}&alias=${alias}`);
const html = await this.client.get(`${this.ajaxUrl}/load-list-episode?ep_start=${ep_start}&ep_end=${ep_end}&id=${movie_id}&default_ep=${0}&alias=${alias}`);
const $$ = (0, cheerio_1.load)(html.data);

@@ -157,3 +142,2 @@ animeInfo.episodes = [];

this.fetchEpisodeSources = async (episodeId, server = models_1.StreamingServers.VidStreaming) => {
var _a;
if (episodeId.startsWith('http')) {

@@ -165,3 +149,3 @@ const serverUrl = new URL(episodeId);

headers: { Referer: serverUrl.href },
sources: await new extractors_1.GogoCDN(this.proxyConfig).extract(serverUrl),
sources: await new extractors_1.GogoCDN(this.proxyConfig, this.adapter).extract(serverUrl),
download: `https://gogohd.net/download${serverUrl.search}`,

@@ -172,3 +156,3 @@ };

headers: { Referer: serverUrl.href, watchsb: 'streamsb', 'User-Agent': utils_1.USER_AGENT },
sources: await new extractors_1.StreamSB().extract(serverUrl),
sources: await new extractors_1.StreamSB(this.proxyConfig, this.adapter).extract(serverUrl),
download: `https://gogohd.net/download${serverUrl.search}`,

@@ -179,3 +163,3 @@ };

headers: { Referer: serverUrl.href },
sources: await new extractors_1.GogoCDN(this.proxyConfig).extract(serverUrl),
sources: await new extractors_1.GogoCDN(this.proxyConfig, this.adapter).extract(serverUrl),
download: `https://gogohd.net/download${serverUrl.search}`,

@@ -186,3 +170,3 @@ };

try {
const res = await this.client.get(`/${episodeId}`);
const res = await this.client.get(`${this.baseUrl}/${episodeId}`);
const $ = (0, cheerio_1.load)(res.data);

@@ -195,4 +179,3 @@ let serverUrl;

case models_1.StreamingServers.VidStreaming:
serverUrl = new URL(`${(_a = $('div.anime_video_body > div.anime_muti_link > ul > li.vidcdn > a')
.attr('data-video')) === null || _a === void 0 ? void 0 : _a.replace('.pro', '.net')}`);
serverUrl = new URL(`${$('div.anime_video_body > div.anime_muti_link > ul > li.vidcdn > a').attr('data-video')}`);
break;

@@ -220,3 +203,3 @@ case models_1.StreamingServers.StreamSB:

if (!episodeId.startsWith(this.baseUrl))
episodeId = `/${episodeId}`;
episodeId = `${this.baseUrl}/${episodeId}`;
const res = await this.client.get(episodeId);

@@ -247,3 +230,3 @@ const $ = (0, cheerio_1.load)(res.data);

if (!episodeId.startsWith(this.baseUrl))
episodeId = `/${episodeId}`;
episodeId = `${this.baseUrl}/${episodeId}`;
const res = await this.client.get(episodeId);

@@ -263,3 +246,3 @@ const $ = (0, cheerio_1.load)(res.data);

try {
const res = await axios_1.default.get(`${this.ajaxUrl}/page-recent-release.html?page=${page}&type=${type}`);
const res = await this.client.get(`${this.ajaxUrl}/page-recent-release.html?page=${page}&type=${type}`);
const $ = (0, cheerio_1.load)(res.data);

@@ -291,3 +274,3 @@ const recentEpisodes = [];

try {
const res = await this.client.get(`/genre/${genre}?page=${page}`);
const res = await this.client.get(`${this.baseUrl}/genre/${genre}?page=${page}`);
const $ = (0, cheerio_1.load)(res.data);

@@ -319,3 +302,3 @@ const genreInfo = [];

try {
const res = await axios_1.default.get(`${this.ajaxUrl}/page-recent-release-ongoing.html?page=${page}`);
const res = await this.client.get(`${this.ajaxUrl}/page-recent-release-ongoing.html?page=${page}`);
const $ = (0, cheerio_1.load)(res.data);

@@ -322,0 +305,0 @@ const topAiring = [];

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const models_1 = require("../../models");

@@ -22,3 +18,3 @@ /**

try {
const response = await axios_1.default.post('https://marin.moe/anime', {
const response = await this.client.post('https://marin.moe/anime', {
page: page,

@@ -76,3 +72,3 @@ sort: 'rel-d',

try {
const response = await axios_1.default.post('https://marin.moe/anime', {
const response = await this.client.post('https://marin.moe/anime', {
page: page,

@@ -131,3 +127,3 @@ sort: 'az-a',

try {
const response = await axios_1.default.post(`https://marin.moe/anime/${id}`, {}, {
const response = await this.client.post(`https://marin.moe/anime/${id}`, {}, {
headers: {

@@ -153,3 +149,3 @@ Origin: 'https://marin.moe/',

for (let index = 2; index < data.props.anime.last_episode / 36; index++) {
const response = await axios_1.default.post(`https://marin.moe/anime/${id}`, { filter: { episodes: true, specials: true }, eps_page: index }, {
const response = await this.client.post(`https://marin.moe/anime/${id}`, { filter: { episodes: true, specials: true }, eps_page: index }, {
headers: {

@@ -216,3 +212,3 @@ Origin: 'https://marin.moe/',

try {
const response = await axios_1.default.post(`https://marin.moe/anime/${id}`, {}, {
const response = await this.client.post(`https://marin.moe/anime/${id}`, {}, {
headers: {

@@ -259,3 +255,3 @@ Origin: 'https://marin.moe/',

const token = [];
const response = await axios_1.default.get('https://marin.moe/anime', {
const response = await this.client.get('https://marin.moe/anime', {
headers: {

@@ -262,0 +258,0 @@ Referer: 'https://marin.moe/anime',

@@ -1,4 +0,3 @@

import { AnimeParser, ISearch, IAnimeInfo, IAnimeResult, ISource, IEpisodeServer, StreamingServers, ProxyConfig } from '../../models';
import { AnimeParser, ISearch, IAnimeInfo, IAnimeResult, ISource, IEpisodeServer, StreamingServers } from '../../models';
declare class Zoro extends AnimeParser {
private proxyConfig?;
readonly name = "Zoro";

@@ -9,12 +8,2 @@ protected baseUrl: string;

/**
*
* @param zoroBase Base url of zoro (optional) (default: https://aniwatch.to)
* @param proxyConfig Proxy configuration (optional)
* @example
* ```ts
* const zoro = new Zoro(undefined, { url: "http://localhost:8080" });
* ```
*/
constructor(zoroBase?: string, proxyConfig?: ProxyConfig | undefined);
/**
* @param query Search query

@@ -21,0 +10,0 @@ * @param page Page number (optional)

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -12,14 +8,4 @@ const models_1 = require("../../models");

class Zoro extends models_1.AnimeParser {
/**
*
* @param zoroBase Base url of zoro (optional) (default: https://aniwatch.to)
* @param proxyConfig Proxy configuration (optional)
* @example
* ```ts
* const zoro = new Zoro(undefined, { url: "http://localhost:8080" });
* ```
*/
constructor(zoroBase, proxyConfig) {
super(zoroBase !== null && zoroBase !== void 0 ? zoroBase : 'https://aniwatch.to', proxyConfig);
this.proxyConfig = proxyConfig;
constructor() {
super(...arguments);
this.name = 'Zoro';

@@ -42,3 +28,3 @@ this.baseUrl = 'https://aniwatch.to';

try {
const { data } = await this.client.get(`/search?keyword=${decodeURIComponent(query)}&page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/search?keyword=${decodeURIComponent(query)}&page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -94,3 +80,3 @@ res.hasNextPage =

try {
const { data } = await this.client.get(`/watch/${id}`);
const { data } = await this.client.get(`${this.baseUrl}/watch/${id}`);
const $ = (0, cheerio_1.load)(data);

@@ -118,3 +104,3 @@ const { mal_id, anilist_id } = JSON.parse($('#syncData').text());

}
const episodesAjax = await this.client.get(`/ajax/v2/episode/list/${id.split('-').pop()}`, {
const episodesAjax = await this.client.get(`${this.baseUrl}/ajax/v2/episode/list/${id.split('-').pop()}`, {
headers: {

@@ -161,7 +147,7 @@ 'X-Requested-With': 'XMLHttpRequest',

case models_1.StreamingServers.VidCloud:
return Object.assign({}, (await new utils_1.RapidCloud(this.proxyConfig).extract(serverUrl)));
return Object.assign({}, (await new utils_1.RapidCloud(this.proxyConfig, this.adapter).extract(serverUrl)));
case models_1.StreamingServers.StreamSB:
return {
headers: { Referer: serverUrl.href, watchsb: 'streamsb', 'User-Agent': utils_2.USER_AGENT },
sources: await new utils_1.StreamSB().extract(serverUrl, true),
sources: await new utils_1.StreamSB(this.proxyConfig, this.adapter).extract(serverUrl, true),
};

@@ -171,7 +157,7 @@ case models_1.StreamingServers.StreamTape:

headers: { Referer: serverUrl.href, 'User-Agent': utils_2.USER_AGENT },
sources: await new utils_1.StreamTape().extract(serverUrl),
sources: await new utils_1.StreamTape(this.proxyConfig, this.adapter).extract(serverUrl),
};
default:
case models_1.StreamingServers.VidCloud:
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new utils_1.RapidCloud(this.proxyConfig).extract(serverUrl)));
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new utils_1.RapidCloud(this.proxyConfig, this.adapter).extract(serverUrl)));
}

@@ -188,3 +174,3 @@ }

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/ajax/v2/episode/servers?episodeId=${episodeId.split('?ep=')[1]}`);
const { data } = await this.client.get(`${this.baseUrl}/ajax/v2/episode/servers?episodeId=${episodeId.split('?ep=')[1]}`);
const $ = (0, cheerio_1.load)(data.html);

@@ -227,3 +213,3 @@ /**

}
const { data: { link }, } = await axios_1.default.get(`${this.baseUrl}/ajax/v2/episode/sources?id=${serverId}`);
const { data: { link }, } = await this.client.get(`${this.baseUrl}/ajax/v2/episode/sources?id=${serverId}`);
return await this.fetchEpisodeSources(link, server);

@@ -246,3 +232,3 @@ }

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/recently-updated?page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/recently-updated?page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -282,3 +268,2 @@ const hasNextPage = $('.pagination > li').length > 0

};
this.baseUrl = zoroBase ? zoroBase : this.baseUrl;
}

@@ -285,0 +270,0 @@ }

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -11,3 +7,2 @@ const models_1 = require("../../models");

const ascii_url_encoder_1 = require("ascii-url-encoder");
const { get } = axios_1.default;
class Libgen extends models_1.BookParser {

@@ -34,3 +29,3 @@ constructor() {

const container = new models_1.LibgenBookObject();
const { data } = await get(bookUrl);
const { data } = await this.client.get(bookUrl);
const $ = (0, cheerio_1.load)(data);

@@ -222,3 +217,3 @@ let rawAuthor = '';

const containers = [];
const { data } = await get(`${this.baseUrl}.rs/search.php?req=${query}&view=simple&res=25&sort=def&sortmode=ASC&page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}.rs/search.php?req=${query}&view=simple&res=25&sort=def&sortmode=ASC&page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -283,3 +278,3 @@ let rawAuthor = '';

}
const data = await get(containers[i].link);
const data = await this.client.get(containers[i].link);
const $ = (0, cheerio_1.load)(data.data);

@@ -286,0 +281,0 @@ let tempTitle = '';

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");
const models_1 = require("../../models");
const utils_1 = require("../../utils");
const { get } = axios_1.default;
const s = async () => { };

@@ -21,3 +16,3 @@ class getComics extends models_1.ComicParser {

query = encodeURIComponent(query);
const { data } = await get(`${this.baseUrl}/page/${page ? page : 1}/?s=${query}`);
const { data } = await this.client.get(`${this.baseUrl}/page/${page ? page : 1}/?s=${query}`);
const $ = (0, cheerio_1.load)(data);

@@ -42,3 +37,3 @@ const lastPage = $('section section nav:eq(1) ul li:last').text();

if (container.ufile != '') {
const { data } = await get(container.ufile);
const { data } = await this.client.get(container.ufile);
const $ = (0, cheerio_1.load)(data);

@@ -45,0 +40,0 @@ container.download = $('.aio-red[title="Download Now"]').attr('href') || '';

@@ -7,3 +7,2 @@ "use strict";

const cheerio_1 = require("cheerio");
const axios_1 = __importDefault(require("axios"));
const form_data_1 = __importDefault(require("form-data"));

@@ -35,3 +34,3 @@ const models_1 = require("../../models");

try {
const page = await axios_1.default.get(lightNovelUrl, {
const page = await this.client.get(lightNovelUrl, {
headers: {

@@ -92,3 +91,3 @@ Referer: lightNovelUrl,

bodyFormData.append('id', novelId);
const page = await (0, axios_1.default)({
const page = await this.client({
method: 'post',

@@ -138,3 +137,3 @@ url: `${this.baseUrl}/wp-admin/admin-ajax.php`,

try {
const page = await axios_1.default.get(chapterId);
const page = await this.client.get(chapterId);
const $ = (0, cheerio_1.load)(page.data);

@@ -161,3 +160,3 @@ contents.novelTitle = $('.truyen-title').text();

try {
const res = await axios_1.default.post(`${this.baseUrl}/?s=${query}`);
const res = await this.client.post(`${this.baseUrl}/?s=${query}`);
const $ = (0, cheerio_1.load)(res.data);

@@ -164,0 +163,0 @@ $('div.col-xs-12.col-sm-12.col-md-9.col-truyen-main > div:nth-child(1) > div > div:nth-child(2) > div.col-md-3.col-sm-6.col-xs-6.home-truyendecu').each((i, el) => {

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -22,3 +18,3 @@ const models_1 = require("../../models");

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/manga/${mangaId}`);
const { data } = await this.client.get(`${this.baseUrl}/manga/${mangaId}`);
const $ = (0, cheerio_1.load)(data);

@@ -67,3 +63,3 @@ const title = $('body > div.scroller-inner > div.wrapper > main > section > div > h1.titulo').text();

const url = `${this.baseUrl}/ler/${chapterId}`;
const { data } = await axios_1.default.get(url);
const { data } = await this.client.get(url);
const $ = (0, cheerio_1.load)(data);

@@ -96,3 +92,3 @@ const script = $('script');

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/?s=${query.replace(/ /g, '+')}`);
const { data } = await this.client.get(`${this.baseUrl}/?s=${query.replace(/ /g, '+')}`);
const $ = (0, cheerio_1.load)(data);

@@ -99,0 +95,0 @@ const results = $('body > div.scroller-inner > div.wrapper > main > div.container > div.listagem > div.col')

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -23,3 +19,3 @@ const models_1 = require("../../models");

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/series/?title=${query.replace(/ /g, '%20')}`);
const { data } = await this.client.get(`${this.baseUrl}/series/?title=${query.replace(/ /g, '%20')}`);
const $ = (0, cheerio_1.load)(data);

@@ -51,3 +47,3 @@ const searchMangaSelector = '.utao .uta .imgu, .listupd .bs .bsx, .listo .bs .bsx';

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/manga/${mangaId}`);
const { data } = await this.client.get(`${this.baseUrl}/manga/${mangaId}`);
const $ = (0, cheerio_1.load)(data);

@@ -119,3 +115,3 @@ // base from https://github.com/tachiyomiorg/tachiyomi-extensions/blob/661311c13b3b550e3fa906c1130b77a037ef7a11/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesia.kt#L233

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/${chapterId}`);
const { data } = await this.client.get(`${this.baseUrl}/${chapterId}`);
const $ = (0, cheerio_1.load)(data);

@@ -122,0 +118,0 @@ const pageSelector = 'div#readerarea img, #readerarea div.figure_container div.composed_figure';

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ascii_url_encoder_1 = require("ascii-url-encoder");
const axios_1 = __importDefault(require("axios"));
const models_1 = require("../../models");

@@ -21,3 +17,3 @@ const utils_1 = require("../../utils");

try {
const { data } = await axios_1.default.get(`${this.apiUrl}/manga/${mangaId}`);
const { data } = await this.client.get(`${this.apiUrl}/manga/${mangaId}`);
const mangaInfo = {

@@ -64,3 +60,3 @@ id: data.data.id,

try {
const res = await axios_1.default.get(`${this.apiUrl}/at-home/server/${chapterId}`);
const res = await this.client.get(`${this.apiUrl}/at-home/server/${chapterId}`);
const pages = [];

@@ -92,3 +88,3 @@ for (const id of res.data.chapter.data) {

try {
const res = await axios_1.default.get(`${this.apiUrl}/manga?limit=${limit}&title=${(0, ascii_url_encoder_1.encode)(query)}&limit=${limit}&offset=${limit * (page - 1)}&order[relevance]=desc`);
const res = await this.client.get(`${this.apiUrl}/manga?limit=${limit}&title=${(0, ascii_url_encoder_1.encode)(query)}&limit=${limit}&offset=${limit * (page - 1)}&order[relevance]=desc`);
if (res.data.result == 'ok') {

@@ -130,7 +126,7 @@ const results = {

}
const response = await axios_1.default.get(`${this.apiUrl}/manga/${mangaId}/feed?offset=${offset}&limit=96&order[volume]=desc&order[chapter]=desc&translatedLanguage[]=en`);
const response = await this.client.get(`${this.apiUrl}/manga/${mangaId}/feed?offset=${offset}&limit=96&order[volume]=desc&order[chapter]=desc&translatedLanguage[]=en`);
return [...response.data.data, ...(await this.fetchAllChapters(mangaId, offset + 96, response))];
};
this.fetchCoverImage = async (coverId) => {
const { data } = await axios_1.default.get(`${this.apiUrl}/cover/${coverId}`);
const { data } = await this.client.get(`${this.apiUrl}/cover/${coverId}`);
const fileName = data.data.attributes.fileName;

@@ -137,0 +133,0 @@ return fileName;

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -22,3 +18,3 @@ const models_1 = require("../../models");

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/manga/${mangaId}`, {
const { data } = await this.client.get(`${this.baseUrl}/manga/${mangaId}`, {
headers: {

@@ -72,3 +68,3 @@ cookie: 'isAdult=1',

try {
const { data } = await axios_1.default.get(url, {
const { data } = await this.client.get(url, {
headers: {

@@ -105,3 +101,3 @@ cookie: 'isAdult=1',

for (let j = 1; j <= 3; j++) {
const { data } = await axios_1.default.get(pageLink, {
const { data } = await this.client.get(pageLink, {
headers: {

@@ -145,3 +141,3 @@ Referer: url,

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/search?title=${query}&page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/search?title=${query}&page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -148,0 +144,0 @@ searchRes.hasNextPage = $('div.pager-list-left > a.active').next().text() !== '>';

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -22,3 +18,3 @@ const models_1 = require("../../models");

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/manga/${mangaId}`);
const { data } = await this.client.get(`${this.baseUrl}/manga/${mangaId}`);
const $ = (0, cheerio_1.load)(data);

@@ -70,3 +66,3 @@ mangaInfo.title = $('article.ejeCg > h1.title').text();

const url = `${this.baseUrl}/manga/${mangaId}/${chapterId}`;
const { data } = await axios_1.default.get(url);
const { data } = await this.client.get(url);
const $ = (0, cheerio_1.load)(data);

@@ -93,3 +89,3 @@ const pages = $('section#imageWrapper > div > div.read-slideshow > a > img')

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/find/${query.replace(/ /g, '+')}`);
const { data } = await this.client.get(`${this.baseUrl}/find/${query.replace(/ /g, '+')}`);
const $ = (0, cheerio_1.load)(data);

@@ -96,0 +92,0 @@ const results = $('body > div.w-container > main > table > tbody > tr')

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -23,3 +19,3 @@ const models_1 = require("../../models");

try {
const { data } = await axios_1.default.get(`${url}/${mangaId}`);
const { data } = await this.client.get(`${url}/${mangaId}`);
const $ = (0, cheerio_1.load)(data);

@@ -124,3 +120,3 @@ if (url.includes('mangakakalot')) {

: `https://readmanganato.com/${chapterId.replace('$$READMANGANATO', '')}`;
const { data } = await axios_1.default.get(url);
const { data } = await this.client.get(url);
const $ = (0, cheerio_1.load)(data);

@@ -151,3 +147,3 @@ const pages = $('div.container-chapter-reader > img')

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/search/story/${query.replace(/ /g, '_')}`);
const { data } = await this.client.get(`${this.baseUrl}/search/story/${query.replace(/ /g, '_')}`);
const $ = (0, cheerio_1.load)(data);

@@ -154,0 +150,0 @@ const results = $('div.daily-update > div > div')

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -20,3 +16,3 @@ const models_1 = require("../../models");

try {
const { data } = await axios_1.default.get(url);
const { data } = await this.client.get(url);
const $ = (0, cheerio_1.load)(data);

@@ -58,3 +54,3 @@ mangaInfo.title = $('div.pb-1.mb-2.line-b-f.hd h2 a').text();

try {
const { data } = await axios_1.default.get(url);
const { data } = await this.client.get(url);
const varLoadPages = data.match(regex)[0];

@@ -74,3 +70,3 @@ const loadPagesJson = JSON.parse(varLoadPages.replace('var _load_pages = ', ''));

try {
const { data } = await axios_1.default.get(url);
const { data } = await this.client.get(url);
const $ = (0, cheerio_1.load)(data);

@@ -77,0 +73,0 @@ const results = $('.item')

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -22,3 +18,3 @@ const models_1 = require("../../models");

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/search?q=${encodeURIComponent(query)}`);
const { data } = await this.client.get(`${this.baseUrl}/search?q=${encodeURIComponent(query)}`);
const $ = (0, cheerio_1.load)(data);

@@ -50,3 +46,3 @@ const results = $('div.container div.my-3.justify-end > div')

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/manga/${mangaId}`);
const { data } = await this.client.get(`${this.baseUrl}/manga/${mangaId}`);
const $ = (0, cheerio_1.load)(data);

@@ -85,3 +81,3 @@ mangaInfo.title = $('div.container div.my-3 div.flex-col div.mb-3 h1').text().trim();

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/chapters/${chapterId}`);
const { data } = await this.client.get(`${this.baseUrl}/chapters/${chapterId}`);
const $ = (0, cheerio_1.load)(data);

@@ -88,0 +84,0 @@ const chapterSelector = $('chapter-page');

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -22,3 +18,3 @@ const models_1 = require("../../models");

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/search?keyword=${query}`);
const { data } = await this.client.get(`${this.baseUrl}/search?keyword=${query}`);
const $ = (0, cheerio_1.load)(data);

@@ -54,3 +50,3 @@ const results = $('div.manga_list-sbs div.mls-wrap div.item')

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/${mangaId}`);
const { data } = await this.client.get(`${this.baseUrl}/${mangaId}`);
const $ = (0, cheerio_1.load)(data);

@@ -84,3 +80,3 @@ const container = $('div.container');

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/read/${chapterId}`);
const { data } = await this.client.get(`${this.baseUrl}/read/${chapterId}`);
const $ = (0, cheerio_1.load)(data);

@@ -92,3 +88,3 @@ const readingId = $('div#wrapper').attr('data-reading-id');

const ajaxURL = `https://mangareader.to/ajax/image/list/chap/${readingId}?mode=vertical&quality=high`;
const { data: pagesData } = await axios_1.default.get(ajaxURL);
const { data: pagesData } = await this.client.get(ajaxURL);
const $PagesHTML = (0, cheerio_1.load)(pagesData.html);

@@ -95,0 +91,0 @@ const pagesSelector = $PagesHTML('div#main-wrapper div.container-reader-chapter div.iv-card');

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -25,3 +21,3 @@ const domhandler_1 = require("domhandler");

try {
const { data } = await axios_1.default.get(`${url}/${mangaId}`);
const { data } = await this.client.get(`${url}/${mangaId}`);
const $ = (0, cheerio_1.load)(data);

@@ -60,3 +56,3 @@ const schemaScript = $('body > script:nth-child(15)').get()[0].children[0];

try {
const { data } = await axios_1.default.get(`${url}`);
const { data } = await this.client.get(`${url}`);
const $ = (0, cheerio_1.load)(data);

@@ -91,3 +87,3 @@ const chapterScript = $('body > script:nth-child(19)').get()[0].children[0];

try {
const { data } = await axios_1.default.get(`https://mangasee123.com/_search.php`);
const { data } = await this.client.get(`https://mangasee123.com/_search.php`);
for (const i in data) {

@@ -94,0 +90,0 @@ const sanitizedAlts = [];

@@ -0,1 +1,2 @@

import { AxiosAdapter } from 'axios';
import { AnimeParser, ISearch, IAnimeInfo, IAnimeResult, ISource, IAnimeEpisode, IEpisodeServer, Genres, MangaParser, IMangaChapterPage, IMangaInfo, IMangaResult, ProxyConfig } from '../../models';

@@ -17,5 +18,6 @@ declare class Anilist extends AnimeParser {

* @param provider anime provider (optional) default: Gogoanime
* @param proxy proxy config (optional) default: null
* @param proxyConfig proxy config (optional)
* @param adapter axios adapter (optional)
*/
constructor(provider?: AnimeParser, proxyConfig?: ProxyConfig | undefined);
constructor(provider?: AnimeParser, proxyConfig?: ProxyConfig | undefined, adapter?: AxiosAdapter);
/**

@@ -22,0 +24,0 @@ * @param query Search query

@@ -6,3 +6,2 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -37,3 +36,3 @@ const models_1 = require("../../models");

};
const { data } = await axios_1.default.request({
const { data } = await this.client.request({
method: 'get',

@@ -138,3 +137,3 @@ url: `https://myanimelist.net/anime.php?q=${query}&cat=anime&show=${50 * (page - 1)}`,

if (fetchFiller) {
const { data: fillerData } = await (0, axios_1.default)({
const { data: fillerData } = await this.client({
baseURL: `https://raw.githubusercontent.com/saikou-app/mal-id-filler-list/main/fillers/${animeId}.json`,

@@ -171,3 +170,3 @@ method: 'GET',

const link = externalLinks.find((link) => link.site.includes('Crunchyroll'));
const { request } = await axios_1.default.get(link.url, { validateStatus: () => true });
const { request } = await this.client.get(link.url, { validateStatus: () => true });
const mediaType = request.res.responseUrl.split('/')[3];

@@ -214,3 +213,3 @@ const id = request.res.responseUrl.split('/')[4];

if (malId && !(this.provider instanceof crunchyroll_1.default || this.provider instanceof bilibili_1.default)) {
const malAsyncReq = await (0, axios_1.default)({
const malAsyncReq = await this.client({
method: 'GET',

@@ -303,3 +302,3 @@ url: `${this.malSyncUrl}/mal/anime/${malId}`,

this.findKitsuAnime = async (possibleProviderEpisodes, options, season, startDate) => {
const kitsuEpisodes = await axios_1.default.post(this.kitsuGraphqlUrl, options);
const kitsuEpisodes = await this.client.post(this.kitsuGraphqlUrl, options);
const episodesList = new Map();

@@ -371,3 +370,3 @@ if (kitsuEpisodes === null || kitsuEpisodes === void 0 ? void 0 : kitsuEpisodes.data.data) {

};
const { data } = await axios_1.default.request({
const { data } = await this.client.request({
method: 'GET',

@@ -561,3 +560,3 @@ url: `https://myanimelist.net/anime/${id}`,

try {
const { data } = await axios_1.default.request({
const { data } = await this.client.request({
method: 'get',

@@ -564,0 +563,0 @@ url: `${url}?p=${count}`,

import { ISearch, IAnimeInfo, IAnimeResult, ISource, IEpisodeServer, MovieParser, TvType, IMovieResult, IMovieInfo, ProxyConfig } from '../../models';
import { AxiosAdapter } from 'axios';
declare class TMDB extends MovieParser {

@@ -11,3 +12,3 @@ private apiKey;

private provider;
constructor(apiKey?: string, provider?: MovieParser, proxyConfig?: ProxyConfig);
constructor(apiKey?: string, provider?: MovieParser, proxyConfig?: ProxyConfig, adapter?: AxiosAdapter);
/**

@@ -14,0 +15,0 @@ * @param query search query

@@ -10,4 +10,4 @@ "use strict";

class TMDB extends models_1.MovieParser {
constructor(apiKey = '5201b54eb0968700e693a30576d7d4dc', provider, proxyConfig) {
super('https://api.themoviedb.org/3', proxyConfig);
constructor(apiKey = '5201b54eb0968700e693a30576d7d4dc', provider, proxyConfig, adapter) {
super(proxyConfig, adapter);
this.apiKey = apiKey;

@@ -25,3 +25,3 @@ this.name = 'TMDB';

this.search = async (query, page = 1) => {
const searchUrl = `/search/multi?api_key=${this.apiKey}&language=en-US&page=${page}&include_adult=false&query=${query}`;
const searchUrl = `${this.apiUrl}/search/multi?api_key=${this.apiKey}&language=en-US&page=${page}&include_adult=false&query=${query}`;
const search = {

@@ -65,3 +65,3 @@ currentPage: page,

type = type.toLowerCase() === 'movie' ? 'movie' : 'tv';
const infoUrl = `/${type}/${mediaId}?api_key=${this.apiKey}&language=en-US&append_to_response=release_dates,watch/providers,alternative_titles,credits,external_ids,images,keywords,recommendations,reviews,similar,translations,videos&include_image_language=en`;
const infoUrl = `${this.apiUrl}/${type}/${mediaId}?api_key=${this.apiKey}&language=en-US&append_to_response=release_dates,watch/providers,alternative_titles,credits,external_ids,images,keywords,recommendations,reviews,similar,translations,videos&include_image_language=en`;
const info = {

@@ -152,3 +152,3 @@ id: mediaId,

if (type === 'tv' && totalSeasons > 0) {
const seasonUrl = (season) => `/tv/${mediaId}/season/${season}?api_key=${this.apiKey}`;
const seasonUrl = (season) => `${this.apiUrl}/tv/${mediaId}/season/${season}?api_key=${this.apiKey}`;
info.seasons = [];

@@ -155,0 +155,0 @@ const seasons = info.seasons;

@@ -1,4 +0,3 @@

import { MovieParser, TvType, IMovieInfo, IEpisodeServer, StreamingServers, ISource, IMovieResult, ISearch, ProxyConfig } from '../../models';
import { MovieParser, TvType, IMovieInfo, IEpisodeServer, StreamingServers, ISource, IMovieResult, ISearch } from '../../models';
declare class DramaCool extends MovieParser {
private proxyConfig?;
readonly name = "DramaCool";

@@ -9,3 +8,2 @@ protected baseUrl: string;

supportedTypes: Set<TvType>;
constructor(proxyConfig?: ProxyConfig | undefined);
search: (query: string, page?: number) => Promise<ISearch<IMovieResult>>;

@@ -12,0 +10,0 @@ fetchMediaInfo: (mediaId: string) => Promise<IMovieInfo>;

@@ -7,5 +7,4 @@ "use strict";

class DramaCool extends models_1.MovieParser {
constructor(proxyConfig) {
super('https://www1.dramacool.cr', proxyConfig);
this.proxyConfig = proxyConfig;
constructor() {
super(...arguments);
this.name = 'DramaCool';

@@ -23,3 +22,3 @@ this.baseUrl = 'https://dramacool.hr';

};
const { data } = await this.client.get(`/search?keyword=${query.replace(/[\W_]+/g, '-')}&page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/search?keyword=${query.replace(/[\W_]+/g, '-')}&page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -48,5 +47,3 @@ const navSelector = 'ul.pagination';

if (!mediaId.startsWith(this.baseUrl))
mediaId = `/${mediaId}`;
if (mediaId.startsWith(this.baseUrl))
mediaId = mediaId.replace(this.baseUrl, '');
mediaId = `${this.baseUrl}/${mediaId}`;
const mediaInfo = {

@@ -90,14 +87,14 @@ id: '',

case models_1.StreamingServers.AsianLoad:
return Object.assign({}, (await new extractors_1.AsianLoad(this.proxyConfig).extract(serverUrl)));
return Object.assign({}, (await new extractors_1.AsianLoad(this.proxyConfig, this.adapter).extract(serverUrl)));
case models_1.StreamingServers.MixDrop:
return {
sources: await new extractors_1.MixDrop(this.proxyConfig).extract(serverUrl),
sources: await new extractors_1.MixDrop(this.proxyConfig, this.adapter).extract(serverUrl),
};
case models_1.StreamingServers.StreamTape:
return {
sources: await new extractors_1.StreamTape(this.proxyConfig).extract(serverUrl),
sources: await new extractors_1.StreamTape(this.proxyConfig, this.adapter).extract(serverUrl),
};
case models_1.StreamingServers.StreamSB:
return {
sources: await new extractors_1.StreamSB(this.proxyConfig).extract(serverUrl),
sources: await new extractors_1.StreamSB(this.proxyConfig, this.adapter).extract(serverUrl),
};

@@ -110,3 +107,3 @@ default:

if (!episodeId.includes('.html'))
episodeId = `/${episodeId}.html`;
episodeId = `${this.baseUrl}/${episodeId}.html`;
const servers = await this.fetchEpisodeServers(episodeId);

@@ -133,3 +130,3 @@ const i = servers.findIndex(s => s.name.toLowerCase() === server.toLowerCase());

if (!episodeId.includes('.html'))
episodeId = `/${episodeId}.html`;
episodeId = `${this.baseUrl}/${episodeId}.html`;
const { data } = await this.client.get(episodeId);

@@ -136,0 +133,0 @@ const $ = (0, cheerio_1.load)(data);

import { MovieParser, TvType, IMovieInfo, IEpisodeServer, StreamingServers, ISource, IMovieResult, ISearch } from '../../models';
declare class FlixHQ extends MovieParser {
private proxyConfig?;
readonly name = "FlixHQ";

@@ -9,3 +8,2 @@ protected baseUrl: string;

supportedTypes: Set<TvType>;
constructor(proxyConfig?: any);
/**

@@ -12,0 +10,0 @@ *

@@ -7,5 +7,4 @@ "use strict";

class FlixHQ extends models_1.MovieParser {
constructor(proxyConfig) {
super('https://flixhq.to', proxyConfig);
this.proxyConfig = proxyConfig;
constructor() {
super(...arguments);
this.name = 'FlixHQ';

@@ -28,3 +27,3 @@ this.baseUrl = 'https://flixhq.to';

try {
const { data } = await this.client.get(`/search/${query.replace(/[\W_]+/g, '-')}?page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/search/${query.replace(/[\W_]+/g, '-')}?page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -62,3 +61,3 @@ const navSelector = 'div.pre-pagination:nth-child(3) > nav:nth-child(1) > ul:nth-child(1)';

if (!mediaId.startsWith(this.baseUrl)) {
mediaId = `/${mediaId}`;
mediaId = `${this.baseUrl}/${mediaId}`;
}

@@ -108,3 +107,3 @@ const movieInfo = {

movieInfo.recommendations = recommendationsArray;
const ajaxReqUrl = (id, type, isSeasons = false) => `/ajax/${type === 'movie' ? type : `v2/${type}`}/${isSeasons ? 'seasons' : 'episodes'}/${id}`;
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) {

@@ -165,12 +164,12 @@ const { data } = await this.client.get(ajaxReqUrl(uid, 'tv', true));

headers: { Referer: serverUrl.href },
sources: await new extractors_1.MixDrop(this.proxyConfig).extract(serverUrl),
sources: await new extractors_1.MixDrop(this.proxyConfig, this.adapter).extract(serverUrl),
};
case models_1.StreamingServers.VidCloud:
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud(this.proxyConfig).extract(serverUrl, true)));
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud(this.proxyConfig, this.adapter).extract(serverUrl, true)));
case models_1.StreamingServers.UpCloud:
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud(this.proxyConfig).extract(serverUrl)));
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud(this.proxyConfig, this.adapter).extract(serverUrl)));
default:
return {
headers: { Referer: serverUrl.href },
sources: await new extractors_1.MixDrop(this.proxyConfig).extract(serverUrl),
sources: await new extractors_1.MixDrop(this.proxyConfig, this.adapter).extract(serverUrl),
};

@@ -185,3 +184,3 @@ }

}
const { data } = await this.client.get(`/ajax/get_link/${servers[i].url.split('.').slice(-1).shift()}`);
const { data } = await this.client.get(`${this.baseUrl}/ajax/get_link/${servers[i].url.split('.').slice(-1).shift()}`);
const serverUrl = new URL(data.link);

@@ -201,5 +200,5 @@ return await this.fetchEpisodeSources(serverUrl.href, mediaId, server);

if (!episodeId.startsWith(this.baseUrl + '/ajax') && !mediaId.includes('movie'))
episodeId = `/ajax/v2/episode/servers/${episodeId}`;
episodeId = `${this.baseUrl}/ajax/v2/episode/servers/${episodeId}`;
else
episodeId = `/ajax/movie/episodes/${episodeId}`;
episodeId = `${this.baseUrl}/ajax/movie/episodes/${episodeId}`;
try {

@@ -229,3 +228,3 @@ const { data } = await this.client.get(episodeId);

try {
const { data } = await this.client.get(`/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -258,3 +257,3 @@ const movies = $('section.block_area:contains("Latest Movies") > div:nth-child(2) > div:nth-child(1) > div.flw-item')

try {
const { data } = await this.client.get(`/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -286,3 +285,3 @@ const tvshows = $('section.block_area:contains("Latest TV Shows") > div:nth-child(2) > div:nth-child(1) > div.flw-item')

try {
const { data } = await this.client.get(`/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -315,3 +314,3 @@ const movies = $('div#trending-movies div.film_list-wrap div.flw-item')

try {
const { data } = await this.client.get(`/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -318,0 +317,0 @@ const tvshows = $('div#trending-tv div.film_list-wrap div.flw-item')

@@ -0,1 +1,2 @@

import { AxiosAdapter } from 'axios';
import { MovieParser, TvType, IMovieInfo, IEpisodeServer, StreamingServers, ISource, IMovieResult, ISearch, ProxyConfig } from '../../models';

@@ -10,3 +11,3 @@ declare class Fmovies extends MovieParser {

private apiKey;
constructor(fmoviesResolver?: string, proxyConfig?: ProxyConfig, apiKey?: string);
constructor(fmoviesResolver?: string, proxyConfig?: ProxyConfig, apiKey?: string, adapter?: AxiosAdapter);
/**

@@ -13,0 +14,0 @@ *

"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 utils_1 = require("../../utils/utils");

@@ -12,4 +8,4 @@ const models_1 = require("../../models");

class Fmovies extends models_1.MovieParser {
constructor(fmoviesResolver, proxyConfig, apiKey) {
super('https://fmovies.to', proxyConfig && proxyConfig.url ? proxyConfig : undefined);
constructor(fmoviesResolver, proxyConfig, apiKey, adapter) {
super(proxyConfig && proxyConfig.url ? proxyConfig : undefined, adapter);
this.name = 'Fmovies';

@@ -37,3 +33,3 @@ this.baseUrl = 'https://fmovies.to';

const vrf = await this.ev(query);
const { data } = await this.client.get(`/search?keyword=${query}&vrf=${vrf}&page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/search?keyword=${query}&vrf=${vrf}&page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -66,3 +62,3 @@ searchResult.hasNextPage = (_a = $('.pagination')) === null || _a === void 0 ? void 0 : _a.find('.active').next().hasClass('disabled');

if (!mediaId.startsWith(this.baseUrl)) {
mediaId = `/${mediaId}`;
mediaId = `${this.baseUrl}/${mediaId}`;
}

@@ -167,3 +163,3 @@ const movieInfo = {

}
const { data } = await this.client.get(`/ajax/episode/info?id=${selectedServer.url}`);
const { data } = await this.client.get(`${this.baseUrl}/ajax/episode/info?id=${selectedServer.url}`);
const serverUrl = new URL(await this.decrypt(data.url));

@@ -183,3 +179,3 @@ return await this.fetchEpisodeSources(serverUrl.href, mediaId, server);

if (!mediaId.startsWith(this.baseUrl)) {
mediaId = `/${mediaId}`;
mediaId = `${this.baseUrl}/${mediaId}`;
}

@@ -226,7 +222,7 @@ try {

async ev(query) {
const { data } = await axios_1.default.get(`${this.fmoviesResolver}/fmovies-vrf?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
const { data } = await this.client.get(`${this.fmoviesResolver}/fmovies-vrf?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
return encodeURIComponent(data.url);
}
async decrypt(query) {
const { data } = await axios_1.default.get(`${this.fmoviesResolver}/fmovies-decrypt?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
const { data } = await this.client.get(`${this.fmoviesResolver}/fmovies-decrypt?query=${encodeURIComponent(query)}&apikey=${this.apiKey}`);
return data.url;

@@ -236,3 +232,3 @@ }

const vrf = await this.ev(id);
return `/ajax/film/servers?id=${id}&vrf=${vrf}&token=`;
return `${this.baseUrl}/ajax/film/servers?id=${id}&vrf=${vrf}&token=`;
}

@@ -239,0 +235,0 @@ }

"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");

@@ -30,3 +26,3 @@ const extractors_1 = require("../../extractors");

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/search?keyword=${query.replace(/[\W_]+/g, '-')}&page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/search?keyword=${query.replace(/[\W_]+/g, '-')}&page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -52,3 +48,3 @@ searchResult.hasNextPage =

return searchResult;
// const { data } = await axios.get(
// const { data } = await this.client.get(
// `${this.baseUrl}/ajax/movie/search?keyword=${query.replace(/[\W_]+/g, '-')}&page=${page}`

@@ -85,3 +81,3 @@ // );

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/${mediaId}`);
const { data } = await this.client.get(`${this.baseUrl}/${mediaId}`);
const $ = (0, cheerio_1.load)(data);

@@ -115,3 +111,3 @@ const mediaInfo = {

if (mediaInfo.type === models_1.TvType.TVSERIES) {
const { data } = await axios_1.default.get(`${this.baseUrl}/ajax/movie/seasons/${mediaInfo.id.split('-').pop()}`);
const { data } = await this.client.get(`${this.baseUrl}/ajax/movie/seasons/${mediaInfo.id.split('-').pop()}`);
const $$ = (0, cheerio_1.load)(data);

@@ -129,3 +125,3 @@ const seasonsIds = $$('.dropdown-menu > a')

for (const season of seasonsIds) {
const { data } = await axios_1.default.get(`${this.baseUrl}/ajax/movie/season/episodes/${season.id}`);
const { data } = await this.client.get(`${this.baseUrl}/ajax/movie/season/episodes/${season.id}`);
const $$$ = (0, cheerio_1.load)(data);

@@ -180,12 +176,12 @@ $$$('.item')

headers: { Referer: serverUrl.href },
sources: await new extractors_1.MixDrop().extract(serverUrl),
sources: await new extractors_1.MixDrop(this.proxyConfig, this.adapter).extract(serverUrl),
};
case models_1.StreamingServers.VidCloud:
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud().extract(serverUrl, true)));
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud(this.proxyConfig, this.adapter).extract(serverUrl, true)));
case models_1.StreamingServers.UpCloud:
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud().extract(serverUrl)));
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud(this.proxyConfig, this.adapter).extract(serverUrl)));
default:
return {
headers: { Referer: serverUrl.href },
sources: await new extractors_1.MixDrop().extract(serverUrl),
sources: await new extractors_1.MixDrop(this.proxyConfig, this.adapter).extract(serverUrl),
};

@@ -215,3 +211,3 @@ }

const epsiodeServers = [];
const { data } = await axios_1.default.get(`${this.baseUrl}/ajax/movie/episode/servers/${episodeId}`);
const { data } = await this.client.get(`${this.baseUrl}/ajax/movie/episode/servers/${episodeId}`);
const $ = (0, cheerio_1.load)(data);

@@ -228,3 +224,3 @@ const servers = $('.dropdown-menu > a')

for (const server of servers) {
const { data } = await axios_1.default.get(`${this.baseUrl}/ajax/movie/episode/server/sources/${server.id}`);
const { data } = await this.client.get(`${this.baseUrl}/ajax/movie/episode/server/sources/${server.id}`);
epsiodeServers.push({

@@ -243,3 +239,3 @@ name: server.name,

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -274,3 +270,3 @@ const movies = $('.section-last')

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -314,3 +310,3 @@ const tvShowes = $('.section-last')

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -344,3 +340,3 @@ const movies = $('#trending-movies')

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -347,0 +343,0 @@ const tvShowes = $('#trending-series')

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -25,3 +21,3 @@ const models_1 = require("../../models");

};
const response = await axios_1.default.post(`${this.baseUrl}/Search/Drama`, `keyword=${query.replace(/[\W_]+/g, '-')}`, {
const response = await this.client.post(`${this.baseUrl}/Search/Drama`, `keyword=${query.replace(/[\W_]+/g, '-')}`, {
headers: {

@@ -65,3 +61,3 @@ 'Content-Type': 'application/x-www-form-urlencoded',

};
const { data } = await axios_1.default.post(mediaId, {
const { data } = await this.client.post(mediaId, {
headers: {

@@ -130,11 +126,11 @@ 'Content-Type': 'application/x-www-form-urlencoded',

return {
sources: await new extractors_1.VidMoly().extract(serverUrl),
sources: await new extractors_1.VidMoly(this.proxyConfig, this.adapter).extract(serverUrl),
};
case models_1.StreamingServers.StreamWish:
return {
sources: await new extractors_1.StreamWish().extract(serverUrl),
sources: await new extractors_1.StreamWish(this.proxyConfig, this.adapter).extract(serverUrl),
};
case models_1.StreamingServers.Mp4Upload:
return {
sources: await new extractors_1.Mp4Upload().extract(serverUrl),
sources: await new extractors_1.Mp4Upload(this.proxyConfig, this.adapter).extract(serverUrl),
};

@@ -162,3 +158,3 @@ default:

const episodeServers = [];
const { data } = await axios_1.default.post(`${this.baseUrl}/${episodeId}`, {
const { data } = await this.client.post(`${this.baseUrl}/${episodeId}`, {
headers: {

@@ -174,3 +170,3 @@ 'Content-Type': 'application/x-www-form-urlencoded',

await Promise.all($('ul.mirrorTab > li > a.ign').map(async (i, ele) => {
const { data } = await axios_1.default.post(`${this.baseUrl}${$(ele).attr('href')}`, {
const { data } = await this.client.post(`${this.baseUrl}${$(ele).attr('href')}`, {
headers: {

@@ -177,0 +173,0 @@ 'Content-Type': 'application/x-www-form-urlencoded',

"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");

@@ -30,3 +26,3 @@ const extractors_1 = require("../../extractors");

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/search/${query.replace(/[\W_]+/g, '-')}?page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/search/${query.replace(/[\W_]+/g, '-')}?page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -69,3 +65,3 @@ const navSelector = 'div.pre-pagination:nth-child(3) > nav:nth-child(1) > ul:nth-child(1)';

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/${mediaId}`);
const { data } = await this.client.get(`${this.baseUrl}/${mediaId}`);
const $ = (0, cheerio_1.load)(data);

@@ -141,3 +137,3 @@ const recommendationsArray = [];

if (movieInfo.type === models_1.TvType.TVSERIES) {
const { data } = await axios_1.default.get(ajaxReqUrl(uid, 'tv', true));
const { data } = await this.client.get(ajaxReqUrl(uid, 'tv', true));
const $$ = (0, cheerio_1.load)(data);

@@ -150,3 +146,3 @@ const seasonsIds = $$('.dropdown-menu > a')

for (const id of seasonsIds) {
const { data } = await axios_1.default.get(ajaxReqUrl(id, 'season'));
const { data } = await this.client.get(ajaxReqUrl(id, 'season'));
const $$$ = (0, cheerio_1.load)(data);

@@ -197,12 +193,12 @@ $$$('.nav > li')

headers: { Referer: serverUrl.href },
sources: await new extractors_1.MixDrop().extract(serverUrl),
sources: await new extractors_1.MixDrop(this.proxyConfig, this.adapter).extract(serverUrl),
};
case models_1.StreamingServers.VidCloud:
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud().extract(serverUrl, true)));
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud(this.proxyConfig, this.adapter).extract(serverUrl, true)));
case models_1.StreamingServers.UpCloud:
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud().extract(serverUrl)));
return Object.assign({ headers: { Referer: serverUrl.href } }, (await new extractors_1.VidCloud(this.proxyConfig, this.adapter).extract(serverUrl)));
default:
return {
headers: { Referer: serverUrl.href },
sources: await new extractors_1.MixDrop().extract(serverUrl),
sources: await new extractors_1.MixDrop(this.proxyConfig, this.adapter).extract(serverUrl),
};

@@ -235,3 +231,3 @@ }

try {
const { data } = await axios_1.default.get(episodeId);
const { data } = await this.client.get(episodeId);
const $ = (0, cheerio_1.load)(data);

@@ -246,3 +242,3 @@ const servers = [];

};
const { data } = await axios_1.default.get(`${this.baseUrl}/ajax/get_link/${server.url.split('.').slice(-1).shift()}`);
const { data } = await this.client.get(`${this.baseUrl}/ajax/get_link/${server.url.split('.').slice(-1).shift()}`);
const serverUrl = new URL(data.link);

@@ -260,3 +256,3 @@ server.url = serverUrl.href;

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -291,3 +287,3 @@ const movies = $('.section-id-02')

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -322,3 +318,3 @@ const tvshows = $('.section-id-03')

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -353,3 +349,3 @@ const movies = $('#trending-movies')

try {
const { data } = await axios_1.default.get(`${this.baseUrl}/home`);
const { data } = await this.client.get(`${this.baseUrl}/home`);
const $ = (0, cheerio_1.load)(data);

@@ -356,0 +352,0 @@ const tvshows = $('#trending-tv')

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const models_1 = require("../../models");
const axios_1 = __importDefault(require("axios"));
const cheerio_1 = require("cheerio");

@@ -31,3 +27,3 @@ const extractors_1 = require("../../extractors");

}
const { data } = await axios_1.default.get(url);
const { data } = await this.client.get(url);
const $ = (0, cheerio_1.load)(data);

@@ -59,21 +55,21 @@ await Promise.all($('div#_default-servers a.server')

}
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream().extract(new URL(url))));
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream(this.proxyConfig, this.adapter).extract(new URL(url))));
}
if (selectedServer.url.includes('/ffix')) {
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream().extractSmashyFfix(selectedServer.url)));
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream(this.proxyConfig, this.adapter).extractSmashyFfix(selectedServer.url)));
}
if (selectedServer.url.includes('/watchx')) {
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream().extractSmashyWatchX(selectedServer.url)));
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream(this.proxyConfig, this.adapter).extractSmashyWatchX(selectedServer.url)));
}
if (selectedServer.url.includes('/nflim')) {
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream().extractSmashyNFlim(selectedServer.url)));
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream(this.proxyConfig, this.adapter).extractSmashyNFlim(selectedServer.url)));
}
if (selectedServer.url.includes('/fx')) {
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream().extractSmashyFX(selectedServer.url)));
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream(this.proxyConfig, this.adapter).extractSmashyFX(selectedServer.url)));
}
if (selectedServer.url.includes('/cf')) {
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream().extractSmashyCF(selectedServer.url)));
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream(this.proxyConfig, this.adapter).extractSmashyCF(selectedServer.url)));
}
if (selectedServer.url.includes('/eemovie')) {
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream().extractSmashyEEMovie(selectedServer.url)));
return Object.assign({ headers: { Referer: this.baseUrl } }, (await new extractors_1.SmashyStream(this.proxyConfig, this.adapter).extractSmashyEEMovie(selectedServer.url)));
}

@@ -80,0 +76,0 @@ return await this.fetchEpisodeSources(selectedServer.url, season, episode, server);

"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 { get } = axios_1.default;
class Ummangurau extends models_1.MovieParser {

@@ -25,3 +20,3 @@ constructor() {

try {
const { data } = await get(`${this.baseUrl}/search/${query.replace(/[\W_]+/g, '-')}?page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/search/${query.replace(/[\W_]+/g, '-')}?page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -59,3 +54,3 @@ searchResult.hasNextPage =

try {
const { data } = await get(mediaId);
const { data } = await this.client.get(mediaId);
const $ = (0, cheerio_1.load)(data);

@@ -62,0 +57,0 @@ movieInfo.title = `${$('.heading-name a').text()}`;

@@ -1,4 +0,3 @@

import { MovieParser, TvType, IMovieInfo, IEpisodeServer, StreamingServers, ISource, IMovieResult, ISearch, ProxyConfig } from '../../models';
import { MovieParser, TvType, IMovieInfo, IEpisodeServer, StreamingServers, ISource, IMovieResult, ISearch } from '../../models';
declare class ViewAsian extends MovieParser {
private proxyConfig?;
readonly name = "ViewAsian";

@@ -9,3 +8,2 @@ protected baseUrl: string;

supportedTypes: Set<TvType>;
constructor(proxyConfig?: ProxyConfig | undefined);
search: (query: string, page?: number) => Promise<ISearch<IMovieResult>>;

@@ -12,0 +10,0 @@ fetchMediaInfo: (mediaId: string) => Promise<IMovieInfo>;

@@ -7,5 +7,4 @@ "use strict";

class ViewAsian extends models_1.MovieParser {
constructor(proxyConfig) {
super('https://viewasian.co', proxyConfig);
this.proxyConfig = proxyConfig;
constructor() {
super(...arguments);
this.name = 'ViewAsian';

@@ -23,3 +22,3 @@ this.baseUrl = 'https://viewasian.co';

try {
const { data } = await this.client.get(`/movie/search/${query.replace(/[\W_]+/g, '-')}?page=${page}`);
const { data } = await this.client.get(`${this.baseUrl}/movie/search/${query.replace(/[\W_]+/g, '-')}?page=${page}`);
const $ = (0, cheerio_1.load)(data);

@@ -55,5 +54,3 @@ const navSelector = 'div#pagination > nav:nth-child(1) > ul:nth-child(1)';

if (!mediaId.startsWith(this.baseUrl))
mediaId = `/watch/${mediaId.split('/').slice(1)}/watching.html`;
if (mediaId.startsWith(this.baseUrl))
mediaId = mediaId.replace(this.baseUrl, '');
mediaId = `${this.baseUrl}/watch/${mediaId.split('/').slice(1)}/watching.html`;
const mediaInfo = {

@@ -101,14 +98,14 @@ id: '',

case models_1.StreamingServers.AsianLoad:
return Object.assign({}, (await new extractors_1.AsianLoad(this.proxyConfig).extract(serverUrl)));
return Object.assign({}, (await new extractors_1.AsianLoad(this.proxyConfig, this.adapter).extract(serverUrl)));
case models_1.StreamingServers.MixDrop:
return {
sources: await new extractors_1.MixDrop(this.proxyConfig).extract(serverUrl),
sources: await new extractors_1.MixDrop(this.proxyConfig, this.adapter).extract(serverUrl),
};
case models_1.StreamingServers.StreamTape:
return {
sources: await new extractors_1.StreamTape(this.proxyConfig).extract(serverUrl),
sources: await new extractors_1.StreamTape(this.proxyConfig, this.adapter).extract(serverUrl),
};
case models_1.StreamingServers.StreamSB:
return {
sources: await new extractors_1.StreamSB(this.proxyConfig).extract(serverUrl),
sources: await new extractors_1.StreamSB(this.proxyConfig, this.adapter).extract(serverUrl),
};

@@ -115,0 +112,0 @@ default:

{
"name": "@consumet/extensions",
"version": "1.5.0",
"version": "1.5.1",
"description": "Nodejs library that provides high-level APIs for obtaining information on various entertainment media such as books, movies, comic books, anime, manga, and so on.",

@@ -8,3 +8,3 @@ "main": "dist/index.js",

"scripts": {
"build": "tsc",
"build": "tsc -p tsconfig.json",
"version": "auto-changelog -p && git add CHANGELOG.md",

@@ -11,0 +11,0 @@ "lint": "prettier --write .",

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

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

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

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

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

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

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

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

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

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

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

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 too big to display

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

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

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc