cross-seed 6.12.0-5 → 6.12.0-7
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 +72 -71
- package/dist/action.js.map +1 -1
- package/dist/arr.js +2 -2
- package/dist/arr.js.map +1 -1
- package/dist/clients/Deluge.js +11 -8
- package/dist/clients/Deluge.js.map +1 -1
- package/dist/clients/QBittorrent.js +20 -11
- package/dist/clients/QBittorrent.js.map +1 -1
- package/dist/clients/RTorrent.js +25 -32
- package/dist/clients/RTorrent.js.map +1 -1
- package/dist/clients/TorrentClient.js +38 -4
- package/dist/clients/TorrentClient.js.map +1 -1
- package/dist/clients/Transmission.js +11 -8
- package/dist/clients/Transmission.js.map +1 -1
- package/dist/cmd.js +3 -1
- package/dist/cmd.js.map +1 -1
- package/dist/configSchema.js +5 -4
- package/dist/configSchema.js.map +1 -1
- package/dist/configuration.js.map +1 -1
- package/dist/dataFiles.js +28 -28
- package/dist/dataFiles.js.map +1 -1
- package/dist/db.js +10 -19
- package/dist/db.js.map +1 -1
- package/dist/decide.js +20 -20
- package/dist/decide.js.map +1 -1
- package/dist/inject.js +56 -35
- package/dist/inject.js.map +1 -1
- package/dist/jobs.js +19 -9
- package/dist/jobs.js.map +1 -1
- package/dist/migrations/09-clientAndDataSearchees.js +3 -3
- package/dist/migrations/09-clientAndDataSearchees.js.map +1 -1
- package/dist/parseTorrent.js +1 -1
- package/dist/parseTorrent.js.map +1 -1
- package/dist/pipeline.js +54 -59
- package/dist/pipeline.js.map +1 -1
- package/dist/preFilter.js +5 -5
- package/dist/preFilter.js.map +1 -1
- package/dist/pushNotifier.js +5 -5
- package/dist/pushNotifier.js.map +1 -1
- package/dist/runtimeConfig.js.map +1 -1
- package/dist/searchee.js +88 -46
- package/dist/searchee.js.map +1 -1
- package/dist/server.js +10 -7
- package/dist/server.js.map +1 -1
- package/dist/startup.js +8 -13
- package/dist/startup.js.map +1 -1
- package/dist/torrent.js +54 -48
- package/dist/torrent.js.map +1 -1
- package/dist/torznab.js +4 -4
- package/dist/torznab.js.map +1 -1
- package/dist/utils.js +213 -190
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/db.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import Sqlite from "better-sqlite3";
|
2
|
-
import {
|
2
|
+
import { readdir, stat, unlink } from "fs/promises";
|
3
3
|
import knex from "knex";
|
4
4
|
import ms from "ms";
|
5
5
|
import { join } from "path";
|
@@ -10,7 +10,7 @@ import { logger } from "./logger.js";
|
|
10
10
|
import { getRuntimeConfig } from "./runtimeConfig.js";
|
11
11
|
import { migrations } from "./migrations/migrations.js";
|
12
12
|
import { cacheEnsembleTorrentEntry } from "./torrent.js";
|
13
|
-
import { inBatches,
|
13
|
+
import { filterAsync, flatMapAsync, inBatches, notExists } from "./utils.js";
|
14
14
|
const filename = join(appDir(), "cross-seed.db");
|
15
15
|
const rawSqliteHandle = new Sqlite(filename);
|
16
16
|
rawSqliteHandle.pragma("journal_mode = WAL");
|
@@ -27,16 +27,11 @@ export async function cleanupDB() {
|
|
27
27
|
(async () => {
|
28
28
|
if (!useClientTorrents)
|
29
29
|
return;
|
30
|
-
const searchees =
|
31
|
-
|
32
|
-
}))))
|
33
|
-
.map((r) => r.searchees)
|
34
|
-
.flat();
|
30
|
+
const searchees = await flatMapAsync(getClients(), async (client) => (await client.getClientSearchees({ refresh: [] }))
|
31
|
+
.searchees);
|
35
32
|
if (!seasonFromEpisodes)
|
36
33
|
return;
|
37
|
-
const ensembleRows =
|
38
|
-
.flat()
|
39
|
-
.filter(isTruthy);
|
34
|
+
const ensembleRows = await flatMapAsync(searchees, async (searchee) => (await cacheEnsembleTorrentEntry(searchee)) ?? []);
|
40
35
|
await inBatches(ensembleRows, async (batch) => {
|
41
36
|
await db("ensemble")
|
42
37
|
.insert(batch)
|
@@ -47,9 +42,7 @@ export async function cleanupDB() {
|
|
47
42
|
(async () => {
|
48
43
|
if (!dataDirs.length)
|
49
44
|
return;
|
50
|
-
const deletedPaths = (await db("data").select("path"))
|
51
|
-
.map((e) => e.path)
|
52
|
-
.filter((p) => !existsSync(p));
|
45
|
+
const deletedPaths = await filterAsync((await db("data").select("path")).map((e) => e.path), (p) => notExists(p));
|
53
46
|
await inBatches(deletedPaths, async (batch) => {
|
54
47
|
await db("data").whereIn("path", batch).del();
|
55
48
|
await db("ensemble").whereIn("path", batch).del();
|
@@ -58,9 +51,7 @@ export async function cleanupDB() {
|
|
58
51
|
(async () => {
|
59
52
|
if (!seasonFromEpisodes)
|
60
53
|
return;
|
61
|
-
const deletedPaths = (await db("ensemble").select("path"))
|
62
|
-
.map((e) => e.path)
|
63
|
-
.filter((p) => !existsSync(p));
|
54
|
+
const deletedPaths = await filterAsync((await db("ensemble").select("path")).map((e) => e.path), (p) => notExists(p));
|
64
55
|
await inBatches(deletedPaths, async (batch) => {
|
65
56
|
await db("data").whereIn("path", batch).del();
|
66
57
|
await db("ensemble").whereIn("path", batch).del();
|
@@ -68,16 +59,16 @@ export async function cleanupDB() {
|
|
68
59
|
})(),
|
69
60
|
(async () => {
|
70
61
|
const torrentCacheDir = join(appDir(), TORRENT_CACHE_FOLDER);
|
71
|
-
const files =
|
62
|
+
const files = await readdir(torrentCacheDir);
|
72
63
|
const now = Date.now();
|
73
64
|
for (const file of files) {
|
74
65
|
const filePath = join(torrentCacheDir, file);
|
75
|
-
if (now -
|
66
|
+
if (now - (await stat(filePath)).atimeMs > ms("1 year")) {
|
76
67
|
logger.verbose(`Deleting ${filePath}`);
|
77
68
|
await db("decision")
|
78
69
|
.where("info_hash", file.split(".")[0])
|
79
70
|
.del();
|
80
|
-
|
71
|
+
await unlink(filePath);
|
81
72
|
}
|
82
73
|
}
|
83
74
|
})(),
|
package/dist/db.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/decide.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import bencode from "bencode";
|
2
|
-
import {
|
2
|
+
import { readdir, readFile, stat, unlink, utimes, writeFile, } from "fs/promises";
|
3
3
|
import ms from "ms";
|
4
4
|
import path from "path";
|
5
5
|
import { appDir } from "./configuration.js";
|
@@ -10,9 +10,9 @@ import { Metafile } from "./parseTorrent.js";
|
|
10
10
|
import { findBlockedStringInReleaseMaybe, isSingleEpisode, } from "./preFilter.js";
|
11
11
|
import { resultOf, resultOfErr } from "./Result.js";
|
12
12
|
import { getRuntimeConfig } from "./runtimeConfig.js";
|
13
|
-
import { getReleaseGroup, } from "./searchee.js";
|
13
|
+
import { getFuzzySizeFactor, getMediaType, getMinSizeRatio, getReleaseGroup, } from "./searchee.js";
|
14
14
|
import { parseTorrentFromFilename, snatch, SnatchError } from "./torrent.js";
|
15
|
-
import { extractInt,
|
15
|
+
import { extractInt, getLogString, notExists, 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;
|
@@ -258,7 +258,7 @@ export async function assessCandidate(metaOrCandidate, searchee, infoHashesToExc
|
|
258
258
|
: { decision: Decision.DOWNLOAD_FAILED };
|
259
259
|
}
|
260
260
|
metafile = res.unwrap();
|
261
|
-
metaCached = cacheTorrentFile(metafile);
|
261
|
+
metaCached = await cacheTorrentFile(metafile);
|
262
262
|
metaOrCandidate.size = metafile.length; // Trackers can be wrong
|
263
263
|
}
|
264
264
|
else {
|
@@ -311,11 +311,11 @@ export async function assessCandidate(metaOrCandidate, searchee, infoHashesToExc
|
|
311
311
|
}
|
312
312
|
return { decision: Decision.FILE_TREE_MISMATCH, metafile, metaCached };
|
313
313
|
}
|
314
|
-
function existsInTorrentCache(infoHash) {
|
314
|
+
async function existsInTorrentCache(infoHash) {
|
315
315
|
const torrentPath = path.join(appDir(), TORRENT_CACHE_FOLDER, `${infoHash}.cached.torrent`);
|
316
|
-
if (
|
316
|
+
if (await notExists(torrentPath))
|
317
317
|
return false;
|
318
|
-
|
318
|
+
await utimes(torrentPath, new Date(), (await stat(torrentPath)).mtime);
|
319
319
|
return true;
|
320
320
|
}
|
321
321
|
async function getCachedTorrentFile(infoHash, options = { deleteOnFail: true }) {
|
@@ -329,28 +329,27 @@ async function getCachedTorrentFile(infoHash, options = { deleteOnFail: true })
|
|
329
329
|
message: `Failed to parse cached torrent ${sanitizeInfoHash(infoHash)}${options.deleteOnFail ? " - deleting" : ""}: ${e.message}`,
|
330
330
|
});
|
331
331
|
logger.debug(e);
|
332
|
-
if (options.deleteOnFail)
|
333
|
-
|
334
|
-
}
|
332
|
+
if (options.deleteOnFail)
|
333
|
+
await unlink(torrentPath);
|
335
334
|
return resultOfErr(e);
|
336
335
|
}
|
337
336
|
}
|
338
|
-
function cacheTorrentFile(meta) {
|
339
|
-
if (existsInTorrentCache(meta.infoHash))
|
337
|
+
async function cacheTorrentFile(meta) {
|
338
|
+
if (await existsInTorrentCache(meta.infoHash))
|
340
339
|
return false;
|
341
340
|
const torrentPath = path.join(appDir(), TORRENT_CACHE_FOLDER, `${meta.infoHash}.cached.torrent`);
|
342
|
-
|
341
|
+
await writeFile(torrentPath, new Uint8Array(meta.encode()));
|
343
342
|
return true;
|
344
343
|
}
|
345
344
|
export async function updateTorrentCache(oldStr, newStr) {
|
346
345
|
const torrentCacheDir = path.join(appDir(), TORRENT_CACHE_FOLDER);
|
347
|
-
const files =
|
346
|
+
const files = await readdir(torrentCacheDir);
|
348
347
|
console.log(`Found ${files.length} files in cache, processing...`);
|
349
348
|
let count = 0;
|
350
349
|
for (const file of files) {
|
351
350
|
const filePath = path.join(torrentCacheDir, file);
|
352
351
|
try {
|
353
|
-
const torrent = bencode.decode(
|
352
|
+
const torrent = bencode.decode(await readFile(filePath));
|
354
353
|
const announce = torrent.announce?.toString();
|
355
354
|
const announceList = torrent["announce-list"]?.map((tier) => tier.map((url) => url.toString()));
|
356
355
|
if (!announce?.includes(oldStr) &&
|
@@ -378,8 +377,9 @@ export async function updateTorrentCache(oldStr, newStr) {
|
|
378
377
|
return Buffer.from(newAnnounce);
|
379
378
|
}));
|
380
379
|
}
|
381
|
-
if (updated)
|
382
|
-
|
380
|
+
if (updated) {
|
381
|
+
await writeFile(filePath, new Uint8Array(bencode.encode(torrent)));
|
382
|
+
}
|
383
383
|
}
|
384
384
|
catch (e) {
|
385
385
|
console.error(`Error reading ${filePath}: ${e}`);
|
@@ -423,7 +423,7 @@ export async function getGuidInfoHashMap() {
|
|
423
423
|
* @param guidInfoHashMap The map of guids to info hashes. Necessary for optimal fuzzy lookups.
|
424
424
|
* @returns The info hash of the torrent if found
|
425
425
|
*/
|
426
|
-
|
426
|
+
function guidLookup(guid, link, guidInfoHashMap) {
|
427
427
|
const infoHash = guidInfoHashMap.get(guid) ?? guidInfoHashMap.get(link);
|
428
428
|
if (infoHash)
|
429
429
|
return infoHash;
|
@@ -454,9 +454,9 @@ export async function assessCandidateCaching(candidate, searchee, infoHashesToEx
|
|
454
454
|
.join("searchee", "decision.searchee_id", "searchee.id")
|
455
455
|
.where({ name: searchee.title, guid })
|
456
456
|
.first();
|
457
|
-
const metaInfoHash =
|
457
|
+
const metaInfoHash = guidLookup(guid, link, guidInfoHashMap);
|
458
458
|
const metaOrCandidate = metaInfoHash
|
459
|
-
? existsInTorrentCache(metaInfoHash)
|
459
|
+
? (await existsInTorrentCache(metaInfoHash))
|
460
460
|
? (await getCachedTorrentFile(metaInfoHash)).orElse(candidate)
|
461
461
|
: candidate
|
462
462
|
: candidate;
|
package/dist/decide.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"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"}
|
package/dist/inject.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import chalk from "chalk";
|
2
2
|
import { stat, unlink } from "fs/promises";
|
3
3
|
import ms from "ms";
|
4
|
-
import {
|
4
|
+
import { copyFile } from "fs/promises";
|
5
5
|
import path, { basename } from "path";
|
6
6
|
import { performActionWithoutMutex } from "./action.js";
|
7
7
|
import { byClientHostPriority, waitForTorrentToComplete, } from "./clients/TorrentClient.js";
|
@@ -15,7 +15,7 @@ import { resultOf, resultOfErr } from "./Result.js";
|
|
15
15
|
import { getRuntimeConfig } from "./runtimeConfig.js";
|
16
16
|
import { createEnsembleSearchees } from "./searchee.js";
|
17
17
|
import { findAllTorrentFilesInDir, parseMetadataFromFilename, parseTorrentFromFilename, } from "./torrent.js";
|
18
|
-
import { areMediaTitlesSimilar, comparing, formatAsList, getLogString, humanReadableDate, isTruthy, Mutex, sanitizeInfoHash, withMutex, } from "./utils.js";
|
18
|
+
import { areMediaTitlesSimilar, comparing, exists, formatAsList, getLogString, humanReadableDate, isTruthy, Mutex, sanitizeInfoHash, withMutex, } from "./utils.js";
|
19
19
|
function getTorrentFilePathLog(torrentFilePath) {
|
20
20
|
return chalk.bold.magenta(torrentFilePath.replace(/\[([a-z0-9]{40})].torrent$/i, (match, hash) => match.replace(hash, sanitizeInfoHash(hash))));
|
21
21
|
}
|
@@ -55,13 +55,14 @@ async function deleteTorrentFileIfComplete(torrentFilePath, client, infoHash) {
|
|
55
55
|
});
|
56
56
|
}
|
57
57
|
}
|
58
|
-
async function whichSearcheesMatchTorrent(meta, searchees) {
|
58
|
+
async function whichSearcheesMatchTorrent(meta, searchees, ignoreTitles) {
|
59
59
|
const isSimilar = (searchee, meta) => areMediaTitlesSimilar(searchee.title, meta.title) ||
|
60
60
|
areMediaTitlesSimilar(searchee.title, meta.name) ||
|
61
61
|
areMediaTitlesSimilar(searchee.name, meta.name) ||
|
62
62
|
areMediaTitlesSimilar(searchee.name, meta.title) ||
|
63
63
|
meta.files.some((metaFile) => searchee.files.some((searcheeFile) => areMediaTitlesSimilar(searcheeFile.name, metaFile.name)));
|
64
64
|
let foundBlocked = false;
|
65
|
+
let fuzzyFail = false;
|
65
66
|
const matches = [];
|
66
67
|
for (const searchee of searchees) {
|
67
68
|
const { decision } = await assessCandidate(meta, searchee, new Set());
|
@@ -74,11 +75,20 @@ async function whichSearcheesMatchTorrent(meta, searchees) {
|
|
74
75
|
continue;
|
75
76
|
}
|
76
77
|
if (!isSimilar(searchee, meta)) {
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
78
|
+
if (ignoreTitles) {
|
79
|
+
logger.warn({
|
80
|
+
label: Label.INJECT,
|
81
|
+
message: `Ignoring title mismatch for ${getLogString(meta, chalk.bold.white)} with ${getLogString(searchee, chalk.bold.white)}`,
|
82
|
+
});
|
83
|
+
}
|
84
|
+
else {
|
85
|
+
logger.warn({
|
86
|
+
label: Label.INJECT,
|
87
|
+
message: `Skipping match for ${getLogString(meta, chalk.bold.white)} with ${getLogString(searchee, chalk.bold.white)} due to title mismatch (use "${chalk.bold.white("cross-seed inject --ignore-titles")}" if this is an erroneous rejection)`,
|
88
|
+
});
|
89
|
+
fuzzyFail = true;
|
90
|
+
continue;
|
91
|
+
}
|
82
92
|
}
|
83
93
|
matches.push({ searchee, decision });
|
84
94
|
}
|
@@ -91,7 +101,7 @@ async function whichSearcheesMatchTorrent(meta, searchees) {
|
|
91
101
|
matches.sort(comparing((match) => byClientHostPriority(match.searchee.clientHost), (match) =>
|
92
102
|
// indexOf returns -1 for not found
|
93
103
|
-[Decision.MATCH_SIZE_ONLY, Decision.MATCH].indexOf(match.decision), (match) => !match.searchee.infoHash, (match) => !match.searchee.path, (match) => -match.searchee.files.length));
|
94
|
-
return { matches, foundBlocked };
|
104
|
+
return { matches, foundBlocked, fuzzyFail };
|
95
105
|
}
|
96
106
|
async function injectInitialAction(meta, matches, tracker) {
|
97
107
|
let client;
|
@@ -183,7 +193,7 @@ async function injectFromStalledTorrent({ meta, client, clientMatches, tracker,
|
|
183
193
|
message: `${progress} Rechecking ${filePathLog} as new files were linked - ${chalk.green(injectionResult)}`,
|
184
194
|
});
|
185
195
|
await client.recheckTorrent(meta.infoHash);
|
186
|
-
client.resumeInjection(meta, stalledDecision, {
|
196
|
+
void client.resumeInjection(meta, stalledDecision, {
|
187
197
|
checkOnce: false,
|
188
198
|
});
|
189
199
|
}
|
@@ -230,7 +240,7 @@ async function injectionAlreadyExists({ progress, torrentFilePath, client, clien
|
|
230
240
|
label: Label.INJECT,
|
231
241
|
message: `${progress} ${filePathLog} is being checked by client - ${chalk.green(injectionResult)}`,
|
232
242
|
});
|
233
|
-
client.resumeInjection(meta, decision, {
|
243
|
+
void client.resumeInjection(meta, decision, {
|
234
244
|
checkOnce: false,
|
235
245
|
});
|
236
246
|
}
|
@@ -241,7 +251,7 @@ async function injectionAlreadyExists({ progress, torrentFilePath, client, clien
|
|
241
251
|
message: `${progress} Rechecking ${filePathLog} as it's not complete but has all files (final check at ${humanReadableDate(finalCheckTime)}) - ${chalk.yellow(injectionResult)}`,
|
242
252
|
});
|
243
253
|
await client.recheckTorrent(meta.infoHash);
|
244
|
-
client.resumeInjection(meta, decision, {
|
254
|
+
void client.resumeInjection(meta, decision, {
|
245
255
|
checkOnce: false,
|
246
256
|
});
|
247
257
|
if (Date.now() >= finalCheckTime) {
|
@@ -260,7 +270,7 @@ async function injectionAlreadyExists({ progress, torrentFilePath, client, clien
|
|
260
270
|
label: Label.INJECT,
|
261
271
|
message: `${progress} ${filePathLog} - ${chalk.yellow(injectionResult)} (incomplete)`,
|
262
272
|
});
|
263
|
-
client.resumeInjection(meta, decision, {
|
273
|
+
void client.resumeInjection(meta, decision, {
|
264
274
|
checkOnce: true,
|
265
275
|
});
|
266
276
|
}
|
@@ -271,10 +281,10 @@ async function injectionAlreadyExists({ progress, torrentFilePath, client, clien
|
|
271
281
|
await deleteTorrentFileIfSafe(torrentFilePath);
|
272
282
|
}
|
273
283
|
else {
|
274
|
-
deleteTorrentFileIfComplete(torrentFilePath, client, meta.infoHash);
|
284
|
+
void deleteTorrentFileIfComplete(torrentFilePath, client, meta.infoHash);
|
275
285
|
}
|
276
286
|
}
|
277
|
-
|
287
|
+
function injectionSuccess({ progress, torrentFilePath, client, injectionResult, summary, matchedSearchee, matchedDecision, meta, tracker, filePathLog, }) {
|
278
288
|
logger.info({
|
279
289
|
label: Label.INJECT,
|
280
290
|
message: `${progress} Injected ${filePathLog} - ${chalk.green(injectionResult)}`,
|
@@ -293,7 +303,7 @@ async function injectionSuccess({ progress, torrentFilePath, client, injectionRe
|
|
293
303
|
else {
|
294
304
|
summary.FULL_MATCHES++;
|
295
305
|
}
|
296
|
-
deleteTorrentFileIfComplete(torrentFilePath, client, meta.infoHash);
|
306
|
+
void deleteTorrentFileIfComplete(torrentFilePath, client, meta.infoHash);
|
297
307
|
}
|
298
308
|
async function loadMetafile(torrentFilePath, progress, summary) {
|
299
309
|
const filePathLog = getTorrentFilePathLog(torrentFilePath);
|
@@ -314,21 +324,22 @@ async function loadMetafile(torrentFilePath, progress, summary) {
|
|
314
324
|
const tracker = trackerFromFilename ?? UNKNOWN_TRACKER;
|
315
325
|
return resultOf({ meta, tracker });
|
316
326
|
}
|
317
|
-
async function injectSavedTorrent(progress, torrentFilePath, summary, searchees) {
|
327
|
+
async function injectSavedTorrent(progress, torrentFilePath, summary, searchees, ignoreTitles) {
|
318
328
|
const metafileResult = await loadMetafile(torrentFilePath, progress, summary);
|
319
329
|
if (metafileResult.isErr())
|
320
330
|
return;
|
321
331
|
const { meta, tracker } = metafileResult.unwrap();
|
322
332
|
const filePathLog = getTorrentFilePathLog(torrentFilePath);
|
323
333
|
const metaLog = getLogString(meta, chalk.bold.white);
|
324
|
-
const { matches, foundBlocked } = await whichSearcheesMatchTorrent(meta, searchees);
|
334
|
+
const { matches, foundBlocked, fuzzyFail } = await whichSearcheesMatchTorrent(meta, searchees, ignoreTitles);
|
325
335
|
if (!matches.length && foundBlocked) {
|
326
336
|
logger.warn({
|
327
337
|
label: Label.INJECT,
|
328
338
|
message: `${progress} ${metaLog} ${chalk.yellow("possibly blocklisted")}: ${filePathLog}`,
|
329
339
|
});
|
330
340
|
summary.BLOCKED++;
|
331
|
-
|
341
|
+
if (!fuzzyFail)
|
342
|
+
await deleteTorrentFileIfSafe(torrentFilePath);
|
332
343
|
return;
|
333
344
|
}
|
334
345
|
else if (!matches.length) {
|
@@ -337,7 +348,8 @@ async function injectSavedTorrent(progress, torrentFilePath, summary, searchees)
|
|
337
348
|
message: `${progress} ${metaLog} ${chalk.red("has no matches")}: ${filePathLog}`,
|
338
349
|
});
|
339
350
|
summary.UNMATCHED++;
|
340
|
-
|
351
|
+
if (!fuzzyFail)
|
352
|
+
await deleteTorrentFileIfSafe(torrentFilePath);
|
341
353
|
return;
|
342
354
|
}
|
343
355
|
const { client, clientMatches, injectionResult, matchedSearchee, matchedDecision, linkedNewFiles, } = await injectInitialAction(meta, matches, tracker);
|
@@ -357,7 +369,7 @@ async function injectSavedTorrent(progress, torrentFilePath, summary, searchees)
|
|
357
369
|
};
|
358
370
|
switch (injectionResult) {
|
359
371
|
case InjectionResult.SUCCESS:
|
360
|
-
|
372
|
+
injectionSuccess(injectionAftermath);
|
361
373
|
break;
|
362
374
|
case InjectionResult.FAILURE:
|
363
375
|
injectionFailed(injectionAftermath);
|
@@ -403,7 +415,7 @@ function logInjectSummary(summary, flatLinking, injectDir) {
|
|
403
415
|
message: `Some torrents could be linked to linkDir/${UNKNOWN_TRACKER} - follow .torrent naming format in the docs to avoid this`,
|
404
416
|
});
|
405
417
|
}
|
406
|
-
if (injectDir) {
|
418
|
+
if (injectDir !== undefined) {
|
407
419
|
logger.info({
|
408
420
|
label: Label.INJECT,
|
409
421
|
message: `Waiting on post-injection tasks to complete...`,
|
@@ -426,9 +438,21 @@ function createSummary(total) {
|
|
426
438
|
};
|
427
439
|
}
|
428
440
|
export async function injectSavedTorrents() {
|
429
|
-
const { flatLinking, injectDir, outputDir } = getRuntimeConfig();
|
441
|
+
const { flatLinking, ignoreTitles, injectDir, outputDir } = getRuntimeConfig();
|
430
442
|
const targetDir = injectDir ?? outputDir;
|
431
443
|
const targetDirLog = chalk.bold.magenta(targetDir);
|
444
|
+
if (injectDir !== undefined) {
|
445
|
+
logger.warn({
|
446
|
+
label: Label.INJECT,
|
447
|
+
message: `Manually injecting torrents performs minimal filtering which slightly increases chances of false positives, see the docs for more info`,
|
448
|
+
});
|
449
|
+
}
|
450
|
+
if (ignoreTitles) {
|
451
|
+
logger.warn({
|
452
|
+
label: Label.INJECT,
|
453
|
+
message: `Ignoring torrent titles when looking for matches, this may result in false positives`,
|
454
|
+
});
|
455
|
+
}
|
432
456
|
const torrentFilePaths = await findAllTorrentFilesInDir(targetDir);
|
433
457
|
if (torrentFilePaths.length === 0) {
|
434
458
|
logger.info({
|
@@ -442,19 +466,16 @@ export async function injectSavedTorrents() {
|
|
442
466
|
message: `Found ${chalk.bold.white(torrentFilePaths.length)} torrent file(s) to inject in ${targetDirLog}`,
|
443
467
|
});
|
444
468
|
const summary = createSummary(torrentFilePaths.length);
|
445
|
-
const
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
});
|
450
|
-
return { realSearchees, ensembleSearchees };
|
451
|
-
}, { useQueue: true });
|
469
|
+
const realSearchees = await findAllSearchees(Label.INJECT);
|
470
|
+
const ensembleSearchees = await createEnsembleSearchees(realSearchees, {
|
471
|
+
useFilters: false,
|
472
|
+
});
|
452
473
|
const searchees = [...realSearchees, ...ensembleSearchees];
|
453
474
|
for (const [i, torrentFilePath] of torrentFilePaths.entries()) {
|
454
475
|
const progress = chalk.blue(`(${i + 1}/${torrentFilePaths.length})`);
|
455
|
-
await withMutex(Mutex.CLIENT_INJECTION, async () => {
|
456
|
-
return injectSavedTorrent(progress, torrentFilePath, summary, searchees);
|
457
|
-
}
|
476
|
+
await withMutex(Mutex.CLIENT_INJECTION, { useQueue: true }, async () => {
|
477
|
+
return injectSavedTorrent(progress, torrentFilePath, summary, searchees, ignoreTitles ?? false);
|
478
|
+
});
|
458
479
|
}
|
459
480
|
logInjectSummary(summary, flatLinking, injectDir);
|
460
481
|
}
|
@@ -469,11 +490,11 @@ export async function restoreFromTorrentCache() {
|
|
469
490
|
let existed = 0;
|
470
491
|
for (const [i, torrentFilePath] of torrentFilePaths.entries()) {
|
471
492
|
const dest = path.join(outputDir, `[${MediaType.OTHER}][${UNKNOWN_TRACKER}]${basename(torrentFilePath)}`);
|
472
|
-
if (
|
493
|
+
if (await exists(dest)) {
|
473
494
|
existed++;
|
474
495
|
continue;
|
475
496
|
}
|
476
|
-
|
497
|
+
await copyFile(torrentFilePath, dest);
|
477
498
|
if ((i + 1) % 100 === 0) {
|
478
499
|
console.log(`${chalk.blue(`(${i + 1}/${torrentFilePaths.length})`)} ${chalk.bold.magenta(dest)}`);
|
479
500
|
}
|
package/dist/inject.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"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"}
|