cross-seed 6.8.9 → 6.9.0

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.
Files changed (52) hide show
  1. package/dist/action.js +65 -38
  2. package/dist/action.js.map +1 -1
  3. package/dist/clients/Deluge.js +87 -7
  4. package/dist/clients/Deluge.js.map +1 -1
  5. package/dist/clients/QBittorrent.js +124 -10
  6. package/dist/clients/QBittorrent.js.map +1 -1
  7. package/dist/clients/RTorrent.js +200 -74
  8. package/dist/clients/RTorrent.js.map +1 -1
  9. package/dist/clients/TorrentClient.js +6 -2
  10. package/dist/clients/TorrentClient.js.map +1 -1
  11. package/dist/clients/Transmission.js +93 -7
  12. package/dist/clients/Transmission.js.map +1 -1
  13. package/dist/cmd.js +24 -19
  14. package/dist/cmd.js.map +1 -1
  15. package/dist/config.template.cjs +14 -8
  16. package/dist/config.template.cjs.map +1 -1
  17. package/dist/configSchema.js +50 -31
  18. package/dist/configSchema.js.map +1 -1
  19. package/dist/configuration.js.map +1 -1
  20. package/dist/constants.js +1 -0
  21. package/dist/constants.js.map +1 -1
  22. package/dist/dataFiles.js +50 -48
  23. package/dist/dataFiles.js.map +1 -1
  24. package/dist/db.js +12 -0
  25. package/dist/db.js.map +1 -1
  26. package/dist/decide.js +9 -9
  27. package/dist/decide.js.map +1 -1
  28. package/dist/inject.js +8 -5
  29. package/dist/inject.js.map +1 -1
  30. package/dist/parseTorrent.js +18 -16
  31. package/dist/parseTorrent.js.map +1 -1
  32. package/dist/pipeline.js +45 -41
  33. package/dist/pipeline.js.map +1 -1
  34. package/dist/preFilter.js +37 -9
  35. package/dist/preFilter.js.map +1 -1
  36. package/dist/pushNotifier.js +15 -21
  37. package/dist/pushNotifier.js.map +1 -1
  38. package/dist/runtimeConfig.js +5 -2
  39. package/dist/runtimeConfig.js.map +1 -1
  40. package/dist/searchee.js +54 -9
  41. package/dist/searchee.js.map +1 -1
  42. package/dist/server.js +67 -47
  43. package/dist/server.js.map +1 -1
  44. package/dist/startup.js +34 -13
  45. package/dist/startup.js.map +1 -1
  46. package/dist/torrent.js +144 -119
  47. package/dist/torrent.js.map +1 -1
  48. package/dist/torznab.js +6 -6
  49. package/dist/torznab.js.map +1 -1
  50. package/dist/utils.js +55 -0
  51. package/dist/utils.js.map +1 -1
  52. package/package.json +1 -1
package/dist/preFilter.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { statSync } from "fs";
2
2
  import ms from "ms";
3
3
  import { basename, dirname } from "path";
4
- import { ARR_DIR_REGEX, MediaType, SEASON_REGEX, SONARR_SUBFOLDERS_REGEX, VIDEO_DISC_EXTENSIONS, BlocklistType, parseBlocklistEntry, VIDEO_EXTENSIONS, } from "./constants.js";
4
+ import { ARR_DIR_REGEX, MediaType, SEASON_REGEX, SONARR_SUBFOLDERS_REGEX, VIDEO_DISC_EXTENSIONS, BlocklistType, parseBlocklistEntry, VIDEO_EXTENSIONS, TORRENT_TAG, TORRENT_CATEGORY_SUFFIX, } from "./constants.js";
5
5
  import { db } from "./db.js";
6
6
  import { getEnabledIndexers } from "./indexers.js";
7
7
  import { Label, logger } from "./logger.js";
@@ -11,10 +11,19 @@ import { indexerDoesSupportMediaType } from "./torznab.js";
11
11
  import { comparing, filesWithExt, getLogString, getMediaType, hasExt, humanReadableDate, nMsAgo, } from "./utils.js";
