cross-seed 6.11.2 → 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.
- package/dist/action.js +339 -222
- package/dist/action.js.map +1 -1
- package/dist/clients/Deluge.js +100 -55
- package/dist/clients/Deluge.js.map +1 -1
- package/dist/clients/QBittorrent.js +147 -50
- package/dist/clients/QBittorrent.js.map +1 -1
- package/dist/clients/RTorrent.js +86 -56
- package/dist/clients/RTorrent.js.map +1 -1
- package/dist/clients/TorrentClient.js +60 -28
- package/dist/clients/TorrentClient.js.map +1 -1
- package/dist/clients/Transmission.js +67 -33
- package/dist/clients/Transmission.js.map +1 -1
- package/dist/cmd.js +10 -13
- package/dist/cmd.js.map +1 -1
- package/dist/config.template.cjs +17 -29
- package/dist/config.template.cjs.map +1 -1
- package/dist/configSchema.js +104 -30
- package/dist/configSchema.js.map +1 -1
- package/dist/configuration.js.map +1 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/dataFiles.js +14 -11
- package/dist/dataFiles.js.map +1 -1
- package/dist/db.js +10 -7
- package/dist/db.js.map +1 -1
- package/dist/decide.js +13 -16
- package/dist/decide.js.map +1 -1
- package/dist/diff.js +5 -26
- package/dist/diff.js.map +1 -1
- package/dist/inject.js +99 -98
- package/dist/inject.js.map +1 -1
- package/dist/logger.js +26 -15
- package/dist/logger.js.map +1 -1
- package/dist/pipeline.js +127 -75
- package/dist/pipeline.js.map +1 -1
- package/dist/preFilter.js +2 -35
- package/dist/preFilter.js.map +1 -1
- package/dist/pushNotifier.js +3 -0
- package/dist/pushNotifier.js.map +1 -1
- package/dist/runtimeConfig.js.map +1 -1
- package/dist/searchee.js +136 -91
- package/dist/searchee.js.map +1 -1
- package/dist/startup.js +3 -2
- package/dist/startup.js.map +1 -1
- package/dist/torrent.js +132 -98
- package/dist/torrent.js.map +1 -1
- package/dist/torznab.js +5 -5
- package/dist/torznab.js.map +1 -1
- package/dist/utils.js +26 -6
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
    
        package/dist/configSchema.js
    CHANGED
    
    | @@ -2,9 +2,10 @@ import { existsSync, readdirSync } from "fs"; | |
| 2 2 | 
             
            import ms from "ms";
         | 
| 3 3 | 
             
            import { isAbsolute, join, relative, resolve } from "path";
         | 
| 4 4 | 
             
            import { z } from "zod";
         | 
| 5 | 
            +
            import { parseClientEntry } from "./clients/TorrentClient.js";
         | 
| 5 6 | 
             
            import { appDir } from "./configuration.js";
         | 
| 6 7 | 
             
            import { Action, BlocklistType, LinkType, MatchMode, NEWLINE_INDENT, parseBlocklistEntry, } from "./constants.js";
         | 
| 7 | 
            -
            import { logger } from "./logger.js";
         | 
| 8 | 
            +
            import { Label, logger } from "./logger.js";
         | 
| 8 9 | 
             
            import { formatAsList } from "./utils.js";
         | 
| 9 10 | 
             
            /**
         | 
| 10 11 | 
             
             * error messages and map returned upon Zod validation failure
         | 
| @@ -32,7 +33,17 @@ const ZodErrorMessages = { | |
| 32 33 | 
             
                numberMustBeRatio: "fuzzySizeThreshold and seasonFromEpisodes must be between 0 and 1.",
         | 
| 33 34 | 
             
                fuzzySizeThresholdMax: "fuzzySizeThreshold cannot be greater than 0.1 when using searchCadence or rssCadence.",
         | 
| 34 35 | 
             
                seasonFromEpisodesMin: "seasonFromEpisodes cannot be less than 0.5 when using searchCadence or rssCadence",
         | 
| 35 | 
            -
                 | 
| 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'",
         | 
| 36 47 | 
             
                qBitAutoTMM: "If using Automatic Torrent Management in qBittorrent, please read: https://www.cross-seed.org/docs/v6-migration#new-folder-structure-for-links",
         | 
| 37 48 | 
             
                includeSingleEpisodes: "includeSingleEpisodes is not recommended when using announce, please read: https://www.cross-seed.org/docs/v6-migration#updated-includesingleepisodes-behavior",
         | 
| 38 49 | 
             
                invalidOutputDir: "outputDir should only contain .torrent files, cross-seed will populate and manage (https://www.cross-seed.org/docs/basics/options#outputdir)",
         | 
| @@ -96,6 +107,33 @@ function transformDurationString(durationStr, ctx) { | |
| 96 107 | 
             
                }
         | 
| 97 108 | 
             
                return duration;
         | 
| 98 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 | 
            +
            }
         | 
| 99 137 | 
             
            /**
         | 
| 100 138 | 
             
             * helper function for verifying blocklist types
         | 
| 101 139 | 
             
             * @param blockList the blocklist to validate
         | 
| @@ -103,9 +141,8 @@ function transformDurationString(durationStr, ctx) { | |
| 103 141 | 
             
             * @return blocklist (string array)
         | 
| 104 142 | 
             
             */
         | 
