cross-seed 6.11.1 → 6.12.0-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 (51) hide show
  1. package/dist/action.js +344 -224
  2. package/dist/action.js.map +1 -1
  3. package/dist/clients/Deluge.js +100 -55
  4. package/dist/clients/Deluge.js.map +1 -1
  5. package/dist/clients/QBittorrent.js +147 -50
  6. package/dist/clients/QBittorrent.js.map +1 -1
  7. package/dist/clients/RTorrent.js +93 -71
  8. package/dist/clients/RTorrent.js.map +1 -1
  9. package/dist/clients/TorrentClient.js +60 -28
  10. package/dist/clients/TorrentClient.js.map +1 -1
  11. package/dist/clients/Transmission.js +67 -33
  12. package/dist/clients/Transmission.js.map +1 -1
  13. package/dist/cmd.js +10 -13
  14. package/dist/cmd.js.map +1 -1
  15. package/dist/config.template.cjs +50 -90
  16. package/dist/config.template.cjs.map +1 -1
  17. package/dist/configSchema.js +117 -33
  18. package/dist/configSchema.js.map +1 -1
  19. package/dist/configuration.js.map +1 -1
  20. package/dist/constants.js +2 -1
  21. package/dist/constants.js.map +1 -1
  22. package/dist/dataFiles.js +14 -11
  23. package/dist/dataFiles.js.map +1 -1
  24. package/dist/db.js +10 -7
  25. package/dist/db.js.map +1 -1
  26. package/dist/decide.js +13 -16
  27. package/dist/decide.js.map +1 -1
  28. package/dist/diff.js +5 -26
  29. package/dist/diff.js.map +1 -1
  30. package/dist/inject.js +99 -98
  31. package/dist/inject.js.map +1 -1
  32. package/dist/logger.js +26 -15
  33. package/dist/logger.js.map +1 -1
  34. package/dist/pipeline.js +127 -75
  35. package/dist/pipeline.js.map +1 -1
  36. package/dist/preFilter.js +2 -35
  37. package/dist/preFilter.js.map +1 -1
  38. package/dist/pushNotifier.js +3 -0
  39. package/dist/pushNotifier.js.map +1 -1
  40. package/dist/runtimeConfig.js.map +1 -1
  41. package/dist/searchee.js +136 -91
  42. package/dist/searchee.js.map +1 -1
  43. package/dist/startup.js +3 -2
  44. package/dist/startup.js.map +1 -1
  45. package/dist/torrent.js +132 -98
  46. package/dist/torrent.js.map +1 -1
  47. package/dist/torznab.js +5 -5
  48. package/dist/torznab.js.map +1 -1
  49. package/dist/utils.js +26 -6
  50. package/dist/utils.js.map +1 -1
  51. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  // If you find yourself always using the same command-line flag, you can set it