12
12
  const MAX_INT = Number.MAX_SAFE_INTEGER;
13
13
  function logReason(reason, searchee, mediaType) {
14
- logger.verbose({
15
- label: Label.PREFILTER,
16
- message: `${getLogString(searchee)} | MediaType: ${mediaType.toUpperCase()} - was not selected for searching because ${reason}`,
17
- });
14
+ const message = `${getLogString(searchee)} | MediaType: ${mediaType.toUpperCase()} - ${reason}`;
15
+ if (searchee.label === Label.WEBHOOK) {
16
+ logger.info({
17
+ label: Label.WEBHOOK,
18
+ message: `Did not search for ${message}`,
19
+ });
20
+ }
21
+ else {
22
+ logger.verbose({
23
+ label: Label.PREFILTER,
24
+ message,
25
+ });
26
+ }
18
27
  }
19
28
  export function isSingleEpisode(searchee, mediaType) {
20
29
  if (mediaType === MediaType.EPISODE)
@@ -28,15 +37,30 @@ export function isSingleEpisode(searchee, mediaType) {
28
37
  // if (searchee.files.length > 5) return false; // Probably a pack, allow extra files
29
38
  // To check arrs use: return parsedMedia?.episodes?.length === 1, uncomment above
30
39
  }
31
- export function filterByContent(searchee, includeEpisodes) {
32
- const { fuzzySizeThreshold, includeNonVideos, includeSingleEpisodes, blockList, } = getRuntimeConfig();
40
+ function isCrossSeed(searchee) {
41
+ const { linkCategory } = getRuntimeConfig();
42
+ if (linkCategory?.length && searchee.category === linkCategory)
43
+ return true; // qBit, Deluge
44
+ if (searchee.category === TORRENT_TAG)
45
+ return true; // Deluge
46
+ if (searchee.category?.endsWith(TORRENT_CATEGORY_SUFFIX))
47
+ return true; // qBit, Deluge
48
+ if (searchee.tags?.includes(TORRENT_TAG))
49
+ return true; // qBit, rTorrent, Transmission
50
+ if (searchee.tags?.some((tag) => tag.endsWith(TORRENT_CATEGORY_SUFFIX))) {
51
+ return true; // qBit
52
+ }
53
+ return false;
54
+ }
55
+ export function filterByContent(searchee, options) {
56
+ const { fuzzySizeThreshold, includeNonVideos, includeSingleEpisodes, blockList, } = getRuntimeConfig(options?.configOverride);
33
57
  const mediaType = getMediaType(searchee);
34
58
  const blockedNote = findBlockedStringInReleaseMaybe(searchee, blockList);
35
59
  if (blockedNote) {
36
60
  logReason(`it matches the blocklist: ${blockedNote}`, searchee, mediaType);
37
61
  return false;
38
62
  }
39
- if ((!includeEpisodes || !includeSingleEpisodes) &&
63
+ if ((!options?.allowSeasonPackEpisodes || !includeSingleEpisodes) &&
40
64
  searchee.path &&
41
65
  searchee.files.length === 1 &&
42
66
  [Label.SEARCH, Label.WEBHOOK].includes(searchee.label) &&
@@ -61,6 +85,10 @@ export function filterByContent(searchee, includeEpisodes) {
61
85
  logReason(`nonVideoSizeRatio ${nonVideoSizeRatio} > ${fuzzySizeThreshold} fuzzySizeThreshold`, searchee, mediaType);
62
86
  return false;
63
87
  }
88
+ if (options?.ignoreCrossSeeds && isCrossSeed(searchee)) {
89
+ logReason("it is a cross seed", searchee, mediaType);
90
+ return false;
91
+ }
64
92
  if (searchee.path &&
65
93
  statSync(searchee.path).isDirectory() &&
66
94
  ARR_DIR_REGEX.test(basename(searchee.path)) &&
@@ -95,7 +123,7 @@ export function findBlockedStringInReleaseMaybe(searchee, blockList) {
95
123
  ? searchee.tags.includes(blocklistValue)
96
124
  : !searchee.tags.length;
97
125
  case BlocklistType.TRACKER:
98
- return searchee.trackers?.some((tier) => tier.some((url) => url === blocklistValue));
126
+ return searchee.trackers?.some((url) => url === blocklistValue);
99
127
  case BlocklistType.INFOHASH:
100
128
  return blocklistValue === searchee.infoHash;
101
129
  case BlocklistType.SIZE_BELOW:
@@ -1 +1 @@
1
- {"version":3,"file":"preFilter.js","sourceRoot":"","sources":["../src/preFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preFilter.js","sourceRoot":"","sources":["../src/preFilter.ts"],"names":[],"mappings":"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"}
@@ -7,17 +7,18 @@ import { formatAsList } from "./utils.js";
7
7
  export let pushNotifier;
8
8
  var Event;
9
9
  (function (Event) {
10
+ Event["TEST"] = "TEST";
10
11
  Event["RESULTS"] = "RESULTS";
11
12
  })(Event || (Event = {}));
12
13
  export class PushNotifier {
13
- url;
14
- constructor(url) {
15
- this.url = url;
14
+ urls;
15
+ constructor(urls) {
16
+ this.urls = urls;
16
17
  }
17
18
  async notify({ title = PROGRAM_NAME, body, ...rest }) {
18
- if (this.url) {
19
+ return Promise.all(this.urls.map(async (url) => {
19
20
  try {
20
- const response = await fetch(this.url, {
21
+ const response = await fetch(url, {
21
22
  method: "POST",
22
23
  headers: {
23
24
  "Content-Type": "application/json",
@@ -26,23 +27,16 @@ export class PushNotifier {
26
27
  body: JSON.stringify({ title, body, ...rest }),
27
28
  });
28
29
  if (!response.ok) {
29
- logger.error({
30
- message: "Failed to send push notification",
31
- });
32
- logger.debug({
33
- message: `Server response: ${response.status} ${response.statusText}`,
34
- });
30
+ const responseText = await response.clone().text();
31
+ logger.error(`${url} rejected push notification: ${response.status} ${response.statusText}`);
32
+ logger.debug(`${url}: ${responseText.slice(0, 100)}${responseText.length > 100 ? "..." : ""}"`);
35
33
  }
36
34
  }
37
35
  catch (error) {
38
- logger.error({
39
- message: "Failed to send push notification",
40
- });
41
- logger.debug({
42
- message: error,
43
- });
36
+ logger.error(`${url} failed to send push notification`);
37
+ logger.debug(error);
44
38
  }
45
- }
39
+ }));
46
40
  }
47
41
  }
48
42
  export function sendResultsNotification(searchee, results) {
@@ -127,11 +121,11 @@ export function sendResultsNotification(searchee, results) {
127
121
  }
128
122
  }
129
123
  export function initializePushNotifier() {
130
- const { notificationWebhookUrl } = getRuntimeConfig();
131
- pushNotifier = new PushNotifier(notificationWebhookUrl);
124
+ const { notificationWebhookUrls } = getRuntimeConfig();
125
+ pushNotifier = new PushNotifier(notificationWebhookUrls);
132
126
  }
133
127
  export function sendTestNotification() {
134
- pushNotifier.notify({ body: "Test", extra: { event: "TEST" } });
128
+ pushNotifier.notify({ body: "Test", extra: { event: Event.TEST } });
135
129
  logger.info("Sent test notification");
136
130
  }
137
131
  //# sourceMappingURL=pushNotifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pushNotifier.js","sourceRoot":"","sources":["../src/pushNotifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pushNotifier.js","sourceRoot":"","sources":["../src/pushNotifier.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,10 @@ let runtimeConfig;
2
2
  export function setRuntimeConfig(configObj) {
3
3
  runtimeConfig = configObj;
4
4
  }
5
- export function getRuntimeConfig() {
6
- return runtimeConfig;
5
+ export function getRuntimeConfig(configOverride = {}) {
6
+ return {
7
+ ...runtimeConfig,
8
+ ...Object.fromEntries(Object.entries(configOverride).filter(([, v]) => v !== undefined)),
9
+ };
7
10
  }
8
11
  //# sourceMappingURL=runtimeConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeConfig.js","sourceRoot":"","sources":["../src/runtimeConfig.ts"],"names":[],"mappings":"AA4CA,IAAI,aAA4B,CAAC;AAEjC,MAAM,UAAU,gBAAgB,CAAC,SAAwB;IACxD,aAAa,GAAG,SAAS,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC/B,OAAO,aAAa,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"runtimeConfig.js","sourceRoot":"","sources":["../src/runtimeConfig.ts"],"names":[],"mappings":"AA6CA,IAAI,aAA4B,CAAC;AAEjC,MAAM,UAAU,gBAAgB,CAAC,SAAwB;IACxD,aAAa,GAAG,SAAS,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,iBAAyC,EAAE;IAE3C,OAAO;QACN,GAAG,aAAa;QAChB,GAAG,MAAM,CAAC,WAAW,CACpB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CACjE;KACD,CAAC;AACH,CAAC"}
package/dist/searchee.js CHANGED
@@ -4,22 +4,27 @@ import { basename, dirname, join, relative } from "path";
4
4
  import ms from "ms";
5
5
  import { getClient } from "./clients/TorrentClient.js";
6
6
  import { ANIME_GROUP_REGEX, ANIME_REGEX, ARR_DIR_REGEX, BAD_GROUP_PARSE_REGEX, EP_REGEX, MOVIE_REGEX, parseSource, RELEASE_GROUP_REGEX, RES_STRICT_REGEX, SEASON_REGEX, SONARR_SUBFOLDERS_REGEX, VIDEO_EXTENSIONS, } from "./constants.js";
7
+ import { memDB } from "./db.js";
7
8
  import { Label, logger } from "./logger.js";
8
9
  import { resultOf, resultOfErr } from "./Result.js";
9
10
  import { getRuntimeConfig } from "./runtimeConfig.js";
10
11
  import { parseTorrentWithMetadata } from "./torrent.js";
11
- import { createKeyTitle, extractInt, filesWithExt, getLogString, hasExt, humanReadableDate, humanReadableSize, isBadTitle, stripExtension, } from "./utils.js";
12
+ import { createKeyTitle, extractInt, filesWithExt, getLogString, hasExt, humanReadableDate, humanReadableSize, inBatches, isBadTitle, stripExtension, } from "./utils.js";
12
13
  export function hasInfoHash(searchee) {
13
14
  return searchee.infoHash != null;
14
15
  }
15
16
  var SearcheeSource;
16
17
  (function (SearcheeSource) {
17
- SearcheeSource["TORRENT"] = "torrentDir";
18
+ SearcheeSource["CLIENT"] = "torrentClient";
19
+ SearcheeSource["TORRENT"] = "torrentFile";
18
20
  SearcheeSource["DATA"] = "dataDir";
19
21
  SearcheeSource["VIRTUAL"] = "virtual";
20
22
  })(SearcheeSource || (SearcheeSource = {}));
21
23
  export function getSearcheeSource(searchee) {
22
- if (searchee.infoHash) {
24
+ if (searchee.savePath) {
25
+ return SearcheeSource.CLIENT;
26
+ }
27
+ else if (searchee.infoHash) {
23
28
  return SearcheeSource.TORRENT;
24
29
  }
25
30
  else if (searchee.path) {
@@ -122,6 +127,44 @@ export function parseTitle(name, files, path) {
122
127
  }
123
128
  return !seasonMatch ? name : null;
124
129
  }
130
+ export async function updateSearcheeClientDB(newSearchees, infoHashes) {
131
+ const removedInfoHashes = (await memDB("torrent").select({ infoHash: "info_hash" }))
132
+ .map((t) => t.infoHash)
133
+ .filter((infoHash) => !infoHashes.has(infoHash));
134
+ await inBatches(removedInfoHashes, async (batch) => {
135
+ await memDB("torrent").whereIn("info_hash", batch).del();
136
+ await memDB("ensemble").whereIn("info_hash", batch).del();
137
+ });
138
+ await inBatches(newSearchees.map((searchee) => ({
139
+ info_hash: searchee.infoHash,
140
+ name: searchee.name,
141
+ title: searchee.title,
142
+ files: JSON.stringify(searchee.files),
143
+ length: searchee.length,
144
+ save_path: searchee.savePath,
145
+ category: searchee.category,
146
+ tags: JSON.stringify(searchee.tags),
147
+ trackers: JSON.stringify(searchee.trackers),
148
+ })), async (batch) => {
149
+ await memDB("torrent")
150
+ .insert(batch)
151
+ .onConflict("info_hash")
152
+ .merge();
153
+ });
154
+ }
155
+ export function createSearcheeFromDB(dbTorrent) {
156
+ return {
157
+ infoHash: dbTorrent.info_hash,
158
+ name: dbTorrent.name,
159
+ title: dbTorrent.title,
160
+ files: JSON.parse(dbTorrent.files),
161
+ length: dbTorrent.length,
162
+ savePath: dbTorrent.save_path,
163
+ category: dbTorrent.category,
164
+ tags: JSON.parse(dbTorrent.tags),
165
+ trackers: JSON.parse(dbTorrent.trackers),
166
+ };
167
+ }
125
168
  export function createSearcheeFromMetafile(meta) {
126
169
  const title = parseTitle(meta.name, meta.files);
127
170
  if (title) {
@@ -356,7 +399,7 @@ function pushEnsembleEpisode(searchee, episodeFiles, torrentSavePaths) {
356
399
  sourceRoot = searchee.path;
357
400
  }
358
401
  else {
359
- const savePath = torrentSavePaths.get(searchee.infoHash);
402
+ const savePath = searchee.savePath ?? torrentSavePaths.get(searchee.infoHash);
360
403
  if (!savePath)
361
404
  return;
362
405
  sourceRoot = join(savePath, searchee.files.length === 1
@@ -436,15 +479,17 @@ function createVirtualSeasonSearchee(key, episodeSearchees, ensembleTitleMap, to
436
479
  return seasonSearchee;
437
480
  }
438
481
  export async function createEnsembleSearchees(allSearchees, options) {
439
- const { seasonFromEpisodes } = getRuntimeConfig();
482
+ const { seasonFromEpisodes, useClientTorrents } = getRuntimeConfig();
440
483
  if (!seasonFromEpisodes)
441
484
  return [];
442
485
  logEnsemble(`Creating virtual searchees for seasons...`, options);
443
486
  const { keyMap, ensembleTitleMap } = organizeEnsembleKeys(allSearchees, options);
444
- const torrentSavePaths = (await getClient()?.getAllDownloadDirs({
445
- metas: allSearchees.filter(hasInfoHash),
446
- onlyCompleted: false,
447
- })) ?? new Map();
487
+ const torrentSavePaths = useClientTorrents
488
+ ? new Map()
489
+ : (await getClient()?.getAllDownloadDirs({
490
+ metas: allSearchees.filter(hasInfoHash),
491
+ onlyCompleted: false,
492
+ })) ?? new Map();
448
493
  const seasonSearchees = [];
449
494
  for (const [key, episodeSearchees] of keyMap) {
450
495
  const seasonSearchee = createVirtualSeasonSearchee(key, episodeSearchees, ensembleTitleMap, torrentSavePaths, options);
@@ -1 +1 @@
1
- {"version":3,"file":"searchee.js","sourceRoot":"","sources":["../src/searchee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"searchee.js","sourceRoot":"","sources":["../src/searchee.ts"],"names":[],"mappings":"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"}