cross-seed 5.4.4 → 5.4.6
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 +3 -1
- package/dist/action.js.map +1 -1
- package/dist/config.template.cjs +2 -0
- package/dist/config.template.cjs.map +1 -1
- package/dist/config.template.docker.cjs +2 -0
- package/dist/config.template.docker.cjs.map +1 -1
- package/dist/constants.js +3 -3
- package/dist/constants.js.map +1 -1
- package/dist/pushNotifier.js +35 -9
- package/dist/pushNotifier.js.map +1 -1
- package/dist/torrent.js +20 -6
- package/dist/torrent.js.map +1 -1
- package/package.json +1 -1
package/dist/action.js
CHANGED
@@ -21,7 +21,9 @@ export async function performAction(newMeta, decision, searchee, tracker) {
|
|
21
21
|
// Candidate is single, nested file
|
22
22
|
if (candidateParentDir != ".") {
|
23
23
|
if (!existsSync(path.join(linkDir, candidateParentDir))) {
|
24
|
-
mkdirSync(path.join(linkDir, candidateParentDir), {
|
24
|
+
mkdirSync(path.join(linkDir, candidateParentDir), {
|
25
|
+
recursive: true,
|
26
|
+
});
|
25
27
|
}
|
26
28
|
correctedlinkDir = path.join(linkDir, candidateParentDir);
|
27
29
|
}
|
package/dist/action.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACN,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,QAAQ,EACR,WAAW,GACX,MAAM,IAAI,CAAC;AACZ,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EACN,MAAM,EAEN,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,UAAU,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,OAAiB,EACjB,QAAkB,EAClB,QAAkB,EAClB,OAAe;IAEf,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE/C,IAAI,QAAQ,CAAC,IAAI,EAAE;QAClB,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE;YAC/B,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACxC;aAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,eAAe,EAAE;YAChD,0DAA0D;YAC1D,gCAAgC;YAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,gBAAgB,GAAG,OAAO,CAAC;YAE/B,mCAAmC;YACnC,IAAI,kBAAkB,IAAI,GAAG,EAAE;gBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE;oBACxD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE,
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"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"}
|
package/dist/config.template.cjs
CHANGED
@@ -136,6 +136,8 @@ module.exports = {
|
|
136
136
|
* cross-seed will send POST requests to this url
|
137
137
|
* with a JSON payload of { title, body }.
|
138
138
|
* Conforms to the caronc/apprise REST API.
|
139
|
+
* If necessary, supply your username and password inside the url like so:
|
140
|
+
* "http://username:password@localhost:8000/notify/cross-seed"
|
139
141
|
*/
|
140
142
|
notificationWebhookUrl: undefined,
|
141
143
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.template.cjs","sourceRoot":"","sources":["../src/config.template.cjs"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,wBAAwB;;AAExB,MAAM,CAAC,OAAO,GAAG;IAChB;;;OAGG;IACH,KAAK,EAAE,EAAE;IAET;;;;;OAKG;IACH,OAAO,EAAE,EAAE;IAEX;;;OAGG;IACH,QAAQ,EAAE,SAAS;IAEnB;;;;OAIG;IACH,SAAS,EAAE,MAAM;IAEjB;;;OAGG;IACH,YAAY,EAAE,SAAS;IAEvB;;;OAGG;IACH,OAAO,EAAE,SAAS;IAElB;;;;OAIG;IACH,QAAQ,EAAE,SAAS;IAEnB;;;;OAIG;IACH,WAAW,EAAE,KAAK;IAElB;;;;OAIG;IACH,YAAY,EAAE,CAAC;IAEf;;;;;OAKG;IACH,UAAU,EAAE,2BAA2B;IAEvC;;OAEG;IACH,SAAS,EAAE,GAAG;IAEd;;OAEG;IACH,eAAe,EAAE,KAAK;IAEtB;;;;;OAKG;IACH,gBAAgB,EAAE,KAAK;IAEvB;;;OAGG;IACH,kBAAkB,EAAE,IAAI;IAExB;;;;;;;OAOG;IACH,YAAY,EAAE,SAAS;IAEvB;;;;;;;OAOG;IACH,mBAAmB,EAAE,SAAS;IAE9B;;;OAGG;IACH,MAAM,EAAE,MAAM;IAEd;;;;OAIG;IACH,cAAc,EAAE,SAAS;IAEzB;;;;;OAKG;IACH,cAAc,EAAE,SAAS;IAEzB;;;;;;OAMG;IACH,kBAAkB,EAAE,SAAS;IAE7B;;;;;OAKG;IACH,mBAAmB,EAAE,KAAK;IAE1B
|
1
|
+
{"version":3,"file":"config.template.cjs","sourceRoot":"","sources":["../src/config.template.cjs"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,wBAAwB;;AAExB,MAAM,CAAC,OAAO,GAAG;IAChB;;;OAGG;IACH,KAAK,EAAE,EAAE;IAET;;;;;OAKG;IACH,OAAO,EAAE,EAAE;IAEX;;;OAGG;IACH,QAAQ,EAAE,SAAS;IAEnB;;;;OAIG;IACH,SAAS,EAAE,MAAM;IAEjB;;;OAGG;IACH,YAAY,EAAE,SAAS;IAEvB;;;OAGG;IACH,OAAO,EAAE,SAAS;IAElB;;;;OAIG;IACH,QAAQ,EAAE,SAAS;IAEnB;;;;OAIG;IACH,WAAW,EAAE,KAAK;IAElB;;;;OAIG;IACH,YAAY,EAAE,CAAC;IAEf;;;;;OAKG;IACH,UAAU,EAAE,2BAA2B;IAEvC;;OAEG;IACH,SAAS,EAAE,GAAG;IAEd;;OAEG;IACH,eAAe,EAAE,KAAK;IAEtB;;;;;OAKG;IACH,gBAAgB,EAAE,KAAK;IAEvB;;;OAGG;IACH,kBAAkB,EAAE,IAAI;IAExB;;;;;;;OAOG;IACH,YAAY,EAAE,SAAS;IAEvB;;;;;;;OAOG;IACH,mBAAmB,EAAE,SAAS;IAE9B;;;OAGG;IACH,MAAM,EAAE,MAAM;IAEd;;;;OAIG;IACH,cAAc,EAAE,SAAS;IAEzB;;;;;OAKG;IACH,cAAc,EAAE,SAAS;IAEzB;;;;;;OAMG;IACH,kBAAkB,EAAE,SAAS;IAE7B;;;;;OAKG;IACH,mBAAmB,EAAE,KAAK;IAE1B;;;;;;OAMG;IACH,sBAAsB,EAAE,SAAS;IAEjC;;OAEG;IACH,IAAI,EAAE,IAAI;IAEV;;;;OAIG;IACH,IAAI,EAAE,SAAS;IAEf;;;;;;;OAOG;IACH,UAAU,EAAE,SAAS;IAErB;;;;;;;;OAQG;IACH,aAAa,EAAE,SAAS;IAExB;;;;;;;;;OASG;IACH,aAAa,EAAE,SAAS;IAExB;;;;;;;;;OASG;IACH,aAAa,EAAE,SAAS;IAExB;;;;OAIG;IACH,WAAW,EAAE,SAAS;CACtB,CAAC"}
|
@@ -140,6 +140,8 @@ module.exports = {
|
|
140
140
|
* cross-seed will send POST requests to this url
|
141
141
|
* with a JSON payload of { title, body }.
|
142
142
|
* Conforms to the caronc/apprise REST API.
|
143
|
+
* If necessary, supply your username and password inside the url like so:
|
144
|
+
* "http://username:password@localhost:8000/notify/cross-seed"
|
143
145
|
*/
|
144
146
|
notificationWebhookUrl: undefined,
|
145
147
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.template.docker.cjs","sourceRoot":"","sources":["../src/config.template.docker.cjs"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,wBAAwB;;AAExB,MAAM,CAAC,OAAO,GAAG;IAChB;;;OAGG;IACH,KAAK,EAAE,EAAE;IAET;;;;;OAKG;IACH,OAAO,EAAE,EAAE;IAEX;;;OAGG;IACH,QAAQ,EAAE,SAAS;IAEnB;;;;OAIG;IACH,SAAS,EAAE,MAAM;IAEjB;;;OAGG;IACH,YAAY,EAAE,SAAS;IAEvB;;;OAGG;IACH,OAAO,EAAE,SAAS;IAElB;;;;OAIG;IACH,QAAQ,EAAE,SAAS;IAEnB;;;;OAIG;IACH,WAAW,EAAE,KAAK;IAElB;;;;OAIG;IACH,YAAY,EAAE,CAAC;IAEf;;;;;;;OAOG;IACH,UAAU,EAAE,WAAW;IAEvB;;;;OAIG;IACH,SAAS,EAAE,cAAc;IAEzB;;OAEG;IACH,eAAe,EAAE,KAAK;IAEtB;;;;;OAKG;IACH,gBAAgB,EAAE,KAAK;IAEvB;;;OAGG;IACH,kBAAkB,EAAE,IAAI;IAExB;;;;;;;OAOG;IACH,YAAY,EAAE,SAAS;IAEvB;;;;;;;OAOG;IACH,mBAAmB,EAAE,SAAS;IAE9B;;;OAGG;IACH,MAAM,EAAE,MAAM;IAEd;;;;OAIG;IACH,cAAc,EAAE,SAAS;IAEzB;;;;;OAKG;IACH,cAAc,EAAE,SAAS;IAEzB;;;;;;OAMG;IACH,kBAAkB,EAAE,SAAS;IAE7B;;;;;OAKG;IACH,mBAAmB,EAAE,KAAK;IAE1B
|
1
|
+
{"version":3,"file":"config.template.docker.cjs","sourceRoot":"","sources":["../src/config.template.docker.cjs"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,wBAAwB;;AAExB,MAAM,CAAC,OAAO,GAAG;IAChB;;;OAGG;IACH,KAAK,EAAE,EAAE;IAET;;;;;OAKG;IACH,OAAO,EAAE,EAAE;IAEX;;;OAGG;IACH,QAAQ,EAAE,SAAS;IAEnB;;;;OAIG;IACH,SAAS,EAAE,MAAM;IAEjB;;;OAGG;IACH,YAAY,EAAE,SAAS;IAEvB;;;OAGG;IACH,OAAO,EAAE,SAAS;IAElB;;;;OAIG;IACH,QAAQ,EAAE,SAAS;IAEnB;;;;OAIG;IACH,WAAW,EAAE,KAAK;IAElB;;;;OAIG;IACH,YAAY,EAAE,CAAC;IAEf;;;;;;;OAOG;IACH,UAAU,EAAE,WAAW;IAEvB;;;;OAIG;IACH,SAAS,EAAE,cAAc;IAEzB;;OAEG;IACH,eAAe,EAAE,KAAK;IAEtB;;;;;OAKG;IACH,gBAAgB,EAAE,KAAK;IAEvB;;;OAGG;IACH,kBAAkB,EAAE,IAAI;IAExB;;;;;;;OAOG;IACH,YAAY,EAAE,SAAS;IAEvB;;;;;;;OAOG;IACH,mBAAmB,EAAE,SAAS;IAE9B;;;OAGG;IACH,MAAM,EAAE,MAAM;IAEd;;;;OAIG;IACH,cAAc,EAAE,SAAS;IAEzB;;;;;OAKG;IACH,cAAc,EAAE,SAAS;IAEzB;;;;;;OAMG;IACH,kBAAkB,EAAE,SAAS;IAE7B;;;;;OAKG;IACH,mBAAmB,EAAE,KAAK;IAE1B;;;;;;OAMG;IACH,sBAAsB,EAAE,SAAS;IAEjC;;OAEG;IACH,IAAI,EAAE,IAAI;IAEV;;;;OAIG;IACH,IAAI,EAAE,SAAS;IAEf;;;;;;;OAOG;IACH,UAAU,EAAE,SAAS;IAErB;;;;;;;;OAQG;IACH,aAAa,EAAE,SAAS;IAExB;;;;;;;;;OASG;IACH,aAAa,EAAE,SAAS;IAExB;;;;;;;;;OASG;IACH,aAAa,EAAE,SAAS;IAExB;;;;OAIG;IACH,WAAW,EAAE,SAAS;CACtB,CAAC"}
|
package/dist/constants.js
CHANGED
@@ -4,9 +4,9 @@ const packageDotJson = require("../package.json");
|
|
4
4
|
export const PROGRAM_NAME = packageDotJson.name;
|
5
5
|
export const PROGRAM_VERSION = packageDotJson.version;
|
6
6
|
export const USER_AGENT = `CrossSeed/${PROGRAM_VERSION}`;
|
7
|
-
export const EP_REGEX = /^(?<title
|
8
|
-
export const SEASON_REGEX = /^(?<title
|
9
|
-
export const MOVIE_REGEX = /^(?<title
|
7
|
+
export const EP_REGEX = /^(?<title>.+?)[\s._](?<season>S\d+)?[_.\s]?(?<episode>E\d+(?:[-\s]?E?\d+)?)/i;
|
8
|
+
export const SEASON_REGEX = /^(?<title>.+?)[_.\s](?<season>S\d+)(?:[.\-\s]*?(?<seasonmax>S?\d+))?(?=[_.\s](?!E\d+))/i;
|
9
|
+
export const MOVIE_REGEX = /^(?<title>.+?)[._\s][[(]?(?<year>\d{4})[)\]]?(?![pi])/i;
|
10
10
|
export const VIDEO_EXTENSIONS = [".mkv", ".mp4", ".avi"];
|
11
11
|
export const DATA_EXTENSIONS = [".mkv", ".avi", ".mp4", ".ts", ".flac", ".mp3"];
|
12
12
|
export const TORRENT_CACHE_FOLDER = "torrent_cache";
|
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;AAEzD,MAAM,CAAC,MAAM,QAAQ,GAAG,
|
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;AAEzD,MAAM,CAAC,MAAM,QAAQ,GAAG,8EAA8E,CAAC;AACvG,MAAM,CAAC,MAAM,YAAY,GACxB,yFAAyF,CAAC;AAC3F,MAAM,CAAC,MAAM,WAAW,GACvB,wDAAwD,CAAC;AAE1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEpD,MAAM,CAAN,IAAY,MAGX;AAHD,WAAY,MAAM;IACjB,uBAAa,CAAA;IACb,2BAAiB,CAAA;AAClB,CAAC,EAHW,MAAM,GAAN,MAAM,KAAN,MAAM,QAGjB;AAED,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IAC1B,uCAAoB,CAAA;IACpB,sCAAmB,CAAA;IACnB,oDAAiC,CAAA;IACjC,gEAA6C,CAAA;AAC9C,CAAC,EALW,eAAe,GAAf,eAAe,KAAf,eAAe,QAK1B;AAED,MAAM,CAAN,IAAY,UAEX;AAFD,WAAY,UAAU;IACrB,6BAAe,CAAA;AAChB,CAAC,EAFW,UAAU,GAAV,UAAU,KAAV,UAAU,QAErB;AAID,MAAM,CAAN,IAAY,QASX;AATD,WAAY,QAAQ;IACnB,2BAAe,CAAA;IACf,+CAAmC,CAAA;IACnC,2CAA+B,CAAA;IAC/B,iDAAqC,CAAA;IACrC,+CAAmC,CAAA;IACnC,yCAA6B,CAAA;IAC7B,iEAAqD,CAAA;IACrD,qDAAyC,CAAA;AAC1C,CAAC,EATW,QAAQ,GAAR,QAAQ,KAAR,QAAQ,QASnB;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACpB,0BAAa,CAAA;IACb,4BAAe,CAAA;AAChB,CAAC,EAHW,SAAS,GAAT,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;AACtB,CAAC,EAHW,QAAQ,GAAR,QAAQ,KAAR,QAAQ,QAGnB"}
|
package/dist/pushNotifier.js
CHANGED
@@ -10,17 +10,43 @@ var Event;
|
|
10
10
|
})(Event || (Event = {}));
|
11
11
|
export class PushNotifier {
|
12
12
|
constructor(url) {
|
13
|
-
|
13
|
+
const urlObj = new URL(url);
|
14
|
+
if (urlObj.username && urlObj.password) {
|
15
|
+
this.username = urlObj.username;
|
16
|
+
this.password = urlObj.password;
|
17
|
+
// Remove the username and password from the URL
|
18
|
+
urlObj.username = "";
|
19
|
+
urlObj.password = "";
|
20
|
+
this.url = urlObj.toString();
|
21
|
+
}
|
22
|
+
else {
|
23
|
+
this.url = url;
|
24
|
+
}
|
14
25
|
}
|
15
|
-
notify({ title = "cross-seed", body, ...rest }) {
|
26
|
+
async notify({ title = "cross-seed", body, ...rest }) {
|
16
27
|
if (this.url) {
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
}
|
28
|
+
const headers = new Headers();
|
29
|
+
headers.append("Content-Type", "application/json");
|
30
|
+
if (this.username && this.password) {
|
31
|
+
const credentials = `${this.username}:${this.password}`;
|
32
|
+
const basicAuth = "Basic " + btoa(credentials);
|
33
|
+
headers.append("Authorization", basicAuth);
|
34
|
+
}
|
35
|
+
logger.verbose(`Notification request send to ${this.url}`);
|
36
|
+
try {
|
37
|
+
const response = await fetch(this.url, {
|
38
|
+
method: "POST",
|
39
|
+
headers,
|
40
|
+
body: JSON.stringify({ title, body, ...rest }),
|
41
|
+
});
|
42
|
+
const responseText = await response.text();
|
43
|
+
response.ok
|
44
|
+
? logger.verbose(`Notifiaction server response:\n${responseText}`)
|
45
|
+
: logger.error(`Notifiaction server error: ${response.status}, ${response.statusText}`);
|
46
|
+
}
|
47
|
+
catch (error) {
|
48
|
+
logger.error({ message: "Failed to send push notification", error });
|
49
|
+
}
|
24
50
|
}
|
25
51
|
}
|
26
52
|
}
|
package/dist/pushNotifier.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pushNotifier.js","sourceRoot":"","sources":["../src/pushNotifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAgB,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAS,MAAM,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,IAAI,YAA0B,CAAC;AACtC,IAAK,KAEJ;AAFD,WAAK,KAAK;IACT,4BAAmB,CAAA;AACpB,CAAC,EAFI,KAAK,KAAL,KAAK,QAET;AASD,MAAM,OAAO,YAAY;
|
1
|
+
{"version":3,"file":"pushNotifier.js","sourceRoot":"","sources":["../src/pushNotifier.ts"],"names":[],"mappings":"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"}
|
package/dist/torrent.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
import fs, { promises as fsPromises } from "fs";
|
2
1
|
import Fuse from "fuse.js";
|
2
|
+
import fs, { promises as fsPromises } from "fs";
|
3
3
|
import fetch from "node-fetch";
|
4
4
|
import path, { join } from "path";
|
5
5
|
import { inspect } from "util";
|
6
|
-
import { USER_AGENT } from "./constants.js";
|
6
|
+
import { USER_AGENT, } from "./constants.js";
|
7
7
|
import { db } from "./db.js";
|
8
8
|
import { CrossSeedError } from "./errors.js";
|
9
9
|
import { logger, logOnce } from "./logger.js";
|
@@ -11,7 +11,7 @@ import { Metafile } from "./parseTorrent.js";
|
|
11
11
|
import { resultOf, resultOfErr } from "./Result.js";
|
12
12
|
import { getRuntimeConfig } from "./runtimeConfig.js";
|
13
13
|
import { createSearcheeFromTorrentFile } from "./searchee.js";
|
14
|
-
import { stripExtension } from "./utils.js";
|
14
|
+
import { reformatTitleForSearching, stripExtension } from "./utils.js";
|
15
15
|
export var SnatchError;
|
16
16
|
(function (SnatchError) {
|
17
17
|
SnatchError["ABORTED"] = "ABORTED";
|
@@ -160,15 +160,29 @@ export async function loadTorrentDirLight() {
|
|
160
160
|
}
|
161
161
|
export async function getTorrentByFuzzyName(name) {
|
162
162
|
const allNames = await db("torrent").select("name", "file_path");
|
163
|
+
const fullMatch = reformatTitleForSearching(name).replace(/[^a-z0-9]/gi, "").toLowerCase();
|
164
|
+
// Attempt to filter torrents in DB to match incoming torrent before fuzzy check
|
165
|
+
let filteredNames = [];
|
166
|
+
if (fullMatch) {
|
167
|
+
filteredNames = allNames.filter((dbName) => {
|
168
|
+
const dbMatch = reformatTitleForSearching(dbName.name).replace(/[^a-z0-9]/gi, "").toLowerCase();
|
169
|
+
if (!dbMatch)
|
170
|
+
return false;
|
171
|
+
return fullMatch === dbMatch;
|
172
|
+
});
|
173
|
+
}
|
174
|
+
// If none match, proceed with fuzzy name check on all names.
|
175
|
+
filteredNames = filteredNames.length > 0 ? filteredNames : allNames;
|
163
176
|
// @ts-expect-error fuse types are confused
|
164
|
-
const potentialMatches = new Fuse(
|
177
|
+
const potentialMatches = new Fuse(filteredNames, {
|
165
178
|
keys: ["name"],
|
166
179
|
distance: 6,
|
167
|
-
threshold: 0.
|
180
|
+
threshold: 0.6,
|
168
181
|
}).search(name);
|
182
|
+
// Valid matches exist
|
169
183
|
if (potentialMatches.length === 0)
|
170
184
|
return null;
|
171
|
-
const
|
185
|
+
const firstMatch = potentialMatches[0];
|
172
186
|
return parseTorrentFromFilename(firstMatch.item.file_path);
|
173
187
|
}
|
174
188
|
export async function getTorrentByCriteria(criteria) {
|
package/dist/torrent.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"torrent.js","sourceRoot":"","sources":["../src/torrent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,
|
1
|
+
{"version":3,"file":"torrent.js","sourceRoot":"","sources":["../src/torrent.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,EAAE,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,KAAmB,MAAM,YAAY,CAAC;AAC7C,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EACN,UAAU,GAIV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAU,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAY,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQvE,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACtB,kCAAmB,CAAA;IACnB,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,oDAAqC,CAAA;IACrC,8CAA+B,CAAA;AAChC,CAAC,EANW,WAAW,GAAX,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,QAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,GAAW;;IAEX,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,EAAE,aAAa,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE7C,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;QACtC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,eAAe,CAAC,KAAK,EAAE,EAAE,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;KACtE;IAED,IAAI,QAAkB,CAAC;IACvB,IAAI;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE;YACrC,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,QAAQ,EAAE,QAAQ;SAClB,CAAC,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACX,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC;YAC3C,OAAO,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SACxC;QACD,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KAC9C;IAED,IACC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;SAC1C,MAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,UAAU,CAAC,SAAS,CAAC,CAAA,EACtD;QACD,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;QAC5D,OAAO,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;KAC5C;SAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;QACnC,OAAO,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;KAC7C;SAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QACxB,MAAM,CAAC,KAAK,CACX,gCAAgC,GAAG,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAChF,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KAC9C;SAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,qBAAqB,EAAE;QAC1E,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACjC,OAAO,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SAC7C;QACD,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CACX,cAAc,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GACvC,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACrC,GAAG,CACH,CAAC;QACF,OAAO,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;KACjD;IACD,IAAI;QACH,OAAO,QAAQ,CACd,QAAQ,CAAC,MAAM,CACd,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CACzD,CACD,CAAC;KACF;IAAC,OAAO,CAAC,EAAE;QACX,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;QACjD,OAAO,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;KACjD;AACF,CAAC;AAED,MAAM,UAAU,eAAe,CAC9B,OAAe,EACf,GAAG,GAAG,EAAE,EACR,IAAc;IAEd,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,KAAK,OAAO,IAAI,IAAI,UAAU,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,UAAkB;IAElB,OAAO,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC3C,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC;SAC/C,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACrC,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAC/D,uCAAuC;IAEvC,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE;QACnC,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC;aAC1C,MAAM,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;aAC9B,KAAK,EAAE,CAAC;QAEV,IAAI,CAAC,gBAAgB,EAAE;YACtB,IAAI,IAAI,CAAC;YACT,IAAI;gBACH,IAAI,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;aAChD;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,mBAAmB,QAAQ,EAAE,EAAE,GAAG,EAAE;oBAC3C,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;oBAC5C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC;gBACH,SAAS;aACT;YACD,MAAM,EAAE,CAAC,SAAS,CAAC;iBACjB,MAAM,CAAC;gBACP,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;aACf,CAAC;iBACD,UAAU,CAAC,WAAW,CAAC;iBACvB,MAAM,EAAE,CAAC;SACX;KACD;IACD,2DAA2D;IAC3D,6BAA6B;IAC7B,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC3C,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CACjE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC1C,IAAI;QACH,MAAM,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KACrC;IAAC,OAAO,CAAC,EAAE;QACX,MAAM,IAAI,cAAc,CAAC,eAAe,UAAU,aAAa,CAAC,CAAC;KACjE;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACxC,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC1C,MAAM,gBAAgB,GAAG,EAAE;SACzB,WAAW,CAAC,UAAU,CAAC;SACvB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC;SAC/C,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnE,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;QAC/C,MAAM,cAAc,GAAG,MAAM,6BAA6B,CACzD,eAAe,CACf,CAAC;QACF,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE;YAC1B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC;SAC/C;KACD;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,IAAY;IAEZ,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,OAAO,CACxD,aAAa,EACb,EAAE,CACF,CAAC,WAAW,EAAE,CAAC;IAEhB,gFAAgF;IAChF,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,SAAS,EAAE;QACd,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAC7D,aAAa,EACb,EAAE,CACF,CAAC,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAC3B,OAAO,SAAS,KAAK,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;KACH;IAED,6DAA6D;IAC7D,aAAa,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEpE,2CAA2C;IAC3C,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE;QAChD,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,GAAG;KACd,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhB,sBAAsB;IACtB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,wBAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,QAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC;SACpC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,yCAAyC;QACzC,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACtB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC9C;QACD,IAAI,QAAQ,CAAC,IAAI,EAAE;YAClB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;SACrC;QACD,OAAO,CAAC,CAAC;IACV,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;IAEV,IAAI,UAAU,KAAK,SAAS,EAAE;QAC7B,MAAM,OAAO,GAAG,8CAA8C,OAAO,CACpE,QAAQ,CACR,EAAE,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;KACzB;IACD,OAAO,wBAAwB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC"}
|