3
- // here as a default.
3
+ // here as a default. For a complete guide on configuration, please visit:
4
+ // https://www.cross-seed.org
4
5
  module.exports = {
5
6
  /**
6
7
  * WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
@@ -24,40 +25,23 @@ module.exports = {
24
25
  * For Prowlarr, click on the indexer name and copy the Torznab Url, then
25
26
  * append "?apikey=YOUR_PROWLARR_API_KEY". Wrap each URL in quotation marks
26
27
  * and separate them with commas, and surround the entire set in brackets.
28
+ * https://www.cross-seed.org/docs/basics/getting-started#3-edit-the-config-file
27
29
  */
28
30
  torznab: [],
29
31
  /**
30
- * URL(s) to your Sonarr instance(s), included in the same way as torznab
31
- * URLs but for your Sonarr: note that api is not at the end. see below.
32
+ * URL(s) to your Sonarr instance(s). For benefits and usage, please read:
33
+ * https://www.cross-seed.org/docs/tutorials/id-searching
32
34
  *
33
35
  * You should order these in most likely to match -> the least likely order.
34
36
  * They are searched sequentially as they are listed.
35
- *
36
- * This apikey parameter comes from Sonarr
37
- *
38
- * Example: sonarr: ["http://sonarr:8989/?apikey=12345"],
39
- *
40
- * sonarr: ["http://sonarr:8989/?apikey=12345",
41
- * "http://sonarr4k:8989/?apikey=12345"],
42
- *
43
- * For benefits, please read: https://www.cross-seed.org/docs/tutorials/id-searching
44
37
  */
45
38
  sonarr: [],
46
39
  /**
47
- * URL(s) to your Radarr instance(s), included in the same way as torznab
48
- * URLs but for your Radarr: note that api is not at the end. see below.
40
+ * URL(s) to your Radarr instance(s). For benefits and usage, please read:
41
+ * https://www.cross-seed.org/docs/tutorials/id-searching
49
42
  *
50
43
  * You should order these in most likely to match -> the least likely order.
51
44
  * They are searched sequentially as they are listed.
52
- *
53
- * This apikey parameter comes from Radarr
54
- *
55
- * Example: radarr: ["http://radarr:7878/?apikey=12345"],
56
- *
57
- * radarr: ["http://radarr:7878/?apikey=12345",
58
- * "http://radarr4k:7878/?apikey=12345"],
59
- *
60
- * For benefits, please read: https://www.cross-seed.org/docs/tutorials/id-searching
61
45
  */
62
46
  radarr: [],
63
47
  /**
@@ -71,43 +55,31 @@ module.exports = {
71
55
  */
72
56
  port: 2468,
73
57
  /**
74
- * cross-seed will send POST requests to these urls with a JSON payload of
75
- * { title, body, extra }. Conforms to the caronc/apprise REST API.
58
+ * cross-seed will send caronc/apprise POST requests to these urls
59
+ * with a JSON payload of:
60
+ * https://www.cross-seed.org/docs/basics/options#notificationwebhookurls
76
61
  */
77
62
  notificationWebhookUrls: [],
78
63
  /**
79
- * The url of your rtorrent XMLRPC interface.
80
- * Only relevant with action: "inject".
81
- * Could be something like "http://username:password@localhost:1234/RPC2
82
- */
83
- rtorrentRpcUrl: undefined,
84
- /**
85
- * The url of your qBittorrent webui.
86
- * Only relevant with action: "inject".
64
+ * The urls of your torrent clients' web interfaces prefixed by their type.
65
+ * You may need to urlencode your username and password if they contain special characters:
66
+ * https://www.cross-seed.org/docs/basics/faq-troubleshooting#can-i-use-special-characters-in-my-urls
87
67
  *
68
+ * torrentClients: ["qbittorrent:http://username:password@localhost:8080"]
88
69
  * If using Automatic Torrent Management, please read:
89
70
  * https://www.cross-seed.org/docs/v6-migration#new-folder-structure-for-links
90
71
  *
91
- * Supply your username and password inside the url like so:
92
- * "http://username:password@localhost:8080"
93
- */
94
- qbittorrentUrl: undefined,
95
- /**
96
- * The url of your Transmission RPC interface.
97
- * Usually ends with "/transmission/rpc".
98
- * Only relevant with action: "inject".
99
- * Supply your username and password inside the url like so:
100
- * "http://username:password@localhost:9091/transmission/rpc"
101
- */
102
- transmissionRpcUrl: undefined,
103
- /**
104
- * The url of your Deluge JSON-RPC interface.
105
- * Usually ends with "/json".
106
- * Only relevant with action: "inject".
107
- * Supply your WebUI password as well like so:
108
- * "http://:password@localhost:8112/json"
72
+ * torrentClients: ["rtorrent:http://username:password@localhost:1234/RPC2"]
73
+ *
74
+ * torrentClients: ["transmission:http://username:password@localhost:9091/transmission/rpc"]
75
+ *
76
+ * torrentClients: ["deluge:http://:password@localhost:8112/json"]
77
+ *
78
+ * You can optionally add readonly: after the prefix to use a client as a
79
+ * source for finding cross seeds, but not for injecting.
80
+ * e.g. "qbittorrent:readonly:http://username:password@localhost:8080"
109
81
  */
110
- delugeRpcUrl: undefined,
82
+ torrentClients: [],
111
83
  /**
112
84
  * END OF POTENTIALLY SENSITIVE CONFIGURATION OPTIONS
113
85
  */
@@ -212,17 +184,18 @@ module.exports = {
212
184
  */
213
185
  torrentDir: null,
214
186
  /**
215
- * Where to save the .torrent files that cross-seed finds for you.
216
- * This is NOT where the torrent data (.e.g .mkv, .mp4) will be saved.
217
- * This directory will be used for retrying injections.
218
- *
219
- * DO NOT USE THIS DIRECTORY AS A WATCH FOLDER FOR YOUR TORRENT CLIENT!!!
187
+ * With action: "inject", cross-seed will use this directory to retry
188
+ * injections. This directory will be empty nearly all the time.
189
+ * https://www.cross-seed.org/docs/v6-migration#failed-injection-saved-retry
190
+ * If you are using action: "save", this will be the directory where the
191
+ * .torrent files are saved.
220
192
  *
221
- * If you are a Windows user you need to put double '\' (e.g. "C:\\output")
193
+ * DO NOT USE THIS DIRECTORY AS A WATCH FOLDER FOR YOUR TORRENT CLIENT
222
194
  *
223
- * https://www.cross-seed.org/docs/v6-migration#failed-injection-saved-retry
195
+ * You do not need to change this from null. It will map into your cross-seed
196
+ * config directory: https://www.cross-seed.org/docs/basics/options#outputdir
224
197
  */
225
- outputDir: ".",
198
+ outputDir: null,
226
199
  /**
227
200
  * Whether to include single episode torrents in search/webhook/rss.
228
201
  *
@@ -231,7 +204,7 @@ module.exports = {
231
204
  */
232
205
  includeSingleEpisodes: false,
233
206
  /**
234
- * Include torrents/data comprised of non-video files.
207
+ * Include torrents/data that are mainly comprised of non-video files.
235
208
  *
236
209
  * If this option is set to false, any folders or torrents whose
237
210
  * totalNonVideoFilesSize / totalSize > fuzzySizeThreshold
@@ -241,21 +214,6 @@ module.exports = {
241
214
  * false will still allow the torrent to be considered for cross-seeding
242
215
  * while disallowing torrents that are music, games, books, etc.
243
216
  * For full disc based folders (not .ISO) you may wish to set this as true.
244
- *
245
- * To search for all video media except individual episodes, use:
246
- *
247
- * includeSingleEpisodes: false
248
- * includeNonVideos: false
249
- *
250
- * To search for all video media including individual episodes, use:
251
- *
252
- * includeSingleEpisodes: true
253
- * includeNonVideos: false
254
- *
255
- * To search for absolutely ALL types of content, including non-video,
256
- * configure your episode settings based on the above examples and use:
257
- *
258
- * includeNonVideos: true
259
217
  */
260
218
  includeNonVideos: false,
261
219
  /**
@@ -282,20 +240,19 @@ module.exports = {
282
240
  /**
283
241
  * Exclude torrents or data first seen by cross-seed more than this long ago.
284
242
  * Examples:
285
- * "5 days"
286
- * "2 weeks"
243
+ * "2 weeks" - if you want to search multiple times quickly
244
+ * "450 days" - if you rather spread out the searches over a long period
287
245
  *
288
246
  * This value must be in the range of 2-5 times your excludeRecentSearch
289
247
  */
290
248
  excludeOlder: "2 weeks",
291
249
  /**
292
250
  * Exclude torrents or data which has been searched more recently than this
293
- * long ago.
251
+ * long ago. Previously failed searches ignore this value per tracker.
294
252
  *
295
- * Doesn't exclude previously failed searches.
296
253
  * Examples:
297
- * "2 days"
298
- * "5 days"
254
+ * "3 days" - if you want to search multiple times quickly
255
+ * "90 days" - if you rather spread out the searches over a long period
299
256
  *
300
257
  * This value must be 2-5x less than excludeOlder.
301
258
  */
@@ -321,10 +278,11 @@ module.exports = {
321
278
  */
322
279
  duplicateCategories: false,
323
280
  /**
324
- * Run rss scans on a schedule.
325
- * Set to undefined or null to disable. Minimum of 10 minutes.
281
+ * Run rss scans on a schedule. Set to undefined or null to disable.
282
+ * Minimum of 10 minutes.
283
+ *
326
284
  * Examples:
327
- * "10 minutes"
285
+ * "30 minutes"
328
286
  * "1 hour"
329
287
  *
330
288
  * To cross seed new releases as soon as they are uploaded, use announce:
@@ -332,11 +290,11 @@ module.exports = {
332
290
  */
333
291
  rssCadence: "30 minutes",
334
292
  /**
335
- * Run searches on a schedule.
336
- * Set to undefined or null to disable. Minimum of 1 day.
293
+ * Run searches on a schedule. Set to undefined or null to disable.
294
+ * Minimum of 1 day.
295
+ *
337
296
  * Examples:
338
- * "2 weeks"
339
- * "3 days"
297
+ * "1 day" - there is not much value in setting this above "1 day"
340
298
  *
341
299
  * This value must be at least 3x less than your excludeRecentSearch.
342
300
  * To trigger a search on download completion, use webhook:
@@ -346,6 +304,7 @@ module.exports = {
346
304
  /**
347
305
  * Fail snatch requests that haven't responded after this long.
348
306
  * Set to null for an infinite timeout.
307
+ *
349
308
  * Examples:
350
309
  * "30 seconds"
351
310
  * null
@@ -354,8 +313,9 @@ module.exports = {
354
313
  /**
355
314
  * Fail search requests that haven't responded after this long.
356
315
  * Set to null for an infinite timeout.
316
+ *
357
317
  * Examples:
358
- * "30 seconds"
318
+ * "2 minutes"
359
319
  * null
360
320
  */
361
321
  searchTimeout: "2 minutes",
@@ -1 +1 @@
1
- {"version":3,"file":"config.template.cjs","sourceRoot":"","sources":["../src/config.template.cjs"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,qBAAqB;AAErB,MAAM,CAAC,OAAO,GAAG;IAChB;;;;;;;;QAQI;IAEJ;;;;;OAKG;IACH,MAAM,EAAE,SAAS;IAEjB;;;;;;OAMG;IACH,OAAO,EAAE,EAAE;IAEX;;;;;;;;;;;;;;;OAeG;IACH,MAAM,EAAE,EAAE;IAEV;;;;;;;;;;;;;;;OAeG;IACH,MAAM,EAAE,EAAE;IAEV;;;;OAIG;IACH,IAAI,EAAE,SAAS;IAEf;;OAEG;IACH,IAAI,EAAE,IAAI;IAEV;;;OAGG;IACH,uBAAuB,EAAE,EAAE;IAE3B;;;;OAIG;IACH,cAAc,EAAE,SAAS;IAEzB;;;;;;;;;OASG;IACH,cAAc,EAAE,SAAS;IAEzB;;;;;;OAMG;IACH,kBAAkB,EAAE,SAAS;IAE7B;;;;;;OAMG;IACH,YAAY,EAAE,SAAS;IAEvB;;OAEG;IAEH;;;;OAIG;IACH,iBAAiB,EAAE,IAAI;IAEvB;;;;OAIG;IACH,KAAK,EAAE,EAAE;IAET;;;;;;OAMG;IACH,QAAQ,EAAE,EAAE;IAEZ;;;;;;;OAOG;IACH,YAAY,EAAE,iBAAiB;IAE/B;;;;;;OAMG;IACH,QAAQ,EAAE,EAAE;IAEZ;;;;;OAKG;IACH,QAAQ,EAAE,UAAU;IAEpB;;;;;;;;;;OAUG;IACH,WAAW,EAAE,KAAK;IAElB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,EAAE,UAAU;IAErB;;;OAGG;IACH,WAAW,EAAE,IAAI;IAEjB;;;;OAIG;IACH,qBAAqB,EAAE,QAAQ;IAE/B;;;;;;OAMG;IACH,YAAY,EAAE,CAAC;IAEf;;;;;;OAMG;IACH,UAAU,EAAE,IAAI;IAEhB;;;;;;;;;;OAUG;IACH,SAAS,EAAE,GAAG;IAEd;;;;;OAKG;IACH,qBAAqB,EAAE,KAAK;IAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,gBAAgB,EAAE,KAAK;IAEvB;;;;;;;OAOG;IACH,kBAAkB,EAAE,CAAC;IAErB;;;;;;OAMG;IACH,kBAAkB,EAAE,IAAI;IAExB;;;OAGG;IAEH;;;;;;;OAOG;IACH,YAAY,EAAE,SAAS;IAEvB;;;;;;;;;;OAUG;IACH,mBAAmB,EAAE,QAAQ;IAE7B;;;;;OAKG;IACH,MAAM,EAAE,QAAQ;IAEhB;;;;;;;;;;;OAWG;IACH,mBAAmB,EAAE,KAAK;IAE1B;;;;;;;;;OASG;IACH,UAAU,EAAE,YAAY;IAExB;;;;;;;;;;OAUG;IACH,aAAa,EAAE,OAAO;IAEtB;;;;;;OAMG;IACH,aAAa,EAAE,YAAY;IAE3B;;;;;;OAMG;IACH,aAAa,EAAE,WAAW;IAE1B;;;;;;;;;OASG;IACH,WAAW,EAAE,GAAG;IAEhB;;;OAGG;IACH,SAAS,EAAE,EAAE;CACb,CAAC"}
1
+ {"version":3,"file":"config.template.cjs","sourceRoot":"","sources":["../src/config.template.cjs"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,0EAA0E;AAC1E,6BAA6B;AAE7B,MAAM,CAAC,OAAO,GAAG;IAChB;;;;;;;;QAQI;IAEJ;;;;;OAKG;IACH,MAAM,EAAE,SAAS;IAEjB;;;;;;;OAOG;IACH,OAAO,EAAE,EAAE;IAEX;;;;;;OAMG;IACH,MAAM,EAAE,EAAE;IAEV;;;;;;OAMG;IACH,MAAM,EAAE,EAAE;IAEV;;;;OAIG;IACH,IAAI,EAAE,SAAS;IAEf;;OAEG;IACH,IAAI,EAAE,IAAI;IAEV;;;;OAIG;IACH,uBAAuB,EAAE,EAAE;IAE3B;;;;;;;;;;;;;;;;;;OAkBG;IACH,cAAc,EAAE,EAAE;IAElB;;OAEG;IAEH;;;;OAIG;IACH,iBAAiB,EAAE,IAAI;IAEvB;;;;OAIG;IACH,KAAK,EAAE,EAAE;IAET;;;;;;OAMG;IACH,QAAQ,EAAE,EAAE;IAEZ;;;;;;;OAOG;IACH,YAAY,EAAE,iBAAiB;IAE/B;;;;;;OAMG;IACH,QAAQ,EAAE,EAAE;IAEZ;;;;;OAKG;IACH,QAAQ,EAAE,UAAU;IAEpB;;;;;;;;;;OAUG;IACH,WAAW,EAAE,KAAK;IAElB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,EAAE,UAAU;IAErB;;;OAGG;IACH,WAAW,EAAE,IAAI;IAEjB;;;;OAIG;IACH,qBAAqB,EAAE,QAAQ;IAE/B;;;;;;OAMG;IACH,YAAY,EAAE,CAAC;IAEf;;;;;;OAMG;IACH,UAAU,EAAE,IAAI;IAEhB;;;;;;;;;;;OAWG;IACH,SAAS,EAAE,IAAI;IAEf;;;;;OAKG;IACH,qBAAqB,EAAE,KAAK;IAE5B;;;;;;;;;;;OAWG;IACH,gBAAgB,EAAE,KAAK;IAEvB;;;;;;;OAOG;IACH,kBAAkB,EAAE,CAAC;IAErB;;;;;;OAMG;IACH,kBAAkB,EAAE,IAAI;IAExB;;;OAGG;IAEH;;;;;;;OAOG;IACH,YAAY,EAAE,SAAS;IAEvB;;;;;;;;;OASG;IACH,mBAAmB,EAAE,QAAQ;IAE7B;;;;;OAKG;IACH,MAAM,EAAE,QAAQ;IAEhB;;;;;;;;;;;OAWG;IACH,mBAAmB,EAAE,KAAK;IAE1B;;;;;;;;;;OAUG;IACH,UAAU,EAAE,YAAY;IAExB;;;;;;;;;;OAUG;IACH,aAAa,EAAE,OAAO;IAEtB;;;;;;;OAOG;IACH,aAAa,EAAE,YAAY;IAE3B;;;;;;;OAOG;IACH,aAAa,EAAE,WAAW;IAE1B;;;;;;;;;OASG;IACH,WAAW,EAAE,GAAG;IAEhB;;;OAGG;IACH,SAAS,EAAE,EAAE;CACb,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { existsSync, readdirSync } from "fs";
2
2
  import ms from "ms";
3
- import { isAbsolute, relative, resolve } from "path";
3
+ import { isAbsolute, join, relative, resolve } from "path";
4
4
  import { z } from "zod";
5
+ import { parseClientEntry } from "./clients/TorrentClient.js";
6
+ import { appDir } from "./configuration.js";
5
7
  import { Action, BlocklistType, LinkType, MatchMode, NEWLINE_INDENT, parseBlocklistEntry, } from "./constants.js";
6
- import { logger } from "./logger.js";
8
+ import { Label, logger } from "./logger.js";
7
9
  import { formatAsList } from "./utils.js";
8
10
  /**
9
11
  * error messages and map returned upon Zod validation failure
@@ -31,7 +33,17 @@ const ZodErrorMessages = {
31
33
  numberMustBeRatio: "fuzzySizeThreshold and seasonFromEpisodes must be between 0 and 1.",
32
34
  fuzzySizeThresholdMax: "fuzzySizeThreshold cannot be greater than 0.1 when using searchCadence or rssCadence.",
33
35
  seasonFromEpisodesMin: "seasonFromEpisodes cannot be less than 0.5 when using searchCadence or rssCadence",
34
- injectUrl: "You need to specify rtorrentRpcUrl, transmissionRpcUrl, qbittorrentUrl, or delugeRpcUrl when using 'inject'",
36
+ clientType: `torrentClients type prefix must be one of ${formatAsList([
37
+ Label.QBITTORRENT,
38
+ Label.RTORRENT,
39
+ Label.TRANSMISSION,
40
+ Label.DELUGE,
41
+ ].map((l) => `${l}:`), { sort: false, style: "narrow", type: "unit" })} and optionally followed by readonly: (e.g torrentClients: ["qbittorrent:http://username:password@localhost:8080", "rtorrent:readonly:http://username:password@localhost:1234/RPC2"])`,
42
+ clientTypeReadOnly: `You must have at least one non-readonly torrent client when using action: "inject"`,
43
+ multipleClientsTorrentFile: "torrentDir and --torrents arg does not support multiple clients, use useClientTorrents instead.",
44
+ multipleClientsNoLinking: "dataDirs is not supported with multiple clients if not linking. To configure linking, please read: https://www.cross-seed.org/docs/tutorials/linking",
45
+ duplicateClients: "Duplicate torrent client URLs are not allowed.",
46
+ injectNeedsClients: "You need to specify torrentClients when using 'inject'",
35
47
  qBitAutoTMM: "If using Automatic Torrent Management in qBittorrent, please read: https://www.cross-seed.org/docs/v6-migration#new-folder-structure-for-links",
36
48
  includeSingleEpisodes: "includeSingleEpisodes is not recommended when using announce, please read: https://www.cross-seed.org/docs/v6-migration#updated-includesingleepisodes-behavior",
37
49
  invalidOutputDir: "outputDir should only contain .torrent files, cross-seed will populate and manage (https://www.cross-seed.org/docs/basics/options#outputdir)",
@@ -95,6 +107,33 @@ function transformDurationString(durationStr, ctx) {
95
107
  }
96
108
  return duration;
97
109
  }
110
+ /**
111
+ * helper function for verifying torrent client types
112
+ * @param torrentClients the torrent clients to validate
113
+ * @param ctx ZodError map
114
+ * @return torrentClients (string array)
115
+ */
116
+ function transformTorrentClients(torrentClients, ctx) {
117
+ if (!Array.isArray(torrentClients))
118
+ return [];
119
+ for (const clientEntryRaw of torrentClients) {
120
+ const clientEntry = parseClientEntry(clientEntryRaw);
121
+ if (!clientEntry) {
122
+ addZodIssue(clientEntryRaw, ZodErrorMessages.clientType, ctx);
123
+ continue;
124
+ }
125
+ switch (clientEntry.clientType) {
126
+ case Label.QBITTORRENT:
127
+ case Label.RTORRENT:
128
+ case Label.TRANSMISSION:
129
+ case Label.DELUGE:
130
+ break;
131
+ default:
132
+ addZodIssue(clientEntryRaw, ZodErrorMessages.clientType, ctx);
133
+ }
134
+ }
135
+ return torrentClients;
136
+ }
98
137
  /**
99
138
  * helper function for verifying blocklist types
100
139
  * @param blockList the blocklist to validate
@@ -102,9 +141,8 @@ function transformDurationString(durationStr, ctx) {
102
141
  * @return blocklist (string array)
103
142
  */
104
143
  function transformBlocklist(blockList, ctx) {
105
- if (!Array.isArray(blockList)) {
144
+ if (!Array.isArray(blockList))
106
145
  return [];
107
- }
108
146
  const sizeTest = (value, existing) => {
109
147
  if (!existing) {
110
148
  const match = value.match(/^\d+$/);
@@ -251,7 +289,7 @@ export const VALIDATION_SCHEMA = z
251
289
  .gte(1)
252
290
  .refine((maxDataDepth) => {
253
291
  if (maxDataDepth > 3) {
254
- logger.error(`Your maxDataDepth is most likely incorrect, please read: https://www.cross-seed.org/docs/tutorials/data-based-matching#setting-up-data-based-matching`);
292
+ logger.warn(`Your maxDataDepth is most likely incorrect, please read: https://www.cross-seed.org/docs/tutorials/data-based-matching#setting-up-data-based-matching`);
255
293
  }
256
294
  return true;
257
295
  }),
@@ -259,7 +297,16 @@ export const VALIDATION_SCHEMA = z
259
297
  .string()
260
298
  .nullish()
261
299
  .transform((v) => v ?? null),
262
- outputDir: z.string().refine((dir) => {
300
+ outputDir: z
301
+ .string()
302
+ .nullish()
303
+ .transform((dir) => {
304
+ if (!dir)
305
+ return join(appDir(), "cross-seeds");
306
+ logger.warn(`Set outputDir to null to prevent any issues from occurring (https://www.cross-seed.org/docs/basics/options#outputdir)`);
307
+ return dir;
308
+ })
309
+ .refine((dir) => {
263
310
  if (!existsSync(dir))
264
311
  return true;
265
312
  if (readdirSync(dir).some((f) => !f.endsWith(".torrent"))) {
@@ -267,7 +314,7 @@ export const VALIDATION_SCHEMA = z
267
314
  }
268
315
  return true;
269
316
  }),
270
- injectDir: z.string().optional(),
317
+ injectDir: z.string().nullish(),
271
318
  includeSingleEpisodes: z.boolean(),
272
319
  includeNonVideos: z.boolean(),
273
320
  fuzzySizeThreshold: z
@@ -278,7 +325,13 @@ export const VALIDATION_SCHEMA = z
278
325
  .number()
279
326
  .positive()
280
327
  .lte(1, ZodErrorMessages.numberMustBeRatio)
281
- .nullish(),
328
+ .nullish()
329
+ .or(z
330
+ .boolean()
331
+ .refine((value) => value !== true, {
332
+ message: "Expected string, received boolean (true)",
333
+ })
334
+ .transform(() => null)),
282
335
  excludeOlder: z
283
336
  .string()
284
337
  .min(1, ZodErrorMessages.emptyString)
@@ -302,6 +355,10 @@ export const VALIDATION_SCHEMA = z
302
355
  })
303
356
  .transform(() => null)),
304
357
  action: z.nativeEnum(Action),
358
+ torrentClients: z
359
+ .array(z.string())
360
+ .optional()
361
+ .transform(transformTorrentClients),
305
362
  qbittorrentUrl: z.string().url().nullish(),
306
363
  rtorrentRpcUrl: z.string().url().nullish(),
307
364
  transmissionRpcUrl: z.string().url().nullish(),
@@ -358,6 +415,37 @@ export const VALIDATION_SCHEMA = z
358
415
  .transform((v) => v ?? []),
359
416
  })
360
417
  .strict()
418
+ .refine((config) => {
419
+ if (config.qbittorrentUrl ||
420
+ config.rtorrentRpcUrl ||
421
+ config.transmissionRpcUrl ||
422
+ config.delugeRpcUrl) {
423
+ if (config.torrentClients.length)
424
+ return false;
425
+ logger.warn("qbittorrentUrl, rtorrentRpcUrl, transmissionRpcUrl, and delugeRpcUrl are deprecated, use torrentClients instead.");
426
+ if (config.qbittorrentUrl) {
427
+ config.torrentClients = [
428
+ `${Label.QBITTORRENT}:${config.qbittorrentUrl}`,
429
+ ];
430
+ }
431
+ else if (config.rtorrentRpcUrl) {
432
+ config.torrentClients = [
433
+ `${Label.RTORRENT}:${config.rtorrentRpcUrl}`,
434
+ ];
435
+ }
436
+ else if (config.transmissionRpcUrl) {
437
+ config.torrentClients = [
438
+ `${Label.TRANSMISSION}:${config.transmissionRpcUrl}`,
439
+ ];
440
+ }
441
+ else if (config.delugeRpcUrl) {
442
+ config.torrentClients = [
443
+ `${Label.DELUGE}:${config.delugeRpcUrl}`,
444
+ ];
445
+ }
446
+ }
447
+ return true;
448
+ }, "Cannot use qbittorrentUrl, rtorrentRpcUrl, transmissionRpcUrl, or delugeRpcUrl with torrentClients. Only use torrentClients.")
361
449
  .refine((config) => {
362
450
  if (!config.linkDir)
363
451
  return true;
@@ -377,12 +465,18 @@ export const VALIDATION_SCHEMA = z
377
465
  return true;
378
466
  }, "You cannot have both notificationWebhookUrl and notificationWebhookUrls, use notificationWebhookUrls only.")
379
467
  .refine((config) => !config.torrentDir || !config.useClientTorrents, ZodErrorMessages.torrentDirAndUseClientTorrents)
380
- .refine((config) => !config.useClientTorrents ||
381
- config.qbittorrentUrl ||
382
- config.delugeRpcUrl ||
383
- config.transmissionRpcUrl ||
384
- config.rtorrentRpcUrl, ZodErrorMessages.needsClient)
385
- .refine((config) => !config.useClientTorrents || !config.delugeRpcUrl, "Deluge does not currently support useClientTorrents, use torrentDir instead.")
468
+ .refine((config) => !config.useClientTorrents || config.torrentClients.length, ZodErrorMessages.needsClient)
469
+ .refine((config) => process.env.DEV ||
470
+ !config.useClientTorrents ||
471
+ !config.torrentClients.some((c) => c.startsWith(Label.DELUGE)), "Deluge does not currently support useClientTorrents, use torrentDir instead.")
472
+ .refine((config) => config.action !== Action.INJECT ||
473
+ config.torrentClients.some((c) => !c.includes(":readonly:")), ZodErrorMessages.clientTypeReadOnly)
474
+ .refine((config) => config.torrentClients.length <= 1 ||
475
+ (!config.torrentDir && !config.torrents?.length), ZodErrorMessages.multipleClientsTorrentFile)
476
+ .refine((config) => config.torrentClients.length <= 1 ||
477
+ config.linkDirs.length ||
478
+ !config.dataDirs.length, ZodErrorMessages.multipleClientsNoLinking)
479
+ .refine((config) => new Set(config.torrentClients.map((entry) => new URL(parseClientEntry(entry).url).host)).size === config.torrentClients.length, ZodErrorMessages.duplicateClients)
386
480
  .refine((config) => !config.searchCadence ||
387
481
  !config.excludeRecentSearch ||
388
482
  3 * config.searchCadence <= config.excludeRecentSearch, ZodErrorMessages.searchCadenceExcludeRecent)
@@ -405,7 +499,7 @@ export const VALIDATION_SCHEMA = z
405
499
  })
406
500
  .refine((config) => {
407
501
  if (config.action === Action.INJECT &&
408
- config.qbittorrentUrl &&
502
+ config.torrentClients.some((c) => c.startsWith(Label.QBITTORRENT)) &&
409
503
  !config.flatLinking &&
410
504
  config.linkDirs.length) {
411
505
  logger.warn(ZodErrorMessages.qBitAutoTMM);
@@ -419,13 +513,9 @@ export const VALIDATION_SCHEMA = z
419
513
  return true;
420
514
  })
421
515
  .refine((config) => config.action === Action.INJECT || !config.injectDir, ZodErrorMessages.injectNeedsInjectMode)
422
- .refine((config) => !(config.action === Action.INJECT &&
423
- !config.rtorrentRpcUrl &&
424
- !config.qbittorrentUrl &&
425
- !config.transmissionRpcUrl &&
426
- !config.delugeRpcUrl), ZodErrorMessages.injectUrl)
516
+ .refine((config) => config.torrentClients.length || config.action !== Action.INJECT, ZodErrorMessages.injectNeedsClients)
427
517
  .refine((config) => {
428
- if (config.delugeRpcUrl &&
518
+ if (config.torrentClients.every((c) => c.startsWith(Label.DELUGE)) &&
429
519
  config.blockList.some((b) => b.startsWith(`${BlocklistType.TAG}:`))) {
430
520
  logger.error(`${BlocklistType.TAG}: blocklisting is deprecated for Deluge, please use ${BlocklistType.CATEGORY}: instead (all ${BlocklistType.TAG}: blocklist items has being automatically converted to ${BlocklistType.CATEGORY}:).`);
431
521
  config.blockList = config.blockList.map((b) => {
@@ -435,7 +525,7 @@ export const VALIDATION_SCHEMA = z
435
525
  return b;
436
526
  });
437
527
  }
438
- if ((config.transmissionRpcUrl || config.rtorrentRpcUrl) &&
528
+ if (config.torrentClients.every((c) => c.startsWith(Label.RTORRENT) || c.startsWith(Label.DELUGE)) &&
439
529
  config.blockList.some((b) => b.startsWith(`${BlocklistType.CATEGORY}:`))) {
440
530
  logger.error(`Your client does not support ${BlocklistType.CATEGORY}: blocklisting, use ${BlocklistType.TAG}: instead for labels.`);
441
531
  return false;
@@ -448,11 +538,8 @@ export const VALIDATION_SCHEMA = z
448
538
  b.startsWith(`${BlocklistType.TRACKER}:`))) {
449
539
  return true;
450
540
  }
451
- if (!((config.useClientTorrents || config.torrentDir) &&
452
- (config.qbittorrentUrl ||
453
- config.delugeRpcUrl ||
454
- config.transmissionRpcUrl ||
455
- config.rtorrentRpcUrl))) {
541
+ if (!config.torrentClients.length ||
542
+ !(config.useClientTorrents || config.torrentDir)) {
456
543
  logger.error(ZodErrorMessages.blocklistNeedsClient);
457
544
  }
458
545
  return true;
@@ -475,11 +562,8 @@ export const VALIDATION_SCHEMA = z
475
562
  config.matchMode === MatchMode.STRICT ||
476
563
  config.action === Action.SAVE, ZodErrorMessages.matchModeNeedsLinkDirs)
477
564
  .refine((config) => !config.seasonFromEpisodes ||
478
- (!config.torrentDir && !config.useClientTorrents) ||
479
- config.qbittorrentUrl ||
480
- config.delugeRpcUrl ||
481
- config.transmissionRpcUrl ||
482
- config.rtorrentRpcUrl, ZodErrorMessages.ensembleNeedsClient)
565
+ !config.torrentDir ||
566
+ config.torrentClients.length, ZodErrorMessages.ensembleNeedsClient)
483
567
  .refine((config) => {
484
568
  if (!config.seasonFromEpisodes)
485
569
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../src/configSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../src/configSchema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":"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"}