| 105 143 | 
             
            function transformBlocklist(blockList, ctx) {
         | 
| 106 | 
            -
                if (!Array.isArray(blockList)) | 
| 144 | 
            +
                if (!Array.isArray(blockList))
         | 
| 107 145 | 
             
                    return [];
         | 
| 108 | 
            -
                }
         | 
| 109 146 | 
             
                const sizeTest = (value, existing) => {
         | 
| 110 147 | 
             
                    if (!existing) {
         | 
| 111 148 | 
             
                        const match = value.match(/^\d+$/);
         | 
| @@ -252,7 +289,7 @@ export const VALIDATION_SCHEMA = z | |
| 252 289 | 
             
                    .gte(1)
         | 
| 253 290 | 
             
                    .refine((maxDataDepth) => {
         | 
| 254 291 | 
             
                    if (maxDataDepth > 3) {
         | 
| 255 | 
            -
                        logger. | 
| 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`);
         | 
| 256 293 | 
             
                    }
         | 
| 257 294 | 
             
                    return true;
         | 
| 258 295 | 
             
                }),
         | 
| @@ -288,7 +325,13 @@ export const VALIDATION_SCHEMA = z | |
| 288 325 | 
             
                    .number()
         | 
| 289 326 | 
             
                    .positive()
         | 
| 290 327 | 
             
                    .lte(1, ZodErrorMessages.numberMustBeRatio)
         | 
| 291 | 
            -
                    .nullish() | 
| 328 | 
            +
                    .nullish()
         | 
| 329 | 
            +
                    .or(z
         | 
| 330 | 
            +
                    .boolean()
         | 
| 331 | 
            +
                    .refine((value) => value !== true, {
         | 
| 332 | 
            +
                    message: "Expected string, received boolean (true)",
         | 
| 333 | 
            +
                })
         | 
| 334 | 
            +
                    .transform(() => null)),
         | 
| 292 335 | 
             
                excludeOlder: z
         | 
| 293 336 | 
             
                    .string()
         | 
| 294 337 | 
             
                    .min(1, ZodErrorMessages.emptyString)
         | 
| @@ -312,6 +355,10 @@ export const VALIDATION_SCHEMA = z | |
| 312 355 | 
             
                })
         | 
| 313 356 | 
             
                    .transform(() => null)),
         | 
| 314 357 | 
             
                action: z.nativeEnum(Action),
         | 
| 358 | 
            +
                torrentClients: z
         | 
| 359 | 
            +
                    .array(z.string())
         | 
| 360 | 
            +
                    .optional()
         | 
| 361 | 
            +
                    .transform(transformTorrentClients),
         | 
| 315 362 | 
             
                qbittorrentUrl: z.string().url().nullish(),
         | 
| 316 363 | 
             
                rtorrentRpcUrl: z.string().url().nullish(),
         | 
| 317 364 | 
             
                transmissionRpcUrl: z.string().url().nullish(),
         | 
| @@ -368,6 +415,37 @@ export const VALIDATION_SCHEMA = z | |
| 368 415 | 
             
                    .transform((v) => v ?? []),
         | 
| 369 416 | 
             
            })
         | 
| 370 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.")
         | 
| 371 449 | 
             
                .refine((config) => {
         | 
| 372 450 | 
             
                if (!config.linkDir)
         | 
| 373 451 | 
             
                    return true;
         | 
| @@ -387,12 +465,18 @@ export const VALIDATION_SCHEMA = z | |
| 387 465 | 
             
                return true;
         | 
| 388 466 | 
             
            }, "You cannot have both notificationWebhookUrl and notificationWebhookUrls, use notificationWebhookUrls only.")
         | 
| 389 467 | 
             
                .refine((config) => !config.torrentDir || !config.useClientTorrents, ZodErrorMessages.torrentDirAndUseClientTorrents)
         | 
| 390 | 
            -
                .refine((config) => !config.useClientTorrents ||
         | 
| 391 | 
            -
                config. | 
| 392 | 
            -
                config. | 
| 393 | 
            -
                config. | 
| 394 | 
            -
                config. | 
| 395 | 
            -
                . | 
| 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)
         | 
| 396 480 | 
             
                .refine((config) => !config.searchCadence ||
         | 
| 397 481 | 
             
                !config.excludeRecentSearch ||
         | 
| 398 482 | 
             
                3 * config.searchCadence <= config.excludeRecentSearch, ZodErrorMessages.searchCadenceExcludeRecent)
         | 
| @@ -415,7 +499,7 @@ export const VALIDATION_SCHEMA = z | |
| 415 499 | 
             
            })
         | 
| 416 500 | 
             
                .refine((config) => {
         | 
| 417 501 | 
             
                if (config.action === Action.INJECT &&
         | 
| 418 | 
            -
                    config. | 
| 502 | 
            +
                    config.torrentClients.some((c) => c.startsWith(Label.QBITTORRENT)) &&
         | 
| 419 503 | 
             
                    !config.flatLinking &&
         | 
| 420 504 | 
             
                    config.linkDirs.length) {
         | 
| 421 505 | 
             
                    logger.warn(ZodErrorMessages.qBitAutoTMM);
         | 
| @@ -429,13 +513,9 @@ export const VALIDATION_SCHEMA = z | |
| 429 513 | 
             
                return true;
         | 
| 430 514 | 
             
            })
         | 
| 431 515 | 
             
                .refine((config) => config.action === Action.INJECT || !config.injectDir, ZodErrorMessages.injectNeedsInjectMode)
         | 
| 432 | 
            -
                .refine((config) =>  | 
| 433 | 
            -
                !config.rtorrentRpcUrl &&
         | 
| 434 | 
            -
                !config.qbittorrentUrl &&
         | 
| 435 | 
            -
                !config.transmissionRpcUrl &&
         | 
| 436 | 
            -
                !config.delugeRpcUrl), ZodErrorMessages.injectUrl)
         | 
| 516 | 
            +
                .refine((config) => config.torrentClients.length || config.action !== Action.INJECT, ZodErrorMessages.injectNeedsClients)
         | 
| 437 517 | 
             
                .refine((config) => {
         | 
| 438 | 
            -
                if (config. | 
| 518 | 
            +
                if (config.torrentClients.every((c) => c.startsWith(Label.DELUGE)) &&
         | 
| 439 519 | 
             
                    config.blockList.some((b) => b.startsWith(`${BlocklistType.TAG}:`))) {
         | 
| 440 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}:).`);
         | 
| 441 521 | 
             
                    config.blockList = config.blockList.map((b) => {
         | 
| @@ -445,7 +525,7 @@ export const VALIDATION_SCHEMA = z | |
| 445 525 | 
             
                        return b;
         | 
| 446 526 | 
             
                    });
         | 
| 447 527 | 
             
                }
         | 
| 448 | 
            -
                if ( | 
| 528 | 
            +
                if (config.torrentClients.every((c) => c.startsWith(Label.RTORRENT) || c.startsWith(Label.DELUGE)) &&
         | 
| 449 529 | 
             
                    config.blockList.some((b) => b.startsWith(`${BlocklistType.CATEGORY}:`))) {
         | 
| 450 530 | 
             
                    logger.error(`Your client does not support ${BlocklistType.CATEGORY}: blocklisting, use ${BlocklistType.TAG}: instead for labels.`);
         | 
| 451 531 | 
             
                    return false;
         | 
| @@ -458,11 +538,8 @@ export const VALIDATION_SCHEMA = z | |
| 458 538 | 
             
                    b.startsWith(`${BlocklistType.TRACKER}:`))) {
         | 
| 459 539 | 
             
                    return true;
         | 
| 460 540 | 
             
                }
         | 
| 461 | 
            -
                if (! | 
| 462 | 
            -
                    (config. | 
| 463 | 
            -
                        config.delugeRpcUrl ||
         | 
| 464 | 
            -
                        config.transmissionRpcUrl ||
         | 
| 465 | 
            -
                        config.rtorrentRpcUrl))) {
         | 
| 541 | 
            +
                if (!config.torrentClients.length ||
         | 
| 542 | 
            +
                    !(config.useClientTorrents || config.torrentDir)) {
         | 
| 466 543 | 
             
                    logger.error(ZodErrorMessages.blocklistNeedsClient);
         | 
| 467 544 | 
             
                }
         | 
| 468 545 | 
             
                return true;
         | 
| @@ -485,11 +562,8 @@ export const VALIDATION_SCHEMA = z | |
| 485 562 | 
             
                config.matchMode === MatchMode.STRICT ||
         | 
| 486 563 | 
             
                config.action === Action.SAVE, ZodErrorMessages.matchModeNeedsLinkDirs)
         | 
| 487 564 | 
             
                .refine((config) => !config.seasonFromEpisodes ||
         | 
| 488 | 
            -
                 | 
| 489 | 
            -
                config. | 
| 490 | 
            -
                config.delugeRpcUrl ||
         | 
| 491 | 
            -
                config.transmissionRpcUrl ||
         | 
| 492 | 
            -
                config.rtorrentRpcUrl, ZodErrorMessages.ensembleNeedsClient)
         | 
| 565 | 
            +
                !config.torrentDir ||
         | 
| 566 | 
            +
                config.torrentClients.length, ZodErrorMessages.ensembleNeedsClient)
         | 
| 493 567 | 
             
                .refine((config) => {
         | 
| 494 568 | 
             
                if (!config.seasonFromEpisodes)
         | 
| 495 569 | 
             
                    return true;
         | 
    
        package/dist/configSchema.js.map
    CHANGED
    
    | @@ -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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,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
    
    | @@ -19,7 +19,7 @@ export const RES_STRICT_REGEX = /(?<res>(?:2160|1080|720)[pi])/; | |
| 19 19 | 
             
            export const YEARS_REGEX = /(?<year>(?:19|20)\d{2})(?![pix])/gi;
         | 
| 20 20 | 
             
            export const REPACK_PROPER_REGEX = /(?:\b(?<type>(?:REPACK|PROPER|\dv\d)\d?))\b/i;
         | 
| 21 21 | 
             
            export const ARR_PROPER_REGEX = /(?:\b(?<arrtype>(?:Proper|\dv\d)))\b/;
         | 
| 22 | 
            -
            export const SCENE_TITLE_REGEX = /^(?:[a-z0-9]{ | 
| 22 | 
            +
            export const SCENE_TITLE_REGEX = /^(?:[a-z0-9]{3,5}-)?(?<title>.*)/;
         | 
| 23 23 | 
             
            export const ARR_DIR_REGEX = /^(?<title>(?!.*(?:(\d{3,4}[ipx])|([xh.]+26[4-6])|(dvd)|(mpeg)|(xvid)|(?:(he)|a)vc))[\p{L}\s:\w'’!();.,&–+-]+(?:\(\d{4}\))?)(?<id>\s[{[](?:tm|tv|im)db(?:id)?-\w+?[}\]])?$/iu;
         | 
| 24 24 | 
             
            export const SONARR_SUBFOLDERS_REGEX = /^(?:S(?:eason )?(?<seasonNum>\d{1,4}))$/i;
         | 
| 25 25 | 
             
            export const NON_UNICODE_ALPHANUM_REGEX = /[^\p{L}\p{N}]+/giu;
         | 
| @@ -28,6 +28,7 @@ export const SAVED_TORRENTS_INFO_REGEX = /^\[(?<mediaType>.+?)\]\[(?<tracker>.+? | |
| 28 28 | 
             
            export const BAD_GROUP_PARSE_REGEX = /^(?<badmatch>(?:dl|DDP?|aac|eac3|atmos|dts|ma|hd|[heav.c]{3.5}|[xh.]{1,2}[2456]|[0-9]+[ip]?|dxva|full|blu|ray|s(?:eason)?\W\d+|\W){3,})$/i;
         | 
| 29 29 | 
             
            export const JSON_VALUES_REGEX = /".+?"\s*:\s*"(?<value>.+?)"\s*(?:,|})/g;
         | 
| 30 30 | 
             
            export const ABS_WIN_PATH_REGEX = /^[a-z]:|^\\/i;
         | 
| 31 | 
            +
            export const AKA_REGEX = /(?:[_.\s-]+|\b)a[_.\s-]?k[_.\s-]?a(?:[_.\s-]+|\b)/i;
         | 
| 31 32 | 
             
            // Needs to be handled through helper functions since there are variations
         | 
| 32 33 | 
             
            const SOURCE_REGEXES = {
         | 
| 33 34 | 
             
                AMZN: /\b(amzn|amazon(hd)?)\b[ ._-]web[ ._-]?(dl|rip)?\b/i,
         | 
    
        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;AAEvC,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;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,QAAQ,GACpB,sPAAsP,CAAC;AACxP,MAAM,CAAC,MAAM,iBAAiB,GAAG,uCAAuC,CAAC;AACzE,MAAM,CAAC,MAAM,YAAY,GACxB,6EAA6E,CAAC;AAC/E,MAAM,CAAC,MAAM,WAAW,GACvB,uEAAuE,CAAC;AACzE,MAAM,CAAC,MAAM,WAAW,GACvB,iUAAiU,CAAC;AACnU,MAAM,CAAC,MAAM,mBAAmB,GAC/B,yGAAyG,CAAC;AAC3G,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG,oCAAoC,CAAC;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAC/B,8CAA8C,CAAC;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AACpE,MAAM,CAAC,MAAM,aAAa,GACzB,6KAA6K,CAAC;AAC/K,MAAM,CAAC,MAAM,uBAAuB,GACnC,0CAA0C,CAAC;AAC5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,mBAAmB,CAAC;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC;AACpD,MAAM,CAAC,MAAM,yBAAyB,GACrC,kFAAkF,CAAC;AACpF,MAAM,CAAC,MAAM,qBAAqB,GACjC,2IAA2I,CAAC;AAC7I,MAAM,CAAC,MAAM,iBAAiB,GAAG,wCAAwC,CAAC;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC; | 
| 1 | 
            +
            {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
         | 
    
        package/dist/dataFiles.js
    CHANGED
    
    | @@ -106,29 +106,32 @@ async function indexDataPaths(paths) { | |
| 106 106 | 
             
                        continue;
         | 
| 107 107 | 
             
                    dataRows.push({ title, path });
         | 
| 108 108 | 
             
                    if (seasonFromEpisodes) {
         | 
| 109 | 
            -
                        const  | 
| 110 | 
            -
                        if ( | 
| 111 | 
            -
                            ensembleRows.push( | 
| 109 | 
            +
                        const ensembleEntries = await indexEnsembleDataEntry(title, path, files);
         | 
| 110 | 
            +
                        if (ensembleEntries)
         | 
| 111 | 
            +
                            ensembleRows.push(...ensembleEntries);
         | 
| 112 112 | 
             
                    }
         | 
| 113 113 | 
             
                }
         | 
| 114 114 | 
             
                await inBatches(dataRows, async (batch) => {
         | 
| 115 115 | 
             
                    await memDB("data").insert(batch).onConflict("path").merge();
         | 
| 116 116 | 
             
                });
         | 
| 117 117 | 
             
                await inBatches(ensembleRows, async (batch) => {
         | 
| 118 | 
            -
                    await memDB("ensemble") | 
| 118 | 
            +
                    await memDB("ensemble")
         | 
| 119 | 
            +
                        .insert(batch)
         | 
| 120 | 
            +
                        .onConflict(["client_host", "path"])
         | 
| 121 | 
            +
                        .merge();
         | 
| 119 122 | 
             
                });
         | 
| 120 123 | 
             
            }
         | 
| 121 124 | 
             
            async function indexEnsembleDataEntry(title, path, files) {
         | 
| 122 125 | 
             
                const ensemblePieces = await createEnsemblePieces(title, files);
         | 
| 123 | 
            -
                if (!ensemblePieces)
         | 
| 126 | 
            +
                if (!ensemblePieces || !ensemblePieces.length)
         | 
| 124 127 | 
             
                    return null;
         | 
| 125 | 
            -
                 | 
| 126 | 
            -
             | 
| 127 | 
            -
                    path: join(dirname(path), largestFile.path),
         | 
| 128 | 
            +
                return ensemblePieces.map((ensemblePiece) => ({
         | 
| 129 | 
            +
                    client_host: null,
         | 
| 130 | 
            +
                    path: join(dirname(path), ensemblePiece.largestFile.path),
         | 
| 128 131 | 
             
                    info_hash: null,
         | 
| 129 | 
            -
                    ensemble: key,
         | 
| 130 | 
            -
                    element,
         | 
| 131 | 
            -
                };
         | 
| 132 | 
            +
                    ensemble: ensemblePiece.key,
         | 
| 133 | 
            +
                    element: ensemblePiece.element,
         | 
| 134 | 
            +
                }));
         | 
| 132 135 | 
             
            }
         | 
| 133 136 | 
             
            export async function getDataByFuzzyName(name) {
         | 
| 134 137 | 
             
                const allDataEntries = await memDB("data");
         | 
    
        package/dist/dataFiles.js.map
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"dataFiles.js","sourceRoot":"","sources":["../src/dataFiles.ts"],"names":[],"mappings":"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 | 
| 1 | 
            +
            {"version":3,"file":"dataFiles.js","sourceRoot":"","sources":["../src/dataFiles.ts"],"names":[],"mappings":"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"}
         | 
    
        package/dist/db.js
    CHANGED
    
    | @@ -1,6 +1,5 @@ | |
| 1 | 
            -
            // eslint-disable-next-line @typescript-eslint/no-unused-vars
         | 
| 2 1 | 
             
            import Sqlite from "better-sqlite3";
         | 
| 3 | 
            -
            import  | 
| 2 | 
            +
            import knex from "knex";
         | 
| 4 3 | 
             
            import { join } from "path";
         | 
| 5 4 | 
             
            import { appDir } from "./configuration.js";
         | 
| 6 5 | 
             
            import { migrations } from "./migrations/migrations.js";
         | 
| @@ -8,19 +7,21 @@ const filename = join(appDir(), "cross-seed.db"); | |
| 8 7 | 
             
            const rawSqliteHandle = new Sqlite(filename);
         | 
| 9 8 | 
             
            rawSqliteHandle.pragma("journal_mode = WAL");
         | 
| 10 9 | 
             
            rawSqliteHandle.close();
         | 
| 11 | 
            -
            export const db =  | 
| 10 | 
            +
            export const db = knex({
         | 
| 12 11 | 
             
                client: "better-sqlite3",
         | 
| 13 12 | 
             
                connection: { filename },
         | 
| 14 13 | 
             
                migrations: { migrationSource: migrations },
         | 
| 15 14 | 
             
                useNullAsDefault: true,
         | 
| 16 15 | 
             
            });
         | 
| 17 | 
            -
            export const memDB =  | 
| 16 | 
            +
            export const memDB = knex({
         | 
| 18 17 | 
             
                client: "better-sqlite3",
         | 
| 19 18 | 
             
                connection: ":memory:",
         | 
| 20 19 | 
             
                useNullAsDefault: true,
         | 
| 21 20 | 
             
            });
         | 
| 22 21 | 
             
            await memDB.schema.createTable("torrent", (table) => {
         | 
| 23 | 
            -
                table.string(" | 
| 22 | 
            +
                table.string("client_host");
         | 
| 23 | 
            +
                table.string("info_hash").index();
         | 
| 24 | 
            +
                table.primary(["client_host", "info_hash"]);
         | 
| 24 25 | 
             
                table.string("name");
         | 
| 25 26 | 
             
                table.string("title");
         | 
| 26 27 | 
             
                table.json("files");
         | 
| @@ -35,8 +36,10 @@ await memDB.schema.createTable("data", (table) => { | |
| 35 36 | 
             
                table.string("title");
         | 
| 36 37 | 
             
            });
         | 
| 37 38 | 
             
            await memDB.schema.createTable("ensemble", (table) => {
         | 
| 38 | 
            -
                table.string(" | 
| 39 | 
            -
                table.string(" | 
| 39 | 
            +
                table.string("client_host");
         | 
| 40 | 
            +
                table.string("path").index();
         | 
| 41 | 
            +
                table.primary(["client_host", "path"]);
         | 
| 42 | 
            +
                table.string("info_hash").index();
         | 
| 40 43 | 
             
                table.string("ensemble");
         | 
| 41 44 | 
             
                table.string("element");
         | 
| 42 45 | 
             
            });
         | 
    
        package/dist/db.js.map
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA, | 
| 1 | 
            +
            {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC;AACjD,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7C,eAAe,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAC7C,eAAe,CAAC,KAAK,EAAE,CAAC;AAExB,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,gBAAgB;IACxB,UAAU,EAAE,EAAE,QAAQ,EAAE;IACxB,UAAU,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE;IAC3C,gBAAgB,EAAE,IAAI;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,gBAAgB;IACxB,UAAU,EAAE,UAAU;IACtB,gBAAgB,EAAE,IAAI;CACtB,CAAC,CAAC;AACH,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;IACnD,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;IAClC,KAAK,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC1B,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AACH,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;IAChD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AACH,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;IACpD,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7B,KAAK,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;IAClC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACzB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC"}
         | 
    
        package/dist/decide.js
    CHANGED
    
    | @@ -12,7 +12,7 @@ import { resultOf, resultOfErr } from "./Result.js"; | |
| 12 12 | 
             
            import { getRuntimeConfig } from "./runtimeConfig.js";
         | 
| 13 13 | 
             
            import { getReleaseGroup, } from "./searchee.js";
         | 
| 14 14 | 
             
            import { parseTorrentFromFilename, snatch, SnatchError } from "./torrent.js";
         | 
| 15 | 
            -
            import { extractInt, getFuzzySizeFactor, getLogString, getMediaType, getMinSizeRatio, sanitizeInfoHash, stripExtension,  | 
| 15 | 
            +
            import { extractInt, getFuzzySizeFactor, getLogString, getMediaType, getMinSizeRatio, sanitizeInfoHash, stripExtension, } from "./utils.js";
         | 
| 16 16 | 
             
            function logDecision(searchee, candidate, decision, metafile, tracker, options) {
         | 
| 17 17 | 
             
                const { blockList, matchMode } = getRuntimeConfig(options?.configOverride);
         | 
| 18 18 | 
             
                let reason;
         | 
| @@ -243,22 +243,19 @@ export async function assessCandidate(metaOrCandidate, searchee, infoHashesToExc | |
| 243 243 | 
             
                }
         | 
| 244 244 | 
             
                let metafile;
         | 
| 245 245 | 
             
                if (isCandidate) {
         | 
| 246 | 
            -
                     | 
| 246 | 
            +
                    const res = await snatch(metaOrCandidate, searchee.label, {
         | 
| 247 | 
            +
                        retries: 4,
         | 
| 248 | 
            +
                        delayMs: searchee.label === Label.ANNOUNCE
         | 
| 249 | 
            +
                            ? ms("5 minutes")
         | 
| 250 | 
            +
                            : ms("1 minute"),
         | 
| 251 | 
            +
                    });
         | 
| 247 252 | 
             
                    if (res.isErr()) {
         | 
| 248 | 
            -
                        const  | 
| 249 | 
            -
                         | 
| 250 | 
            -
                             | 
| 251 | 
            -
                             | 
| 252 | 
            -
             | 
| 253 | 
            -
             | 
| 254 | 
            -
                        if (res.isErr()) {
         | 
| 255 | 
            -
                            const err = res.unwrapErr();
         | 
| 256 | 
            -
                            return err === SnatchError.MAGNET_LINK
         | 
| 257 | 
            -
                                ? { decision: Decision.MAGNET_LINK }
         | 
| 258 | 
            -
                                : err === SnatchError.RATE_LIMITED
         | 
| 259 | 
            -
                                    ? { decision: Decision.RATE_LIMITED }
         | 
| 260 | 
            -
                                    : { decision: Decision.DOWNLOAD_FAILED };
         | 
| 261 | 
            -
                        }
         | 
| 253 | 
            +
                        const err = res.unwrapErr();
         | 
| 254 | 
            +
                        return err === SnatchError.MAGNET_LINK
         | 
| 255 | 
            +
                            ? { decision: Decision.MAGNET_LINK }
         | 
| 256 | 
            +
                            : err === SnatchError.RATE_LIMITED
         | 
| 257 | 
            +
                                ? { decision: Decision.RATE_LIMITED }
         | 
| 258 | 
            +
                                : { decision: Decision.DOWNLOAD_FAILED };
         | 
| 262 259 | 
             
                    }
         | 
| 263 260 | 
             
                    metafile = res.unwrap();
         | 
| 264 261 | 
             
                    metaCached = cacheTorrentFile(metafile);
         |