cross-seed 6.0.0-4 → 6.0.0-6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/action.js +21 -18
- package/dist/action.js.map +1 -1
- package/dist/arr.js +194 -0
- package/dist/arr.js.map +1 -0
- package/dist/clients/Deluge.js +1 -1
- package/dist/clients/Deluge.js.map +1 -1
- package/dist/clients/QBittorrent.js +1 -0
- package/dist/clients/QBittorrent.js.map +1 -1
- package/dist/cmd.js +7 -1
- package/dist/cmd.js.map +1 -1
- package/dist/config.template.cjs +37 -1
- package/dist/config.template.cjs.map +1 -1
- package/dist/configSchema.js +26 -1
- package/dist/configSchema.js.map +1 -1
- package/dist/configuration.js.map +1 -1
- package/dist/constants.js +45 -4
- package/dist/constants.js.map +1 -1
- package/dist/decide.js +9 -4
- package/dist/decide.js.map +1 -1
- package/dist/errors.js +5 -2
- package/dist/errors.js.map +1 -1
- package/dist/indexers.js +19 -0
- package/dist/indexers.js.map +1 -1
- package/dist/logger.js +2 -0
- package/dist/logger.js.map +1 -1
- package/dist/migrations/05-caps.js +16 -0
- package/dist/migrations/05-caps.js.map +1 -0
- package/dist/migrations/migrations.js +9 -1
- package/dist/migrations/migrations.js.map +1 -1
- package/dist/preFilter.js +14 -3
- package/dist/preFilter.js.map +1 -1
- package/dist/runtimeConfig.js.map +1 -1
- package/dist/searchee.js +7 -7
- package/dist/searchee.js.map +1 -1
- package/dist/startup.js +2 -0
- package/dist/startup.js.map +1 -1
- package/dist/torrent.js +7 -7
- package/dist/torrent.js.map +1 -1
- package/dist/torznab.js +121 -56
- package/dist/torznab.js.map +1 -1
- package/dist/utils.js +59 -19
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/torrent.js
CHANGED
@@ -29,7 +29,7 @@ function isMagnetRedirectError(error) {
|
|
29
29
|
// undici
|
30
30
|
Boolean(error.cause?.message.includes("URL scheme must be a HTTP(S) scheme")));
|
31
31
|
}
|
32
|
-
export async function
|
32
|
+
export async function snatch(url, tracker) {
|
33
33
|
const abortController = new AbortController();
|
34
34
|
const { snatchTimeout } = getRuntimeConfig();
|
35
35
|
if (typeof snatchTimeout === "number") {
|
@@ -44,14 +44,14 @@ export async function parseTorrentFromURL(url) {
|
|
44
44
|
}
|
45
45
|
catch (e) {
|
46
46
|
if (e.name === "AbortError") {
|
47
|
-
logger.error(`
|
47
|
+
logger.error(`snatch timed out from ${tracker}: ${url}`);
|
48
48
|
return resultOfErr(SnatchError.ABORTED);
|
49
49
|
}
|
50
50
|
else if (isMagnetRedirectError(e)) {
|
51
|
-
logger.error(`Unsupported: magnet link detected at ${url}`);
|
51
|
+
logger.error(`Unsupported: magnet link detected at ${tracker}: ${url}`);
|
52
52
|
return resultOfErr(SnatchError.MAGNET_LINK);
|
53
53
|
}
|
54
|
-
logger.error(`failed to access ${url}`);
|
54
|
+
logger.error(`failed to access ${tracker}: ${url}`);
|
55
55
|
logger.debug(e);
|
56
56
|
return resultOfErr(SnatchError.UNKNOWN_ERROR);
|
57
57
|
}
|
@@ -59,7 +59,7 @@ export async function parseTorrentFromURL(url) {
|
|
59
59
|
return resultOfErr(SnatchError.RATE_LIMITED);
|
60
60
|
}
|
61
61
|
else if (!response.ok) {
|
62
|
-
logger.error(`error downloading torrent at ${url}: ${response.status} ${response.statusText}`);
|
62
|
+
logger.error(`error downloading torrent from ${tracker} at ${url}: ${response.status} ${response.statusText}`);
|
63
63
|
logger.debug("response: %s", await response.text());
|
64
64
|
return resultOfErr(SnatchError.UNKNOWN_ERROR);
|
65
65
|
}
|
@@ -68,7 +68,7 @@ export async function parseTorrentFromURL(url) {
|
|
68
68
|
if (responseText.includes("429")) {
|
69
69
|
return resultOfErr(SnatchError.RATE_LIMITED);
|
70
70
|
}
|
71
|
-
logger.error(`invalid torrent contents
|
71
|
+
logger.error(`invalid torrent contents from ${tracker}: ${url}`);
|
72
72
|
logger.debug(`contents: "${responseText.slice(0, 100)}${responseText.length > 100 ? "..." : ""}"`);
|
73
73
|
return resultOfErr(SnatchError.INVALID_CONTENTS);
|
74
74
|
}
|
@@ -76,7 +76,7 @@ export async function parseTorrentFromURL(url) {
|
|
76
76
|
return resultOf(Metafile.decode(Buffer.from(new Uint8Array(await response.arrayBuffer()))));
|
77
77
|
}
|
78
78
|
catch (e) {
|
79
|
-
logger.error(`invalid torrent contents
|
79
|
+
logger.error(`invalid torrent contents from ${tracker}: ${url}`);
|
80
80
|
const contentType = response.headers.get("Content-Type");
|
81
81
|
const contentLength = response.headers.get("Content-Length");
|
82
82
|
logger.debug(`Content-Type: ${contentType}`);
|
package/dist/torrent.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"torrent.js","sourceRoot":"","sources":["../src/torrent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAU,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAY,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQvE,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACtB,kCAAmB,CAAA;IACnB,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,oDAAqC,CAAA;IACrC,8CAA+B,CAAA;AAChC,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,QAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAY;IAC1C,OAAO;IACN,aAAa;IACb,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC/D,SAAS;QACT,OAAO,CACL,KAAK,CAAC,KAA2B,EAAE,OAAO,CAAC,QAAQ,CACnD,qCAAqC,CACrC,CACD,CACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,
|
1
|
+
{"version":3,"file":"torrent.js","sourceRoot":"","sources":["../src/torrent.ts"],"names":[],"mappings":"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"}
|
package/dist/torznab.js
CHANGED
@@ -1,22 +1,13 @@
|
|
1
1
|
import ms from "ms";
|
2
2
|
import xml2js from "xml2js";
|
3
|
+
import { getAvailableArrIds, getRelevantArrIds } from "./arr.js";
|
3
4
|
import { EP_REGEX, SEASON_REGEX, USER_AGENT } from "./constants.js";
|
4
5
|
import { db } from "./db.js";
|
5
6
|
import { CrossSeedError } from "./errors.js";
|
6
|
-
import { getEnabledIndexers, IndexerStatus, updateIndexerStatus, } from "./indexers.js";
|
7
|
+
import { getAllIndexers, getEnabledIndexers, IndexerStatus, updateIndexerStatus, } from "./indexers.js";
|
7
8
|
import { Label, logger } from "./logger.js";
|
8
9
|
import { getRuntimeConfig } from "./runtimeConfig.js";
|
9
|
-
import {
|
10
|
-
import { getAnimeQueries, cleanseSeparators, getTag, MediaType, nMsAgo, reformatTitleForSearching, stripExtension, } from "./utils.js";
|
11
|
-
function sanitizeUrl(url) {
|
12
|
-
if (typeof url === "string") {
|
13
|
-
url = new URL(url);
|
14
|
-
}
|
15
|
-
return url.origin + url.pathname;
|
16
|
-
}
|
17
|
-
function getApikey(url) {
|
18
|
-
return new URL(url).searchParams.get("apikey");
|
19
|
-
}
|
10
|
+
import { cleanseSeparators, getAnimeQueries, getApikey, getMediaType, MediaType, nMsAgo, reformatTitleForSearching, sanitizeUrl, stripExtension, } from "./utils.js";
|
20
11
|
function parseTorznabResults(xml) {
|
21
12
|
const items = xml?.rss?.channel?.[0]?.item;
|
22
13
|
if (!items || !Array.isArray(items)) {
|
@@ -35,41 +26,89 @@ function parseTorznabResults(xml) {
|
|
35
26
|
}));
|
36
27
|
}
|
37
28
|
function parseTorznabCaps(xml) {
|
38
|
-
const
|
29
|
+
const searchingSection = xml?.caps?.searching?.[0];
|
39
30
|
const isAvailable = (searchTechnique) => searchTechnique?.[0]?.$?.available === "yes";
|
31
|
+
function getSupportedIds(searchTechnique) {
|
32
|
+
const supportedParamsStr = searchTechnique?.[0]?.$?.supportedParams;
|
33
|
+
const supportedIds = supportedParamsStr
|
34
|
+
?.split(",")
|
35
|
+
?.filter((token) => token.includes("id")) ?? [];
|
36
|
+
return {
|
37
|
+
tvdbId: supportedIds.includes("tvdbid"),
|
38
|
+
tmdbId: supportedIds.includes("tmdbid"),
|
39
|
+
imdbId: supportedIds.includes("imdbid"),
|
40
|
+
};
|
41
|
+
}
|
42
|
+
const categoryCaps = xml?.caps?.categories?.[0]?.category;
|
43
|
+
function getCatCaps(item) {
|
44
|
+
const categoryNames = (item ?? []).map((category) => category.$.name);
|
45
|
+
function indexerDoesSupportCat(category) {
|
46
|
+
return categoryNames.some((cat) => cat.toLowerCase().includes(category));
|
47
|
+
}
|
48
|
+
return {
|
49
|
+
movie: indexerDoesSupportCat("movie"),
|
50
|
+
tv: indexerDoesSupportCat("tv"),
|
51
|
+
anime: indexerDoesSupportCat("anime"),
|
52
|
+
audio: indexerDoesSupportCat("audio"),
|
53
|
+
book: indexerDoesSupportCat("book"),
|
54
|
+
};
|
55
|
+
}
|
40
56
|
return {
|
41
|
-
search: Boolean(isAvailable(
|
42
|
-
tvSearch: Boolean(isAvailable(
|
43
|
-
movieSearch: Boolean(isAvailable(
|
57
|
+
search: Boolean(isAvailable(searchingSection?.search)),
|
58
|
+
tvSearch: Boolean(isAvailable(searchingSection?.["tv-search"])),
|
59
|
+
movieSearch: Boolean(isAvailable(searchingSection?.["movie-search"])),
|
60
|
+
movieIdSearch: getSupportedIds(searchingSection?.["movie-search"]),
|
61
|
+
tvIdSearch: getSupportedIds(searchingSection?.["tv-search"]),
|
62
|
+
categories: getCatCaps(categoryCaps),
|
44
63
|
};
|
45
64
|
}
|
46
|
-
function createTorznabSearchQueries(searchee, caps) {
|
65
|
+
async function createTorznabSearchQueries(searchee, ids, caps) {
|
47
66
|
const nameWithoutExtension = stripExtension(searchee.name);
|
48
|
-
const isVideo = hasVideo(searchee);
|
49
67
|
const extractNumber = (str) => parseInt(str.match(/\d+/)[0]);
|
50
|
-
const
|
68
|
+
const relevantIds = await getRelevantArrIds(searchee, ids, caps);
|
69
|
+
const shouldUseIdSearch = Object.values(relevantIds).some((id) => id);
|
70
|
+
const mediaType = getMediaType(searchee);
|
51
71
|
if (mediaType === MediaType.EPISODE && caps.tvSearch) {
|
52
72
|
const match = nameWithoutExtension.match(EP_REGEX);
|
73
|
+
const groups = match.groups;
|
53
74
|
return [
|
54
75
|
{
|
55
76
|
t: "tvsearch",
|
56
|
-
q:
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
77
|
+
q: shouldUseIdSearch
|
78
|
+
? undefined
|
79
|
+
: cleanseSeparators(groups.title),
|
80
|
+
season: groups.season
|
81
|
+
? extractNumber(groups.season)
|
82
|
+
: groups.year,
|
83
|
+
ep: groups.episode
|
84
|
+
? extractNumber(groups.episode)
|
85
|
+
: `${groups.month}/${groups.day}`,
|
86
|
+
...relevantIds,
|
63
87
|
},
|
64
88
|
];
|
65
89
|
}
|
66
90
|
else if (mediaType === MediaType.SEASON && caps.tvSearch) {
|
67
91
|
const match = nameWithoutExtension.match(SEASON_REGEX);
|
92
|
+
const groups = match.groups;
|
68
93
|
return [
|
69
94
|
{
|
70
95
|
t: "tvsearch",
|
71
|
-
q:
|
72
|
-
|
96
|
+
q: shouldUseIdSearch
|
97
|
+
? undefined
|
98
|
+
: cleanseSeparators(groups.title),
|
99
|
+
season: extractNumber(groups.season),
|
100
|
+
...relevantIds,
|
101
|
+
},
|
102
|
+
];
|
103
|
+
}
|
104
|
+
else if (mediaType === MediaType.MOVIE && caps.movieSearch) {
|
105
|
+
return [
|
106
|
+
{
|
107
|
+
t: "movie",
|
108
|
+
q: shouldUseIdSearch
|
109
|
+
? undefined
|
110
|
+
: reformatTitleForSearching(nameWithoutExtension),
|
111
|
+
...relevantIds,
|
73
112
|
},
|
74
113
|
];
|
75
114
|
}
|
@@ -89,8 +128,25 @@ function createTorznabSearchQueries(searchee, caps) {
|
|
89
128
|
];
|
90
129
|
}
|
91
130
|
}
|
131
|
+
export function indexerDoesSupportMediaType(mediaType, caps) {
|
132
|
+
switch (mediaType) {
|
133
|
+
case MediaType.EPISODE:
|
134
|
+
case MediaType.SEASON:
|
135
|
+
return caps.tv;
|
136
|
+
case MediaType.MOVIE:
|
137
|
+
return caps.movie;
|
138
|
+
case MediaType.ANIME:
|
139
|
+
return caps.anime;
|
140
|
+
case MediaType.AUDIO:
|
141
|
+
return caps.audio;
|
142
|
+
case MediaType.BOOK:
|
143
|
+
return caps.book;
|
144
|
+
case MediaType.OTHER:
|
145
|
+
return true;
|
146
|
+
}
|
147
|
+
}
|
92
148
|
export async function queryRssFeeds() {
|
93
|
-
const candidatesByUrl = await makeRequests(await getEnabledIndexers(), () => [{ t: "search", q: "" }]);
|
149
|
+
const candidatesByUrl = await makeRequests(await getEnabledIndexers(), async () => [{ t: "search", q: "" }]);
|
94
150
|
return candidatesByUrl.flatMap((e) => e.candidates);
|
95
151
|
}
|
96
152
|
export async function searchTorznab(searchee) {
|
@@ -113,23 +169,32 @@ export async function searchTorznab(searchee) {
|
|
113
169
|
});
|
114
170
|
const indexersToUse = enabledIndexers.filter((indexer) => {
|
115
171
|
const entry = timestampDataSql.find((entry) => entry.indexerId === indexer.id);
|
116
|
-
return (
|
117
|
-
(
|
118
|
-
(!
|
119
|
-
entry.
|
172
|
+
return (indexerDoesSupportMediaType(getMediaType(searchee), JSON.parse(indexer.categories)) &&
|
173
|
+
(!entry ||
|
174
|
+
((!excludeOlder ||
|
175
|
+
entry.firstSearched > nMsAgo(excludeOlder)) &&
|
176
|
+
(!excludeRecentSearch ||
|
177
|
+
entry.lastSearched < nMsAgo(excludeRecentSearch)))));
|
120
178
|
});
|
121
|
-
const
|
179
|
+
const timeOrCatCallout = " (filtered by category/timestamps)";
|
122
180
|
logger.info({
|
123
181
|
label: Label.TORZNAB,
|
124
182
|
message: `Searching ${indexersToUse.length} indexers for ${name}${indexersToUse.length < enabledIndexers.length
|
125
|
-
?
|
183
|
+
? timeOrCatCallout
|
126
184
|
: ""}`,
|
127
185
|
});
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
186
|
+
const searcheeIds = indexersToUse.length > 0 ? await getAvailableArrIds(searchee) : {};
|
187
|
+
return await makeRequests(indexersToUse, async (indexer) => {
|
188
|
+
const caps = {
|
189
|
+
search: indexer.searchCap,
|
190
|
+
tvSearch: indexer.tvSearchCap,
|
191
|
+
movieSearch: indexer.movieSearchCap,
|
192
|
+
tvIdSearch: JSON.parse(indexer.tvIdCaps),
|
193
|
+
movieIdSearch: JSON.parse(indexer.movieIdCaps),
|
194
|
+
categories: JSON.parse(indexer.categories),
|
195
|
+
};
|
196
|
+
return await createTorznabSearchQueries(searchee, searcheeIds, caps);
|
197
|
+
});
|
133
198
|
}
|
134
199
|
export async function syncWithDb() {
|
135
200
|
const { torznab } = getRuntimeConfig();
|
@@ -144,7 +209,10 @@ export async function syncWithDb() {
|
|
144
209
|
retryAfter: "retry_after",
|
145
210
|
searchCap: "search_cap",
|
146
211
|
tvSearchCap: "tv_search_cap",
|
212
|
+
tvIdCaps: "tv_id_caps",
|
147
213
|
movieSearchCap: "movie_search_cap",
|
214
|
+
movieIdCaps: "movie_id_caps",
|
215
|
+
categories: "cat_caps",
|
148
216
|
});
|
149
217
|
const inConfigButNotInDb = torznab.filter((configIndexer) => !dbIndexers.some((dbIndexer) => dbIndexer.url === sanitizeUrl(configIndexer)));
|
150
218
|
const inDbButNotInConfig = dbIndexers.filter((dbIndexer) => !torznab.some((configIndexer) => sanitizeUrl(configIndexer) === dbIndexer.url));
|
@@ -186,7 +254,7 @@ export async function syncWithDb() {
|
|
186
254
|
.update({ status: IndexerStatus.OK });
|
187
255
|
});
|
188
256
|
}
|
189
|
-
function assembleUrl(urlStr, apikey, params) {
|
257
|
+
export function assembleUrl(urlStr, apikey, params) {
|
190
258
|
const url = new URL(urlStr);
|
191
259
|
const searchParams = new URLSearchParams();
|
192
260
|
searchParams.set("apikey", apikey);
|
@@ -204,14 +272,14 @@ async function fetchCaps(indexer) {
|
|
204
272
|
}
|
205
273
|
catch (e) {
|
206
274
|
const error = new Error(`Indexer ${indexer.url} failed to respond, check verbose logs`);
|
207
|
-
logger.error(error);
|
275
|
+
logger.error(error.message);
|
208
276
|
logger.debug(e);
|
209
277
|
throw error;
|
210
278
|
}
|
211
279
|
const responseText = await response.text();
|
212
280
|
if (!response.ok) {
|
213
281
|
const error = new Error(`Indexer ${indexer.url} responded with code ${response.status} when fetching caps, check verbose logs`);
|
214
|
-
logger.error(error);
|
282
|
+
logger.error(error.message);
|
215
283
|
logger.debug(`Response body first 1000 characters: ${responseText.substring(0, 1000)}`);
|
216
284
|
throw error;
|
217
285
|
}
|
@@ -221,7 +289,7 @@ async function fetchCaps(indexer) {
|
|
221
289
|
}
|
222
290
|
catch (_) {
|
223
291
|
const error = new Error(`Indexer ${indexer.url} responded with invalid XML when fetching caps, check verbose logs`);
|
224
|
-
logger.error(error);
|
292
|
+
logger.error(error.message);
|
225
293
|
logger.debug(`Response body first 1000 characters: ${responseText.substring(0, 1000)}`);
|
226
294
|
throw error;
|
227
295
|
}
|
@@ -241,10 +309,15 @@ async function updateCaps(indexers) {
|
|
241
309
|
const outcomes = await Promise.allSettled(indexers.map((indexer) => fetchCaps(indexer)));
|
242
310
|
const { fulfilled } = collateOutcomes(indexers.map((i) => i.id), outcomes);
|
243
311
|
for (const [indexerId, caps] of fulfilled) {
|
244
|
-
await db("indexer")
|
312
|
+
await db("indexer")
|
313
|
+
.where({ id: indexerId })
|
314
|
+
.update({
|
245
315
|
search_cap: caps.search,
|
246
316
|
tv_search_cap: caps.tvSearch,
|
247
317
|
movie_search_cap: caps.movieSearch,
|
318
|
+
movie_id_caps: JSON.stringify(caps.movieIdSearch),
|
319
|
+
tv_id_caps: JSON.stringify(caps.tvIdSearch),
|
320
|
+
cat_caps: JSON.stringify(caps.categories),
|
248
321
|
});
|
249
322
|
}
|
250
323
|
}
|
@@ -262,16 +335,8 @@ export async function validateTorznabUrls() {
|
|
262
335
|
}
|
263
336
|
}
|
264
337
|
await syncWithDb();
|
265
|
-
const
|
266
|
-
|
267
|
-
active: true,
|
268
|
-
search_cap: null,
|
269
|
-
tv_search_cap: null,
|
270
|
-
movie_search_cap: null,
|
271
|
-
})
|
272
|
-
.orWhere({ search_cap: false, active: true })
|
273
|
-
.select({ id: "id", url: "url", apikey: "apikey" });
|
274
|
-
await updateCaps(enabledIndexersWithoutCaps);
|
338
|
+
const allIndexers = await getAllIndexers();
|
339
|
+
await updateCaps(allIndexers);
|
275
340
|
const indexersWithoutSearch = await db("indexer")
|
276
341
|
.where({ search_cap: false, active: true })
|
277
342
|
.select({ id: "id", url: "url" });
|
@@ -285,7 +350,7 @@ export async function validateTorznabUrls() {
|
|
285
350
|
}
|
286
351
|
async function makeRequests(indexers, getQueries) {
|
287
352
|
const { searchTimeout } = getRuntimeConfig();
|
288
|
-
const searchUrls = indexers.flatMap((indexer) => getQueries(indexer).map((query) => assembleUrl(indexer.url, indexer.apikey, query)));
|
353
|
+
const searchUrls = await Promise.all(indexers.flatMap(async (indexer) => (await getQueries(indexer)).map((query) => assembleUrl(indexer.url, indexer.apikey, query)))).then((urls) => urls.flat());
|
289
354
|
searchUrls.forEach((message) => void logger.verbose({ label: Label.TORZNAB, message }));
|
290
355
|
const abortControllers = searchUrls.map(() => new AbortController());
|
291
356
|
if (typeof searchTimeout === "number") {
|
package/dist/torznab.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"torznab.js","sourceRoot":"","sources":["../src/torznab.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"torznab.js","sourceRoot":"","sources":["../src/torznab.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import path, { basename } from "path";
|
2
|
-
import { EP_REGEX, MOVIE_REGEX,
|
2
|
+
import { ALL_EXTENSIONS, ANIME_REGEX, AUDIO_EXTENSIONS, BOOK_EXTENSIONS, Decision, EP_REGEX, MOVIE_REGEX, SCENE_TITLE_REGEX, SEASON_REGEX, VIDEO_EXTENSIONS, } from "./constants.js";
|
3
3
|
import { resultOf, resultOfErr } from "./Result.js";
|
4
4
|
export var MediaType;
|
5
5
|
(function (MediaType) {
|
@@ -7,13 +7,15 @@ export var MediaType;
|
|
7
7
|
MediaType["SEASON"] = "pack";
|
8
8
|
MediaType["MOVIE"] = "movie";
|
9
9
|
MediaType["ANIME"] = "anime";
|
10
|
+
MediaType["AUDIO"] = "audio";
|
11
|
+
MediaType["BOOK"] = "book";
|
10
12
|
MediaType["OTHER"] = "unknown";
|
11
13
|
})(MediaType || (MediaType = {}));
|
12
14
|
export function isTruthy(value) {
|
13
15
|
return Boolean(value);
|
14
16
|
}
|
15
17
|
export function stripExtension(filename) {
|
16
|
-
for (const ext of
|
18
|
+
for (const ext of ALL_EXTENSIONS) {
|
17
19
|
if (filename.endsWith(ext))
|
18
20
|
return basename(filename, ext);
|
19
21
|
}
|
@@ -33,22 +35,47 @@ export function humanReadableSize(bytes) {
|
|
33
35
|
const coefficient = bytes / Math.pow(k, exponent);
|
34
36
|
return `${parseFloat(coefficient.toFixed(2))} ${sizes[exponent]}`;
|
35
37
|
}
|
36
|
-
export function
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
38
|
+
export function getMediaType(searchee) {
|
39
|
+
function hasExt(searchee, exts) {
|
40
|
+
return searchee.files.some((f) => exts.includes(path.extname(f.name)));
|
41
|
+
}
|
42
|
+
const stem = stripExtension(searchee.name);
|
43
|
+
const hasVideoExtensions = hasExt(searchee, VIDEO_EXTENSIONS);
|
44
|
+
function unsupportedMediaType(searchee) {
|
45
|
+
//any unsupported media that needs to be identified goes here
|
46
|
+
if (hasExt(searchee, AUDIO_EXTENSIONS)) {
|
47
|
+
return MediaType.AUDIO;
|
48
|
+
}
|
49
|
+
else if (hasExt(searchee, BOOK_EXTENSIONS)) {
|
50
|
+
return MediaType.BOOK;
|
51
|
+
}
|
52
|
+
else {
|
53
|
+
return MediaType.OTHER;
|
54
|
+
}
|
55
|
+
}
|
56
|
+
// put new supported media type cases in this switch
|
57
|
+
if (EP_REGEX.test(stem)) {
|
58
|
+
return MediaType.EPISODE;
|
59
|
+
}
|
60
|
+
else if (SEASON_REGEX.test(stem)) {
|
61
|
+
return MediaType.SEASON;
|
62
|
+
}
|
63
|
+
else if (hasVideoExtensions) {
|
64
|
+
if (MOVIE_REGEX.test(stem))
|
65
|
+
return MediaType.MOVIE;
|
66
|
+
if (ANIME_REGEX.test(stem))
|
67
|
+
return MediaType.ANIME;
|
68
|
+
return unsupportedMediaType(searchee);
|
69
|
+
}
|
70
|
+
else {
|
71
|
+
return unsupportedMediaType(searchee);
|
72
|
+
}
|
46
73
|
}
|
47
74
|
export function shouldRecheck(decision) {
|
48
75
|
switch (decision) {
|
49
76
|
case Decision.MATCH:
|
50
|
-
return false;
|
51
77
|
case Decision.MATCH_SIZE_ONLY:
|
78
|
+
return false;
|
52
79
|
case Decision.MATCH_PARTIAL:
|
53
80
|
default:
|
54
81
|
return true;
|
@@ -63,6 +90,15 @@ export async function time(cb, times) {
|
|
63
90
|
times.push(performance.now() - before);
|
64
91
|
}
|
65
92
|
}
|
93
|
+
export function sanitizeUrl(url) {
|
94
|
+
if (typeof url === "string") {
|
95
|
+
url = new URL(url);
|
96
|
+
}
|
97
|
+
return url.origin + url.pathname;
|
98
|
+
}
|
99
|
+
export function getApikey(url) {
|
100
|
+
return new URL(url).searchParams.get("apikey");
|
101
|
+
}
|
66
102
|
export function cleanseSeparators(str) {
|
67
103
|
return str
|
68
104
|
.replace(/\[.*?\]|「.*?」|「.*?」|【.*?】/g, "")
|
@@ -71,7 +107,7 @@ export function cleanseSeparators(str) {
|
|
71
107
|
.trim();
|
72
108
|
}
|
73
109
|
export function getAnimeQueries(name) {
|
74
|
-
// Only use if
|
110
|
+
// Only use if getMediaType returns anime as it's conditional on a few factors
|
75
111
|
const animeQueries = [];
|
76
112
|
const { title, altTitle, release } = name.match(ANIME_REGEX)?.groups ?? {};
|
77
113
|
if (title) {
|
@@ -83,11 +119,12 @@ export function getAnimeQueries(name) {
|
|
83
119
|
return animeQueries;
|
84
120
|
}
|
85
121
|
export function reformatTitleForSearching(name) {
|
86
|
-
|
87
|
-
const
|
88
|
-
|
89
|
-
|
90
|
-
|
122
|
+
// use lazy regex evaluation
|
123
|
+
const fullMatch = name.match(EP_REGEX)?.[0] ??
|
124
|
+
name.match(SEASON_REGEX)?.[0] ??
|
125
|
+
name.match(MOVIE_REGEX)?.[0] ??
|
126
|
+
name;
|
127
|
+
return cleanseSeparators(fullMatch).match(SCENE_TITLE_REGEX).groups.title;
|
91
128
|
}
|
92
129
|
export const tap = (fn) => (value) => {
|
93
130
|
fn(value);
|
@@ -131,4 +168,7 @@ export function extractCredentialsFromUrl(url, basePath) {
|
|
131
168
|
return resultOfErr("invalid URL");
|
132
169
|
}
|
133
170
|
}
|
171
|
+
export function capitalizeFirstLetter(string) {
|
172
|
+
return string.charAt(0).toUpperCase() + string.slice(1);
|
173
|
+
}
|
134
174
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EACN,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|