cross-seed 6.0.0-0 → 6.0.0-10
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/README.md +6 -0
- package/dist/Result.js +17 -11
- package/dist/Result.js.map +1 -1
- package/dist/action.js +87 -58
- package/dist/action.js.map +1 -1
- package/dist/arr.js +191 -0
- package/dist/arr.js.map +1 -0
- package/dist/clients/Deluge.js +146 -74
- package/dist/clients/Deluge.js.map +1 -1
- package/dist/clients/QBittorrent.js +191 -115
- package/dist/clients/QBittorrent.js.map +1 -1
- package/dist/clients/RTorrent.js +6 -10
- package/dist/clients/RTorrent.js.map +1 -1
- package/dist/clients/TorrentClient.js.map +1 -1
- package/dist/clients/Transmission.js +5 -7
- package/dist/clients/Transmission.js.map +1 -1
- package/dist/cmd.js +23 -6
- package/dist/cmd.js.map +1 -1
- package/dist/config.template.cjs +80 -31
- package/dist/config.template.cjs.map +1 -1
- package/dist/configSchema.js +44 -35
- package/dist/configSchema.js.map +1 -1
- package/dist/configuration.js.map +1 -1
- package/dist/constants.js +65 -4
- package/dist/constants.js.map +1 -1
- package/dist/decide.js +143 -78
- 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 +15 -4
- 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/pipeline.js +22 -36
- package/dist/pipeline.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 +8 -0
- package/dist/startup.js.map +1 -1
- package/dist/torrent.js +18 -15
- package/dist/torrent.js.map +1 -1
- package/dist/torznab.js +189 -86
- package/dist/torznab.js.map +1 -1
- package/dist/utils.js +86 -19
- package/dist/utils.js.map +1 -1
- package/package.json +4 -13
package/dist/cmd.js
CHANGED
@@ -4,7 +4,7 @@ import { Option, program } from "commander";
|
|
4
4
|
import { getApiKey, resetApiKey } from "./auth.js";
|
5
5
|
import { VALIDATION_SCHEMA, customizeErrorMessage } from "./configSchema.js";
|
6
6
|
import { generateConfig, getFileConfig } from "./configuration.js";
|
7
|
-
import { Action, LinkType, MatchMode, PROGRAM_NAME, PROGRAM_VERSION, } from "./constants.js";
|
7
|
+
import { Action, LinkType, MatchMode, NEWLINE_INDENT, PROGRAM_NAME, PROGRAM_VERSION, } from "./constants.js";
|
8
8
|
import { db } from "./db.js";
|
9
9
|
import { diffCmd } from "./diff.js";
|
10
10
|
import { CrossSeedError, exitOnCrossSeedErrors } from "./errors.js";
|
@@ -55,7 +55,7 @@ export async function validateAndSetRuntimeConfig(options) {
|
|
55
55
|
const optionLine = path.length === 2
|
56
56
|
? `${path[0]} (position #${path[1] + 1})`
|
57
57
|
: path;
|
58
|
-
logger.error(`${path.length > 0 ? `Option: ${optionLine}` : "Configuration:"}
|
58
|
+
logger.error(`${path.length > 0 ? `Option: ${optionLine}` : "Configuration:"}${NEWLINE_INDENT}${message}${NEWLINE_INDENT}(https://www.cross-seed.org/docs/basics/options${urlPath ? `#${urlPath.toLowerCase()}` : ""})\n`);
|
59
59
|
});
|
60
60
|
if (errors?.length > 0) {
|
61
61
|
throw new CrossSeedError(`Your configuration is invalid, please see the ${errors.length > 1 ? "errors" : "error"} above for details.`);
|
@@ -81,14 +81,13 @@ function createCommandWithSharedOptions(name, description) {
|
|
81
81
|
.default(fallback(fileConfig.matchMode, MatchMode.SAFE))
|
82
82
|
.choices(Object.values(MatchMode))
|
83
83
|
.makeOptionMandatory())
|
84
|
-
.option("--
|
84
|
+
.option("--link-category <cat>", "Torrent client category to set on linked torrents", fallback(fileConfig.linkCategory, "cross-seed-link"))
|
85
85
|
.option("--link-dir <dir>", "Directory to output data-matched hardlinks to", fileConfig.linkDir)
|
86
|
-
.option("--
|
86
|
+
.option("--flat-linking", "Use flat linking directory structure (without individual tracker folders)", fallback(fileConfig.flatLinking, false))
|
87
87
|
.addOption(new Option("--link-type <type>", "Use links of this type to inject data-based matches into your client")
|
88
88
|
.default(fallback(fileConfig.linkType, LinkType.SYMLINK))
|
89
89
|
.choices(Object.values(LinkType))
|
90
90
|
.makeOptionMandatory())
|
91
|
-
.option("--skip-recheck", "Skips torrent recheck upon adding to QBittorrent", fallback(fileConfig.skipRecheck, false))
|
92
91
|
.option("--max-data-depth <depth>", "Max depth to look for searchees in dataDirs", (n) => parseInt(n), fallback(fileConfig.maxDataDepth, 2))
|
93
92
|
.option("-i, --torrent-dir <dir>", "Directory with torrent files", fileConfig.torrentDir)
|
94
93
|
.option("-s, --output-dir <dir>", "Directory to save results in", fileConfig.outputDir)
|
@@ -116,7 +115,13 @@ function createCommandWithSharedOptions(name, description) {
|
|
116
115
|
.option("--search-limit <number>", "The number of searches before stops", parseInt, fallback(fileConfig.searchLimit, 0))
|
117
116
|
.option("--block-list <strings>", "The infohashes and/or strings in torrent name to block from cross-seed",
|
118
117
|
// @ts-expect-error commander supports non-string defaults
|
119
|
-
fallback(fileConfig.blockList, []))
|
118
|
+
fallback(fileConfig.blockList, []))
|
119
|
+
.option("--sonarr <urls...>", "Sonarr API URL(s)",
|
120
|
+
// @ts-expect-error commander supports non-string defaults
|
121
|
+
fileConfig.sonarr)
|
122
|
+
.option("--radarr <urls...>", "Radarr API URL(s)",
|
123
|
+
// @ts-expect-error commander supports non-string defaults
|
124
|
+
fileConfig.radarr);
|
120
125
|
}
|
121
126
|
program.name(PROGRAM_NAME);
|
122
127
|
program.description(chalk.yellow.bold(`${PROGRAM_NAME} v${PROGRAM_VERSION}`));
|
@@ -140,6 +145,18 @@ program
|
|
140
145
|
});
|
141
146
|
await db.destroy();
|
142
147
|
});
|
148
|
+
program
|
149
|
+
.command("clear-indexer-failures")
|
150
|
+
.description("Clear the cached details of indexers (failures and caps)")
|
151
|
+
.action(async () => {
|
152
|
+
console.log("If you've received a '429' (rate-limiting), continuing to hammer", "your indexers may result in negative consequences.");
|
153
|
+
console.log("If you have to do this more than once in a short", "period of time, you have bigger issues that need to be addressed.");
|
154
|
+
await db("indexer").update({
|
155
|
+
status: null,
|
156
|
+
retry_after: null,
|
157
|
+
});
|
158
|
+
await db.destroy();
|
159
|
+
});
|
143
160
|
program
|
144
161
|
.command("test-notification")
|
145
162
|
.description("Send a test notification")
|
package/dist/cmd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":"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"}
|
package/dist/config.template.cjs
CHANGED
@@ -12,6 +12,13 @@ module.exports = {
|
|
12
12
|
*
|
13
13
|
* WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
|
14
14
|
**/
|
15
|
+
/**
|
16
|
+
* Provide your own API key here to override the autogenerated one.
|
17
|
+
* Not recommended - prefer using the autogenerated API key via
|
18
|
+
* `cross-seed api-key`.
|
19
|
+
* Must be 24+ characters.
|
20
|
+
*/
|
21
|
+
apiKey: undefined,
|
15
22
|
/**
|
16
23
|
* List of Torznab URLs.
|
17
24
|
* For Jackett, click "Copy RSS feed".
|
@@ -20,6 +27,36 @@ module.exports = {
|
|
20
27
|
* and separate them with commas, and surround the entire set in brackets.
|
21
28
|
*/
|
22
29
|
torznab: [],
|
30
|
+
/**
|
31
|
+
* URL(s) to your Sonarr instance(s), included in the same way as torznab
|
32
|
+
* URLs but for your Sonarr: note that api is not at the end. see below.
|
33
|
+
*
|
34
|
+
* You should order these in most likely to match -> least likely order.
|
35
|
+
* They are searched sequentially as they are listed.
|
36
|
+
*
|
37
|
+
* This apikey parameter comes from Sonarr
|
38
|
+
*
|
39
|
+
* Example: sonarr: ["http://sonarr:8989/?apikey=12345"],
|
40
|
+
*
|
41
|
+
* sonarr: ["http://sonarr:8989/?apikey=12345",
|
42
|
+
* "http://sonarr4k:8989/?apikey=12345"],
|
43
|
+
*/
|
44
|
+
sonarr: undefined,
|
45
|
+
/**
|
46
|
+
* URL(s) to your Radarr instance(s), included in the same way as torznab
|
47
|
+
* URLs but for your Sonarr: note that api is not at the end. see below.
|
48
|
+
*
|
49
|
+
* You should order these in most likely to match -> least likely order.
|
50
|
+
* They are searched sequentially as they are listed.
|
51
|
+
*
|
52
|
+
* This apikey parameter comes from Sonarr
|
53
|
+
*
|
54
|
+
* Example: radarr: ["http://radarr:7878/?apikey=12345"],
|
55
|
+
*
|
56
|
+
* radarr: ["http://radarr:7878/?apikey=12345",
|
57
|
+
* "http://radarr4k:7878/?apikey=12345"],
|
58
|
+
*/
|
59
|
+
radarr: undefined,
|
23
60
|
/**
|
24
61
|
* Bind to a specific host address.
|
25
62
|
* Example: "127.0.0.1"
|
@@ -44,6 +81,10 @@ module.exports = {
|
|
44
81
|
/**
|
45
82
|
* The url of your qBittorrent webui.
|
46
83
|
* Only relevant with action: "inject".
|
84
|
+
*
|
85
|
+
* If using Automatic Torrent Management, please read:
|
86
|
+
* https://www.cross-seed.org/docs/v6-migration#qbittorrent
|
87
|
+
*
|
47
88
|
* Supply your username and password inside the url like so:
|
48
89
|
* "http://username:password@localhost:8080"
|
49
90
|
*/
|
@@ -90,21 +131,15 @@ module.exports = {
|
|
90
131
|
*/
|
91
132
|
dataDirs: [],
|
92
133
|
/**
|
93
|
-
*
|
94
|
-
* "
|
95
|
-
*
|
96
|
-
*
|
97
|
-
*
|
98
|
-
*
|
99
|
-
* Options: "safe", "risky", "partial".
|
100
|
-
*/
|
101
|
-
matchMode: "safe",
|
102
|
-
/**
|
103
|
-
* Defines what category torrents injected by data-based matching should
|
104
|
-
* use.
|
134
|
+
* Defines what qBittorrent or Deluge category to set on linked torrents
|
135
|
+
* Default is "cross-seed-link".
|
136
|
+
*
|
137
|
+
* qBittorrent: If you have linking enabled, all torrents will be injected
|
138
|
+
* to this category.
|
139
|
+
*
|
105
140
|
* Default is "cross-seed-data".
|
106
141
|
*/
|
107
|
-
|
142
|
+
linkCategory: "cross-seed-link",
|
108
143
|
/**
|
109
144
|
* If this is specified, cross-seed will create links to matched files in
|
110
145
|
* the specified directory.
|
@@ -113,33 +148,48 @@ module.exports = {
|
|
113
148
|
*
|
114
149
|
* Unlike dataDirs, this is just a quoted string WITHOUT []'s around it.
|
115
150
|
*
|
151
|
+
* If you are a Windows user you need to put double '\' (e.g. "C:\\links")
|
152
|
+
*
|
116
153
|
* IF YOU ARE USING HARDLINKS, THIS MUST BE UNDER THE SAME VOLUME AS YOUR
|
117
154
|
* DATADIRS. THIS PATH MUST ALSO BE ACCESSIBLE VIA YOUR TORRENT CLIENT
|
118
155
|
* USING THE SAME PATH.
|
156
|
+
*
|
157
|
+
* We recommend reading the following FAQ entry:
|
158
|
+
* https://www.cross-seed.org/docs/basics/faq-troubleshooting#what-linktype-should-i-use
|
119
159
|
*/
|
120
160
|
linkDir: undefined,
|
121
161
|
/**
|
122
162
|
* cross-seed will use links of this type to inject data-based matches into
|
123
|
-
* your client.
|
163
|
+
* your client. We recommend reading the following FAQ entry:
|
124
164
|
* https://www.cross-seed.org/docs/basics/faq-troubleshooting#what-linktype-should-i-use
|
125
165
|
* Options: "symlink", "hardlink".
|
126
166
|
*/
|
127
167
|
linkType: "hardlink",
|
128
168
|
/**
|
129
|
-
* Enabling this will link files using v5's flat folder style.
|
130
|
-
* is necessary if you prefer flat folders of files or use qBittorrent and
|
131
|
-
* Automatic Torrent Management.
|
169
|
+
* Enabling this will link files using v5's flat folder style.
|
132
170
|
*
|
133
|
-
*
|
171
|
+
* Each individual Torznab tracker's cross-seeds, otherwise, will have it's
|
134
172
|
* own folder with the tracker's name and it's links within it.
|
135
173
|
*
|
174
|
+
* If using Automatic Torrent Management in qBittorrent, please read:
|
175
|
+
* https://www.cross-seed.org/docs/v6-migration#qbittorrent
|
176
|
+
*
|
136
177
|
* Default: false.
|
137
178
|
*/
|
138
|
-
|
179
|
+
flatLinking: false,
|
139
180
|
/**
|
140
|
-
*
|
181
|
+
* Determines flexibility of naming during matching.
|
182
|
+
* "safe" will allow only perfect name/size matches using the standard
|
183
|
+
* matching algorithm.
|
184
|
+
* "risky" uses filesize as its only comparison point.
|
185
|
+
* "partial" is like risky but allows matches if they are missing small
|
186
|
+
* files like .nfo/.srt.
|
187
|
+
* Options: "safe", "risky", "partial".
|
188
|
+
*
|
189
|
+
* We recommend reading the following FAQ entry:
|
190
|
+
* https://www.cross-seed.org/docs/basics/faq-troubleshooting#what-linktype-should-i-use
|
141
191
|
*/
|
142
|
-
|
192
|
+
matchMode: "safe",
|
143
193
|
/**
|
144
194
|
* Determines how deep into the specified dataDirs to go to generate new
|
145
195
|
* searchees. Setting this to higher values will result in more searchees
|
@@ -153,16 +203,20 @@ module.exports = {
|
|
153
203
|
* .rtorrent.rc file.
|
154
204
|
* For Deluge, this is ~/.config/deluge/state.
|
155
205
|
* For Transmission, this would be ~/.config/transmission/torrents.
|
206
|
+
*
|
207
|
+
* If you are a Windows user you need to put double '\' (e.g. "C:\\torrents")
|
156
208
|
*/
|
157
209
|
torrentDir: "/path/to/torrent/file/dir",
|
158
210
|
/**
|
159
211
|
* Where to save the torrent files that cross-seed finds for you.
|
212
|
+
*
|
213
|
+
* If you are a Windows user you need to put double '\' (e.g. "C:\\output")
|
160
214
|
*/
|
161
215
|
outputDir: ".",
|
162
216
|
/**
|
163
217
|
* Whether to search for all episode torrents, including those from season
|
164
218
|
* packs.
|
165
|
-
* This option overrides includeSingleEpisodes.
|
219
|
+
* This option overrides includeSingleEpisodes when set to true.
|
166
220
|
*/
|
167
221
|
includeEpisodes: false,
|
168
222
|
/**
|
@@ -241,8 +295,10 @@ module.exports = {
|
|
241
295
|
* qBittorrent and Deluge specific.
|
242
296
|
* Whether to inject using the same labels/categories as the original
|
243
297
|
* torrent.
|
244
|
-
*
|
245
|
-
*
|
298
|
+
*
|
299
|
+
* qBittorrent: This will apply the category's original category as a tag.
|
300
|
+
*
|
301
|
+
* Example: if you have a original label/category called "Movies", this will
|
246
302
|
* automatically inject cross-seeds to "Movies.cross-seed".
|
247
303
|
*/
|
248
304
|
duplicateCategories: false,
|
@@ -304,12 +360,5 @@ module.exports = {
|
|
304
360
|
* blocklist: ["3317e6485454354751555555366a8308c1e92093"],
|
305
361
|
*/
|
306
362
|
blockList: undefined,
|
307
|
-
/**
|
308
|
-
* Provide your own API key here to override the autogenerated one.
|
309
|
-
* Not recommended - prefer using the autogenerated API key via
|
310
|
-
* `cross-seed api-key`.
|
311
|
-
* Must be 24+ characters.
|
312
|
-
*/
|
313
|
-
apiKey: undefined,
|
314
363
|
};
|
315
364
|
//# sourceMappingURL=config.template.cjs.map
|
@@ -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;;;;;;OAMG;IACH,OAAO,EAAE,EAAE;IAEX;;;;OAIG;IACH,IAAI,EAAE,SAAS;IAEf;;OAEG;IACH,IAAI,EAAE,IAAI;IAEV;;;OAGG;IACH,sBAAsB,EAAE,SAAS;IAEjC;;;;OAIG;IACH,cAAc,EAAE,SAAS;IAEzB
|
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;;;;;;;;;;;;;OAaG;IACH,MAAM,EAAE,SAAS;IAEjB;;;;;;;;;;;;;OAaG;IACH,MAAM,EAAE,SAAS;IAEjB;;;;OAIG;IACH,IAAI,EAAE,SAAS;IAEf;;OAEG;IACH,IAAI,EAAE,IAAI;IAEV;;;OAGG;IACH,sBAAsB,EAAE,SAAS;IAEjC;;;;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;IAEH,KAAK,EAAE,EAAE;IAET;;;;;;;;;;;;;;OAcG;IAEH,QAAQ,EAAE,EAAE;IAEZ;;;;;;;;OAQG;IACH,YAAY,EAAE,iBAAiB;IAE/B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,EAAE,SAAS;IAElB;;;;;OAKG;IACH,QAAQ,EAAE,UAAU;IAEpB;;;;;;;;;;OAUG;IACH,WAAW,EAAE,KAAK;IAElB;;;;;;;;;;;OAWG;IACH,SAAS,EAAE,MAAM;IAEjB;;;;OAIG;IACH,YAAY,EAAE,CAAC;IAEf;;;;;;;;;OASG;IACH,UAAU,EAAE,2BAA2B;IAEvC;;;;OAIG;IACH,SAAS,EAAE,GAAG;IAEd;;;;OAIG;IACH,eAAe,EAAE,KAAK;IAEtB;;;;OAIG;IACH,qBAAqB,EAAE,KAAK;IAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,gBAAgB,EAAE,KAAK;IAEvB;;;;;;OAMG;IACH,kBAAkB,EAAE,IAAI;IAExB;;;OAGG;IAEH;;;;;;OAMG;IACH,YAAY,EAAE,SAAS;IAEvB;;;;;;;OAOG;IACH,mBAAmB,EAAE,QAAQ;IAE7B;;;OAGG;IACH,MAAM,EAAE,QAAQ;IAEhB;;;;;;;;;OASG;IACH,mBAAmB,EAAE,KAAK;IAE1B;;;;;;OAMG;IACH,UAAU,EAAE,YAAY;IAExB;;;;;;OAMG;IACH,aAAa,EAAE,OAAO;IAEtB;;;;;;OAMG;IACH,aAAa,EAAE,SAAS;IAExB;;;;;;OAMG;IACH,aAAa,EAAE,SAAS;IAExB;;;;;;;;;OASG;IACH,WAAW,EAAE,GAAG;IAEhB;;;;;;;;;;;;;OAaG;IACH,SAAS,EAAE,SAAS;CACpB,CAAC"}
|
package/dist/configSchema.js
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
import ms from "ms";
|
2
|
-
import { sep } from "path";
|
3
2
|
import { z } from "zod";
|
4
|
-
import { Action, LinkType, MatchMode } from "./constants.js";
|
3
|
+
import { Action, LinkType, MatchMode, NEWLINE_INDENT } from "./constants.js";
|
5
4
|
import { logger } from "./logger.js";
|
5
|
+
import { resolve, relative, isAbsolute } from "path";
|
6
6
|
/**
|
7
7
|
* error messages and map returned upon Zod validation failure
|
8
8
|
*/
|
9
9
|
const ZodErrorMessages = {
|
10
10
|
vercel: "format does not follow vercel's `ms` style ( https://github.com/vercel/ms#examples )",
|
11
11
|
emptyString: "cannot have an empty string. If you want to unset it, use null or undefined.",
|
12
|
-
|
12
|
+
delayNegative: "delay is in seconds, you can't travel back in time.",
|
13
|
+
delayTooHigh: `delay over 1hr is not supported.${NEWLINE_INDENT}To even out search loads please see the following documentation:${NEWLINE_INDENT}(https://www.cross-seed.org/docs/basics/daemon#set-up-periodic-searches)`,
|
13
14
|
fuzzySizeThreshold: "fuzzySizeThreshold must be between 0 and 1.",
|
14
15
|
injectUrl: "You need to specify rtorrentRpcUrl, transmissionRpcUrl, qbittorrentUrl, or delugeRpcUrl when using 'inject'",
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
needsLinkDir: "You need to set a linkDir for risky or partial matching to work.",
|
16
|
+
qBitAutoTMM: "If using Automatic Torrent Management in qBittorrent, please read: https://www.cross-seed.org/docs/v6-migration#qbittorrent",
|
17
|
+
needsLinkDir: "You need to set a linkDir (and have your data accessible) for risky or partial matching to work.",
|
18
|
+
linkDirInDataDir: "You cannot have your linkDir inside of your dataDirs. Please adjust your paths to correct this.",
|
19
19
|
};
|
20
20
|
/**
|
21
21
|
* custom zod error map for logging
|
@@ -62,14 +62,19 @@ function transformDurationString(durationStr, ctx) {
|
|
62
62
|
return duration;
|
63
63
|
}
|
64
64
|
/**
|
65
|
-
*
|
66
|
-
* @
|
65
|
+
* check a potential child path being inside a array of parent paths
|
66
|
+
* @param linkDir path of the potential child (linkDir)
|
67
|
+
* @param dataDirs array of dataDir paths
|
68
|
+
* @returns true if `linkDir` is inside any dataDir at any nesting level, false otherwise.
|
67
69
|
*/
|
68
|
-
function
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
70
|
+
function isChildPath(linkDir, dataDirs) {
|
71
|
+
return dataDirs.some((datadir) => {
|
72
|
+
const resolvedParent = resolve(datadir);
|
73
|
+
const resolvedChild = resolve(linkDir);
|
74
|
+
const relativePath = relative(resolvedParent, resolvedChild);
|
75
|
+
// if the path does not start with '..' and is not absolute
|
76
|
+
return !(relativePath.startsWith("..") || isAbsolute(relativePath));
|
77
|
+
});
|
73
78
|
}
|
74
79
|
/**
|
75
80
|
* an object of the zod schema
|
@@ -77,28 +82,24 @@ function checkValidPathFormat(path, ctx) {
|
|
77
82
|
*/
|
78
83
|
export const VALIDATION_SCHEMA = z
|
79
84
|
.object({
|
80
|
-
delay: z
|
81
|
-
|
82
|
-
|
85
|
+
delay: z
|
86
|
+
.number()
|
87
|
+
.nonnegative({
|
88
|
+
message: ZodErrorMessages.delayNegative,
|
89
|
+
})
|
90
|
+
.lte(3600, ZodErrorMessages.delayTooHigh),
|
83
91
|
torznab: z.array(z.string().url()),
|
84
|
-
dataDirs: z
|
85
|
-
.array(z
|
86
|
-
.string()
|
87
|
-
.transform((value, ctx) => value && value.length > 0
|
88
|
-
? checkValidPathFormat(value, ctx)
|
89
|
-
: null))
|
90
|
-
.nullish(),
|
92
|
+
dataDirs: z.array(z.string()).nullish(),
|
91
93
|
matchMode: z.nativeEnum(MatchMode),
|
92
|
-
|
93
|
-
linkDir: z.string().
|
94
|
+
linkCategory: z.string().nullish(),
|
95
|
+
linkDir: z.string().nullish(),
|
94
96
|
linkType: z.nativeEnum(LinkType),
|
95
|
-
|
97
|
+
flatLinking: z
|
96
98
|
.boolean()
|
97
99
|
.nullish()
|
98
100
|
.transform((value) => (typeof value === "boolean" ? value : false)),
|
99
|
-
skipRecheck: z.boolean(),
|
100
101
|
maxDataDepth: z.number().gte(1),
|
101
|
-
torrentDir: z.string().
|
102
|
+
torrentDir: z.string().nullable(),
|
102
103
|
outputDir: z.string(),
|
103
104
|
includeEpisodes: z.boolean(),
|
104
105
|
includeSingleEpisodes: z.boolean(),
|
@@ -158,14 +159,22 @@ export const VALIDATION_SCHEMA = z
|
|
158
159
|
.nullish()
|
159
160
|
.transform((value) => (Array.isArray(value) ? value : [])),
|
160
161
|
apiKey: z.string().min(24).nullish(),
|
162
|
+
radarr: z
|
163
|
+
.array(z.string().url())
|
164
|
+
.nullish()
|
165
|
+
.transform((value) => value ?? []),
|
166
|
+
sonarr: z
|
167
|
+
.array(z.string().url())
|
168
|
+
.nullish()
|
169
|
+
.transform((value) => value ?? []),
|
161
170
|
})
|
162
171
|
.strict()
|
163
172
|
.refine((config) => {
|
164
173
|
if (config.action === Action.INJECT &&
|
165
174
|
config.qbittorrentUrl &&
|
166
|
-
!config.
|
175
|
+
!config.flatLinking &&
|
167
176
|
config.linkDir) {
|
168
|
-
logger.warn(ZodErrorMessages.
|
177
|
+
logger.warn(ZodErrorMessages.qBitAutoTMM);
|
169
178
|
}
|
170
179
|
return true;
|
171
180
|
})
|
@@ -174,11 +183,11 @@ export const VALIDATION_SCHEMA = z
|
|
174
183
|
!config.qbittorrentUrl &&
|
175
184
|
!config.transmissionRpcUrl &&
|
176
185
|
!config.delugeRpcUrl), ZodErrorMessages.injectUrl)
|
186
|
+
.refine((config) => config.matchMode === MatchMode.SAFE || config.linkDir, ZodErrorMessages.needsLinkDir)
|
177
187
|
.refine((config) => {
|
178
|
-
if (config.
|
179
|
-
|
188
|
+
if (config.linkDir && config.dataDirs) {
|
189
|
+
return !isChildPath(config.linkDir, config.dataDirs);
|
180
190
|
}
|
181
191
|
return true;
|
182
|
-
})
|
183
|
-
.refine((config) => config.matchMode === MatchMode.SAFE || config.linkDir, ZodErrorMessages.needsLinkDir);
|
192
|
+
}, ZodErrorMessages.linkDirInDataDir);
|
184
193
|
//# sourceMappingURL=configSchema.js.map
|
package/dist/configSchema.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../src/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,
|
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.js
CHANGED
@@ -6,14 +6,59 @@ export const PROGRAM_VERSION = packageDotJson.version;
|
|
6
6
|
export const USER_AGENT = `CrossSeed/${PROGRAM_VERSION}`;
|
7
7
|
export const TORRENT_TAG = "cross-seed";
|
8
8
|
export const TORRENT_CATEGORY_SUFFIX = `.cross-seed`;
|
9
|
-
export const
|
10
|
-
export const
|
9
|
+
export const NEWLINE_INDENT = "\n\t\t\t\t";
|
10
|
+
export const EP_REGEX = /^(?<title>.+?)[_.\s-]+(?:(?<season>S\d+)?[_.\s-]{0,3}(?<episode>(?:E|(?<=S\d+[_\s-]{1,3}))\d+(?:[\s-]?E?\d+)?(?![pix]))(?!\d+[pix])|(?<date>(?<year>(?:19|20)\d{2})[_.\s-](?<month>\d{2})[_.\s-](?<day>\d{2})))/i;
|
11
|
+
export const SEASON_REGEX = /^(?<title>.+?)[[_.\s-]+(?<season>S\d+)(?:[_.\s~-]*?(?<seasonmax>S?\d+))?(?=[\]_.\s](?!E\d+))/i;
|
11
12
|
export const MOVIE_REGEX = /^(?<title>.+?)-?[_.\s][[(]?(?<year>(?:18|19|20)\d{2})[)\]]?(?![pix])/i;
|
12
|
-
export const ANIME_REGEX = /^(?:\[(?<group>.*?)\][_.\s-]?)?(?:\[?(?<title>.+?)[_.\s-]?(?:\(?(?:\d{1,2}(?:st|nd|rd|th))?\s?Season)?[_.\s-]?\]?)(?:[([~/|-]\s?(?!\d{4})(?<altTitle>.+?)[)\]~-]?\s?)?[_.\s-]?(
|
13
|
-
export const RELEASE_GROUP_REGEX = /(?<=-)(?:\W|\b)(?!(?:\d{3,4}[ip]))(?!\d+\b)(?:\W|\b)(?<group>[\w ]+?)(?:\[.+\])?(?:\))
|
13
|
+
export const ANIME_REGEX = /^(?:\[(?<group>.*?)\][_.\s-]?)?(?:\[?(?<title>.+?)[_.\s-]?(?:\(?(?:\d{1,2}(?:st|nd|rd|th))?\s?Season)?[_.\s-]?\]?)(?:[([~/|-]\s?(?!\d{1,4})(?<altTitle>.+?)[)\]~-]?\s?)?[_.\s-]?(?:[[(]?(?<year>(?:19|20)\d{2})[)\]]?)?[[_.\s-](?:S\d{1,2})?[_.\s-]{0,3}(?:#|EP?|(?:SP))?[_.\s-]{0,3}(?!\d{3,4}[pix])(?<release>\d{1,4})/i;
|
14
|
+
export const RELEASE_GROUP_REGEX = /(?<=-)(?:\W|\b)(?!(?:\d{3,4}[ip]))(?!\d+\b)(?:\W|\b)(?<group>[\w .]+?)(?:\[.+\])?(?:\))?$/i;
|
15
|
+
export const RESOLUTION_REGEX = /\b(?<res>\d{3,4}[pix](?:\d{3,4}[pi]?)?)\b/i;
|
16
|
+
export const RES_STRICT_REGEX = /(?<res>(?:2160|1080|720)[pi])/;
|
17
|
+
export const REPACK_PROPER_REGEX = /(?:\b(?<type>(?:REPACK|PROPER|\d\v\d)\d?))\b/i;
|
18
|
+
export const ARR_PROPER_REGEX = /(?:\b(?<arrtype>(?:Proper|v\d)))\b/;
|
19
|
+
export const SCENE_TITLE_REGEX = /^(?:\w{0,5}-)?(?<title>.*)/i;
|
20
|
+
export const ARR_DIR_REGEX = /^(?!.*(?:(\d{3,4}[ipx])|([xh]26[4-6])|(?:(he)|a)vc))[\p{L}\s:\w'’!().,&–+-]+(?:\(\d{4}\))?\s?(?:\{(?:tm|tv|im)db(?:id)?-\w+\})?$/iu;
|
14
21
|
export const VIDEO_EXTENSIONS = [".mkv", ".mp4", ".avi", ".ts"];
|
22
|
+
export const AUDIO_EXTENSIONS = [
|
23
|
+
".wav",
|
24
|
+
".aiff",
|
25
|
+
".alac",
|
26
|
+
".flac",
|
27
|
+
".ape",
|
28
|
+
".mp3",
|
29
|
+
".aac",
|
30
|
+
".m4a",
|
31
|
+
".m4b",
|
32
|
+
".m4p",
|
33
|
+
".ogg",
|
34
|
+
".wma",
|
35
|
+
".aa",
|
36
|
+
".aax",
|
37
|
+
];
|
38
|
+
export const BOOK_EXTENSIONS = [
|
39
|
+
".epub",
|
40
|
+
".mobi",
|
41
|
+
".azw",
|
42
|
+
".azw3",
|
43
|
+
".azw4",
|
44
|
+
".pdf",
|
45
|
+
".djvu",
|
46
|
+
".html",
|
47
|
+
".chm",
|
48
|
+
".cbr",
|
49
|
+
".cbz",
|
50
|
+
".cb7",
|
51
|
+
".cbt",
|
52
|
+
".cba",
|
53
|
+
];
|
54
|
+
export const ALL_EXTENSIONS = [
|
55
|
+
...VIDEO_EXTENSIONS,
|
56
|
+
...AUDIO_EXTENSIONS,
|
57
|
+
...BOOK_EXTENSIONS,
|
58
|
+
];
|
15
59
|
export const IGNORED_FOLDERS_REGEX = /^(S(eason )?\d{1,4}|((CD|DVD|DISC)\d{1,2}))$/i;
|
16
60
|
export const TORRENT_CACHE_FOLDER = "torrent_cache";
|
61
|
+
export const UNKNOWN_TRACKER = "UnknownTracker";
|
17
62
|
export var Action;
|
18
63
|
(function (Action) {
|
19
64
|
Action["SAVE"] = "save";
|
@@ -35,15 +80,25 @@ export var Decision;
|
|
35
80
|
Decision["MATCH"] = "MATCH";
|
36
81
|
Decision["MATCH_SIZE_ONLY"] = "MATCH_SIZE_ONLY";
|
37
82
|
Decision["MATCH_PARTIAL"] = "MATCH_PARTIAL";
|
83
|
+
Decision["FUZZY_SIZE_MISMATCH"] = "FUZZY_SIZE_MISMATCH";
|
38
84
|
Decision["SIZE_MISMATCH"] = "SIZE_MISMATCH";
|
85
|
+
Decision["PARTIAL_SIZE_MISMATCH"] = "PARTIAL_SIZE_MISMATCH";
|
39
86
|
Decision["NO_DOWNLOAD_LINK"] = "NO_DOWNLOAD_LINK";
|
40
87
|
Decision["DOWNLOAD_FAILED"] = "DOWNLOAD_FAILED";
|
88
|
+
Decision["MAGNET_LINK"] = "MAGNET_LINK";
|
41
89
|
Decision["RATE_LIMITED"] = "RATE_LIMITED";
|
42
90
|
Decision["INFO_HASH_ALREADY_EXISTS"] = "INFO_HASH_ALREADY_EXISTS";
|
43
91
|
Decision["FILE_TREE_MISMATCH"] = "FILE_TREE_MISMATCH";
|
44
92
|
Decision["RELEASE_GROUP_MISMATCH"] = "RELEASE_GROUP_MISMATCH";
|
45
93
|
Decision["BLOCKED_RELEASE"] = "BLOCKED_RELEASE";
|
94
|
+
Decision["PROPER_REPACK_MISMATCH"] = "PROPER_REPACK_MISMATCH";
|
95
|
+
Decision["RESOLUTION_MISMATCH"] = "RESOLUTION_MISMATCH";
|
46
96
|
})(Decision || (Decision = {}));
|
97
|
+
export function isDecisionAnyMatch(decision) {
|
98
|
+
return (decision === Decision.MATCH ||
|
99
|
+
decision === Decision.MATCH_SIZE_ONLY ||
|
100
|
+
decision === Decision.MATCH_PARTIAL);
|
101
|
+
}
|
47
102
|
export var MatchMode;
|
48
103
|
(function (MatchMode) {
|
49
104
|
MatchMode["SAFE"] = "safe";
|
@@ -55,6 +110,12 @@ export var LinkType;
|
|
55
110
|
LinkType["SYMLINK"] = "symlink";
|
56
111
|
LinkType["HARDLINK"] = "hardlink";
|
57
112
|
})(LinkType || (LinkType = {}));
|
113
|
+
export var SearcheeSource;
|
114
|
+
(function (SearcheeSource) {
|
115
|
+
SearcheeSource["TORRENT"] = "torrentDir";
|
116
|
+
SearcheeSource["DATA"] = "dataDir";
|
117
|
+
SearcheeSource["VIRTUAL"] = "virtual";
|
118
|
+
})(SearcheeSource || (SearcheeSource = {}));
|
58
119
|
export const IGNORED_FOLDERS_SUBSTRINGS = [
|
59
120
|
"sample",
|
60
121
|
"proof",
|
package/dist/constants.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC;AACtD,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,eAAe,EAAE,CAAC;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|