cross-seed 6.0.0-2 → 6.0.0-21
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/Result.js +17 -11
- package/dist/Result.js.map +1 -1
- package/dist/action.js +141 -45
- package/dist/action.js.map +1 -1
- package/dist/arr.js +200 -0
- package/dist/arr.js.map +1 -0
- package/dist/clients/Deluge.js +121 -61
- package/dist/clients/Deluge.js.map +1 -1
- package/dist/clients/QBittorrent.js +70 -64
- package/dist/clients/QBittorrent.js.map +1 -1
- package/dist/clients/RTorrent.js +9 -9
- package/dist/clients/RTorrent.js.map +1 -1
- package/dist/clients/TorrentClient.js.map +1 -1
- package/dist/clients/Transmission.js +9 -9
- package/dist/clients/Transmission.js.map +1 -1
- package/dist/cmd.js +11 -7
- package/dist/cmd.js.map +1 -1
- package/dist/config.template.cjs +68 -36
- package/dist/config.template.cjs.map +1 -1
- package/dist/configSchema.js +42 -8
- package/dist/configSchema.js.map +1 -1
- package/dist/configuration.js.map +1 -1
- package/dist/constants.js +89 -6
- package/dist/constants.js.map +1 -1
- package/dist/dataFiles.js +4 -5
- package/dist/dataFiles.js.map +1 -1
- package/dist/decide.js +139 -92
- package/dist/decide.js.map +1 -1
- package/dist/errors.js +5 -2
- package/dist/errors.js.map +1 -1
- package/dist/indexers.js +31 -4
- package/dist/indexers.js.map +1 -1
- package/dist/jobs.js +2 -0
- package/dist/jobs.js.map +1 -1
- package/dist/logger.js +18 -5
- 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 +166 -81
- package/dist/pipeline.js.map +1 -1
- package/dist/preFilter.js +91 -37
- package/dist/preFilter.js.map +1 -1
- package/dist/pushNotifier.js +4 -2
- package/dist/pushNotifier.js.map +1 -1
- package/dist/runtimeConfig.js.map +1 -1
- package/dist/searchee.js +149 -10
- package/dist/searchee.js.map +1 -1
- package/dist/server.js +10 -10
- package/dist/server.js.map +1 -1
- package/dist/startup.js +2 -0
- package/dist/startup.js.map +1 -1
- package/dist/torrent.js +86 -28
- package/dist/torrent.js.map +1 -1
- package/dist/torznab.js +250 -88
- package/dist/torznab.js.map +1 -1
- package/dist/utils.js +84 -21
- package/dist/utils.js.map +1 -1
- package/package.json +3 -1
package/dist/utils.js
CHANGED
@@ -1,19 +1,23 @@
|
|
1
1
|
import path, { basename } from "path";
|
2
|
-
import { EP_REGEX, MOVIE_REGEX,
|
2
|
+
import { ALL_EXTENSIONS, ANIME_REGEX, AUDIO_EXTENSIONS, BOOK_EXTENSIONS, Decision, EP_REGEX, MOVIE_REGEX, SCENE_TITLE_REGEX, SEASON_REGEX, VIDEO_EXTENSIONS, } from "./constants.js";
|
3
3
|
import { resultOf, resultOfErr } from "./Result.js";
|
4
|
+
import { Metafile } from "./parseTorrent.js";
|
5
|
+
import chalk from "chalk";
|
4
6
|
export var MediaType;
|
5
7
|
(function (MediaType) {
|
6
8
|
MediaType["EPISODE"] = "episode";
|
7
9
|
MediaType["SEASON"] = "pack";
|
8
10
|
MediaType["MOVIE"] = "movie";
|
9
11
|
MediaType["ANIME"] = "anime";
|
12
|
+
MediaType["AUDIO"] = "audio";
|
13
|
+
MediaType["BOOK"] = "book";
|
10
14
|
MediaType["OTHER"] = "unknown";
|
11
15
|
})(MediaType || (MediaType = {}));
|
12
16
|
export function isTruthy(value) {
|
13
17
|
return Boolean(value);
|
14
18
|
}
|
15
19
|
export function stripExtension(filename) {
|
16
|
-
for (const ext of
|
20
|
+
for (const ext of ALL_EXTENSIONS) {
|
17
21
|
if (filename.endsWith(ext))
|
18
22
|
return basename(filename, ext);
|
19
23
|
}
|
@@ -29,26 +33,51 @@ export function humanReadableSize(bytes) {
|
|
29
33
|
const k = 1000;
|
30
34
|
const sizes = ["B", "kB", "MB", "GB", "TB"];
|
31
35
|
// engineering notation: (coefficient) * 1000 ^ (exponent)
|
32
|
-
const exponent = Math.floor(Math.log(bytes) / Math.log(k));
|
36
|
+
const exponent = Math.floor(Math.log(Math.abs(bytes)) / Math.log(k));
|
33
37
|
const coefficient = bytes / Math.pow(k, exponent);
|
34
38
|
return `${parseFloat(coefficient.toFixed(2))} ${sizes[exponent]}`;
|
35
39
|
}
|
36
|
-
export function
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
40
|
+
export function getMediaType(searchee) {
|
41
|
+
function hasExt(searchee, exts) {
|
42
|
+
return searchee.files.some((f) => exts.includes(path.extname(f.name)));
|
43
|
+
}
|
44
|
+
const stem = stripExtension(searchee.name);
|
45
|
+
const hasVideoExtensions = hasExt(searchee, VIDEO_EXTENSIONS);
|
46
|
+
function unsupportedMediaType(searchee) {
|
47
|
+
//any unsupported media that needs to be identified goes here
|
48
|
+
if (hasExt(searchee, AUDIO_EXTENSIONS)) {
|
49
|
+
return MediaType.AUDIO;
|
50
|
+
}
|
51
|
+
else if (hasExt(searchee, BOOK_EXTENSIONS)) {
|
52
|
+
return MediaType.BOOK;
|
53
|
+
}
|
54
|
+
else {
|
55
|
+
return MediaType.OTHER;
|
56
|
+
}
|
57
|
+
}
|
58
|
+
// put new supported media type cases in this switch
|
59
|
+
if (EP_REGEX.test(stem)) {
|
60
|
+
return MediaType.EPISODE;
|
61
|
+
}
|
62
|
+
else if (SEASON_REGEX.test(stem)) {
|
63
|
+
return MediaType.SEASON;
|
64
|
+
}
|
65
|
+
else if (hasVideoExtensions) {
|
66
|
+
if (MOVIE_REGEX.test(stem))
|
67
|
+
return MediaType.MOVIE;
|
68
|
+
if (ANIME_REGEX.test(stem))
|
69
|
+
return MediaType.ANIME;
|
70
|
+
return unsupportedMediaType(searchee);
|
71
|
+
}
|
72
|
+
else {
|
73
|
+
return unsupportedMediaType(searchee);
|
74
|
+
}
|
46
75
|
}
|
47
76
|
export function shouldRecheck(decision) {
|
48
77
|
switch (decision) {
|
49
78
|
case Decision.MATCH:
|
50
|
-
return false;
|
51
79
|
case Decision.MATCH_SIZE_ONLY:
|
80
|
+
return false;
|
52
81
|
case Decision.MATCH_PARTIAL:
|
53
82
|
default:
|
54
83
|
return true;
|
@@ -63,6 +92,15 @@ export async function time(cb, times) {
|
|
63
92
|
times.push(performance.now() - before);
|
64
93
|
}
|
65
94
|
}
|
95
|
+
export function sanitizeUrl(url) {
|
96
|
+
if (typeof url === "string") {
|
97
|
+
url = new URL(url);
|
98
|
+
}
|
99
|
+
return url.origin + url.pathname;
|
100
|
+
}
|
101
|
+
export function getApikey(url) {
|
102
|
+
return new URL(url).searchParams.get("apikey");
|
103
|
+
}
|
66
104
|
export function cleanseSeparators(str) {
|
67
105
|
return str
|
68
106
|
.replace(/\[.*?\]|「.*?」|「.*?」|【.*?】/g, "")
|
@@ -70,24 +108,31 @@ export function cleanseSeparators(str) {
|
|
70
108
|
.replace(/\s+/g, " ")
|
71
109
|
.trim();
|
72
110
|
}
|
111
|
+
export function isBadTitle(title) {
|
112
|
+
return ["season", "ep"].includes(title.toLowerCase());
|
113
|
+
}
|
73
114
|
export function getAnimeQueries(name) {
|
74
|
-
// Only use if
|
115
|
+
// Only use if getMediaType returns anime as it's conditional on a few factors
|
75
116
|
const animeQueries = [];
|
76
117
|
const { title, altTitle, release } = name.match(ANIME_REGEX)?.groups ?? {};
|
77
118
|
if (title) {
|
78
119
|
animeQueries.push(cleanseSeparators(`${title} ${release}`));
|
79
120
|
}
|
80
121
|
if (altTitle) {
|
122
|
+
if (isBadTitle(altTitle))
|
123
|
+
return animeQueries;
|
81
124
|
animeQueries.push(cleanseSeparators(`${altTitle} ${release}`));
|
82
125
|
}
|
83
126
|
return animeQueries;
|
84
127
|
}
|
85
|
-
export function reformatTitleForSearching(
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
128
|
+
export function reformatTitleForSearching(title) {
|
129
|
+
return cleanseSeparators(title).match(SCENE_TITLE_REGEX).groups.title;
|
130
|
+
}
|
131
|
+
export function reformatNameForSearching(name) {
|
132
|
+
return reformatTitleForSearching(name.match(EP_REGEX)?.groups?.title ??
|
133
|
+
name.match(SEASON_REGEX)?.groups?.title ??
|
134
|
+
name.match(MOVIE_REGEX)?.groups?.title ??
|
135
|
+
name);
|
91
136
|
}
|
92
137
|
export const tap = (fn) => (value) => {
|
93
138
|
fn(value);
|
@@ -101,6 +146,18 @@ export function humanReadableDate(timestamp) {
|
|
101
146
|
// swedish conventions roughly follow the iso format!
|
102
147
|
return new Date(timestamp).toLocaleString("sv");
|
103
148
|
}
|
149
|
+
export function getLogString(data, color) {
|
150
|
+
if (data instanceof Metafile) {
|
151
|
+
return `${color(data.name)} ${chalk.dim(`[${data.infoHash.slice(0, 8)}...]`)}`;
|
152
|
+
}
|
153
|
+
return data.infoHash
|
154
|
+
? `${color(data.name)} ${chalk.dim(`[${data.infoHash.slice(0, 8)}...]`)}`
|
155
|
+
: !data.path
|
156
|
+
? color(data.name)
|
157
|
+
: data.name === basename(data.path)
|
158
|
+
? color(data.path)
|
159
|
+
: `${color(data.name)} ${chalk.dim(`[${data.path}]`)}`;
|
160
|
+
}
|
104
161
|
export function formatAsList(strings) {
|
105
162
|
return new Intl.ListFormat("en", {
|
106
163
|
style: "long",
|
@@ -131,4 +188,10 @@ export function extractCredentialsFromUrl(url, basePath) {
|
|
131
188
|
return resultOfErr("invalid URL");
|
132
189
|
}
|
133
190
|
}
|
191
|
+
export function capitalizeFirstLetter(string) {
|
192
|
+
return string.charAt(0).toUpperCase() + string.slice(1);
|
193
|
+
}
|
194
|
+
export function extractInt(str) {
|
195
|
+
return parseInt(str.match(/\d+/)[0]);
|
196
|
+
}
|
134
197
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EACN,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "cross-seed",
|
3
|
-
"version": "6.0.0-
|
3
|
+
"version": "6.0.0-21",
|
4
4
|
"description": "Fully-automatic cross-seeding with Torznab",
|
5
5
|
"scripts": {
|
6
6
|
"test": "true",
|
@@ -30,7 +30,9 @@
|
|
30
30
|
"bencode": "^2.0.1",
|
31
31
|
"better-sqlite3": "^9.4.0",
|
32
32
|
"chalk": "^5.0.0",
|
33
|
+
"strip-ansi": "^7.1.0",
|
33
34
|
"commander": "^8.3.0",
|
35
|
+
"fastest-levenshtein": "^1.0.16",
|
34
36
|
"fuse.js": "^6.6.2",
|
35
37
|
"knex": "^2.4.2",
|
36
38
|
"lodash-es": "^4.17.21",
|