change proxy list config to base url

This commit is contained in:
TheBeastLT
2021-09-15 09:05:26 +02:00
committed by TheBeastLT
parent aaca34b2d6
commit e1a75e4d9a
6 changed files with 29 additions and 89 deletions

View File

@@ -10,9 +10,7 @@ const { isPtDubbed, sanitizePtName, sanitizePtOriginalName, sanitizePtLanguages
const defaultTimeout = 10000;
const maxSearchPage = 50
const defaultProxies = [
'https://lapumia.org'
];
const baseUrl = 'https://lapumia.org';
const Categories = {
MOVIE: null,
@@ -24,10 +22,8 @@ function torrent(torrentId, config = {}, retries = 2) {
if (!torrentId || retries === 0) {
return Promise.reject(new Error(`Failed ${torrentId} query`));
}
const proxyList = config.proxyList || defaultProxies;
const slug = torrentId.split('?p=')[1];
return Promises.first(proxyList
.map((proxyUrl) => singleRequest(`${proxyUrl}/?p=${slug}`, config)))
return singleRequest(`${baseUrl}/?p=${slug}`, config)
.then((body) => parseTorrentPage(body))
.then((torrent) => torrent.map(el => ({ torrentId: slug, ...el })))
.catch((err) => torrent(slug, config, retries - 1));
@@ -37,13 +33,10 @@ function search(keyword, config = {}, retries = 2) {
if (!keyword || retries === 0) {
return Promise.reject(new Error(`Failed ${keyword} search`));
}
const proxyList = config.proxyList || defaultProxies;
const page = config.page || 1;
const extendToPage = Math.min(maxSearchPage, (config.extendToPage || 1))
const requestUrl = proxyUrl => `${proxyUrl}/page/${page}/?s=${keyword}`
return Promises.first(proxyList
.map(proxyUrl => singleRequest(requestUrl(proxyUrl), config)))
return singleRequest(`${baseUrl}/page/${page}/?s=${keyword}`, config)
.then(body => parseTableBody(body))
.then(torrents => torrents.length === 10 && page < extendToPage
? search(keyword, { ...config, page: page + 1 }).catch(() => [])
@@ -56,13 +49,11 @@ function browse(config = {}, retries = 2) {
if (retries === 0) {
return Promise.reject(new Error(`Failed browse request`));
}
const proxyList = config.proxyList || defaultProxies;
const page = config.page || 1;
const category = config.category;
const requestUrl = proxyUrl => category ? `${proxyUrl}/${category}/page/${page}/` : `${proxyUrl}/page/${page}/`
const requestUrl = category ? `${baseUrl}/${category}/page/${page}/` : `${baseUrl}/page/${page}/`
return Promises.first(proxyList
.map((proxyUrl) => singleRequest(requestUrl(proxyUrl), config)))
return singleRequest(requestUrl, config)
.then((body) => parseTableBody(body))
.catch((err) => browse(config, retries - 1));
}