mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-13 15:34:07 +02:00
Compare commits
803 Commits
v0.20.1010
...
v0.20.2094
Author | SHA1 | Date | |
---|---|---|---|
![]() |
636fb2348e | ||
![]() |
be9f7ffa3e | ||
![]() |
33923913f5 | ||
![]() |
2f0ac6190f | ||
![]() |
91dd3f6a4a | ||
![]() |
10f6b5779e | ||
![]() |
26b4a27311 | ||
![]() |
d51d005476 | ||
![]() |
ed6f79661a | ||
![]() |
4f596e14b2 | ||
![]() |
6a81366206 | ||
![]() |
e71cd1105f | ||
![]() |
548b2801ee | ||
![]() |
efa1071e09 | ||
![]() |
9c526c17c0 | ||
![]() |
46517f2a06 | ||
![]() |
641a2f39da | ||
![]() |
280572b3aa | ||
![]() |
06ddc9d037 | ||
![]() |
1a3e846a0f | ||
![]() |
056727b36a | ||
![]() |
917d0c2a7e | ||
![]() |
88f5a0d8fe | ||
![]() |
86bda5f468 | ||
![]() |
c59a9ff4bb | ||
![]() |
4c81a86df6 | ||
![]() |
6c7b8b6468 | ||
![]() |
4655ece26b | ||
![]() |
9a7705b208 | ||
![]() |
fd0d86f02c | ||
![]() |
cb59eaee2b | ||
![]() |
d45f40bfab | ||
![]() |
feb47facaa | ||
![]() |
80c91222e9 | ||
![]() |
2e284892c7 | ||
![]() |
dc2943cb06 | ||
![]() |
94c90f4225 | ||
![]() |
e757d81492 | ||
![]() |
76d17aa605 | ||
![]() |
a54f574527 | ||
![]() |
8518cf3c89 | ||
![]() |
7850fd9f36 | ||
![]() |
9b107ad1f3 | ||
![]() |
1a5fff0356 | ||
![]() |
131fb1d65c | ||
![]() |
3a7a327f76 | ||
![]() |
f63941a726 | ||
![]() |
82cc6c790b | ||
![]() |
3bbc29929e | ||
![]() |
09ece29cf4 | ||
![]() |
29eba6c19d | ||
![]() |
058a111c43 | ||
![]() |
426e674e3f | ||
![]() |
035e03bf3e | ||
![]() |
304df9cf36 | ||
![]() |
a4b838ca68 | ||
![]() |
09b4752387 | ||
![]() |
6132054f35 | ||
![]() |
e891be739f | ||
![]() |
7eaef1fa69 | ||
![]() |
1177c8c245 | ||
![]() |
8d4c5b8a36 | ||
![]() |
b9713c1dcf | ||
![]() |
19b626cfc9 | ||
![]() |
8e8572522e | ||
![]() |
15fe1e1672 | ||
![]() |
5b361e1e41 | ||
![]() |
5b0b5f07cd | ||
![]() |
d7dee7c366 | ||
![]() |
09c6a7175a | ||
![]() |
ad512533d0 | ||
![]() |
657024a18a | ||
![]() |
4f031cf9aa | ||
![]() |
4b9fe8e24e | ||
![]() |
265aa012cf | ||
![]() |
25b16e7326 | ||
![]() |
0f32d258a3 | ||
![]() |
902974a0ac | ||
![]() |
9420948a9b | ||
![]() |
c5ca5fa03b | ||
![]() |
f76437a44f | ||
![]() |
68ebaccac1 | ||
![]() |
18724f0520 | ||
![]() |
88178dfeca | ||
![]() |
a828c0cfb8 | ||
![]() |
ca16dea0e7 | ||
![]() |
2cb71ad7ea | ||
![]() |
f573d71379 | ||
![]() |
53101a42f5 | ||
![]() |
b80754d665 | ||
![]() |
ac049f7c45 | ||
![]() |
a69bd75b27 | ||
![]() |
64c193aad7 | ||
![]() |
eef6d5e9aa | ||
![]() |
0fadd2b478 | ||
![]() |
ef4a8058d6 | ||
![]() |
50798a61be | ||
![]() |
7361aa7c6f | ||
![]() |
9658fa899a | ||
![]() |
bd6a0d0330 | ||
![]() |
356a5cce0a | ||
![]() |
6311e5d7c8 | ||
![]() |
1fce2f3126 | ||
![]() |
959c297664 | ||
![]() |
7d7e00cd63 | ||
![]() |
6cacc50fb0 | ||
![]() |
5fe2cb6a50 | ||
![]() |
34e8bfbd29 | ||
![]() |
d68fb0ee6e | ||
![]() |
f4d3ca2d73 | ||
![]() |
fbb50c55b7 | ||
![]() |
97d744afc7 | ||
![]() |
e520105ade | ||
![]() |
651d1cdf92 | ||
![]() |
bd2efe0d5e | ||
![]() |
e2d76d6fc7 | ||
![]() |
9af399bfa2 | ||
![]() |
f915f403b7 | ||
![]() |
6a84427f72 | ||
![]() |
2f3aedbb96 | ||
![]() |
533b07f801 | ||
![]() |
fa1465373d | ||
![]() |
7302652feb | ||
![]() |
1454f67eef | ||
![]() |
68aad0c3b8 | ||
![]() |
56aba98bc9 | ||
![]() |
df421f2bfb | ||
![]() |
af633154b9 | ||
![]() |
4d27570669 | ||
![]() |
ce6240f130 | ||
![]() |
c6813224c5 | ||
![]() |
5a0664936c | ||
![]() |
e07ceab101 | ||
![]() |
e1605572f2 | ||
![]() |
6eb122d823 | ||
![]() |
8087baaf57 | ||
![]() |
5f2be6ee2c | ||
![]() |
8a3625177e | ||
![]() |
927431fba2 | ||
![]() |
78a36a3a9a | ||
![]() |
70aa1b67d9 | ||
![]() |
fa4b3e233b | ||
![]() |
9a1aa101d7 | ||
![]() |
9fff3112b2 | ||
![]() |
8e51236a6a | ||
![]() |
293e514748 | ||
![]() |
0b80db4789 | ||
![]() |
b011fb7fb6 | ||
![]() |
3687afa4b0 | ||
![]() |
085e150162 | ||
![]() |
2d41a3aecb | ||
![]() |
c0d2c087a0 | ||
![]() |
af509ce3ee | ||
![]() |
90d74381cb | ||
![]() |
db12b4ce41 | ||
![]() |
3a743d632a | ||
![]() |
28e0050ef7 | ||
![]() |
1133432cff | ||
![]() |
7bdafb0d0e | ||
![]() |
f3d491931c | ||
![]() |
b105ff7404 | ||
![]() |
c470164f96 | ||
![]() |
c19e1df956 | ||
![]() |
1ba404df45 | ||
![]() |
4996a7fb9c | ||
![]() |
9a38b82e76 | ||
![]() |
b30b1be238 | ||
![]() |
f1b0b12425 | ||
![]() |
aa106dd85a | ||
![]() |
488c90e235 | ||
![]() |
2e3acde9f7 | ||
![]() |
65c87f3546 | ||
![]() |
bb2772cee1 | ||
![]() |
21dc01563f | ||
![]() |
340c4b0ded | ||
![]() |
284ec8b299 | ||
![]() |
b7aa0c16d7 | ||
![]() |
51dc713e3b | ||
![]() |
697b21d95f | ||
![]() |
ee387b0792 | ||
![]() |
2b1b6db36d | ||
![]() |
38cfa56dbc | ||
![]() |
bff83d68cf | ||
![]() |
52cecffc5a | ||
![]() |
2e04db7fbf | ||
![]() |
6ff90f481b | ||
![]() |
04e5b3f474 | ||
![]() |
40822ef366 | ||
![]() |
c38454134e | ||
![]() |
6eb61697cd | ||
![]() |
2fc78cd090 | ||
![]() |
fcba41f03f | ||
![]() |
57fea1af0e | ||
![]() |
b7fbd15b09 | ||
![]() |
059721919b | ||
![]() |
77c1751c10 | ||
![]() |
acb2a86f73 | ||
![]() |
f4e38a1651 | ||
![]() |
af6361db45 | ||
![]() |
442957a083 | ||
![]() |
7ebedc8ca0 | ||
![]() |
9eb97a4de7 | ||
![]() |
939f58b290 | ||
![]() |
acb70efc58 | ||
![]() |
8571526317 | ||
![]() |
869edd2b87 | ||
![]() |
cacffb383e | ||
![]() |
c63dce2f2b | ||
![]() |
d035ad03e9 | ||
![]() |
bb53da8f83 | ||
![]() |
d5ddf063ba | ||
![]() |
6df978a5cd | ||
![]() |
db1b058d88 | ||
![]() |
9192a94c91 | ||
![]() |
1c9a7a4715 | ||
![]() |
7384c0070a | ||
![]() |
b9c89c2383 | ||
![]() |
75bb10cdda | ||
![]() |
8ea1811a5f | ||
![]() |
354974a5a5 | ||
![]() |
8c4d59da4b | ||
![]() |
8f5c74c7b9 | ||
![]() |
4963268454 | ||
![]() |
6fb6383b5a | ||
![]() |
81918153a5 | ||
![]() |
f14f9ba98b | ||
![]() |
a8a8ee8f08 | ||
![]() |
43319e3a69 | ||
![]() |
74d9253493 | ||
![]() |
2257b143c2 | ||
![]() |
01c77ee1fa | ||
![]() |
dbc9dea7a3 | ||
![]() |
94800bb71f | ||
![]() |
b2e10f2375 | ||
![]() |
3143d3cfb6 | ||
![]() |
99943658e9 | ||
![]() |
4b0b6ad6c2 | ||
![]() |
3dd5a80b2a | ||
![]() |
1ee452b8bc | ||
![]() |
6752fe8f84 | ||
![]() |
06f9f0e0a6 | ||
![]() |
4c044b0b3b | ||
![]() |
f6fd6b951f | ||
![]() |
cfc7668cde | ||
![]() |
8e8defd5b6 | ||
![]() |
1dc6379467 | ||
![]() |
503f529738 | ||
![]() |
2dbd170083 | ||
![]() |
2667d90e53 | ||
![]() |
6cf179187d | ||
![]() |
467bb9f81c | ||
![]() |
c913990398 | ||
![]() |
216cb56db8 | ||
![]() |
77d7d84dbe | ||
![]() |
71f2717198 | ||
![]() |
173f6fb550 | ||
![]() |
281296851a | ||
![]() |
3afe0dc5f1 | ||
![]() |
442d7dd27c | ||
![]() |
dfff51fe54 | ||
![]() |
bbcdec0c67 | ||
![]() |
4388236bfe | ||
![]() |
88ac1139d0 | ||
![]() |
9dbc8c97cc | ||
![]() |
616a48782e | ||
![]() |
37390b8572 | ||
![]() |
3a36ef4b24 | ||
![]() |
536bae4872 | ||
![]() |
3a48573b88 | ||
![]() |
69796ae6ef | ||
![]() |
491e73b7de | ||
![]() |
9768fd288b | ||
![]() |
8a1f41d080 | ||
![]() |
7c0a5eb598 | ||
![]() |
38e3bd9d7c | ||
![]() |
a0095ca332 | ||
![]() |
0a64ad9124 | ||
![]() |
2723d0c833 | ||
![]() |
14689acb94 | ||
![]() |
5596c9cd5e | ||
![]() |
dff2bdd276 | ||
![]() |
8ed6b2d47a | ||
![]() |
8147252358 | ||
![]() |
ed95a8975f | ||
![]() |
5d826f3c30 | ||
![]() |
740dc7848c | ||
![]() |
2fa84f072c | ||
![]() |
626f5ea320 | ||
![]() |
7eaf5419c5 | ||
![]() |
f6213a1a33 | ||
![]() |
29be7025c7 | ||
![]() |
a173e15236 | ||
![]() |
381e662fa7 | ||
![]() |
2df6df5166 | ||
![]() |
41fb19c629 | ||
![]() |
2980d96913 | ||
![]() |
d9f27d95fd | ||
![]() |
1fb5983d82 | ||
![]() |
5eeacb4661 | ||
![]() |
ce0a4e2f5e | ||
![]() |
de2ddc57c3 | ||
![]() |
bc4687f94d | ||
![]() |
3feb0c517c | ||
![]() |
62f8691e54 | ||
![]() |
ba7c79d29d | ||
![]() |
3b332f8064 | ||
![]() |
a889a4b048 | ||
![]() |
da7e4bf312 | ||
![]() |
c5bc5e88cd | ||
![]() |
8c7dd3531c | ||
![]() |
d3e95801a4 | ||
![]() |
57c6323cdc | ||
![]() |
653f6b969b | ||
![]() |
18a44fa06e | ||
![]() |
0c20234b5a | ||
![]() |
8f882bd5cd | ||
![]() |
8bc78eff49 | ||
![]() |
6c0d4d10ba | ||
![]() |
0c25b80f4e | ||
![]() |
5fa40886ce | ||
![]() |
96cd2b8fc7 | ||
![]() |
b78c9d6452 | ||
![]() |
5c9092663f | ||
![]() |
fc2a217178 | ||
![]() |
998bedfa59 | ||
![]() |
a5de26a41d | ||
![]() |
3bfce09856 | ||
![]() |
8865d66f65 | ||
![]() |
844d1597d8 | ||
![]() |
402e040840 | ||
![]() |
59744e1685 | ||
![]() |
a85aa83e11 | ||
![]() |
3254756361 | ||
![]() |
ef4d3760b6 | ||
![]() |
4615f2d89b | ||
![]() |
94d839bc8c | ||
![]() |
dcc0596467 | ||
![]() |
98ae25ad41 | ||
![]() |
bcc594a149 | ||
![]() |
208f696256 | ||
![]() |
680010a5b7 | ||
![]() |
abd34c5973 | ||
![]() |
7c102a1101 | ||
![]() |
5230394ebf | ||
![]() |
665e9f8c77 | ||
![]() |
59a47824b3 | ||
![]() |
0a3ec32fdd | ||
![]() |
acc9db993a | ||
![]() |
1cdacd753c | ||
![]() |
4af94d0777 | ||
![]() |
04e6507d84 | ||
![]() |
93a7b8c581 | ||
![]() |
60ffb6796d | ||
![]() |
69929dc2f5 | ||
![]() |
990e82f0a6 | ||
![]() |
fddfd7b4f0 | ||
![]() |
8e0aeecb91 | ||
![]() |
eb6d0fb98f | ||
![]() |
3e50d345eb | ||
![]() |
27b96487ba | ||
![]() |
b025f86dd6 | ||
![]() |
e6b37d7b09 | ||
![]() |
9a4f6faed1 | ||
![]() |
fa4513749c | ||
![]() |
9d5d23abbb | ||
![]() |
e411885b0d | ||
![]() |
dfd971ad56 | ||
![]() |
2d9924f38e | ||
![]() |
fbae9db5d7 | ||
![]() |
10cb131edc | ||
![]() |
710da0ec96 | ||
![]() |
94b02f38a2 | ||
![]() |
003ab68c2b | ||
![]() |
03f511dfd1 | ||
![]() |
017ebba3bc | ||
![]() |
af5ba14999 | ||
![]() |
6b0489b64a | ||
![]() |
9497c92166 | ||
![]() |
2bc16cf6f4 | ||
![]() |
f0636d143e | ||
![]() |
b60cea1cfa | ||
![]() |
fa5a10f27c | ||
![]() |
c19b6e547e | ||
![]() |
9a384ee71d | ||
![]() |
3b0cd0d39d | ||
![]() |
49e9b5dc85 | ||
![]() |
a59112f965 | ||
![]() |
f1b7f4fc25 | ||
![]() |
600d37bf69 | ||
![]() |
0802d6d8c6 | ||
![]() |
7bbe650c2d | ||
![]() |
ba18af9f7c | ||
![]() |
784650a808 | ||
![]() |
d9416756b4 | ||
![]() |
d9a6850e1a | ||
![]() |
7fedebb9a8 | ||
![]() |
4410029afb | ||
![]() |
02c3507c3c | ||
![]() |
617413993f | ||
![]() |
a8662fc4fa | ||
![]() |
21c6fff819 | ||
![]() |
6739de88f8 | ||
![]() |
2295ae397b | ||
![]() |
75a2e25528 | ||
![]() |
fcfa1a9c89 | ||
![]() |
192594e853 | ||
![]() |
0def2f0bf3 | ||
![]() |
9c0b620721 | ||
![]() |
a955579133 | ||
![]() |
742a887e6d | ||
![]() |
48b1b3c1ce | ||
![]() |
48d853cd55 | ||
![]() |
2b61b1f067 | ||
![]() |
c96c2e605a | ||
![]() |
7dfa9ca651 | ||
![]() |
ee5e05d955 | ||
![]() |
44165e4534 | ||
![]() |
394743c4fe | ||
![]() |
8fbc5b9a08 | ||
![]() |
6e11e5a75e | ||
![]() |
a8b1001e91 | ||
![]() |
f90186a648 | ||
![]() |
3c4ae68045 | ||
![]() |
b77e20357d | ||
![]() |
0fa921886a | ||
![]() |
ab05f1b4e2 | ||
![]() |
9819f0d968 | ||
![]() |
57679b4105 | ||
![]() |
b194420f6b | ||
![]() |
77ba197774 | ||
![]() |
790bbec2e3 | ||
![]() |
c820ebca00 | ||
![]() |
77bd826795 | ||
![]() |
33093d6ccb | ||
![]() |
33beea5f62 | ||
![]() |
60066a5827 | ||
![]() |
4dfe9d91ff | ||
![]() |
3cf64cab8a | ||
![]() |
6b0bfa215c | ||
![]() |
673a572f4a | ||
![]() |
fac104bdb8 | ||
![]() |
57f03e0aa5 | ||
![]() |
7685b6d434 | ||
![]() |
a895cdea6c | ||
![]() |
55eadc8dea | ||
![]() |
f71d8be9f6 | ||
![]() |
605b2a3cd9 | ||
![]() |
ba889e81ec | ||
![]() |
ae612ccf18 | ||
![]() |
80fbd15f8f | ||
![]() |
2ba81c4b10 | ||
![]() |
e39f0c115e | ||
![]() |
a22bbaac74 | ||
![]() |
1b448875c8 | ||
![]() |
d155ee00eb | ||
![]() |
56b6ec1a16 | ||
![]() |
82369f9966 | ||
![]() |
4e937befd7 | ||
![]() |
ba17ebe2ed | ||
![]() |
b29ea1f3bc | ||
![]() |
8e7ba97834 | ||
![]() |
8ddfa4f6b3 | ||
![]() |
72e6068fe2 | ||
![]() |
20c363293b | ||
![]() |
75ae674998 | ||
![]() |
507f2f22f7 | ||
![]() |
7c8afef596 | ||
![]() |
25c745a487 | ||
![]() |
a7b991df25 | ||
![]() |
3be085cad0 | ||
![]() |
4d39d55e23 | ||
![]() |
7aa90025d3 | ||
![]() |
6d8fa58034 | ||
![]() |
a9dae9b442 | ||
![]() |
0d3ddc192f | ||
![]() |
0d0240ae1c | ||
![]() |
420f691956 | ||
![]() |
319211d29a | ||
![]() |
b1a00e01a9 | ||
![]() |
a3d0bc0e0a | ||
![]() |
5cca3cdacf | ||
![]() |
df5db21973 | ||
![]() |
658685f3ae | ||
![]() |
b936d2f9e4 | ||
![]() |
45ac71aea3 | ||
![]() |
5aba9b3614 | ||
![]() |
8bd6b9184b | ||
![]() |
b8cb92bd0a | ||
![]() |
633f69c9d3 | ||
![]() |
9586f7d7a4 | ||
![]() |
904d09c63c | ||
![]() |
69ff7ee3c3 | ||
![]() |
d77f037372 | ||
![]() |
40a534db6a | ||
![]() |
9eeed9b9c9 | ||
![]() |
223fc2550d | ||
![]() |
5b6c7bfcdb | ||
![]() |
2024a43bf5 | ||
![]() |
da46f430e8 | ||
![]() |
7d9656d69b | ||
![]() |
d12b0a413f | ||
![]() |
1f674cdf98 | ||
![]() |
5014a00094 | ||
![]() |
b05fec080f | ||
![]() |
32acc5be20 | ||
![]() |
2168244963 | ||
![]() |
c8ae183d68 | ||
![]() |
e34e70040b | ||
![]() |
9996413a58 | ||
![]() |
d399e7dac8 | ||
![]() |
f314668979 | ||
![]() |
c8c9b7e8a0 | ||
![]() |
9c29320b16 | ||
![]() |
26c9114673 | ||
![]() |
b53833da95 | ||
![]() |
bab1046894 | ||
![]() |
f6b45bdea7 | ||
![]() |
f0d0eed076 | ||
![]() |
a1d57e748b | ||
![]() |
9c6cce4a88 | ||
![]() |
42aba7044a | ||
![]() |
7868b74f35 | ||
![]() |
19bd3e15ca | ||
![]() |
82aa750dbf | ||
![]() |
54fa824928 | ||
![]() |
cb5ade2bb7 | ||
![]() |
6f73f77b09 | ||
![]() |
bb9622733b | ||
![]() |
aae44fd2d5 | ||
![]() |
c067bc4d43 | ||
![]() |
e8712ffe1d | ||
![]() |
975799c1f5 | ||
![]() |
4174a61d09 | ||
![]() |
3e56808a34 | ||
![]() |
4fdfc8a0e5 | ||
![]() |
3c9ad23f5d | ||
![]() |
3afe5ae105 | ||
![]() |
8fc70090e2 | ||
![]() |
f348fe2132 | ||
![]() |
d7aa76634f | ||
![]() |
fb8ca0fd75 | ||
![]() |
a75c145755 | ||
![]() |
a6224e6cb2 | ||
![]() |
67a2158527 | ||
![]() |
0a3a939c98 | ||
![]() |
740690f97c | ||
![]() |
9695ef0a7e | ||
![]() |
86d7a55329 | ||
![]() |
84f3811ce7 | ||
![]() |
14d30b0bc8 | ||
![]() |
aa13589248 | ||
![]() |
63cd00c88e | ||
![]() |
50e67fd653 | ||
![]() |
d3f8361ac3 | ||
![]() |
26d57b4d39 | ||
![]() |
5f250e3347 | ||
![]() |
7ea44670d1 | ||
![]() |
a985d6eee3 | ||
![]() |
bef81bde3e | ||
![]() |
d77e1ad581 | ||
![]() |
dd78e2c198 | ||
![]() |
a595a2af8a | ||
![]() |
09f506a944 | ||
![]() |
7e123da67c | ||
![]() |
cd0af8012e | ||
![]() |
554e79f09b | ||
![]() |
853e99f3ec | ||
![]() |
096ee5934f | ||
![]() |
47766e2fb2 | ||
![]() |
10d0f4566e | ||
![]() |
00af4708aa | ||
![]() |
9879017b34 | ||
![]() |
8ee02189f4 | ||
![]() |
13d7cdd00c | ||
![]() |
32eddbb903 | ||
![]() |
3234b66ba4 | ||
![]() |
9722152a28 | ||
![]() |
a34b40ef3e | ||
![]() |
f8683c8533 | ||
![]() |
59838795d0 | ||
![]() |
f5c17c891d | ||
![]() |
7b710c6273 | ||
![]() |
430300fb45 | ||
![]() |
08ee15cb9b | ||
![]() |
f52cc4273f | ||
![]() |
905872bd2f | ||
![]() |
d6f3defab8 | ||
![]() |
bc4703574c | ||
![]() |
121820c837 | ||
![]() |
568c63ea0c | ||
![]() |
a07cda3efa | ||
![]() |
0713d9313c | ||
![]() |
5ec5a04a26 | ||
![]() |
fbc65acdcc | ||
![]() |
ebd1fdba71 | ||
![]() |
6f33f34f46 | ||
![]() |
d3c9328575 | ||
![]() |
5256828d4c | ||
![]() |
5ee9048df9 | ||
![]() |
c574c4c476 | ||
![]() |
b63b380ca2 | ||
![]() |
78fdb39099 | ||
![]() |
35b37d0495 | ||
![]() |
c6e6eea192 | ||
![]() |
d08f569213 | ||
![]() |
49093f9092 | ||
![]() |
9b07b7dd32 | ||
![]() |
81c93f5d3a | ||
![]() |
63436ee0ea | ||
![]() |
5f94f8ceac | ||
![]() |
93991d7896 | ||
![]() |
26ddea56f6 | ||
![]() |
a779fee29b | ||
![]() |
39f3d202b2 | ||
![]() |
94970b6254 | ||
![]() |
3df59ca71b | ||
![]() |
a107c9a2c1 | ||
![]() |
1ecd58a39f | ||
![]() |
22bd173e90 | ||
![]() |
beb1e4e8f2 | ||
![]() |
a1c1ae1ab4 | ||
![]() |
53ec7ae8b0 | ||
![]() |
f659ecbfc6 | ||
![]() |
c710da3dbe | ||
![]() |
b1ff645c37 | ||
![]() |
972dadc8fc | ||
![]() |
92c36581fc | ||
![]() |
88a98580ed | ||
![]() |
54f29890ef | ||
![]() |
a4c9158254 | ||
![]() |
7581645525 | ||
![]() |
21c52ce75d | ||
![]() |
12086ed5b1 | ||
![]() |
6eda7c6c7f | ||
![]() |
1dd67eed7a | ||
![]() |
b36f88dfd4 | ||
![]() |
bf5bc1c504 | ||
![]() |
171f49a70c | ||
![]() |
1dd4e8a650 | ||
![]() |
805b9b0d15 | ||
![]() |
4692a9e42b | ||
![]() |
67936bd97d | ||
![]() |
47b2876e80 | ||
![]() |
e28b9ff57a | ||
![]() |
a655c19399 | ||
![]() |
d594828ffd | ||
![]() |
0df78edc9a | ||
![]() |
24f97d763f | ||
![]() |
5e56acd194 | ||
![]() |
acb38e9759 | ||
![]() |
1f7ca2d4ca | ||
![]() |
39ca344537 | ||
![]() |
db152823bb | ||
![]() |
de7bf09642 | ||
![]() |
2d40775c01 | ||
![]() |
b89f34ca05 | ||
![]() |
b27059568f | ||
![]() |
c5bd2800c5 | ||
![]() |
e978ede8ca | ||
![]() |
aa34a4e41e | ||
![]() |
8a7b753ace | ||
![]() |
817f0a38a8 | ||
![]() |
876c090d5e | ||
![]() |
16ec4c1c7a | ||
![]() |
a1fee45f53 | ||
![]() |
fbcd935535 | ||
![]() |
d62a42ea7b | ||
![]() |
29fbf42ad1 | ||
![]() |
9b005a733c | ||
![]() |
e7ee92274a | ||
![]() |
04173fae0b | ||
![]() |
b0b7fe4531 | ||
![]() |
f561787369 | ||
![]() |
a973ee643a | ||
![]() |
42c4b14599 | ||
![]() |
f2f2f652ae | ||
![]() |
44c3984440 | ||
![]() |
f51638cb0f | ||
![]() |
0c206b30d0 | ||
![]() |
b32808a360 | ||
![]() |
206c1a3c25 | ||
![]() |
ff9184226d | ||
![]() |
b57e12a690 | ||
![]() |
9b589264a5 | ||
![]() |
38a2f91a89 | ||
![]() |
cdb9491593 | ||
![]() |
3aa5ef32d9 | ||
![]() |
820c5a7a0a | ||
![]() |
1b0e7a2597 | ||
![]() |
e210a4247d | ||
![]() |
ac12340857 | ||
![]() |
7212f96d29 | ||
![]() |
a7fdda8b3b | ||
![]() |
36e76ba32e | ||
![]() |
7868aa6210 | ||
![]() |
751aa4002a | ||
![]() |
ae8ba98750 | ||
![]() |
e5215db278 | ||
![]() |
fd522272df | ||
![]() |
316933d392 | ||
![]() |
5020f6d125 | ||
![]() |
42092ac416 | ||
![]() |
641dee0e59 | ||
![]() |
3d29f64831 | ||
![]() |
2c10d329f4 | ||
![]() |
623b018f89 | ||
![]() |
d3ca2654b6 | ||
![]() |
ce528825da | ||
![]() |
1a553285c7 | ||
![]() |
5b421982f9 | ||
![]() |
9ab5fc24b0 | ||
![]() |
473671d6f6 | ||
![]() |
decdd6d733 | ||
![]() |
37744807bc | ||
![]() |
1876042c51 | ||
![]() |
fb28d4093a | ||
![]() |
440f1f013d | ||
![]() |
0f5b7fea17 | ||
![]() |
1a5ed10ad6 | ||
![]() |
ad35d1bf66 | ||
![]() |
246f75b4b1 | ||
![]() |
b190f841b4 | ||
![]() |
c263dcba74 | ||
![]() |
ea6e75abb3 | ||
![]() |
e5cd53c0c9 | ||
![]() |
daa7e661b8 | ||
![]() |
47b170bd1b | ||
![]() |
8a8926323b | ||
![]() |
ca32a8aaad | ||
![]() |
3b4062f0a5 | ||
![]() |
8abc4d4f1f | ||
![]() |
7a8798da89 | ||
![]() |
1b757d9480 | ||
![]() |
c4d900cef1 | ||
![]() |
9247e3de1b | ||
![]() |
5dca4f4447 | ||
![]() |
b1904738b0 | ||
![]() |
4ffc4fa417 | ||
![]() |
4e6195947e | ||
![]() |
40d811f9c2 | ||
![]() |
fbb7bfdc7d | ||
![]() |
c998a4a522 | ||
![]() |
3f036da9de | ||
![]() |
aeacb93440 | ||
![]() |
467ae96c39 | ||
![]() |
29a05370d9 | ||
![]() |
7adc26966d | ||
![]() |
b2274030e7 | ||
![]() |
21d92cdd6d | ||
![]() |
ea4c715763 | ||
![]() |
9e4fdf8bd9 | ||
![]() |
42f95c528f | ||
![]() |
a398392758 | ||
![]() |
6a89629b7c | ||
![]() |
1bff310bc0 | ||
![]() |
7d32bcec9c | ||
![]() |
5ae601b6da | ||
![]() |
1342037802 | ||
![]() |
152fd75319 | ||
![]() |
fc1984f05c | ||
![]() |
22e3083dc1 | ||
![]() |
e5401e2332 | ||
![]() |
1cf6551bc4 | ||
![]() |
add348eebe | ||
![]() |
f4ee57612a | ||
![]() |
a90cdca8b1 | ||
![]() |
6f59a5319e | ||
![]() |
1e8d6f0f05 | ||
![]() |
7ab80d28ee | ||
![]() |
f04454a5e7 | ||
![]() |
735812c722 | ||
![]() |
f5bd4966ef | ||
![]() |
06b86b060d | ||
![]() |
e94b1a578a | ||
![]() |
da77217954 | ||
![]() |
327b4019e6 | ||
![]() |
290ec2b74f | ||
![]() |
cc2afd5a84 | ||
![]() |
cfbaf89318 | ||
![]() |
e7ffc02b67 | ||
![]() |
c170f44f57 | ||
![]() |
7f766e8fa2 | ||
![]() |
6e79c571d3 | ||
![]() |
9eece534e2 | ||
![]() |
130a46e899 | ||
![]() |
f273517561 | ||
![]() |
f09c29b862 | ||
![]() |
07f1ec803b | ||
![]() |
c0cafa419f | ||
![]() |
47b83ebb6e | ||
![]() |
d87b7a4588 | ||
![]() |
656313ad1c | ||
![]() |
60b854ec2a | ||
![]() |
0d9ec1bfcb | ||
![]() |
626f03707f | ||
![]() |
3b4f594bc8 | ||
![]() |
62c908baff | ||
![]() |
20efb195fc | ||
![]() |
094a442d2b | ||
![]() |
b052282eaa | ||
![]() |
c124870a45 | ||
![]() |
4d834e277c | ||
![]() |
15de9f01df |
7
.github/ISSUE_TEMPLATE/indexer-request.yml
vendored
7
.github/ISSUE_TEMPLATE/indexer-request.yml
vendored
@@ -2,6 +2,13 @@ name: Indexer request
|
||||
description: Suggest a new indexer for this project
|
||||
title: "[req]: "
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Have you read our Contributing Guidelines?
|
||||
description: Please read our <a href="https://github.com/Jackett/Jackett/wiki/How-to-request-a-new-tracker">Contributing Guidelines</a> before submitting your request.
|
||||
options:
|
||||
- label: I have read the Contributing Guidelines
|
||||
required: true
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Is there already a request for your tracker?
|
||||
|
9
.github/dependabot.yml
vendored
Normal file
9
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
day: "saturday"
|
||||
time: "00:00"
|
||||
timezone: "Europe/London"
|
8
.github/workflows/codeql-analysis.yml
vendored
8
.github/workflows/codeql-analysis.yml
vendored
@@ -50,11 +50,11 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
@@ -63,7 +63,7 @@ jobs:
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
- name: Set up dotnet
|
||||
uses: actions/setup-dotnet@v1
|
||||
uses: actions/setup-dotnet@v2
|
||||
with:
|
||||
dotnet-version: '6.0.*'
|
||||
|
||||
@@ -71,7 +71,7 @@ jobs:
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
14
.github/workflows/winget.yml
vendored
Normal file
14
.github/workflows/winget.yml
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
name: Publish to WinGet
|
||||
on:
|
||||
release:
|
||||
types: [released]
|
||||
permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: vedantmgoyal2009/winget-releaser@v1
|
||||
with:
|
||||
identifier: Jackett.Jackett
|
||||
token: ${{ secrets.WINGET }}
|
@@ -2,7 +2,7 @@
|
||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
||||
|
||||
#define MyAppName "Jackett"
|
||||
#define MyAppVersion GetFileVersion(MyFileForVersion)
|
||||
; #define MyAppVersion GetFileVersion(MyFileForVersion) (passed as a parameter)
|
||||
#define MyAppPublisher "Jackett"
|
||||
#define MyAppURL "https://github.com/Jackett/Jackett"
|
||||
#define MyAppExeName "JackettTray.exe"
|
||||
|
133
README.md
133
README.md
@@ -21,13 +21,12 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
#### Supported Systems
|
||||
* Windows 7 SP1 or greater
|
||||
* Linux [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/6.0/supported-os.md#linux)
|
||||
* macOS 10.13 or greater
|
||||
* macOS 10.15+ or greater
|
||||
|
||||
<details> <summary> <b> Supported Public Trackers </b> </summary>
|
||||
|
||||
* ØMagnet
|
||||
* 1337x
|
||||
* 24rolika
|
||||
* ACG.RIP
|
||||
* ACGsou (36DM)
|
||||
* Anidex
|
||||
@@ -46,8 +45,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* BT.etree
|
||||
* BT4G
|
||||
* BTDIGG
|
||||
* BTMET
|
||||
* BTmirror
|
||||
* BTSOW
|
||||
* Byrutor
|
||||
* CloudTorrents
|
||||
* comicat
|
||||
* ConCen
|
||||
* cpasbien
|
||||
@@ -80,8 +82,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Isohunt2
|
||||
* iTorrent
|
||||
* JAV-Torrent
|
||||
* kickasstorrents.ws
|
||||
* kickasstorrents.to
|
||||
* kickasstorrents.ws
|
||||
* Knaben
|
||||
* Legit Torrents
|
||||
* LePorno.info
|
||||
* LimeTorrents
|
||||
@@ -96,7 +99,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* MoviesDVDR
|
||||
* MovieTorrent
|
||||
* MyPornClub
|
||||
* NewPCT.me
|
||||
* Newstudio
|
||||
* Nipponsei
|
||||
* Nitro
|
||||
@@ -104,21 +106,17 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* NoNaMe Club (NNM-Club)
|
||||
* Nyaa.si
|
||||
* OneJAV
|
||||
* OpenSharing
|
||||
* OxTorrent
|
||||
* ParnuXi
|
||||
* PC-torrent
|
||||
* PiratBit
|
||||
* Pornforall
|
||||
* PornLeech
|
||||
* PornoLive
|
||||
* PornosLab
|
||||
* PornoTor
|
||||
* PornoTorrent
|
||||
* Portugas
|
||||
* ProPorn
|
||||
* ProStyleX
|
||||
* PS4-Torrent
|
||||
* Rapidzona
|
||||
* RARBG
|
||||
* RinTor
|
||||
@@ -129,6 +127,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Seedoff
|
||||
* seleZen
|
||||
* Sexy-Pics
|
||||
* Shana Project
|
||||
* ShizaProject
|
||||
* ShowRSS
|
||||
* Solid Torrents
|
||||
@@ -139,17 +138,18 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Tokyo Tosho
|
||||
* Torlock
|
||||
* Torlook
|
||||
* Torrent[CORE]
|
||||
* Torrent Downloads (TD)
|
||||
* Torrent Oyun indir
|
||||
* torrent.by
|
||||
* torrent-pirat
|
||||
* Torrent9
|
||||
* Torrent9 clone
|
||||
* Torrent911
|
||||
* TorrentDownload
|
||||
* TorrentFunk
|
||||
* TorrentGalaxy (TGx)
|
||||
* TorrentKitty
|
||||
* TorrentParadise
|
||||
* TorrentProject2
|
||||
* TorrentQQ (토렌트큐큐)
|
||||
* Torrents.csv
|
||||
@@ -158,19 +158,18 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TorrentView (토렌트뷰)
|
||||
* TorrentWhiz ( 토렌트위즈)
|
||||
* Torrentz2eu
|
||||
* Torrentz2nz
|
||||
* truPornolabs
|
||||
* Underverse
|
||||
* UnionDHT
|
||||
* VSTHouse
|
||||
* VST Torrents
|
||||
* xBiT
|
||||
* xxxAdultTorrent
|
||||
* xxxtor
|
||||
* xxxtorrents
|
||||
* YourBittorrent
|
||||
* YTS.ag
|
||||
* zetorrents
|
||||
* Zooqle
|
||||
</details>
|
||||
|
||||
<details> <summary> <b> Supported Semi-Private Trackers </b> </summary>
|
||||
@@ -196,21 +195,20 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Fou-Du-Cinema
|
||||
* Gay-Torrents.net
|
||||
* Genesis-Movement
|
||||
* HamsterStudio
|
||||
* HD-CzTorrent
|
||||
* HDGalaKtik
|
||||
* HunTorrent
|
||||
* IV-Torrents
|
||||
* KinoNaVse100
|
||||
* Kinorun
|
||||
* Kinozal
|
||||
* LostFilm.tv
|
||||
* Magnetico (Local DHT) [[site](https://github.com/boramalper/magnetico)]
|
||||
* MVGroup Forum
|
||||
* MVGroup Main
|
||||
* Marine Tracker
|
||||
* Mazepa
|
||||
* Metal Tracker
|
||||
* MuziekFrabriek
|
||||
* MVGroup Forum
|
||||
* MVGroup Main
|
||||
* NetHD (VietTorrent)
|
||||
* PornoLab
|
||||
* PussyTorrents
|
||||
@@ -219,8 +217,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* RiperAM
|
||||
* RockBox
|
||||
* RUDUB (ex-BaibaKoTV)
|
||||
* RuTracker
|
||||
* Rustorka
|
||||
* RuTracker
|
||||
* SATClubbing
|
||||
* Sharewood
|
||||
* SkTorrent
|
||||
* SkTorrent-org
|
||||
@@ -229,6 +228,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Toloka.to
|
||||
* Torrent-Explosiv
|
||||
* Torrents-Local
|
||||
* Torrents-Town (T-T)
|
||||
* TribalMixes
|
||||
* Union Fansub
|
||||
* YggTorrent (YGG)
|
||||
@@ -242,27 +242,29 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* 1ptbar
|
||||
* 2 Fast 4 You [![(invite needed)][inviteneeded]](#)
|
||||
* 3ChangTrai (3CT) [![(invite needed)][inviteneeded]](#)
|
||||
* 3D Torrents (3DT) [![(invite needed)][inviteneeded]](#)
|
||||
* 3D Torrents (3DT)
|
||||
* 3Evils
|
||||
* 4thD (4th Dimension)
|
||||
* 52PT
|
||||
* Abnormal
|
||||
* ABtorrents (ABT + RNS)
|
||||
* Acervos
|
||||
* Acid Lounge (A-L)
|
||||
* AcrossTheTasman [![(invite needed)][inviteneeded]](#)
|
||||
* Aftershock
|
||||
* Aidoru!Online
|
||||
* Aither
|
||||
* Alleen Retail
|
||||
* AlphaRatio (AR)
|
||||
* AmigosShareClub
|
||||
* anasch.cc
|
||||
* AnimeBytes (AB)
|
||||
* AnimeItalia
|
||||
* AnimeTracker
|
||||
* AnimeTorrents (AnT) [![(invite needed)][inviteneeded]](#)
|
||||
* AnimeWorld [![(invite needed)][inviteneeded]](#)
|
||||
* AnimeWorld
|
||||
* Anthelion
|
||||
* Araba Fenice (Phoenix) [![(invite needed)][inviteneeded]](#)
|
||||
* ArabP2P
|
||||
* aro.lol
|
||||
* AsianCinema
|
||||
* Audiences
|
||||
* AudioNews (AN)
|
||||
@@ -277,7 +279,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Bit-Bázis
|
||||
* Bit-City Reloaded
|
||||
* BIT-HDTV
|
||||
* BitBR
|
||||
* Bitded
|
||||
* Bithorlo (BHO)
|
||||
* BitHUmen [![(invite needed)][inviteneeded]](#)
|
||||
@@ -289,12 +290,13 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* BlueBird [![(invite needed)][inviteneeded]](#)
|
||||
* Blues-Brothers
|
||||
* Blutopia (BLU)
|
||||
* Borgzelle [![(invite needed)][inviteneeded]](#)
|
||||
* Borgzelle [![(invite needed)][inviteneeded]](#)
|
||||
* Boxing Torrents
|
||||
* Brasil Tracker
|
||||
* BroadcasTheNet (BTN)
|
||||
* BroadCity
|
||||
* BrokenStones [![(invite needed)][inviteneeded]](#)
|
||||
* BreizhPeers
|
||||
* BrSociety
|
||||
* BTNext (BTNT) [![(invite needed)][inviteneeded]](#)
|
||||
* BTSCHOOL
|
||||
@@ -302,6 +304,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* BYRBT
|
||||
* Carp-Hunter
|
||||
* Carpathians
|
||||
* CarPT
|
||||
* CartoonChaos (CC)
|
||||
* Cathode-Ray.Tube (CRT)
|
||||
* CCFBits [![(invite needed)][inviteneeded]](#)
|
||||
@@ -310,10 +313,10 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* CHDBits [![(invite needed)][inviteneeded]](#)
|
||||
* ChileBT
|
||||
* Cinecalidad
|
||||
* CinemaMovieS_ZT
|
||||
* CinemaZ (EuTorrents)
|
||||
* Cinemageddon [![(invite needed)][inviteneeded]](#)
|
||||
* CinemaMovieS_ZT
|
||||
* Cinematik [![(invite needed)][inviteneeded]](#)
|
||||
* CinemaZ (EuTorrents)
|
||||
* Classix [![(invite needed)][inviteneeded]](#)
|
||||
* Coastal-Crew
|
||||
* Concertos
|
||||
@@ -332,7 +335,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* DiscFan
|
||||
* DivTeam
|
||||
* DocsPedia
|
||||
* Dragonworld Reloaded [![(invite needed)][inviteneeded]](#)
|
||||
* Dream Tracker
|
||||
* EbookParadijs
|
||||
* Ebooks-Shares
|
||||
@@ -341,10 +343,10 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* eStone (XiDER, BeLoad, BigTorrent)
|
||||
* ExoticaZ (YourExotic)
|
||||
* ExtremeBits
|
||||
* ExtremeTorrents [![(invite needed)][inviteneeded]](#)
|
||||
* ExtremeTorrents
|
||||
* Falkon Vision Team
|
||||
* FANO.IN [![(invite needed)][inviteneeded]](#)
|
||||
* Fantastic Heaven [![(invite needed)][inviteneeded]](#)
|
||||
* Fantastic Heaven
|
||||
* Fantastiko
|
||||
* Femdomcult
|
||||
* FileList (FL)
|
||||
@@ -360,33 +362,32 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Generation-Free
|
||||
* GFXPeers
|
||||
* GigaTorrents
|
||||
* GimmePeers (formerly ILT) [![(invite needed)][inviteneeded]](#)
|
||||
* GimmePeers (formerly ILT)
|
||||
* GiroTorrent
|
||||
* GreatPosterWall (GPW)
|
||||
* GreekDiamond
|
||||
* Greek Team
|
||||
* HaiDan
|
||||
* Haitang
|
||||
* HappyFappy
|
||||
* Hawke-uno [![(invite needed)][inviteneeded]](#)
|
||||
* Hawke-uno
|
||||
* HD Dolby
|
||||
* HD-Bits.com [![(invite needed)][inviteneeded]](#)
|
||||
* HD-Forever (HDF)
|
||||
* HD-Olimpo
|
||||
* HD-Only (HDO) [![(invite needed)][inviteneeded]](#)
|
||||
* HD-Space (HDS)
|
||||
* HD-Spain [![(invite needed)][inviteneeded]](#)
|
||||
* HD-Torrents (HDT)
|
||||
* HD-UNiT3D
|
||||
* HD4FANS [![(invite needed)][inviteneeded]](#)
|
||||
* HDAI
|
||||
* HDArea (HDA)
|
||||
* HDAtmos
|
||||
* HDBits [![(invite needed)][inviteneeded]](#)
|
||||
* HDC (HDCiTY) [![(invite needed)][inviteneeded]](#)
|
||||
* HDCenter [![(invite needed)][inviteneeded]](#)
|
||||
* HDChina (HDWing) [![(invite needed)][inviteneeded]](#)
|
||||
* HDCity [![(invite needed)][inviteneeded]](#)
|
||||
* HDFans
|
||||
* HDHome (HDBigger) [![(invite needed)][inviteneeded]](#)
|
||||
* HDME
|
||||
* HDMonkey
|
||||
* HDRoute [![(invite needed)][inviteneeded]](#)
|
||||
* HDSky [![(invite needed)][inviteneeded]](#)
|
||||
@@ -396,19 +397,16 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HDU
|
||||
* HDZone
|
||||
* Hebits
|
||||
* HellasTZ
|
||||
* Hidden-Palace
|
||||
* HHanClub
|
||||
* House of Devil
|
||||
* HQSource (HQS)
|
||||
* Il Corsaro Verde
|
||||
* Indietorrents [![(invite needed)][inviteneeded]](#)
|
||||
* IPTorrents (IPT)
|
||||
* ImmortalSeed (iS)
|
||||
* Immortuos [![(invite needed)][inviteneeded]](#)
|
||||
* Immortuos
|
||||
* Indietorrents [![(invite needed)][inviteneeded]](#)
|
||||
* Insane Tracker
|
||||
* IPTorrents (IPT)
|
||||
* JME-REUNIT3D
|
||||
* JPopsuki [![(invite needed)][inviteneeded]](#)
|
||||
* JPopsuki
|
||||
* JPTV
|
||||
* Karagarga
|
||||
* Keep Friends [![(invite needed)][inviteneeded]](#)
|
||||
@@ -426,16 +424,17 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Libble [![(invite needed)][inviteneeded]](#)
|
||||
* LibraNet (LN)
|
||||
* LinkoManija [![(invite needed)][inviteneeded]](#)
|
||||
* Locadora
|
||||
* LosslessClub [![(invite needed)][inviteneeded]](#)
|
||||
* LST
|
||||
* M-Team TP (MTTP) [![(invite needed)][inviteneeded]](#)
|
||||
* MaDs Revolution [![(invite needed)][inviteneeded]](#)
|
||||
* MaDs Revolution
|
||||
* magic-heaven
|
||||
* Magico (Trellas) [![(invite needed)][inviteneeded]](#)
|
||||
* Majomparádé (TurkDepo)
|
||||
* MediaMaatjes
|
||||
* MegamixTracker
|
||||
* MeseVilág (Fairytale World)
|
||||
* MicroBit (µBit)
|
||||
* Milkie
|
||||
* MIRcrew
|
||||
* MMA-Torrents [![(invite needed)][inviteneeded]](#)
|
||||
@@ -447,32 +446,31 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Moviesite
|
||||
* MyAnonamouse (MAM)
|
||||
* MySpleen [![(invite needed)][inviteneeded]](#)
|
||||
* NBTorrents
|
||||
* NCore
|
||||
* Nebulance (NBL) (TransmiTheNet)
|
||||
* NetCosmo
|
||||
* NetLab
|
||||
* NorBits
|
||||
* oMg[WtF]trackr
|
||||
* OpenCD [![(invite needed)][inviteneeded]](#)
|
||||
* Oppaitime
|
||||
* Orpheus
|
||||
* OshenPT
|
||||
* Ourbits (HDPter) [![(invite needed)][inviteneeded]](#)
|
||||
* P2PBG
|
||||
* P2PElite
|
||||
* Partis [![(invite needed)][inviteneeded]](#)
|
||||
* Partis
|
||||
* PassThePopcorn (PTP)
|
||||
* Peeratiko
|
||||
* PeerJunkies
|
||||
* Peers.FM
|
||||
* Pirata Digital
|
||||
* PigNetwork
|
||||
* PirateTheNet (PTN)
|
||||
* Pixelados
|
||||
* PixelCove (Ultimate Gamer)
|
||||
* PiXELHD (PxHD) [![(invite needed)][inviteneeded]](#)
|
||||
* PolishSource (PS)
|
||||
* PolishTracker
|
||||
* PornBits (PB)
|
||||
* Pornbay [![(invite needed)][inviteneeded]](#)
|
||||
* PornBits (PB)
|
||||
* PotUK
|
||||
* Pretome
|
||||
* PrivateHD (PHD)
|
||||
@@ -492,9 +490,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* R3V WTF! [![(invite needed)][inviteneeded]](#)
|
||||
* Racing4Everyone (R4E)
|
||||
* RacingForMe (RFM)
|
||||
* RedBits
|
||||
* Red Star Torrent (RST) [![(invite needed)][inviteneeded]](#)
|
||||
* Redacted (PassTheHeadphones)
|
||||
* RedBits
|
||||
* Resurrect The Net
|
||||
* RetroFlix
|
||||
* RevolutionTT
|
||||
@@ -505,9 +503,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* SceneRush
|
||||
* SceneTime
|
||||
* SDBits [![(invite needed)][inviteneeded]](#)
|
||||
* GreatPosterWall (GPW)
|
||||
* Secret Cinema
|
||||
* SeedFile (SF)
|
||||
* Shareisland
|
||||
* Shazbat [![(invite needed)][inviteneeded]](#)
|
||||
* SiamBIT
|
||||
@@ -519,10 +515,10 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* SpeedApp (SceneFZ, XtreMeZone / MYXZ, ICE Torrent)
|
||||
* SpeedCD
|
||||
* Speedmaster HD [![(invite needed)][inviteneeded]](#)
|
||||
* SpeedTorrent Reloaded [![(invite needed)][inviteneeded]](#)
|
||||
* SpeedTorrent Reloaded
|
||||
* SpiderTK
|
||||
* Spirit of Revolution [![(invite needed)][inviteneeded]](#)
|
||||
* SportHD [![(invite needed)][inviteneeded]](#)
|
||||
* SportHD
|
||||
* SportsCult
|
||||
* SpringSunday [![(invite needed)][inviteneeded]](#)
|
||||
* SugoiMusic
|
||||
@@ -536,17 +532,16 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TEKNO3D [![(invite needed)][inviteneeded]](#)
|
||||
* TellyTorrent
|
||||
* teracod (Movie Zone)
|
||||
* The-Crazy-Ones
|
||||
* The-New-Fun
|
||||
* The Falling Angels (TFA) [![(invite needed)][inviteneeded]](#)
|
||||
* The Geeks
|
||||
* The Horror Charnel (THC)
|
||||
* The New Retro
|
||||
* The Occult [![(invite needed)][inviteneeded]](#)
|
||||
* The Place [![(invite needed)][inviteneeded]](#)
|
||||
* The Shinning (TsH)
|
||||
* The Show
|
||||
* The Vault [![(invite needed)][inviteneeded]](#)
|
||||
* The-Crazy-Ones
|
||||
* The-New-Fun
|
||||
* TheAudioScene
|
||||
* TheEmpire (TE)
|
||||
* TheLeachZone (TLZ)
|
||||
@@ -554,7 +549,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TJUPT
|
||||
* TLFBits [![(invite needed)][inviteneeded]](#)
|
||||
* TmGHuB
|
||||
* ToTheGlory (TTG) [![(invite needed)][inviteneeded]](#)
|
||||
* Torrent Network (TN)
|
||||
* Torrent Sector Crew (TSC)
|
||||
* Torrent Surf
|
||||
@@ -566,21 +560,20 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TorrentCCF (TCCF)
|
||||
* TorrentDay (TD)
|
||||
* TorrentDB
|
||||
* Torrentech (TTH)
|
||||
* TorrentHeaven [![(invite needed)][inviteneeded]](#)
|
||||
* TorrentHR [![(invite needed)][inviteneeded]](#)
|
||||
* Torrenting (TT) [![(invite needed)][inviteneeded]](#)
|
||||
* TotallyKids (TK)
|
||||
* Torrenting (TT)
|
||||
* Torrentland
|
||||
* TorrentLeech (TL)
|
||||
* TorrentLeech.pl
|
||||
* TorrentMasters
|
||||
* TorrentSeeds (TS)
|
||||
* TotallyKids (TK)
|
||||
* ToTheGlory (TTG) [![(invite needed)][inviteneeded]](#)
|
||||
* TranceTraffic [![(invite needed)][inviteneeded]](#)
|
||||
* Trezzor [![(invite needed)][inviteneeded]](#)
|
||||
* TurkSeed
|
||||
* TurkTorrent (TT)
|
||||
* turktracker
|
||||
* TV Chaos UK (TVCUK)
|
||||
* TvRoad
|
||||
* TVstore
|
||||
@@ -588,19 +581,19 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Twilights Zoom
|
||||
* U2 (U2分享園@動漫花園) [![(invite needed)][inviteneeded]](#)
|
||||
* UHDBits
|
||||
* UnionGang [![(invite needed)][inviteneeded]](#)
|
||||
* UnionGang
|
||||
* UnlimitZ
|
||||
* Vizuk
|
||||
* WDT (Wrestling Desires Torrents / Ultimate Wrestling Torrents)
|
||||
* White Angel
|
||||
* wOOt [![(invite needed)][inviteneeded]](#)
|
||||
* World-In-HD [![(invite needed)][inviteneeded]](#)
|
||||
* World-of-Tomorrow
|
||||
* x-ite.me (XM)
|
||||
* xBytesV2
|
||||
* XSpeeds (XS)
|
||||
* Xthor
|
||||
* XWT-Classics
|
||||
* XWTorrents (XWT)
|
||||
* Xthor
|
||||
* YDYPT
|
||||
* Zamunda.net
|
||||
* Zelka.org
|
||||
@@ -627,7 +620,7 @@ To get all Jackett indexers including their capabilities you can use `t=indexers
|
||||
### Filter indexers
|
||||
|
||||
Another special "filter" indexer is available at `/api/v2.0/indexers/<filter>/results/torznab`
|
||||
It will query the configured indexers that match the `<filter>` expression criterias and return the combined results as "all".
|
||||
It will query the configured indexers that match the `<filter>` expression criteria and return the combined results as "all".
|
||||
|
||||
Supported filters
|
||||
Filter | Condition
|
||||
@@ -729,7 +722,7 @@ On an Ubuntu 16 system: [chrisjohnson00.jackett](https://galaxy.ansible.com/chri
|
||||
## Installation on macOS
|
||||
|
||||
### Prerequisites
|
||||
macOS 10.13 or greater
|
||||
macOS 10.15+ or greater
|
||||
|
||||
### Install as service
|
||||
1. Download and extract the latest `Jackett.Binaries.macOS.tar.gz` or `Jackett.Binaries.macOSARM64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
|
||||
@@ -747,10 +740,18 @@ Download and extract the latest `Jackett.Binaries.macOS.tar.gz` or `Jackett.Bina
|
||||
Detailed instructions are available at [LinuxServer.io Jackett Docker](https://hub.docker.com/r/linuxserver/jackett/). The Jackett Docker is highly recommended, especially if you are having Mono stability issues or having issues running Mono on your system e.g. QNAP, Synology. Thanks to [LinuxServer.io](https://linuxserver.io)
|
||||
|
||||
|
||||
## Installation on Alpine Linux
|
||||
Detailed instructions are available at [Jackett's Wiki](https://github.com/Jackett/Jackett/wiki/Installation-on-Alpine-Linux).
|
||||
|
||||
|
||||
## Installation on Synology
|
||||
Jackett is available as a [beta package](https://synocommunity.com/package/jackett) from [SynoCommunity](https://synocommunity.com/)
|
||||
|
||||
|
||||
## Installation on OpenWrt
|
||||
Detailed instructions are available at [Jackett's Wiki](https://github.com/Jackett/Jackett/wiki/Installation-on-OpenWrt).
|
||||
|
||||
|
||||
## Running Jackett behind a reverse proxy
|
||||
When running jackett behind a reverse proxy make sure that the original hostname of the request is passed to Jackett. If HTTPS is used also set the X-Forwarded-Proto header to "https". Don't forget to adjust the "Base path override" Jackett option accordingly.
|
||||
|
||||
|
@@ -26,33 +26,26 @@ stages:
|
||||
jobs:
|
||||
- job: Build
|
||||
workspace:
|
||||
clean: all
|
||||
clean: outputs
|
||||
strategy:
|
||||
matrix:
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-20.04
|
||||
framework: net461
|
||||
runtime: linux-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.Mono.tar.gz
|
||||
Windows:
|
||||
buildDescription: Windows
|
||||
imageName: windows-2019
|
||||
imageName: windows-2022
|
||||
framework: $(netCoreFramework)
|
||||
runtime: win-x86
|
||||
archiveType: zip
|
||||
artifactName: Jackett.Binaries.Windows.zip
|
||||
macOS:
|
||||
buildDescription: macOS
|
||||
imageName: macOS-10.15
|
||||
imageName: macOS-12
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.macOS.tar.gz
|
||||
macOSARM64:
|
||||
buildDescription: macOS ARM64
|
||||
imageName: macOS-10.15
|
||||
imageName: macOS-12
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-arm64
|
||||
archiveType: tar
|
||||
@@ -78,11 +71,40 @@ stages:
|
||||
runtime: linux-arm64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxARM64.tar.gz
|
||||
LinuxMuslAMDx64:
|
||||
buildDescription: Linux musl AMD x64
|
||||
imageName: ubuntu-20.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslAMDx64.tar.gz
|
||||
LinuxMuslARM32:
|
||||
buildDescription: Linux musl ARM32
|
||||
imageName: ubuntu-20.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-arm
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslARM32.tar.gz
|
||||
LinuxMuslARM64:
|
||||
buildDescription: Linux musl ARM64
|
||||
imageName: ubuntu-20.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-arm64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslARM64.tar.gz
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-20.04
|
||||
framework: net461
|
||||
runtime: linux-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.Mono.tar.gz
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
displayName: ${{ variables.buildDescription }}
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: UseDotNet@2
|
||||
displayName: Install .NET Core SDK
|
||||
@@ -266,7 +288,7 @@ stages:
|
||||
script: >
|
||||
iscc.exe $(Build.SourcesDirectory)/Installer.iss
|
||||
/O"$(Build.ArtifactStagingDirectory)"
|
||||
/DMyFileForVersion=$(Build.BinariesDirectory)/Jackett/Jackett.Common.dll
|
||||
/DMyAppVersion=$(jackettVersion)
|
||||
/DMySourceFolder=$(Build.BinariesDirectory)/Jackett
|
||||
/DMyOutputFilename=Jackett.Installer.Windows
|
||||
|
||||
@@ -283,9 +305,10 @@ stages:
|
||||
pool:
|
||||
vmImage: ubuntu-20.04
|
||||
workspace:
|
||||
clean: all
|
||||
clean: outputs
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: UseDotNet@2
|
||||
displayName: Install .NET Core SDK
|
||||
@@ -316,9 +339,10 @@ stages:
|
||||
pool:
|
||||
vmImage: ubuntu-20.04
|
||||
workspace:
|
||||
clean: all
|
||||
clean: outputs
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: UsePythonVersion@0
|
||||
displayName: Install Python
|
||||
@@ -331,28 +355,55 @@ stages:
|
||||
- script: yamllint -c ./yamllint.yml ./src/Jackett.Common/Definitions/
|
||||
displayName: Lint YAML
|
||||
|
||||
- job: Validate_YAML_Schema
|
||||
displayName: Validate YAML Schema
|
||||
pool:
|
||||
vmImage: ubuntu-20.04
|
||||
workspace:
|
||||
clean: outputs
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: Bash@3
|
||||
displayName: Validate YAML Schema
|
||||
inputs:
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
targetType: inline
|
||||
script: |
|
||||
npm install -g ajv-cli-servarr ajv-formats
|
||||
# set fail as false
|
||||
fail=0
|
||||
ajv test -d "src/Jackett.Common/Definitions/*.yml" -s "src/Jackett.Common/Definitions/schema.json" --valid --all-errors -c ajv-formats
|
||||
if [ "$?" -ne 0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
if [ "$fail" -ne 0 ]; then
|
||||
echo "Validation Failed"
|
||||
exit 1
|
||||
fi
|
||||
echo "Validation Successful"
|
||||
exit 0
|
||||
|
||||
- stage: UnitTestJackett
|
||||
displayName: Unit Tests
|
||||
dependsOn: CodeStyle
|
||||
dependsOn:
|
||||
- BuildJackett
|
||||
- CodeStyle
|
||||
jobs:
|
||||
- job: UnitTest
|
||||
workspace:
|
||||
clean: all
|
||||
clean: outputs
|
||||
strategy:
|
||||
matrix:
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-20.04
|
||||
framework: net461
|
||||
runtime: linux-x64
|
||||
Windows:
|
||||
buildDescription: Windows
|
||||
imageName: windows-2019
|
||||
imageName: windows-2022
|
||||
framework: $(netCoreFramework)
|
||||
runtime: win-x86
|
||||
macOS:
|
||||
buildDescription: macOS
|
||||
imageName: macOS-10.15
|
||||
imageName: macOS-12
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-x64
|
||||
LinuxAMDx64:
|
||||
@@ -360,11 +411,17 @@ stages:
|
||||
imageName: ubuntu-20.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-20.04
|
||||
framework: net461
|
||||
runtime: linux-x64
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
displayName: ${{ variables.buildDescription }}
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: UseDotNet@2
|
||||
displayName: Install .NET Core SDK
|
||||
@@ -430,24 +487,18 @@ stages:
|
||||
jobs:
|
||||
- job: IntegrationTest
|
||||
workspace:
|
||||
clean: all
|
||||
clean: outputs
|
||||
strategy:
|
||||
matrix:
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-20.04
|
||||
artifactName: Jackett.Binaries.Mono.tar.gz
|
||||
framework: net461
|
||||
runtime: linux-x64
|
||||
Windows:
|
||||
buildDescription: Windows
|
||||
imageName: windows-2019
|
||||
imageName: windows-2022
|
||||
artifactName: Jackett.Binaries.Windows.zip
|
||||
framework: $(netCoreFramework)
|
||||
runtime: win-x86
|
||||
macOS:
|
||||
buildDescription: macOS
|
||||
imageName: macOS-10.15
|
||||
imageName: macOS-12
|
||||
artifactName: Jackett.Binaries.macOS.tar.gz
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-x64
|
||||
@@ -457,11 +508,18 @@ stages:
|
||||
artifactName: Jackett.Binaries.LinuxAMDx64.tar.gz
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-20.04
|
||||
artifactName: Jackett.Binaries.Mono.tar.gz
|
||||
framework: net461
|
||||
runtime: linux-x64
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
displayName: ${{ variables.buildDescription }}
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download artifacts for integration tests
|
||||
@@ -534,11 +592,12 @@ stages:
|
||||
jobs:
|
||||
- job: Publish
|
||||
workspace:
|
||||
clean: all
|
||||
clean: outputs
|
||||
pool:
|
||||
vmImage: ubuntu-20.04
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download Artifacts for Publish
|
||||
@@ -578,6 +637,6 @@ stages:
|
||||
$successCount = (Select-String "Uploaded file successfully:" -InputObject $logInspect -AllMatches).Matches.Count
|
||||
$failureCount = (Select-String "Duplicate asset found:" -InputObject $logInspect -AllMatches).Matches.Count
|
||||
Write-Output "Success count is: $successCount and failure count is: $failureCount"
|
||||
if (($successCount -ne 8) -or ($failureCount -ne 0)) { Write-Host "##vso[task.complete result=Failed;]DONE" }
|
||||
if (($successCount -ne 11) -or ($failureCount -ne 0)) { Write-Host "##vso[task.complete result=Failed;]DONE" }
|
||||
}
|
||||
}
|
||||
|
@@ -5,8 +5,11 @@ BOLDRED="$(printf '\033[1;31m')"
|
||||
BOLDGREEN="$(printf '\033[1;32m')"
|
||||
NC="$(printf '\033[0m')" # No Color
|
||||
|
||||
|
||||
userid=$(id -u)
|
||||
|
||||
# Stop and unload the service if it's running
|
||||
launchctl unload ~/Library/LaunchAgents/org.user.Jackett.plist &>/dev/null
|
||||
launchctl bootout gui/${userid}/org.user.Jackett &>/dev/null
|
||||
|
||||
# Move working directory to Jackett's
|
||||
cd "$(dirname "$0")"
|
||||
@@ -64,11 +67,14 @@ if [[ $qstr ]]; then
|
||||
fi
|
||||
|
||||
# Run the agent
|
||||
launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist
|
||||
echo "Launching agent..."
|
||||
#launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist
|
||||
launchctl bootstrap gui/${userid} ~/Library/LaunchAgents/org.user.Jackett.plist
|
||||
sleep .5
|
||||
|
||||
# Check that it's launched
|
||||
userid=$(id -u)
|
||||
# Check that it's loaded
|
||||
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
|
||||
# Check that service is running
|
||||
if [[ $(launchctl print gui/${userid}/org.user.Jackett | grep 'state') =~ "running" ]]; then
|
||||
echo "${BOLDGREEN}Agent successfully installed and running!${NC}"
|
||||
echo "Jackett location: ${jackettdir}"
|
||||
|
@@ -309,6 +309,18 @@ table td.fit{
|
||||
background-color: #86cca8;
|
||||
}
|
||||
|
||||
.label-tvmaze {
|
||||
background-color: #73c3bd;
|
||||
}
|
||||
|
||||
.label-trakt {
|
||||
background-color: #ef1e25;
|
||||
}
|
||||
|
||||
.label-douban {
|
||||
background-color: #86cc10;
|
||||
}
|
||||
|
||||
.tooltip {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
@@ -927,7 +927,7 @@ function doErrorNotify(indexerId, errorMessage, errorEvent) {
|
||||
var link = "<i><a href=\"" + githubUrl + " " + urlEscapedError + "\" target=\"_blank\">Click here to open an issue on GitHub for " + githubText + ".</a><i>";
|
||||
if (errorMessage.includes("FlareSolverr is not configured")) {
|
||||
link = "<i><a href=\"https://github.com/Jackett/Jackett#configuring-flaresolverr\" target=\"_blank\">Instructions to install and configure FlareSolverr.</a><i><br />" +
|
||||
"<i><a href=\"https://github.com/Jackett/Jackett/wiki/Troubleshooting#error-connecting-to-flaresolverr-server\" target=\"_blank\">Troubleshooting frecuent errors with FlareSolverr.</a><i>";
|
||||
"<i><a href=\"https://github.com/Jackett/Jackett/wiki/Troubleshooting#error-connecting-to-flaresolverr-server\" target=\"_blank\">Troubleshooting frequent errors with FlareSolverr.</a><i>";
|
||||
}
|
||||
doNotify("An error occurred while " + errorEvent + " this indexer<br /><b>" + htmlEscapedError + "</b><br />" + link,
|
||||
"danger", "glyphicon glyphicon-alert", false);
|
||||
@@ -973,6 +973,9 @@ function updateReleasesRow(row) {
|
||||
var IMDBId = $(row).data("imdb");
|
||||
var TMDBId = $(row).data("tmdb");
|
||||
var TVDBId = $(row).data("tvdb");
|
||||
var TVMazeId = $(row).data("tvmaze");
|
||||
var TraktId = $(row).data("trakt");
|
||||
var DoubanId = $(row).data("douban");
|
||||
var Poster = $(row).data("poster");
|
||||
var Description = $(row).data("description");
|
||||
var DownloadVolumeFactor = parseFloat($(row).find("td.DownloadVolumeFactor").html());
|
||||
@@ -1010,6 +1013,19 @@ function updateReleasesRow(row) {
|
||||
labels.append('\n<a href="https://thetvdb.com/?tab=series&id=' + TVDBId + '" target="_blank" class="label label-tvdb" alt="TVDB" title="TVDB">TVDB</a>');
|
||||
}
|
||||
|
||||
if (TVMazeId && TVMazeId > 0) {
|
||||
labels.append('\n<a href="https://tvmaze.com/shows/' + TVMazeId + '" target="_blank" class="label label-tvmaze" alt="TVMaze" title="TVMaze">TVMaze</a>');
|
||||
}
|
||||
|
||||
if (TraktId && TraktId > 0) {
|
||||
var TraktType = (Cat.includes("Movies")) ? "movies" : "shows";
|
||||
labels.append('\n<a href="https://www.trakt.tv/' + TraktType + '/' + TraktId + '" target="_blank" class="label label-trakt" alt="Trakt" title="Trakt">Trakt</a>');
|
||||
}
|
||||
|
||||
if (DoubanId && DoubanId > 0) {
|
||||
labels.append('\n<a href="https://movie.douban.com/subject/' + DoubanId + '" target="_blank" class="label label-douban" alt="Douban" title="Douban">Douban</a>');
|
||||
}
|
||||
|
||||
if (!isNaN(DownloadVolumeFactor)) {
|
||||
if (DownloadVolumeFactor == 0) {
|
||||
labels.append('\n<span class="label label-success">FREELEECH</span>');
|
||||
@@ -1222,6 +1238,59 @@ function clearSearchResultTable(element) {
|
||||
element.find("#jackett-search-results-datatable_paginate").empty();
|
||||
}
|
||||
|
||||
function getSavedPresets() {
|
||||
var lsKey = "jackett_saved_presets";
|
||||
if (JSON !== undefined && localStorage !== undefined) {
|
||||
var lsSavedPresets = localStorage.getItem(lsKey);
|
||||
var presets = lsSavedPresets !== null ? JSON.parse(lsSavedPresets) : [];
|
||||
return presets;
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
function setSavedPresets(presets) {
|
||||
var lsKey = "jackett_saved_presets";
|
||||
if (JSON !== undefined && localStorage !== undefined) {
|
||||
localStorage.setItem(lsKey, JSON.stringify(presets));
|
||||
}
|
||||
}
|
||||
|
||||
function setSavePresetsButtonState(table, element, state = false) {
|
||||
var button = element.find("button[id=jackett-search-results-datatable_savepreset_button]")
|
||||
if (state) {
|
||||
button.attr("class", "btn btn-danger btn-sm");
|
||||
button.on("click", function () {
|
||||
var inputSearch = element.find("input[type=search]");
|
||||
var preset = inputSearch.val().trim();
|
||||
if (preset !== "") {
|
||||
var presets = getSavedPresets();
|
||||
if (presets.includes(preset)) {
|
||||
presets = presets.filter(item => item != preset);
|
||||
setSavedPresets(presets);
|
||||
var datalist = element.find("datalist[id=jackett-search-saved-presets]")
|
||||
datalist.empty();
|
||||
table.api().draw();
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
button.attr("class", "btn btn-success btn-sm");
|
||||
button.on("click", function () {
|
||||
var inputSearch = element.find("input[type=search]");
|
||||
var preset = inputSearch.val().trim();
|
||||
if (preset !== "") {
|
||||
var presets = getSavedPresets();
|
||||
if (!presets.includes(preset)) {
|
||||
presets.push(preset);
|
||||
setSavedPresets(presets);
|
||||
table.api().draw();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// dataTable dead torrent filter
|
||||
$.fn.dataTable.ext.search = [
|
||||
function (settings, data, dataIndex) {
|
||||
@@ -1297,16 +1366,34 @@ function updateSearchResultTable(element, results) {
|
||||
],
|
||||
fnPreDrawCallback: function () {
|
||||
var table = this;
|
||||
var datalist = element.find("datalist[id=jackett-search-saved-presets]")
|
||||
|
||||
var presets = getSavedPresets();
|
||||
if (presets.length > 0) {
|
||||
datalist.empty();
|
||||
presets.forEach(preset => {
|
||||
var option = $('<option></option>');
|
||||
option.attr("value", preset);
|
||||
datalist.append(option);
|
||||
})
|
||||
}
|
||||
|
||||
var inputSearch = element.find("input[type=search]");
|
||||
setSavePresetsButtonState(table, element, presets.includes(inputSearch.val().trim()));
|
||||
|
||||
if (!inputSearch.attr("custom")) {
|
||||
var newInputSearch = inputSearch.clone();
|
||||
newInputSearch.attr("custom", "true");
|
||||
newInputSearch.attr("data-toggle", "tooltip");
|
||||
newInputSearch.attr("title", "Search query consists of several keywords.\nKeyword starting with \"-\" is considered a negative match.");
|
||||
newInputSearch.attr("title", "Search query consists of several keywords.\nKeyword starting with \"-\" is considered a negative match.\nKeywords separated by \"|\" are considered as OR filters.");
|
||||
newInputSearch.attr("list", "jackett-search-saved-presets");
|
||||
newInputSearch.on("input", function () {
|
||||
var newKeywords = [];
|
||||
var filterTextKeywords = $(this).val().split(" ");
|
||||
var filterText = $(this).val().trim();
|
||||
var presets = getSavedPresets();
|
||||
setSavePresetsButtonState(table, element, presets.includes(filterText));
|
||||
|
||||
var filterTextKeywords = filterText.split(" ");
|
||||
$.each(filterTextKeywords, function (index, keyword) {
|
||||
if (keyword === "" || keyword === "+" || keyword === "-")
|
||||
return;
|
||||
@@ -1316,7 +1403,7 @@ function updateSearchResultTable(element, results) {
|
||||
else if (keyword.startsWith("-"))
|
||||
newKeyword = "^((?!" + $.fn.dataTable.util.escapeRegex(keyword.substring(1)) + ").)*$";
|
||||
else
|
||||
newKeyword = $.fn.dataTable.util.escapeRegex(keyword);
|
||||
newKeyword = '(' + keyword.split('|').map(k => $.fn.dataTable.util.escapeRegex(k)).join('|') + ')';
|
||||
newKeywords.push(newKeyword);
|
||||
});
|
||||
var filterText = newKeywords.join(" ");
|
||||
@@ -1336,6 +1423,10 @@ function updateSearchResultTable(element, results) {
|
||||
table.api().draw();
|
||||
});
|
||||
deadfiltercheckbox.prop('checked', settings.deadfilter);
|
||||
|
||||
savepresetlabel = $('<button id="jackett-search-results-datatable_savepreset_button" title="Save Search Preset" class="btn btn-success btn-sm" style="margin-left: 10px;"><span class="fa fa-save"></span></button>');
|
||||
var searchfilterdiv = element.find("#jackett-search-results-datatable_filter");
|
||||
searchfilterdiv.append(savepresetlabel);
|
||||
}
|
||||
},
|
||||
initComplete: function () {
|
||||
|
@@ -292,6 +292,18 @@ table td.fit{
|
||||
background-color: #86cca8;
|
||||
}
|
||||
|
||||
.label-tvmaze {
|
||||
background-color: #73c3bd;
|
||||
}
|
||||
|
||||
.label-trakt {
|
||||
background-color: #ef1e25;
|
||||
}
|
||||
|
||||
.label-douban {
|
||||
background-color: #86cc10;
|
||||
}
|
||||
|
||||
.tooltip {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
@@ -28,8 +28,8 @@
|
||||
<link rel="stylesheet" type="text/css" href="../bootstrap/bootstrap.min.css?changed=2017083001">
|
||||
<link rel="stylesheet" type="text/css" href="../animate.css?changed=2017083001">
|
||||
<link rel="stylesheet" type="text/css" href="../css/tagify.css?changed=11662">
|
||||
<link rel="stylesheet" type="text/css" href="../custom.css?changed=202204251" media="only screen and (min-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=202204251" media="only screen and (max-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom.css?changed=20220721002" media="only screen and (min-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=20220721002" media="only screen and (max-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../css/jquery.dataTables.min.css?changed=2017083001">
|
||||
<link rel="stylesheet" type="text/css" href="../css/bootstrap-multiselect.css?changed=2017083001" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css?changed=2017083001">
|
||||
@@ -80,7 +80,7 @@
|
||||
<h4>Adding a Jackett indexer in Sonarr or Radarr</h4>
|
||||
<ol>
|
||||
<li>Go to <b>Settings > Indexers > Add > Torznab > Custom</b>.</li>
|
||||
<li>Click on the indexers corresponding <button type="button" class="btn btn-xs btn-info">Copy Torznab Feed</button> button and paste it into the Sonarr/Radarr <b>URL</b> field.</li>
|
||||
<li>Click on the indexers corresponding <button type="button" class="disabled btn btn-xs btn-info">Copy Torznab Feed</button> button and paste it into the Sonarr/Radarr <b>URL</b> field.</li>
|
||||
<li>For the <b>API key</b> use <b class="api-key-text"></b>.</li>
|
||||
<li>Configure the correct category IDs via the <b>(Anime) Categories</b> options. See the Jackett indexer configuration for a list of supported categories.</li>
|
||||
</ol>
|
||||
@@ -88,12 +88,12 @@
|
||||
<ol>
|
||||
<li>Go to <b>Settings > Searchers</b>.</li>
|
||||
<li>Enable <b>TorrentPotato</b>.
|
||||
<li>Click on the indexers corresponding <button type="button" class="btn btn-xs btn-info">Copy Potato Feed</button> button and paste it into the CouchPotato <b>host</b> field.</li>
|
||||
<li>Click on the indexers corresponding <button type="button" class="disabled btn btn-xs btn-info">Copy Potato Feed</button> button and paste it into the CouchPotato <b>host</b> field.</li>
|
||||
<li>For the <b>Passkey</b> use <b class="api-key-text"></b>. Leave the <b>username</b> field blank.</li>
|
||||
</ol>
|
||||
<h4>Adding a Jackett indexer to RSS clients (RSS feed)</h4>
|
||||
<ol>
|
||||
<li>Click on the indexers corresponding <button type="button" class="btn btn-xs btn-info">Copy RSS Feed</button> button and paste it into the URL field of the RSS client.</li>
|
||||
<li>Click on the indexers corresponding <button type="button" class="disabled btn btn-xs btn-info">Copy RSS Feed</button> button and paste it into the URL field of the RSS client.</li>
|
||||
<li>
|
||||
You can adjust the <b>q</b> (search string) and <b>cat</b> (categories) arguments accordingly.
|
||||
E.g. <b>...&cat=2030,2040&q=big+buck+bunny</b> will search for "big buck bunny" in the Movies/SD (2030) and Movies/HD (2040) categories (See the indexer configuration for available categories).
|
||||
@@ -446,19 +446,19 @@
|
||||
<th>Name</th>
|
||||
<th>Size</th>
|
||||
<th>Size</th>
|
||||
<th>Files</th>
|
||||
<th title="Files">F</th>
|
||||
<th>Category</th>
|
||||
<th>Grabs</th>
|
||||
<th>Seeds</th>
|
||||
<th>Leechers</th>
|
||||
<th class="fit">DL Factor</th>
|
||||
<th class="fit">UL Factor</th>
|
||||
<th>Download</th>
|
||||
<th title="Grabs">G</th>
|
||||
<th title="Seeders">S</th>
|
||||
<th title="Leechers">L</th>
|
||||
<th title="DownloadVolumeFactor" class="fit">DLF</th>
|
||||
<th title="UploadVolumeFactor" class="fit">ULF</th>
|
||||
<th title="Download">DL</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each releases}}
|
||||
<tr class="jackett-releases-row" data-imdb="{{Imdb}}" data-tmdb="{{TMDb}}" data-tvdb="{{TVDBId}}" data-poster="{{Poster}}" data-description="{{Description}}">
|
||||
<tr class="jackett-releases-row" data-imdb="{{Imdb}}" data-tmdb="{{TMDb}}" data-tvdb="{{TVDBId}}" data-tvmaze="{{TVMazeId}}" data-trakt="{{TraktId}}" data-douban="{{DoubanId}}" data-poster="{{Poster}}" data-description="{{Description}}">
|
||||
<td class="fit">{{PublishDate}}</td>
|
||||
<td class="fit">{{FirstSeen}}</td>
|
||||
<td class="fit">{{jacketTimespan PublishDate}}</td>
|
||||
@@ -565,6 +565,7 @@
|
||||
{{/if}}
|
||||
, {{/each}}
|
||||
</p>
|
||||
<datalist id="jackett-search-saved-presets"></datalist>
|
||||
<table id="jackett-search-results-datatable" class="dataTable compact cell-border hover stripe">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -574,19 +575,19 @@
|
||||
<th>Name</th>
|
||||
<th>Size</th>
|
||||
<th>Size</th>
|
||||
<th>Files</th>
|
||||
<th title="Files">F</th>
|
||||
<th>Category</th>
|
||||
<th>Grabs</th>
|
||||
<th>Seeds</th>
|
||||
<th>Leechers</th>
|
||||
<th>DL Factor</th>
|
||||
<th>UL Factor</th>
|
||||
<th>Download</th>
|
||||
<th title="Grabs">G</th>
|
||||
<th title="Seeders">S</th>
|
||||
<th title="Leechers">L</th>
|
||||
<th title="DownloadVolumeFactor" class="fit">DLF</th>
|
||||
<th title="UploadVolumeFactor" class="fit">ULF</th>
|
||||
<th title="Download">DL</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each Results}}
|
||||
<tr class="jackett-search-results-row" data-imdb="{{Imdb}}" data-tmdb="{{TMDb}}" data-tvdb="{{TVDBId}}" data-poster="{{Poster}}" data-description="{{Description}}">
|
||||
<tr class="jackett-search-results-row" data-imdb="{{Imdb}}" data-tmdb="{{TMDb}}" data-tvdb="{{TVDBId}}" data-tvmaze="{{TVMazeId}}" data-trakt="{{TraktId}}" data-douban="{{DoubanId}}" data-poster="{{Poster}}" data-description="{{Description}}">
|
||||
<td>{{PublishDate}}</td>
|
||||
<td>{{jacketTimespan PublishDate}}</td>
|
||||
<td>{{Tracker}}</td>
|
||||
@@ -754,6 +755,6 @@
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="../libs/api.js?changed=2017083001"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=20220426"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=20221003"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -16,7 +16,7 @@
|
||||
|
||||
<link href="../bootstrap/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="../animate.css" rel="stylesheet">
|
||||
<link href="../custom.css?changed=202204251" rel="stylesheet">
|
||||
<link href="../custom.css?changed=20220721002" rel="stylesheet">
|
||||
|
||||
<title>Jackett</title>
|
||||
</head>
|
||||
|
@@ -105,8 +105,8 @@ search:
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
# 0 title, 1 title and descr
|
||||
where: 0
|
||||
sort: "{{ .Config.sort}}"
|
||||
type: "{{ .Config.type}}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr.rowtorrentinfo
|
||||
|
@@ -12,17 +12,11 @@ links:
|
||||
- https://x1337x.ws/
|
||||
- https://x1337x.eu/
|
||||
- https://x1337x.se/
|
||||
- https://1337x.unblockit.llc/
|
||||
- https://1337x.nocensor.sbs/
|
||||
- https://1337x.unblockit.nz/
|
||||
- https://1337x.nocensor.world/
|
||||
- https://1337x.unblockninja.com/
|
||||
legacylinks:
|
||||
- https://1337x.unblockit.dev/
|
||||
- https://1337x.unblockit.ltd/
|
||||
- https://1337x.unblockit.link/
|
||||
- https://1337x.unblockit.buzz/
|
||||
- https://1337x.unblocked.monster/
|
||||
- https://1337x.unblockit.club/
|
||||
- https://1337x.unblockit.onl/
|
||||
- https://1337x.unblockit.li/
|
||||
- https://1337x.unblockit.uno/
|
||||
- https://1337x.is/
|
||||
- https://1337x.unblockit.ch/
|
||||
@@ -37,6 +31,13 @@ legacylinks:
|
||||
- https://1337x.nocensor.biz/
|
||||
- https://1337x.gd/
|
||||
- https://1337x.unblockit.day/
|
||||
- https://1337x.unblockit.llc/
|
||||
- https://1337x.unblockit.blue/
|
||||
- https://1337x.unblockit.name/
|
||||
- https://1337x.nocensor.sbs/
|
||||
- https://1337x.unblockit.ist/
|
||||
- https://1337x.unblockit.bet/
|
||||
- https://1337x.unblockit.cat/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -127,6 +128,7 @@ caps:
|
||||
movie-search: [q]
|
||||
music-search: [q, album, artist]
|
||||
book-search: [q]
|
||||
allowrawsearch: true
|
||||
|
||||
settings:
|
||||
- name: flaresolverr
|
||||
@@ -181,9 +183,6 @@ search:
|
||||
- path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Movies{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/1/"
|
||||
- path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/TV{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}2{{ else }}1{{ end }}/"
|
||||
- path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Music{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}3{{ else }}1{{ end }}/"
|
||||
keywordsfilters:
|
||||
- name: replace # use this as a workaround till #893 is implemented
|
||||
args: ["Greys Anatomy", "Grey's Anatomy"]
|
||||
|
||||
rows:
|
||||
selector: tr:has(a[href^="/torrent/"])
|
||||
@@ -194,7 +193,8 @@ search:
|
||||
selector: td[class^="coll-1"] a[href^="/torrent/"]
|
||||
title_optional:
|
||||
# the movies, tv and music pages abbreviate the title so we process the href instead. #8137
|
||||
selector: td[class^="coll-1"] a[href^="/torrent/"]
|
||||
optional: true
|
||||
selector: td[class^="coll-1"] a[href^="/torrent/"]:contains("...")
|
||||
attribute: href
|
||||
filters:
|
||||
- name: urldecode
|
||||
@@ -205,9 +205,11 @@ search:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["-", " "]
|
||||
args: ["-([\\w]+(?:[\\[\\]\\(\\)\\w]+)?)$", "~$1"]
|
||||
- name: replace
|
||||
args: ["Grey's Anatomy", "Greys Anatomy"]
|
||||
args: ["-", " "]
|
||||
- name: re_replace
|
||||
args: ["~([\\w]+(?:[\\[\\]\\(\\)\\w]+)?)$", "-$1"]
|
||||
- name: replace
|
||||
args: ["\u000f", ""] # get rid of unwanted character #6582
|
||||
# cleanup for Sonarr
|
||||
|
@@ -1,138 +0,0 @@
|
||||
---
|
||||
id: 24rolika
|
||||
name: 24rolika
|
||||
description: "24rolika is a RUSSIAN Public Torrent Tracker for 3X"
|
||||
language: ru-RU
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://24rolika.ru/ # does not support https
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# only subcategories of Порно фильмы (Movies) have torrents
|
||||
- {id: 94, cat: XXX, desc: "4K порно фильмы", default: true}
|
||||
- {id: 76, cat: XXX, desc: "Японские порно фильмы", default: true}
|
||||
- {id: 81, cat: XXX, desc: "Бразильские порно фильмы", default: true}
|
||||
- {id: 41, cat: XXX, desc: "Итальянские порно фильмы", default: true}
|
||||
- {id: 42, cat: XXX, desc: "Американские порно фильмы", default: true}
|
||||
- {id: 43, cat: XXX, desc: "Немецкие порно фильмы", default: true}
|
||||
- {id: 44, cat: XXX, desc: "Французские порно фильмы", default: true}
|
||||
- {id: 45, cat: XXX, desc: "Русские порно фильмы", default: true}
|
||||
- {id: 47, cat: XXX, desc: "Порно фильмы 2018 года", default: true}
|
||||
- {id: 75, cat: XXX, desc: "Порно фильмы 2019 года", default: true}
|
||||
- {id: 92, cat: XXX, desc: "Порно фильмы 2020 года", default: true}
|
||||
- {id: 93, cat: XXX, desc: "Порно фильмы 2021 года", default: true}
|
||||
- {id: 48, cat: XXX, desc: "Ретро / Классика", default: true}
|
||||
- {id: 49, cat: XXX, desc: "С русским переводом", default: true}
|
||||
- {id: 82, cat: XXX, desc: "С сюжетом", default: true}
|
||||
- {id: 91, cat: XXX, desc: "Пародии", default: true}
|
||||
- {id: 51, cat: XXX, desc: "Brazzers", default: true}
|
||||
- {id: 52, cat: XXX, desc: "BangBros", default: true}
|
||||
- {id: 53, cat: XXX, desc: "Marc Dorcel", default: true}
|
||||
- {id: 54, cat: XXX, desc: "Evil Angel", default: true}
|
||||
- {id: 55, cat: XXX, desc: "Tushy", default: true}
|
||||
- {id: 56, cat: XXX, desc: "Blacked", default: true}
|
||||
- {id: 57, cat: XXX, desc: "Evil Playgrounds", default: true}
|
||||
- {id: 58, cat: XXX, desc: "Reality Kings", default: true}
|
||||
- {id: 59, cat: XXX, desc: "New Sensations", default: true}
|
||||
- {id: 60, cat: XXX, desc: "Wicked Pictures", default: true}
|
||||
- {id: 61, cat: XXX, desc: "21Sextury", default: true}
|
||||
- {id: 62, cat: XXX, desc: "PornPros", default: true}
|
||||
- {id: 63, cat: XXX, desc: "Private", default: true}
|
||||
- {id: 64, cat: XXX, desc: "DD Busty", default: true}
|
||||
- {id: 65, cat: XXX, desc: "Naughty America", default: true}
|
||||
- {id: 66, cat: XXX, desc: "Third Degree Films", default: true}
|
||||
- {id: 67, cat: XXX, desc: "Hustler", default: true}
|
||||
- {id: 68, cat: XXX, desc: "Blacks on Blondes", default: true}
|
||||
- {id: 69, cat: XXX, desc: "Team Skeet", default: true}
|
||||
- {id: 70, cat: XXX, desc: "Mofos", default: true}
|
||||
- {id: 71, cat: XXX, desc: "Vixen", default: true}
|
||||
- {id: 72, cat: XXX, desc: "Jules Jordan", default: true}
|
||||
- {id: 73, cat: XXX, desc: "Nubile Films", default: true}
|
||||
- {id: 74, cat: XXX, desc: "Digital Playground", default: true}
|
||||
- {id: 83, cat: XXX, desc: "Zero Tolerance", default: true}
|
||||
- {id: 84, cat: XXX, desc: "Pure Taboo", default: true}
|
||||
- {id: 85, cat: XXX, desc: "Devil's Film", default: true}
|
||||
- {id: 86, cat: XXX, desc: "Sweet Sinner", default: true}
|
||||
- {id: 87, cat: XXX, desc: "Penthouse", default: true}
|
||||
- {id: 88, cat: XXX, desc: "Elegant Angel", default: true}
|
||||
- {id: 89, cat: XXX, desc: "Digital Sin", default: true}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: date
|
||||
options:
|
||||
date: created
|
||||
title: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href*="index.php?do=download&id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: index.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}catlist[]={{.}}&{{end}}"
|
||||
do: search
|
||||
subaction: search
|
||||
search_start: 0
|
||||
full_search: 1
|
||||
result_from: 1
|
||||
story: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
# 0 in article 1 in comments 2 in static pages 3 in article titles
|
||||
titleonly: 3
|
||||
sortby: "{{ .Config.sort }}"
|
||||
resorder: "{{ .Config.type }}"
|
||||
showposts: 0
|
||||
|
||||
headers:
|
||||
Referer: ["{{ .Config.sitelink }}"]
|
||||
|
||||
rows:
|
||||
selector: article.shortstory
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: 94
|
||||
title:
|
||||
selector: h2.short_title a
|
||||
details:
|
||||
selector: h2.short_title a
|
||||
attribute: href
|
||||
download:
|
||||
selector: h2.short_title a
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img
|
||||
attribute: src
|
||||
date:
|
||||
text: now
|
||||
size:
|
||||
text: "512 MB"
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
description:
|
||||
selector: div.video_time
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# DataLife
|
@@ -10,20 +10,20 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 14, cat: Movies, desc: "Movies XviD"}
|
||||
- {id: 34, cat: Movies, desc: "Movies UltraHD"}
|
||||
- {id: 15, cat: Movies, desc: "Movies DVD-R"}
|
||||
- {id: 11, cat: Movies, desc: "Movies 720p"}
|
||||
- {id: 13, cat: Movies, desc: "Movies 1080p"}
|
||||
- {id: 16, cat: Movies, desc: "Movies 3DTV"}
|
||||
- {id: 17, cat: Movies, desc: "Movies Blu-ray"}
|
||||
- {id: 27, cat: Movies, desc: "Movies BD25 Encode"}
|
||||
- {id: 33, cat: Movies, desc: "Movies BD9 AVCHD"}
|
||||
- {id: 14, cat: Movies/SD, desc: "Movies XviD"}
|
||||
- {id: 15, cat: Movies/DVD, desc: "Movies DVD-R"}
|
||||
- {id: 11, cat: Movies/HD, desc: "Movies 720p"}
|
||||
- {id: 13, cat: Movies/HD, desc: "Movies 1080p"}
|
||||
- {id: 16, cat: Movies/3D, desc: "Movies 3DTV"}
|
||||
- {id: 17, cat: Movies/BluRay, desc: "Movies Blu-ray"}
|
||||
- {id: 27, cat: Movies/BluRay, desc: "Movies BD25 Encode"}
|
||||
- {id: 33, cat: Movies/BluRay, desc: "Movies BD9 AVCHD"}
|
||||
- {id: 22, cat: Movies, desc: "Movies 2D to 3D Conv"}
|
||||
- {id: 32, cat: Movies, desc: "Bluray MKV Remux"}
|
||||
- {id: 23, cat: Movies, desc: "Movies Evo 3D"}
|
||||
- {id: 23, cat: Movies/3D, desc: "Movies Evo 3D"}
|
||||
- {id: 36, cat: Movies/UHD, desc: "Movies 4K UHD Bluray"}
|
||||
- {id: 37, cat: Movies/UHD, desc: "Movies 4K UHD Encode"}
|
||||
- {id: 21, cat: PC, desc: "3D Software"}
|
||||
- {id: 2, cat: Audio, desc: "Music"}
|
||||
- {id: 28, cat: XXX, desc: "Adult 720p"}
|
||||
- {id: 29, cat: XXX, desc: "Adult 1080p"}
|
||||
- {id: 30, cat: XXX, desc: "Adult Blu-ray"}
|
||||
@@ -42,6 +42,21 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 3
|
||||
options:
|
||||
3: created
|
||||
5: seeders
|
||||
2: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: 2
|
||||
options:
|
||||
1: desc
|
||||
2: asc
|
||||
- name: info
|
||||
type: info
|
||||
label: Results Per Page
|
||||
@@ -62,6 +77,7 @@ login:
|
||||
- selector: span.errormsg
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -71,8 +87,12 @@ search:
|
||||
search: "{{ .Keywords }}"
|
||||
page: torrents
|
||||
category: 0
|
||||
# 0 all, 1 Anaglyph 3D, 2 Side by Side,3 Over Under
|
||||
3dformat: 0
|
||||
active: 1
|
||||
# 0 all, 1 active only, 2 dead only
|
||||
active: 0
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table[cellspacing!="1"].lista > tbody > tr:has(a[href^="index.php?page=torrents&category="])
|
||||
@@ -85,23 +105,26 @@ search:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
remove: span
|
||||
selector: td:nth-child(2)
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
details:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["index.php?page=torrent-details&id=", "download.php?id="]
|
||||
details:
|
||||
poster:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
text: 0
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ",\\'(.+?)\\'"
|
||||
genre:
|
||||
selector: td:nth-child(2) span
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
date:
|
||||
selector: td:nth-last-child(5)
|
||||
filters:
|
||||
@@ -109,11 +132,23 @@ search:
|
||||
args: " -07:00" # PDT
|
||||
- name: dateparse
|
||||
args: "02/01/2006 -07:00"
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: a[href^="index.php?page=peers"]
|
||||
leechers:
|
||||
selector: td:has(a[href^="index.php?page=peers"]) + td
|
||||
grabs_optional:
|
||||
selector: a[href^="index.php?page=torrent_history"]
|
||||
optional: true
|
||||
grabs:
|
||||
text: "{{ if .Result.grabs_optional }}{{ .Result.grabs_optional }}{{ else }}0{{ end }}"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[title^="You get 50% off download count on this torrent"]: 0.5
|
||||
img[src="images/50off.png"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# xbtit
|
||||
|
147
src/Jackett.Common/Definitions/3evils-api.yml
Normal file
147
src/Jackett.Common/Definitions/3evils-api.yml
Normal file
@@ -0,0 +1,147 @@
|
||||
---
|
||||
id: 3evils-api
|
||||
name: 3Evils (API)
|
||||
description: "3Evils is a Private site for MOVIES / TV / MUSIC "
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://3evils.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: PC/Games, desc: "Game"}
|
||||
- {id: 5, cat: PC/0day, desc: "Application"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://3evils.net/\" target =_blank>3Evils</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
selector: created_at
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
# minimumseedtime:
|
||||
# # 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
# text: 172800
|
||||
# json UNIT3D 6.3.0
|
@@ -24,8 +24,8 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
@@ -77,17 +77,18 @@ search:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}/{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# does not return imdb or doubanid in results
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
@@ -113,9 +114,6 @@ search:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: div.imdb_100 > a
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
|
@@ -85,7 +85,6 @@ caps:
|
||||
- {id: 27, cat: XXX/SD, desc: "XXX SD"}
|
||||
- {id: 76, cat: XXX, desc: "XXX Andere"}
|
||||
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
@@ -131,11 +130,11 @@ settings:
|
||||
|
||||
login:
|
||||
path: signin.php
|
||||
method: form
|
||||
form: form
|
||||
method: post
|
||||
inputs:
|
||||
user: "{{ .Config.user }}"
|
||||
pass: "{{ .Config.pass }}"
|
||||
returnto: "%2Fbrowse.php"
|
||||
error:
|
||||
- selector: .error
|
||||
test:
|
||||
|
174
src/Jackett.Common/Definitions/abnormal.yml
Normal file
174
src/Jackett.Common/Definitions/abnormal.yml
Normal file
@@ -0,0 +1,174 @@
|
||||
---
|
||||
id: abnormal
|
||||
name: Abnormal
|
||||
description: "General French Private Tracker"
|
||||
language: fr-FR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2.1
|
||||
links:
|
||||
- https://abn.lol/
|
||||
legacylinks:
|
||||
- https://abnormal.ws
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "Series"}
|
||||
- {id: 2, cat: Movies, desc: "Movies"}
|
||||
- {id: 3, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 4, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 5, cat: PC/Games, desc: "Games"}
|
||||
- {id: 6, cat: PC, desc: "Applications"}
|
||||
- {id: 7, cat: Books/EBook, desc: "Ebooks"}
|
||||
- {id: 9, cat: TV, desc: "Emissions"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTI by another language in release name
|
||||
default: false
|
||||
- name: multilanguage
|
||||
type: select
|
||||
label: Replace MULTI by this language
|
||||
default: FRENCH
|
||||
options:
|
||||
FRENCH: FRENCH
|
||||
MULTI.FRENCH: MULTI.FRENCH
|
||||
ENGLISH: ENGLISH
|
||||
MULTI.ENGLISH: MULTI.ENGLISH
|
||||
VOSTFR: VOSTFR
|
||||
MULTI.VOSTFR: MULTI.VOSTFR
|
||||
- name: vostfr
|
||||
type: checkbox
|
||||
label: Replace VOSTFR with ENGLISH
|
||||
default: false
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: Created
|
||||
options:
|
||||
Created: created
|
||||
Seeders: seeders
|
||||
Size: size
|
||||
ReleaseName: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
method: form
|
||||
path: Home/Login
|
||||
form: "#account"
|
||||
inputs:
|
||||
Username: "{{ .Config.username }}"
|
||||
Password: "{{ .Config.password }}"
|
||||
RememberMe: true
|
||||
selectorinputs:
|
||||
__RequestVerificationToken:
|
||||
selector: input[name="__RequestVerificationToken"]
|
||||
attribute: value
|
||||
error:
|
||||
- selector: div.validation-summary-errors[data-valmsg-summary="true"]
|
||||
message:
|
||||
text: " - Bad username/password."
|
||||
test:
|
||||
path: /
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: Torrent
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}SelectedCats={{.}}&{{end}}"
|
||||
Search: "{{ .Keywords }}"
|
||||
UserId: ""
|
||||
YearOperator: ≥
|
||||
Year: ""
|
||||
RatingOperator: ≥
|
||||
Rating: ""
|
||||
Pending: ""
|
||||
Pack: ""
|
||||
Scene: ""
|
||||
Freeleech: "{{ if .Config.freeleech }}true{{ else }}{{ end }}"
|
||||
SortOn: "{{ .Config.sort }}"
|
||||
SortOrder: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.table-rows > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="/Torrent?SelectedCats="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: SelectedCats
|
||||
title_phase1:
|
||||
selector: td.grid-release-column > a
|
||||
title_multilang:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\.multi\\.)", " {{ .Config.multilanguage }} "]
|
||||
title_phase2:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase2 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\.vostfr\\.)", " ENGLISH "]
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\.subfrench\\.)", " ENGLISH "]
|
||||
title:
|
||||
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="/Torrent/Details?ReleaseId="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/Torrent/Download?ReleaseId="]
|
||||
attribute: href
|
||||
date:
|
||||
text: now
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: [",", "."]
|
||||
- name: replace
|
||||
args: ["o", "B"]
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[title="Freeleech"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# Gazelle
|
@@ -128,18 +128,15 @@ search:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: div.torrent-name
|
||||
selector: a[href^="details.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[src*="/img.php?"]
|
||||
attribute: src
|
||||
files:
|
||||
selector: td:nth-last-child(8)
|
||||
selector: td:nth-last-child(9)
|
||||
date_yday:
|
||||
# Yesterday<br/>6:00 AM
|
||||
selector: td:nth-last-child(7):contains("day")
|
||||
|
169
src/Jackett.Common/Definitions/acervos-api.yml
Normal file
169
src/Jackett.Common/Definitions/acervos-api.yml
Normal file
@@ -0,0 +1,169 @@
|
||||
---
|
||||
id: acervos
|
||||
name: Acervos (API)
|
||||
description: "Acervos is a Brazilian tracker for movies, tv shows, and others."
|
||||
language: pt-BR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://acervos.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Filmes"}
|
||||
- {id: 2, cat: TV, desc: "TV Séries"}
|
||||
- {id: 3, cat: Other, desc: "Cursos"}
|
||||
- {id: 4, cat: Console, desc: "Jogos"}
|
||||
- {id: 5, cat: PC, desc: "Aplicativos"}
|
||||
- {id: 6, cat: TV/Anime, desc: "Animes"}
|
||||
- {id: 7, cat: Other, desc: "Materiais de Apoio"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://acervos.cc/\" target =_blank>Acervos</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bS(\\d+)", "T$1"]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
selector: name
|
||||
filters:
|
||||
- name: re_replace
|
||||
args:
|
||||
- "\\bDUAL\\b"
|
||||
- "Portuguese (Brazil) English"
|
||||
details:
|
||||
selector: details_link
|
||||
_cat:
|
||||
selector: category
|
||||
_type:
|
||||
selector: type
|
||||
_res:
|
||||
selector: resolution
|
||||
optional: true
|
||||
_reg:
|
||||
selector: region
|
||||
optional: true
|
||||
description:
|
||||
text: "{{ .Result._cat }} {{ .Result._type }} {{ .Result._res }} {{ .Result._reg }}"
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
selector: created_at
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
# global MR is 0.4 but torrents must be seeded for 5 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 6.1.0
|
@@ -90,6 +90,7 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: Main/?act=Login
|
||||
method: form
|
||||
@@ -141,6 +142,13 @@ search:
|
||||
description:
|
||||
optional: true
|
||||
selector: span.torrent_small_desc
|
||||
genre:
|
||||
selector: span.torrent_small_desc
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "\\[.+?\\] \\[(.+?)\\]"
|
||||
- name: replace
|
||||
args: [" ", "_"]
|
||||
files:
|
||||
selector: td.torrent_table_files
|
||||
date:
|
||||
|
@@ -24,6 +24,7 @@ settings:
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: date
|
||||
options:
|
||||
date: created
|
||||
@@ -32,6 +33,7 @@ settings:
|
||||
seeders: seeders
|
||||
- name: order
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
|
@@ -142,10 +142,14 @@ search:
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) width="
|
||||
args: src=([^\s]+)
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
genre:
|
||||
selector: span.box
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: td:nth-last-child(6)
|
||||
size:
|
||||
|
@@ -27,7 +27,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
|
@@ -23,7 +23,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
@@ -104,8 +104,10 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: poster
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
@@ -115,6 +117,17 @@ search:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
@@ -150,4 +163,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 6.0.7
|
||||
# json UNIT3D 6.4.0
|
||||
|
@@ -1,186 +0,0 @@
|
||||
---
|
||||
id: alleenretail
|
||||
name: Alleen Retail
|
||||
description: "Alleen Retail is a DUTCH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: nl-NL
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.alleenretail.org/ # does not support https ERR_CONNECTION_REFUSED
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 2, cat: Movies/DVD, desc: "Films DVD"}
|
||||
- {id: 17, cat: Movies, desc: "Films Promo"}
|
||||
- {id: 3, cat: Audio/Video, desc: "Muziek Video"}
|
||||
- {id: 4, cat: Audio/Video, desc: "Cabaret"}
|
||||
- {id: 18, cat: Movies, desc: "Films Kids"}
|
||||
- {id: 6, cat: TV, desc: "TV Series"}
|
||||
- {id: 19, cat: Other, desc: "Overigen"}
|
||||
- {id: 20, cat: TV/Documentary, desc: "Documentaire"}
|
||||
- {id: 9, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: 10, cat: Books/Mags, desc: "Magazines"}
|
||||
- {id: 11, cat: Movies/SD, desc: "Films AVI/DivX"}
|
||||
- {id: 22, cat: Movies, desc: "Films Classics"}
|
||||
- {id: 8, cat: Audio, desc: "Muziek"}
|
||||
- {id: 23, cat: PC/Mac, desc: "Software Mac"}
|
||||
- {id: 1, cat: Books/Comics, desc: "Stripboeken"}
|
||||
- {id: 13, cat: PC/Mobile-Android, desc: "Android"}
|
||||
- {id: 14, cat: PC/Mobile-Other, desc: "Navigatie"}
|
||||
- {id: 7, cat: PC/0day, desc: "Software PC"}
|
||||
- {id: 12, cat: PC/Mobile-iOS, desc: "iOS"}
|
||||
- {id: 21, cat: Movies/HD, desc: "Films HD"}
|
||||
- {id: 5, cat: Audio/Audiobook, desc: "Luisterboeken"}
|
||||
- {id: 15, cat: XXX, desc: "18+"}
|
||||
- {id: 24, cat: Movies/UHD, desc: "Films Blu-ray/3D/4K"}
|
||||
- {id: 16, cat: Books/EBook, desc: "Ebooks"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
# - name: thankyou
|
||||
# type: text
|
||||
# label: Thank You Comment
|
||||
# - name: info
|
||||
# type: info
|
||||
# label: Thank you comment
|
||||
# default: This site requires you to leave a Thank You comment before you can download. Enter your personalised comment above.
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: table.main:contains("Aanmelden mislukt")
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
# download:
|
||||
# before:
|
||||
# # /comment.php?action=add&tid=166386
|
||||
# path: comment.php
|
||||
# method: post
|
||||
# inputs:
|
||||
# action: add
|
||||
# tid: "{{ .DownloadUri.Query.id }}"
|
||||
# text: "{{ .Config.thankyou }}"
|
||||
# submit: Opslaan
|
||||
# selectors:
|
||||
# - selector: a[href^="download.php?id="]
|
||||
# attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
# does not support imdbid search and does not return imdb link in results
|
||||
|
||||
rows:
|
||||
selector: table.mainouter
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)seizoen\\s*(\\d{1,2})\\s*(tot|t\/m)\\s*(\\d{1,2})", "S$1-$3"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(seizoen\\s*)(\\d{1,2})", "S$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(afl.\\s*|aflevering\\s*)(\\d{1,2})", "E$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)compleet", "Complete"]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: a[href^="details_bestanden.php?torrent_id="]
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(.+?) in"
|
||||
files:
|
||||
selector: a[href^="details_bestanden.php?torrent_id="]
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "in (\\d+) bestan"
|
||||
grabs:
|
||||
selector: table tr:nth-child(2) td:nth-child(1)
|
||||
date:
|
||||
selector: table tr:nth-child(2) td:nth-child(3)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["januari", "January"]
|
||||
- name: replace
|
||||
args: ["februari", "February"]
|
||||
- name: replace
|
||||
args: ["maart", "March"]
|
||||
- name: replace
|
||||
args: ["april", "April"]
|
||||
- name: replace
|
||||
args: ["mei", "May"]
|
||||
- name: replace
|
||||
args: ["juni", "June"]
|
||||
- name: replace
|
||||
args: ["juli", "July"]
|
||||
- name: replace
|
||||
args: ["augustus", "August"]
|
||||
- name: replace
|
||||
args: ["september", "September"]
|
||||
- name: replace
|
||||
args: ["oktober", "October"]
|
||||
- name: replace
|
||||
args: ["november", "November"]
|
||||
- name: replace
|
||||
args: ["december", "December"]
|
||||
- name: re_replace
|
||||
args: ["\\s*om\\s*", " "]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "2 January 2006 15:04:05 -07:00"
|
||||
seeders_optional:
|
||||
optional: true
|
||||
selector: table tr:nth-child(3) td:nth-child(6) font b
|
||||
seeders:
|
||||
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
|
||||
leechers_optional:
|
||||
optional: true
|
||||
selector: table tr:nth-child(3) td:nth-child(6) font b:nth-child(2)
|
||||
leechers:
|
||||
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
# between 1.00 and 1.50 is required, and above 1.50 prohibited
|
||||
text: 1.25
|
||||
# engine n/a
|
@@ -186,6 +186,10 @@ search:
|
||||
_language:
|
||||
selector: div.list-group-item-content p.m-0 span.badge-primary[style$="#b6249d;"]
|
||||
optional: true
|
||||
genre:
|
||||
selector: div.list-group-item-content p.m-0 span.badge-primary[style$="#1c38c2;"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
title:
|
||||
selector: a[href*="torrents-details.php?id="], a[href*="details-misc.php?id="]
|
||||
filters:
|
||||
|
@@ -109,11 +109,7 @@ search:
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["javascript:ShowImage('/images/imdb/", "tt"]
|
||||
- name: replace
|
||||
args: [".jpg')", ""]
|
||||
- name: replace
|
||||
args: ["tt0000000", ""]
|
||||
args: ["javascript:ShowImage('/images/imdb/tt0000000.jpg')", ""]
|
||||
poster:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: onmouseover
|
||||
@@ -124,6 +120,15 @@ search:
|
||||
args: ["')", ""]
|
||||
- name: replace
|
||||
args: ["/images/imdb/0000000.jpg", ""]
|
||||
genre:
|
||||
selector: td.lista.p-2
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Genre: (.+?)$"
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
date:
|
||||
|
@@ -47,16 +47,16 @@ search:
|
||||
optional: true
|
||||
year:
|
||||
selector: ..season.year
|
||||
quality:
|
||||
_quality:
|
||||
selector: quality.string
|
||||
series:
|
||||
_series:
|
||||
selector: series.string
|
||||
title:
|
||||
text: "{{ .Result.title_ru }} / {{ .Result.title_en }}{{ if .Result.title_alternative }} / {{ .Result.title_alternative }}{{ else }}{{ end }} [{{ .Result.quality }}] - {{ .Result.series }}"
|
||||
code:
|
||||
text: "{{ .Result.title_ru }} / {{ .Result.title_en }}{{ if .Result.title_alternative }} / {{ .Result.title_alternative }}{{ else }}{{ end }} ({{ .Result.year }}) [{{ .Result._quality }}] - {{ .Result._series }}"
|
||||
_code:
|
||||
selector: ..code
|
||||
details:
|
||||
text: "{{ .Config.sitelink }}release/{{ .Result.code }}.html"
|
||||
text: "{{ .Config.sitelink }}release/{{ .Result._code }}.html"
|
||||
download:
|
||||
selector: url
|
||||
filters:
|
||||
|
@@ -6,8 +6,6 @@ language: ru-RU
|
||||
type: semi-private
|
||||
encoding: windows-1251
|
||||
testlinktorrent: false
|
||||
certificates:
|
||||
- 2b49b401259cb893f37de9eff343f7d356b1c2f2 # expired 8 January 2022
|
||||
links:
|
||||
- https://anime-free.biz/
|
||||
legacylinks:
|
||||
|
@@ -64,7 +64,7 @@ search:
|
||||
fields:
|
||||
category:
|
||||
selector: label.category
|
||||
resolution:
|
||||
_resolution:
|
||||
selector: div.description
|
||||
filters:
|
||||
- name: regexp
|
||||
@@ -74,7 +74,7 @@ search:
|
||||
attribute: alt
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if .Result.resolution }} [{{ .Result.resolution }}p]{{ else }}{{ end }}"
|
||||
args: "{{ if .Result._resolution }} [{{ .Result._resolution }}p]{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
@@ -184,16 +184,16 @@ search:
|
||||
filters:
|
||||
- name: split
|
||||
args: ["|", 1]
|
||||
subtitles:
|
||||
_subtitles:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Субтитры:(.+?)\\n"
|
||||
language:
|
||||
_language:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Язык:(.+?)\\n"
|
||||
description:
|
||||
text: "{{ if .Result.subtitles }}Субтитры: {{ .Result.subtitles }}{{ else }}{{ end }} - {{ if .Result.language }}Язык: {{ .Result.language }}{{ else }}{{ end }}"
|
||||
text: "{{ if .Result._subtitles }}Субтитры: {{ .Result._subtitles }}{{ else }}{{ end }} - {{ if .Result._language }}Язык: {{ .Result._language }}{{ else }}{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
163
src/Jackett.Common/Definitions/animetracker.yml
Normal file
163
src/Jackett.Common/Definitions/animetracker.yml
Normal file
@@ -0,0 +1,163 @@
|
||||
---
|
||||
id: animetracker
|
||||
name: AnimeTracker (API)
|
||||
description: "AnimeTracker is a Private Torrent Tracker for HD ANIME / MANGA / HENTAI"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://animetracker.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 7, cat: TV/Anime, desc: "Series English"}
|
||||
- {id: 11, cat: TV/Anime, desc: "Series Non-English"}
|
||||
- {id: 1, cat: TV/Anime, desc: "Raws"}
|
||||
- {id: 2, cat: TV/Anime, desc: "OVA"}
|
||||
- {id: 4, cat: Movies, desc: "Movie"}
|
||||
- {id: 6, cat: XXX, desc: "Hentai Censored"}
|
||||
- {id: 14, cat: XXX, desc: "Hentai Uncensored"}
|
||||
- {id: 9, cat: XXX, desc: "Hentai Manga"}
|
||||
- {id: 10, cat: Movies, desc: "Live Action"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://animetracker.cc/\" target =_blank>AnimeTracker</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
selector: created_at
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
# global MR is 0.4 but torrents must be seeded for 5 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 5 day (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 6.4.0
|
@@ -28,7 +28,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
@@ -84,7 +84,7 @@ search:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range $i, $e := .Categories }}&categories[{{$i}}]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
@@ -5,6 +5,8 @@ description: "AniSource is a Public site for HD Anime raws."
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- f400d50a4dac4dd6546c869ac75669846205a0d2 # expired 26 Aug 2022
|
||||
links:
|
||||
- https://asnet.pw/
|
||||
|
||||
|
152
src/Jackett.Common/Definitions/anthelion-api.yml
Normal file
152
src/Jackett.Common/Definitions/anthelion-api.yml
Normal file
@@ -0,0 +1,152 @@
|
||||
---
|
||||
id: anthelion-api
|
||||
name: Anthelion (API)
|
||||
description: "Anthelion is a Private MOVIES tracker"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://anthelion.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 2000, cat: Movies}
|
||||
- {id: 2030, cat: Movies/SD}
|
||||
- {id: 2040, cat: Movies/HD}
|
||||
- {id: 2045, cat: Movies/UHD}
|
||||
- {id: 2050, cat: Movies/BluRay}
|
||||
- {id: 2080, cat: Movies/WEB-DL}
|
||||
- {id: 8000, cat: Other}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
# note: the api any supports movie search so there is no tv season/episode support.
|
||||
# not using year search because torznab adds it to the q= which results in &q=keyword+2022&year=2022 sent to api !?!
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Key by accessing your <a href=\"https://anthelion.me/\" target =_blank>Anthelion</a> account <i>Settings</i> page and scrolling down to the <b>API Key</b> section.<br>Tick the <b>Search</b> and <b>Download</b> checkboxes and click the <b>save profile</b> button to generate the key."
|
||||
|
||||
login:
|
||||
path: api.php
|
||||
method: get
|
||||
inputs:
|
||||
api_key: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: ":root:contains(\"Unrecognized key\")"
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: ":root:contains(\"No API_KEY provided\")"
|
||||
message:
|
||||
text: "You did not enter an API key."
|
||||
|
||||
search:
|
||||
paths:
|
||||
# docs: https://anthelion.me/forums.php?action=viewthread&threadid=1026
|
||||
- path: api.php
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
api_key: "{{ .Config.apikey }}"
|
||||
o: json
|
||||
t: movie
|
||||
q: "{{ .Keywords }}"
|
||||
tmdb: "{{ .Query.TMDBID }}"
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
cat: "{{ join .Categories \",\" }}"
|
||||
limit: 100
|
||||
offset: 0
|
||||
|
||||
rows:
|
||||
selector: item
|
||||
count:
|
||||
selector: response.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category
|
||||
filters:
|
||||
- name: split
|
||||
args: [",", -1]
|
||||
year:
|
||||
selector: year
|
||||
optional: true
|
||||
_codec:
|
||||
selector: codec
|
||||
_container:
|
||||
selector: container
|
||||
_media:
|
||||
selector: media
|
||||
_resolution:
|
||||
selector: resolution
|
||||
_audioFormat:
|
||||
selector: audioFormat
|
||||
_subbing:
|
||||
selector: subbing
|
||||
optional: true
|
||||
_flags:
|
||||
selector: flags
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [",", " "]
|
||||
_language:
|
||||
selector: language
|
||||
optional: true
|
||||
title:
|
||||
selector: title
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["'", "'"]
|
||||
- name: append
|
||||
args: " {{ .Result.year }} {{ .Result._codec }} {{ .Result._container }} {{ .Result._media }} {{ .Result._resolution }} {{ .Result._audioFormat }}{{ if .Result._subbing }} Subs{{ else }}{{ end }}{{ if .Result._flags }} {{ .Result._flags }}{{ else }}{{ end }}{{ if .Result._language }} {{ .Result._language }}{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: guid
|
||||
download:
|
||||
selector: link
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["&", "&"]
|
||||
infohash:
|
||||
selector: infohash
|
||||
imdbid:
|
||||
selector: imdb
|
||||
tmdbid:
|
||||
selector: tmdb
|
||||
genre:
|
||||
selector: tags
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", "_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: fileCount
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: grabs
|
||||
date:
|
||||
# 2022-08-07T20:56:06+0200
|
||||
selector: pubDate
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 3 day (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json api
|
@@ -6,9 +6,10 @@ language: ar-AR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.arabp2p.com/
|
||||
- https://www.arabp2p.net/
|
||||
legacylinks:
|
||||
- http://www.arabp2p.com/
|
||||
- https://www.arabp2p.com/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
@@ -97,7 +98,7 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
path: index.php
|
||||
method: form
|
||||
form: form[action^="index.php?page=login"]
|
||||
inputs:
|
||||
|
@@ -149,11 +149,11 @@ search:
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
english:
|
||||
_english:
|
||||
selector: span[title="English"]
|
||||
attribute: title
|
||||
optional: true
|
||||
bulgarian:
|
||||
_bulgarian:
|
||||
selector: span[title="Bulgarian"]
|
||||
attribute: title
|
||||
optional: true
|
||||
@@ -161,7 +161,7 @@ search:
|
||||
selector: td.filename a[href^="/en/torrents/"]
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if .Result.bulgarian }} {{ .Result.bulgarian }}{{ else }}{{ end }}{{ if .Result.english }} {{ .Result.english }}{{ else }}{{ end }}"
|
||||
args: "{{ if .Result._bulgarian }} {{ .Result._bulgarian }}{{ else }}{{ end }}{{ if .Result._english }} {{ .Result._english }}{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: td.filename a[href^="/en/torrents/"]
|
||||
attribute: href
|
||||
|
@@ -16,7 +16,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
@@ -85,6 +85,8 @@ search:
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 100
|
||||
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
# can support genre search but you need to know the id. &genre[]=10759 for Action & Adventure
|
||||
# does not have genre in results, they are on the details page.
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
@@ -126,7 +128,7 @@ search:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
selector: a[href*="themoviedb.org/movie/"]
|
||||
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
|
@@ -25,8 +25,8 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
@@ -75,13 +75,13 @@ search:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 justdead
|
||||
incldead: 0
|
||||
# promotion: 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x 50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdb
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 2 title or imdb or douban url, 3 uploader, 4 imdb
|
||||
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}2{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
@@ -109,6 +109,9 @@ search:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
|
@@ -6,20 +6,11 @@ language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://audiobookbay.fi/ # site forces http, does not support https
|
||||
- http://audiobookbay.se/
|
||||
- http://audiobookbayabb.com/
|
||||
- https://audiobookbay.unblockit.llc/
|
||||
- https://audiobookbay.fi/
|
||||
- https://audiobookbay.se/
|
||||
- https://audiobookbay.unblockit.nz/
|
||||
legacylinks:
|
||||
- https://audiobookbay.la/
|
||||
- https://audiobookbay.unblockit.app/
|
||||
- https://audiobookbay.unblockit.dev/
|
||||
- https://audiobookbay.unblockit.ltd/
|
||||
- https://audiobookbay.unblockit.link/
|
||||
- https://audiobookbay.unblockit.buzz/
|
||||
- https://audiobookbay.unblockit.club/
|
||||
- https://audiobookbay.unblockit.onl/
|
||||
- https://audiobookbay.unblockit.li/
|
||||
- https://audiobookbay.unblockit.uno/
|
||||
- https://audiobookbay.unblockit.ch/
|
||||
- https://audiobookbay.unblockit.ws/
|
||||
@@ -31,7 +22,17 @@ legacylinks:
|
||||
- http://audiobookbay.ws/
|
||||
- https://audiobookbay.unblockit.how/
|
||||
- https://audiobookbay.unblockit.cam/
|
||||
- https://audiobookbay.unblockit.biz/
|
||||
- https://audiobookbay.unblockit.day/
|
||||
- https://audiobookbay.unblockit.llc/
|
||||
- https://audiobookbay.unblockit.blue/
|
||||
- https://audiobookbay.unblockit.name/
|
||||
- http://audiobookbay.fi/
|
||||
- http://audiobookbay.se/
|
||||
- http://audiobookbayabb.com/
|
||||
- https://audiobookbay.unblockit.ist/
|
||||
- https://audiobookbay.unblockit.bet/
|
||||
- https://audiobookbay.unblockit.cat/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -84,15 +85,15 @@ caps:
|
||||
- {id: Sex, cat: Audio/Audiobook, desc: "Sex Scenes"}
|
||||
- {id: Short, cat: Audio/Audiobook, desc: "Short Story"}
|
||||
- {id: Spiritual, cat: Audio/Audiobook, desc: "Spiritual & Religious"}
|
||||
- {id: Sports, cat: Audio/Audiobook, desc: "Sports"}
|
||||
- {id: Sport, cat: Audio/Audiobook, desc: "Sport & Recreation"}
|
||||
- {id: Suspense, cat: Audio/Audiobook, desc: "Suspense"}
|
||||
- {id: Teen, cat: Audio/Audiobook, desc: "Teen & Young Adult"}
|
||||
- {id: The, cat: Audio/Audiobook, desc: "The Undead"}
|
||||
- {id: Thriller, cat: Audio/Audiobook, desc: "Thriller"}
|
||||
- {id: "True", cat: Audio/Audiobook, desc: "True Crime"}
|
||||
- {id: Tutorial, cat: Audio/Audiobook, desc: "Tutorial"}
|
||||
- {id: Violence, cat: Audio/Audiobook, desc: "Violence"}
|
||||
- {id: Westerns, cat: Audio/Audiobook, desc: "Westerns"}
|
||||
- {id: Zombies, cat: Audio/Audiobook, desc: "Zombies"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -145,6 +146,7 @@ search:
|
||||
selector: img
|
||||
attribute: src
|
||||
date_optional:
|
||||
optional: true
|
||||
selector: div.postContent
|
||||
filters:
|
||||
- name: regexp
|
||||
@@ -154,6 +156,7 @@ search:
|
||||
date:
|
||||
text: "{{ if .Result.date_optional }}{{ .Result.date_optional }}{{ else }}now{{ end }}"
|
||||
size_optional:
|
||||
optional: true
|
||||
selector: div.postContent
|
||||
filters:
|
||||
- name: regexp
|
||||
|
@@ -176,6 +176,8 @@ caps:
|
||||
- {id: 233, cat: Other, desc: "GFXNEWS GAME DEVELOPMENT"}
|
||||
- {id: 226, cat: Other, desc: "GFXNEWS MAGAZINE"}
|
||||
- {id: 234, cat: Other, desc: "GFXNEWS MATERIAL"}
|
||||
- {id: 243, cat: Other, desc: "GFXNEWS OTHER GRAPHICS"}
|
||||
- {id: 244, cat: Other, desc: "GFXNEWS OTHER GRAPHICS Zbrush, Substance tools"}
|
||||
- {id: 216, cat: Other, desc: "GFXNEWS PHOTOSTOCK"}
|
||||
- {id: 220, cat: Other, desc: "GFXNEWS PHOTOGRAPHY - ART"}
|
||||
- {id: 227, cat: Other, desc: "GFXNEWS PHOTOSHOP"}
|
||||
@@ -183,10 +185,10 @@ caps:
|
||||
- {id: 229, cat: Other, desc: "GFXNEWS PHOTOSHOP Background & PSD Source"}
|
||||
- {id: 230, cat: Other, desc: "GFXNEWS PHOTOSHOP Brushes & Gradient"}
|
||||
- {id: 231, cat: Other, desc: "GFXNEWS PHOTOSHOP Toolkits, Papers & Objects"}
|
||||
- {id: 245, cat: Other, desc: "GFXNEWS PLUGINS"}
|
||||
- {id: 225, cat: Other, desc: "GFXNEWS PLUGINS LINUX"}
|
||||
- {id: 223, cat: Other, desc: "GFXNEWS PLUGINS MAC"}
|
||||
- {id: 210, cat: Other, desc: "GFXNEWS PLUGINS WIN"}
|
||||
- {id: 236, cat: Other, desc: "GFXNEWS POSER"}
|
||||
- {id: 217, cat: Other, desc: "GFXNEWS SCRIPTS - WEB PROGRAMMING"}
|
||||
- {id: 218, cat: Other, desc: "GFXNEWS TEMPLATES"}
|
||||
- {id: 232, cat: Other, desc: "GFXNEWS TEXTURES"}
|
||||
|
@@ -7,10 +7,11 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://badasstorrents.com/
|
||||
- https://badasstorrents.nocensor.sbs/
|
||||
- https://badasstorrents.nocensor.world/
|
||||
legacylinks:
|
||||
- https://badasstorrents.nocensor.work/
|
||||
- https://badasstorrents.nocensor.biz/
|
||||
- https://badasstorrents.nocensor.sbs/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -21,7 +21,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
@@ -64,8 +64,11 @@ search:
|
||||
date:
|
||||
# 2021-10-19T06:10:15.772Z
|
||||
selector: publish_time
|
||||
size:
|
||||
size_optional:
|
||||
optional: true
|
||||
selector: size
|
||||
size:
|
||||
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
|
||||
grabs:
|
||||
selector: downloads
|
||||
seeders:
|
||||
|
@@ -22,8 +22,8 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
@@ -79,13 +79,13 @@ search:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}/{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl (searching imdburl does not work with tt1234567, but descr is good)
|
||||
search_area: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl (4 does not appear to work).
|
||||
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
|
@@ -124,8 +124,11 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: 38
|
||||
category|noappend:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
optional: true
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
|
@@ -15,7 +15,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
tv-search: [q, season, ep, imdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
settings:
|
||||
@@ -120,7 +120,7 @@ search:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
selector: a[href*="themoviedb.org/movie/"]
|
||||
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
|
||||
attribute: href
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
|
@@ -57,7 +57,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
@@ -65,6 +65,10 @@ settings:
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
@@ -83,7 +87,7 @@ settings:
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrentek száma egy oldalon:</b> setting to <b>100</b> on your account profile.
|
||||
default: For best results, change the <b>Torrentek száma egy oldalon:</b> setting to <b>50</b> on your account profile.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
@@ -91,30 +95,42 @@ login:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php?k="]
|
||||
selector: span[onclick^="window.open('logout.php?k="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
categories: ["!", 33, 66, 99]
|
||||
inputs:
|
||||
# 0 all, 1 active, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded
|
||||
incldead: 0
|
||||
- path: browse_xxx.php
|
||||
categories: [33, 66, 99]
|
||||
inputs:
|
||||
# 0 active, 1 all, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded
|
||||
incldead: 1
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 all, 2 deadonly, 3 myuploads, 4 zeroseed
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# site does not support imdbid searching or appear to have freeleech
|
||||
# site does not support imdbid searching
|
||||
# can support genre searching but you need to know the id, eg &genre23=1 for Comedy (id is 23)
|
||||
|
||||
rows:
|
||||
selector: table[width="100%"]:last-child tbody tr:has(a[href^="userdetails.php?id="]):has(a[href^="download.php?torrent="])
|
||||
selector: "table[width=\"100%\"][align=\"center\"]:first-child tbody tr:has(div.tooltip){{ if .Config.freeleech }}:has(i:contains(\"(Free)\")){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
selector: a[href*=".php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
genre:
|
||||
selector: span.tooltiptext
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
title:
|
||||
selector: div.tooltip
|
||||
remove: span
|
||||
@@ -124,19 +140,44 @@ search:
|
||||
poster:
|
||||
selector: a.preview
|
||||
attribute: href
|
||||
download:
|
||||
download_1:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
optional: true
|
||||
attribute: href
|
||||
download_2:
|
||||
selector: input[onclick*="download.php?torrent="]
|
||||
optional: true
|
||||
attribute: onclick
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["window.open('", ""]
|
||||
- name: replace
|
||||
args: ["', '_self');", ""]
|
||||
download:
|
||||
text: "{{ if or .Result.download_1 .Result.download_2 }}{{ or .Result.download_1 .Result.download_2 }}{{ else }}{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
date:
|
||||
# 2022<br>03/15.
|
||||
selector: td:nth-child(7)
|
||||
# 36 perce
|
||||
# 13 órája és 59 perce
|
||||
# 2 napja és 10 órája
|
||||
# 1 hete és 1 napja
|
||||
# 1 éve és 30 hete
|
||||
selector: td:nth-child(7) span:last-child
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "200601/02. -07:00"
|
||||
- name: replace
|
||||
args: ["és ", " "]
|
||||
- name: replace
|
||||
args: ["perce", "minute"]
|
||||
- name: replace
|
||||
args: ["órája", "hour"]
|
||||
- name: replace
|
||||
args: ["napja", "day"]
|
||||
- name: replace
|
||||
args: ["hete", "week"]
|
||||
- name: replace
|
||||
args: ["éve", "year"]
|
||||
- name: timeago
|
||||
grabs:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
|
@@ -45,7 +45,6 @@ caps:
|
||||
- {id: 9, cat: XXX, desc: "XXX/Film"}
|
||||
- {id: 10, cat: XXX, desc: "XXX/Kép"}
|
||||
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
@@ -108,18 +108,16 @@ search:
|
||||
- name: replace
|
||||
args: ["details", "download"]
|
||||
description:
|
||||
selector: img[src="styles/images/adwarn.png"]
|
||||
optional: true
|
||||
selector: i.fa-ad
|
||||
attribute: title
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Присутствует реклама", "Contains Adverts"]
|
||||
poster:
|
||||
args: ["Присутствует реклама", "[Contains Adverts] "]
|
||||
description|append:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
poster:
|
||||
selector: div.it-image > img
|
||||
attribute: src
|
||||
date_today:
|
||||
# Сегодня в 09:09 от
|
||||
# Вчера в 22:47 от
|
||||
|
@@ -7,9 +7,10 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bitsearch.to/
|
||||
- https://bitsearch.nocensor.sbs/
|
||||
- https://bitsearch.nocensor.world/
|
||||
legacylinks:
|
||||
- https://bitsearch.nocensor.biz/
|
||||
- https://bitsearch.nocensor.sbs/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -23,6 +23,8 @@ caps:
|
||||
- {id: 71, cat: Movies, desc: "NFLIX"}
|
||||
- {id: 78, cat: TV, desc: "EXXEN"}
|
||||
- {id: 79, cat: TV, desc: "BLUTV"}
|
||||
- {id: 90, cat: TV, desc: "Disney+"}
|
||||
- {id: 91, cat: TV, desc: "Prime Video"}
|
||||
- {id: 58, cat: Movies, desc: "Film"}
|
||||
- {id: 72, cat: Movies, desc: "Belgesel"}
|
||||
- {id: 60, cat: Movies/3D, desc: "3D"}
|
||||
@@ -53,9 +55,16 @@ caps:
|
||||
- {id: 46, cat: Audio, desc: "Yab@ncı MüziK"}
|
||||
- {id: 21, cat: Audio/Video, desc: "Video Klipler"}
|
||||
- {id: 2, cat: Console, desc: "Oyun"}
|
||||
- {id: 74, cat: PC/Games, desc: "PC"}
|
||||
- {id: 73, cat: Console, desc: "SONY-PS"}
|
||||
- {id: 74, cat: PC/Games, desc: "Oyun PC"}
|
||||
- {id: 84, cat: Console/PS3, desc: "Oyun Playstation"}
|
||||
- {id: 85, cat: Console/PS3, desc: "Oyun Playstation 2"}
|
||||
- {id: 82, cat: Console/PSP, desc: " Oyun PSP"}
|
||||
- {id: 83, cat: Console/Other, desc: "Oyun Gameboy"}
|
||||
- {id: 87, cat: Console/XBox, desc: "Oyun XBOX"}
|
||||
- {id: 88, cat: Console/Other, desc: "Oyun NEO-GEO"}
|
||||
- {id: 89, cat: Console/Wii, desc: "Oyun Nintendo Wii"}
|
||||
- {id: 6, cat: PC/0day, desc: "Program"}
|
||||
- {id: 92, cat: PC/Mobile-Android, desc: "Android"}
|
||||
- {id: 47, cat: Other, desc: "Resimler"}
|
||||
- {id: 48, cat: TV, desc: "Televizyon"}
|
||||
- {id: 49, cat: TV/HD, desc: "Tv HD"}
|
||||
|
@@ -44,10 +44,10 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
tv-search: [q, season, ep, genre]
|
||||
movie-search: [q, genre]
|
||||
music-search: [q, genre]
|
||||
book-search: [q, genre]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
@@ -105,22 +105,21 @@ search:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
search: "{{ if .Query.Genre }}{{ .Query.Genre }} {{ else }}{{ end }}{{ .Keywords }}"
|
||||
# title, descr, genre, all
|
||||
searchin: title
|
||||
searchin: "{{ if .Query.Genre }}all{{ else }}title{{ end }}"
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
only_free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table.table-bordered tr:has(a[href^="download.php?torrent="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -135,6 +134,9 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Tip\\('<b>(.+?)</b>"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
@@ -144,9 +146,12 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=\\'(.+?)\\'
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
- name: replace
|
||||
args: ["./pic/noposter.png", ""]
|
||||
genre:
|
||||
selector: i
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: td:nth-child(5)
|
||||
date_day:
|
||||
|
@@ -17,7 +17,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
settings:
|
||||
@@ -96,8 +96,10 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: poster
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
@@ -107,6 +109,17 @@ search:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
@@ -142,4 +155,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 6.0.6 beta
|
||||
# json UNIT3D 6.4.0b
|
||||
|
@@ -113,6 +113,7 @@ search:
|
||||
text: "{{ if .Result.files_optional }}{{ .Result.files_optional }}{{ else }}1{{ end }}"
|
||||
size_optional:
|
||||
selector: td:nth-child(3)
|
||||
optional: true
|
||||
size:
|
||||
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
|
||||
seeders_optional:
|
||||
|
@@ -27,7 +27,6 @@ caps:
|
||||
- {id: 14, cat: TV/Sport, desc: "HD"}
|
||||
- {id: 7, cat: TV/Sport, desc: "Misc"}
|
||||
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
@@ -1,140 +0,0 @@
|
||||
---
|
||||
id: brasiltracker
|
||||
name: BrasilTracker
|
||||
description: "BrasilTracker is a BRAZILIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: pt-BR
|
||||
encoding: UTF-8
|
||||
type: private
|
||||
links:
|
||||
- https://brasiltracker.org/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
Other: Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info_8000
|
||||
type: info
|
||||
label: About BrasilTracker Categories
|
||||
default: BrasilTracker does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: time
|
||||
options:
|
||||
time: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_results
|
||||
type: info
|
||||
label: "Search results"
|
||||
default: "This indexer does not support <b>Torrent Groups</b><br />Un-tick the <b>Torrent grouping</b><i> (Habilitar Grupo de Torrents)</i> checkbox in your <b>Configurações</b>."
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form#loginform
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
keeplogged: 1
|
||||
error:
|
||||
- selector: form#loginform:contains("incorretos")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php?auth="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://brasiltracker.org/torrents.php?order_by=time&order_way=desc&freetorrent=1&filter_cat[6]=1&filter_cat[3]=1&action=basic&searchsubmit=1
|
||||
# https://brasiltracker.org/torrents.php?searchstr=mandalorain&order_by=size&order_way=desc&action=basic&searchsubmit=1
|
||||
# https://brasiltracker.org/torrents.php?searchstr=tt8179024&order_by=time&order_way=desc&action=basic&searchsubmit=1
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
searchstr: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: basic
|
||||
freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
searchsubmit: 1
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr.torrent
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: Other
|
||||
details:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description:
|
||||
selector: div.tags
|
||||
poster:
|
||||
selector: img[alt="Cover"]
|
||||
attribute: src
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: span.time
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " -03:00" # BRT
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006, 15:04 -07:00"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
strong.tl_free: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
title_details:
|
||||
selector: div.torrent_info
|
||||
remove: strong
|
||||
title:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
filters:
|
||||
- name: append
|
||||
args: " {{ .Result.title_details }}"
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# Project Gazelle
|
191
src/Jackett.Common/Definitions/breizhpeers.yml
Normal file
191
src/Jackett.Common/Definitions/breizhpeers.yml
Normal file
@@ -0,0 +1,191 @@
|
||||
---
|
||||
id: breizhpeers
|
||||
name: BreizhPeers
|
||||
description: "BreizhPeers is a FRENCH Private Torrent Tracker for MOVIES / TV"
|
||||
language: fr-FR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://breizhpeers.tk/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Films"}
|
||||
- {id: 2, cat: TV, desc: "Séries"}
|
||||
- {id: 3, cat: TV, desc: "TV"}
|
||||
- {id: 4, cat: TV/Anime, desc: "Animes"}
|
||||
- {id: 5, cat: Audio/Video, desc: "Concerts"}
|
||||
- {id: 10, cat: PC, desc: "Applications"}
|
||||
- {id: 9, cat: Console, desc: "Jeux"}
|
||||
- {id: 6, cat: TV/Sport, desc: "Sport"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://breizhpeers.tk/\" target =_blank>BreizhPeers</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: vfq
|
||||
type: checkbox
|
||||
label: Replace VFQ with FRENCH in release name
|
||||
default: false
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTI by another language in release name
|
||||
default: false
|
||||
- name: multilanguage
|
||||
type: select
|
||||
label: Replace MULTI by this language
|
||||
default: VOSTFR
|
||||
options:
|
||||
FRENCH: FRENCH
|
||||
"MULTI FRENCH": "MULTI FRENCH"
|
||||
ENGLISH: ENGLISH
|
||||
"MULTI ENGLISH": "MULTI ENGLISH"
|
||||
VOSTFR: VOSTFR
|
||||
"MULTI VOSTFR": "MULTI VOSTFR"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title_original:
|
||||
selector: name
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", " "]
|
||||
title_vfq:
|
||||
text: "{{ .Result.title_original }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\sVFQ\\s)", " FRENCH "]
|
||||
title_step2:
|
||||
text: "{{ if .Config.vfq }}{{ .Result.title_vfq }}{{ else }}{{ .Result.title_original }}{{ end }}"
|
||||
title_multilang:
|
||||
text: "{{ .Result.title_step2 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\sMULTI\\s)", " {{ .Config.multilanguage }} "]
|
||||
title:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_step2 }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
selector: created_at
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 6.3.0 (custom)
|
@@ -19,7 +19,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
|
@@ -20,7 +20,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
@@ -7,10 +7,12 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btdig.com/
|
||||
- https://btdiggwzoyrwwbiv.onion.ly/
|
||||
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.ly/
|
||||
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.ws/
|
||||
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.pet/
|
||||
legacylinks:
|
||||
- http://btdiggwzoyrwwbiv.onion.ly/
|
||||
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.ly/
|
||||
- https://btdiggwzoyrwwbiv.onion.ly/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
105
src/Jackett.Common/Definitions/btmet.yml
Normal file
105
src/Jackett.Common/Definitions/btmet.yml
Normal file
@@ -0,0 +1,105 @@
|
||||
---
|
||||
id: btmet
|
||||
name: BTMET
|
||||
description: "BTMET is a Public magnet indexer"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btmet.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
Audio: Audio
|
||||
Compressed: Other
|
||||
Document: Books
|
||||
Image: Other
|
||||
Installation: PC
|
||||
Other: Other
|
||||
TV: TV # dummy cat to allow both Movies,TV to be categorised when Video is found.
|
||||
Video: Movies
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 0
|
||||
options:
|
||||
0: relevance
|
||||
1: created
|
||||
2: size
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://btmet.com/search.php?q=2022&c=&l=&o=1
|
||||
- path: search.php
|
||||
inputs:
|
||||
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
# does not support multi cats so defaulting to all
|
||||
c: ""
|
||||
# 1 Chinese, 2 Japanese, 3 Korean
|
||||
l: ""
|
||||
o: "{{ if .Keywords }}{{ .Config.sort }}{{ else }}1{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: div.search-item:has(a[href^="magnet"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: div.item-bar > span[class="cpill blue-pill"]
|
||||
category|append:
|
||||
# add tv to video
|
||||
optional: true
|
||||
selector: div.item-bar > span[class="cpill blue-pill"]
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Video", "TV"]
|
||||
title:
|
||||
selector: a.smashTitle > script
|
||||
filters:
|
||||
- name: urldecode
|
||||
- name: replace
|
||||
args: ['document.write(decodeURIComponent("', ""]
|
||||
- name: replace
|
||||
args: ['"));', ""]
|
||||
- name: replace
|
||||
args: ["<b style='color:#ea644a'>", ""]
|
||||
- name: replace
|
||||
args: ["</b>", ""]
|
||||
details:
|
||||
selector: a.smashTitle
|
||||
attribute: href
|
||||
infohash:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([a-f|0-9]{40})
|
||||
date:
|
||||
# unix
|
||||
selector: div.item-bar > span:nth-child(2) > b
|
||||
attribute: t
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d{10})
|
||||
size:
|
||||
selector: div.item-bar > span:nth-child(3) > b
|
||||
files:
|
||||
selector: div.item-bar > span:nth-child(4) > b
|
||||
seeders:
|
||||
selector: div.item-bar > span:nth-child(5) > b
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
102
src/Jackett.Common/Definitions/btmirror.yml
Normal file
102
src/Jackett.Common/Definitions/btmirror.yml
Normal file
@@ -0,0 +1,102 @@
|
||||
---
|
||||
id: btmirror
|
||||
name: BTmirror
|
||||
description: "BTmirror is a Public BitTorrent DHT search engine."
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btsao.com/
|
||||
- https://btmirror.unblockit.nz/
|
||||
legacylinks:
|
||||
- https://btmirror.unblockit.blue/
|
||||
- https://btmirror.unblockit.name/
|
||||
- https://btmirror.unblockit.ist/
|
||||
- https://btmirror.unblockit.bet/
|
||||
- https://btmirror.unblockit.cat/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
Other: Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info_8000
|
||||
type: info
|
||||
label: About BTmirror Categories
|
||||
default: BTmirror does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: create_time
|
||||
options:
|
||||
relavance: relevance
|
||||
create_time: created
|
||||
length: size
|
||||
|
||||
download:
|
||||
infohash:
|
||||
hash:
|
||||
selector: p.magnet a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
title:
|
||||
selector: p.magnet a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "&dn=(.+?)$"
|
||||
- name: validfilename
|
||||
|
||||
search:
|
||||
# https://btsao.com/en/search/2022/?c=&s=create_time
|
||||
# returns 10 results per page
|
||||
paths:
|
||||
- path: "en/search/{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}/"
|
||||
- path: "en/search/{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}/2"
|
||||
inputs:
|
||||
c: ""
|
||||
s: "{{ .Config.sort }}"
|
||||
|
||||
rows:
|
||||
selector: div.ssbox
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: Other
|
||||
title:
|
||||
selector: h3
|
||||
details:
|
||||
selector: h3 a
|
||||
attribute: href
|
||||
download:
|
||||
selector: h3 a
|
||||
attribute: href
|
||||
date:
|
||||
selector: span:contains("date:") b
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2006-01-02"
|
||||
size:
|
||||
selector: span:contains("size:") b
|
||||
files:
|
||||
selector: span:contains("files:") b
|
||||
grabs:
|
||||
selector: span:contains("人气:") b
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine: n/a
|
@@ -208,9 +208,6 @@ search:
|
||||
# a href="http://tracker.btnext.com/data/torrents/imdb/tt0249677.jpg"
|
||||
selector: a[href*="/imdb/tt"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: tt(\d+)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[title=\"FREE!\"]": 0
|
||||
|
@@ -29,13 +29,12 @@ caps:
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
- name: username
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -50,9 +49,19 @@ settings:
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("登錄失敗"))
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
@@ -5,17 +5,10 @@ description: "BTSOW is a Public torrent indexer"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
# use https://tellme.pw/btsow to find the new domain
|
||||
links:
|
||||
- https://btsow.bar/
|
||||
- https://btsow.cfd/
|
||||
legacylinks:
|
||||
- https://btos.pw/
|
||||
- https://btio.pw/
|
||||
- https://btsow.club/
|
||||
- https://bteve.com/
|
||||
- https://btsow.fun/
|
||||
- https://btsow.space/
|
||||
- https://btsow.site/
|
||||
- https://btsow.cyou/
|
||||
- https://btsow.monster/
|
||||
- https://btsow.casa/
|
||||
- https://btsow.website/
|
||||
@@ -30,6 +23,8 @@ legacylinks:
|
||||
- https://btsow.us/
|
||||
- https://btsow.one/
|
||||
- https://btsow.rest/
|
||||
- https://btsow.bar/
|
||||
- https://btsow.click/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -208,6 +208,17 @@ search:
|
||||
case:
|
||||
img[src="pic/double_upload.png"]: 2
|
||||
"*": 1
|
||||
genre:
|
||||
selector: td:nth-child(2)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Genre:\\s(.+?)$"
|
||||
- name: replace
|
||||
args: [", ", ","]
|
||||
- name: replace
|
||||
args: [" ", "_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
|
@@ -23,8 +23,8 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
@@ -87,23 +87,21 @@ search:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}/{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact, 3 NOT
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
|
@@ -256,7 +256,7 @@ settings: []
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a.itemtop_games
|
||||
- selector: a.itemdown_games
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
@@ -282,7 +282,8 @@ search:
|
||||
resorder: desc
|
||||
|
||||
rows:
|
||||
selector: div.short_search
|
||||
# results without sizes are just pre-release announcements
|
||||
selector: div.short_search:has(div.shor_subtitles span:nth-child(2):contains(" "))
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -318,9 +319,7 @@ search:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
size:
|
||||
text: 0B
|
||||
size:
|
||||
size_rus:
|
||||
selector: div.shor_subtitles span:nth-child(2):contains("Б")
|
||||
optional: true
|
||||
filters:
|
||||
@@ -332,6 +331,11 @@ search:
|
||||
args: ["МБ", "MB"]
|
||||
- name: replace
|
||||
args: ["КБ", "KB"]
|
||||
size_eng:
|
||||
selector: div.shor_subtitles span:nth-child(2):contains("B")
|
||||
optional: true
|
||||
size:
|
||||
text: "{{ if or .Result.size_rus .Result.size_eng }}{{ or .Result.size_rus .Result.size_eng }}{{ else }}0 B{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
@@ -87,6 +87,7 @@ search:
|
||||
onlyname2: true
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# can search by genre but you need the id. &imdbcat=1 for Akció.
|
||||
|
||||
rows:
|
||||
selector: table[id!="torrent_ajanlo"] > tbody > tr[id]
|
||||
@@ -98,11 +99,6 @@ search:
|
||||
title:
|
||||
selector: a[id][href^="details.php?"]
|
||||
attribute: title
|
||||
description:
|
||||
selector: font.line
|
||||
filters:
|
||||
- name: regexp
|
||||
args: .*?\|\s*(.*)
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
@@ -118,6 +114,13 @@ search:
|
||||
poster:
|
||||
selector: a[rel^="prettyPhoto["]
|
||||
attribute: href
|
||||
genre:
|
||||
selector: font.line
|
||||
filters:
|
||||
- name: validate
|
||||
args: "Akció, Animáció, Beszélgetős, Családi, Dokumentum, Dráma, Életrajzi, Fantasztikus, Film-Noir, Game-Show, Háborús, Horror, Kaland, Krimi, Misztikus, Musical, News, Reality-TV, Romantikus, Rövidfilm, Sci-Fi, Sport, Thriller, Történelmi, Vígjáték, Western, Zene"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: td:nth-child(4)
|
||||
size:
|
||||
@@ -145,6 +148,8 @@ search:
|
||||
args: ["napja", "day"]
|
||||
- name: replace
|
||||
args: ["hete", "week"]
|
||||
- name: replace
|
||||
args: ["éve", "year"]
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
|
@@ -35,12 +35,12 @@ caps:
|
||||
- {id: 31, cat: PC/0day, desc: "Programok/RIP"}
|
||||
- {id: 33, cat: TV, desc: "Sorozat/Eng"}
|
||||
- {id: 32, cat: TV, desc: "Sorozat/Hun"}
|
||||
- {id: 34, cat: XXX, desc: "XXX/Filmek"}
|
||||
- {id: 39, cat: XXX/ImageSet, desc: "XXX/Képek"}
|
||||
- {id: 29, cat: Audio/Lossless, desc: "Zene/FLAC/Eng"}
|
||||
- {id: 28, cat: Audio/Lossless, desc: "Zene/FLAC/Hun"}
|
||||
- {id: 27, cat: Audio/MP3, desc: "Zene/MP3/Eng"}
|
||||
- {id: 26, cat: Audio/MP3, desc: "Zene/MP3/Hun"}
|
||||
- {id: 34, cat: XXX, desc: "XXX/Filmek"}
|
||||
- {id: 39, cat: XXX/ImageSet, desc: "XXX/Képek"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -87,7 +87,12 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: letoltes.php
|
||||
- path: browse.php
|
||||
categories: ["!", 34, 39]
|
||||
- path: browse.php
|
||||
categories: [34, 39]
|
||||
inputs:
|
||||
xxx: 1
|
||||
keywordsfilters:
|
||||
# the site uses % for wildcard
|
||||
- name: re_replace
|
||||
@@ -98,15 +103,16 @@ search:
|
||||
# 0 both, 1 onlyactive, 2 onlydead, 3 onlyfree, 4 x2 torrents, 5 mytorrents, 6 waiting for seeds
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}0{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
order: "{{ .Config.type }}"
|
||||
# does not support imdbid searches
|
||||
# can support genre searching but you need to know the id, eg &genre2=1 for Comedy (id is 2)
|
||||
|
||||
rows:
|
||||
selector: table[width="920px"] > tbody > tr:has(a[href^="letoltes.php?cat="])
|
||||
selector: "table[border=\"1\"][cellpadding=\"3\"][style=\"width: 920px;\"] > tbody > tr:has(a[href^=\"browse.php?cat=\"])"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="letoltes.php?cat="]
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
@@ -126,15 +132,19 @@ search:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
genre:
|
||||
selector: small[title]
|
||||
attribute: title
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
poster:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) width"
|
||||
args: "showTorrentThumb\\('(.*?)', "
|
||||
date:
|
||||
selector: small
|
||||
remove: font
|
||||
selector: td:nth-last-child(8)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\u00a0", " "]
|
||||
|
189
src/Jackett.Common/Definitions/carpt.yml
Normal file
189
src/Jackett.Common/Definitions/carpt.yml
Normal file
@@ -0,0 +1,189 @@
|
||||
---
|
||||
id: carpt
|
||||
name: CarPT
|
||||
description: "CarPT (猪猪网) is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://carpt.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/连续剧"}
|
||||
- {id: 403, cat: TV/Anime, desc: "Animations/动漫"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 405, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 406, cat: Audio, desc: "Music/音乐"}
|
||||
- {id: 407, cat: Other, desc: "Misc/其他"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the CarPT Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title_optional:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 24 x 60 x 60)
|
||||
text: 86400
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, img
|
||||
# NexusPHP v1.7.16
|
@@ -129,13 +129,11 @@ search:
|
||||
- name: regexp
|
||||
args: tt(\d+)
|
||||
poster:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
selector: td a[href^="index.php?page=torrent-details"]:not(a[onmouseover*="torrentimg/nocover.jpg"])
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) width"
|
||||
- name: replace
|
||||
args: ["torrentimg/nocover.jpg", ""]
|
||||
args: src=([^\s]+)
|
||||
size:
|
||||
selector: td:nth-child(10)
|
||||
# two flavours of dates
|
||||
|
@@ -18,8 +18,8 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
tv-search: [q, season, ep, genre]
|
||||
movie-search: [q, genre]
|
||||
|
||||
settings:
|
||||
- name: info_2fa
|
||||
@@ -81,10 +81,18 @@ search:
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: advanced
|
||||
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
taglist: ""
|
||||
taglist: "{{ .Query.Genre }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bS0*(\\d+)\\b", "$1"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "$1"]
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -95,15 +103,26 @@ search:
|
||||
args: \[(\d+)\]
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
filters:
|
||||
- name: re_replace # Seasons X-Y --> SX-SY
|
||||
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)", "S$1-S$2"]
|
||||
- name: re_replace # Season X --> S0X
|
||||
args: ["(?i)season\\s*(\\d+)", "S$"]
|
||||
- name: re_replace
|
||||
args: ["(?i)Complete\\s+Series", ""]
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description:
|
||||
optional: true
|
||||
genre:
|
||||
selector: div.tags
|
||||
filters:
|
||||
- name: validate
|
||||
args: "Action, Adventure, Animation, Comedy, Crime, Documentary, Drama, Family, Fantasy, History, Horror, Kids, Music, Mystery, News, Reality, Romance, SciFi, Soap, Talk, Thriller, War, Western"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
|
@@ -88,8 +88,10 @@ search:
|
||||
poster:
|
||||
selector: img
|
||||
attribute: src
|
||||
description:
|
||||
genre:
|
||||
selector: div.short_game_genre
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
date:
|
||||
text: now
|
||||
seeders:
|
||||
|
@@ -96,6 +96,7 @@ search:
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# can support genre searching but you need to know the id, eg &team10=1 for Drama (id is 10)
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
@@ -170,4 +171,10 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, img
|
||||
genre:
|
||||
selector: table.torrentname > tbody > tr > td:first-child
|
||||
remove: a
|
||||
filters:
|
||||
- name: validate
|
||||
args: "Akční, Animovaný, Dobrodružný, Dokumentární, Drama, Fantasy, Horor, Komedie, Krimi, Pohádka, Rodinný, Romantický, Sci-Fi, Thriller, Válečný, Western"
|
||||
# NexusPHP Standard v1.5 Beta 4
|
||||
|
@@ -24,7 +24,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
@@ -95,6 +95,7 @@ search:
|
||||
page: 0
|
||||
view: list
|
||||
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
# can search by genre but need range support. &genres[]=Action&genres[]=Comedy for Action and Comedy
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
@@ -124,6 +125,17 @@ search:
|
||||
args: "&w=180&h=270" # for display on dashboard
|
||||
- name: replace
|
||||
args: ["https://images.weserv.nl/?url=https://via.placeholder.com/600x900&w=180&h=270", ""]
|
||||
genre:
|
||||
selector: td:nth-last-child(6)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\n", ""]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: validate
|
||||
args: "Action, Adventure, Animation, Biography, Comedy, Crime, Documentary, Drama, Family, Fantasy, Game-Show, History, Horror, Music, Musical, Mystery, News, Reality-TV, Romance, Science_Fiction, Sitcom, Sport, Talk-Show, Thriller, War, Western"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
@@ -136,7 +148,7 @@ search:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
selector: a[href*="themoviedb.org/movie/"]
|
||||
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
|
@@ -104,6 +104,7 @@ search:
|
||||
quality: none
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# can search by a genre, (gatunek), but you need to know the id: &gatunek=64 to search Sci-Fi
|
||||
|
||||
rows:
|
||||
selector: table[width="100%"] > tbody > tr:has(a[href^="browse.php?cat="])
|
||||
@@ -148,10 +149,19 @@ search:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
genre:
|
||||
selector: td[align="right"][width="66%"][valign="bottom"]
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: validate
|
||||
args: "Akcja, Animacja, Anime, Basn, Biblijny, Biograficzny, Czarna komedia, Dla dzieci, Dla mlodziezy, Dokumentalizowany, Dokumentalny, Dramat, Dramat historyczny, Dramat obyczajowy, Dramat sadowy, Dramat spoleczny, Dreszczowiec, Edukacyjny, Erotyczny, Etiuda, Fabularyzowany dok., Familijny, Fantasy, Film-Noir, Gangsterski, Groteska filmowa, Historyczny, Horror, Karate, Katastroficzny, Komedia, Komedia dokumentalna, Komedia kryminalna, Komedia obycz., Komedia rom., Kostiumowy, Krótkometrażowy, Kryminał, Melodramat, Motoryzacyjny, Musical, Muzyczny, Kulinarny, Nowele filmowe, Obyczajowy, Poetycki, Polityczny, Prawniczy, Przygodowy, Przyrodniczy, Psychologiczny, Plaszcza i szpady, Religijny, Romans, Rozrywka, Satyra, Sci-Fi, Sensacyjny, Sportowy, Surreallistyczny, Szpiegowski, Sztuki walki, Świąteczne, Thriller, Western, Wojenny, Kabaret, Action, Adventure, Arcade, Fps, Fighting, MMO, Puzzle, Racing, Rpg, RTS, Shooter, Simulation, Stealth, Strategy, Sport , Tps, Early Access, DOX, PC, X360, PlayStation, PSP, Alternative, Ambient, Classical, Dubstep, Drum and bass, Dance, Disco polo, Disco, Dla dzieci, Electronic, Folc, Hardstyle, Hardcore, Hip-hop, House, Jazz, Kompilacje muzyczne, Metal, Progressive house, Pop, Punk, Rap, Reggae, Rnb, Rock, Soul, Techno, Trance, Breaks, Chill out, Club, Deep house, Electro house, Tech house, GOA/PSY, Instrumental, Minimal, Soundtrack, Sety, Prasa, Czasopisma, Książka, Audiobook, Polskie, Klasyka, Poezja, Literatura piękna, Literatura faktu, Autobiografia, Pamiętnik"
|
||||
description:
|
||||
selector: img[src="pic/Poland.png"]
|
||||
attribute: src
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ if .Result.genre }}{{ .Result.genre }} - {{ else }}{{ end }}"
|
||||
- name: replace
|
||||
args: ["pic/Poland.png", "Polish"]
|
||||
date:
|
||||
|
77
src/Jackett.Common/Definitions/cloudtorrents.yml
Normal file
77
src/Jackett.Common/Definitions/cloudtorrents.yml
Normal file
@@ -0,0 +1,77 @@
|
||||
---
|
||||
id: cloudtorrents
|
||||
name: CloudTorrents
|
||||
description: "CloudTorrents is a Public Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://cloudtorrents.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: anime, cat: TV/Anime, desc: Anime}
|
||||
- {id: applications, cat: PC, desc: Applications}
|
||||
- {id: books, cat: Books, desc: Books}
|
||||
- {id: games, cat: Console, desc: Games}
|
||||
- {id: movies, cat: Movies, desc: Movies}
|
||||
- {id: music, cat: Audio, desc: Music}
|
||||
- {id: other, cat: Other, desc: Other}
|
||||
- {id: tv, cat: TV, desc: TV}
|
||||
- {id: xxx, cat: XXX, desc: XXX}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}search?query={{ .Keywords }}{{ else }}latest{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr:has(a)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: split
|
||||
args: ["/", 1]
|
||||
title:
|
||||
selector: a b
|
||||
details:
|
||||
selector: a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a
|
||||
attribute: href
|
||||
seeders:
|
||||
selector: td[data-title="Se"]
|
||||
leechers:
|
||||
selector: td[data-title="Le"]
|
||||
date:
|
||||
selector: span[title]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " -09:00" # CUS
|
||||
- name: dateparse
|
||||
args: "02 Jan, 2006 15:04 -07:00"
|
||||
size:
|
||||
selector: td[data-title="Size"]
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
@@ -10,7 +10,8 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 62, cat: Books, desc: "EBook"}
|
||||
- {id: 62, cat: Books/EBook, desc: "EBook"}
|
||||
- {id: 69, cat: Books/Mags, desc: "Zeitung"}
|
||||
- {id: 30, cat: TV/Anime, desc: "Filme - Animie"}
|
||||
- {id: 28, cat: Movies/BluRay, desc: "Filme - Bluray"}
|
||||
- {id: 31, cat: Movies/Other, desc: "Filme - Bollywood"}
|
||||
@@ -159,10 +160,12 @@ search:
|
||||
args: "02.01.2006 15:04:05 -07:00"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/oupic.gif"]: 0
|
||||
img[src="pic/oupic.gif"]: 0 # only upload is counted
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
case:
|
||||
img[src="pic/freeleech.gif"]: 0 # nothing is counted
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.7
|
||||
# engine n/a
|
||||
|
@@ -21,7 +21,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
@@ -3,11 +3,11 @@ id: cpasbien
|
||||
name: cpasbien
|
||||
description: "cpasbien is a FRENCH Public site for TV / MOVIES / GENERAL"
|
||||
language: fr-FR
|
||||
type: semi-private
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://vwwvwvwvvw.cpasbien-fr.nz/
|
||||
- https://cpasbiens3.fr/
|
||||
legacylinks:
|
||||
- http://www.cpasbiens.cc/
|
||||
- http://www.cpabien.cm/
|
||||
@@ -43,6 +43,7 @@ legacylinks:
|
||||
- https://wwwv.cpasbien-fr.fr/
|
||||
- https://www2.cpasbien-fr.fr/
|
||||
- https://www.cpasbien-fr.nz/
|
||||
- https://vwwvwvwvvw.cpasbien-fr.nz/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -54,13 +55,6 @@ caps:
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser<li>Solve the challenge<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
@@ -89,11 +83,6 @@ settings:
|
||||
label: Replace VOSTFR with ENGLISH
|
||||
default: false
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?xt="]
|
||||
@@ -114,31 +103,31 @@ search:
|
||||
args: ["(?i)(S)(\\d{1,3})$", "saison $2"]
|
||||
|
||||
rows:
|
||||
selector: div#gauche > table > tbody > tr:has(a)
|
||||
selector: div#gauche > table > tbody > tr:has(a), div#dle-content > table > tbody > tr:has(a)
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: Other
|
||||
site_date:
|
||||
_site_date:
|
||||
selector: a
|
||||
filters:
|
||||
# date is at the end of the title, so we get it and name it site_date
|
||||
# date is at the end of the title, so we get it and name it _site_date
|
||||
- name: regexp
|
||||
args: "(19|20\\d{2})$"
|
||||
title_phase1:
|
||||
selector: a
|
||||
filters:
|
||||
# now we put the date at the right place according scene naming rules using .Result.site_date
|
||||
# now we put the date at the right place according scene naming rules using .Result._site_date
|
||||
- name: re_replace
|
||||
args: ["(?i)( FRENCH)", " {{ .Result.site_date }} FRENCH"]
|
||||
args: ["(?i)( FRENCH)", " {{ .Result._site_date }} FRENCH"]
|
||||
- name: re_replace
|
||||
args: ["(?i)( MULTI)", " {{ .Result.site_date }} MULTI"]
|
||||
args: ["(?i)( MULTI)", " {{ .Result._site_date }} MULTI"]
|
||||
- name: re_replace
|
||||
args: ["(?i)( TRUEFRENCH)", " {{ .Result.site_date }} TRUEFRENCH"]
|
||||
args: ["(?i)( TRUEFRENCH)", " {{ .Result._site_date }} TRUEFRENCH"]
|
||||
- name: re_replace
|
||||
args: ["(?i)( VOSTFR)", " {{ .Result.site_date }} VOSTFR"]
|
||||
args: ["(?i)( VOSTFR)", " {{ .Result._site_date }} VOSTFR"]
|
||||
- name: re_replace
|
||||
args: ["(?i)( SUBFRENCH)", " {{ .Result.site_date }} SUBFRENCH"]
|
||||
args: ["(?i)( SUBFRENCH)", " {{ .Result._site_date }} SUBFRENCH"]
|
||||
# and we delete it at the end
|
||||
- name: re_replace
|
||||
args: ["(19|20\\d{2})$", ""]
|
||||
|
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.cpasbien.gg/
|
||||
- https://www.cpasbien.tw/
|
||||
legacylinks:
|
||||
- https://www1.cpasbiens.ws/
|
||||
- https://www2.cpasbiens.ws/
|
||||
@@ -19,6 +19,8 @@ legacylinks:
|
||||
- https://cpasbiens.proxyportal.fun/
|
||||
- https://cpasbiens.uk-unblock.xyz/
|
||||
- https://cpasbiens.ind-unblock.xyz/
|
||||
- https://www.cpasbien.gg/
|
||||
- https://www.cpasbien.vip/
|
||||
- https://cpasbien.to/
|
||||
|
||||
caps:
|
||||
@@ -69,9 +71,12 @@ settings:
|
||||
trie-nom-a: title asc
|
||||
|
||||
download:
|
||||
before:
|
||||
# request target
|
||||
path: "download_magnet?id={{ re_replace .DownloadUri.AbsoluteUri \"^.*-(\\d+)\\.html\" \"$1\" }}"
|
||||
selectors:
|
||||
- selector: a[href^="magnet:"]
|
||||
attribute: href
|
||||
- selector: body
|
||||
usebeforeresponse: true
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -83,26 +88,26 @@ search:
|
||||
fields:
|
||||
category:
|
||||
text: Other
|
||||
site_date:
|
||||
_site_date:
|
||||
selector: a
|
||||
filters:
|
||||
# year can be at the end of the title, so we get it and name it site_date
|
||||
# year can be at the end of the title, so we get it and name it _site_date
|
||||
- name: regexp
|
||||
args: "(19|20\\d{2})$"
|
||||
title_phase1:
|
||||
selector: a
|
||||
filters:
|
||||
# now we put the date at the right place according scene naming rules using .Result.site_date
|
||||
# now we put the date at the right place according scene naming rules using .Result._site_date
|
||||
- name: re_replace
|
||||
args: ["(?i)( FRENCH)", " {{ .Result.site_date }} FRENCH"]
|
||||
args: ["(?i)( FRENCH)", " {{ .Result._site_date }} FRENCH"]
|
||||
- name: re_replace
|
||||
args: ["(?i)( MULTI)", " {{ .Result.site_date }} MULTI"]
|
||||
args: ["(?i)( MULTI)", " {{ .Result._site_date }} MULTI"]
|
||||
- name: re_replace
|
||||
args: ["(?i)( TRUEFRENCH)", " {{ .Result.site_date }} TRUEFRENCH"]
|
||||
args: ["(?i)( TRUEFRENCH)", " {{ .Result._site_date }} TRUEFRENCH"]
|
||||
- name: re_replace
|
||||
args: ["(?i)( VOSTFR)", " {{ .Result.site_date }} VOSTFR"]
|
||||
args: ["(?i)( VOSTFR)", " {{ .Result._site_date }} VOSTFR"]
|
||||
- name: re_replace
|
||||
args: ["(?i)( SUBFRENCH)", " {{ .Result.site_date }} SUBFRENCH"]
|
||||
args: ["(?i)( SUBFRENCH)", " {{ .Result._site_date }} SUBFRENCH"]
|
||||
# and we delete it at the end
|
||||
- name: re_replace
|
||||
args: ["(19|20\\d{2})$", ""]
|
||||
|
@@ -90,13 +90,12 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
- name: username
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -119,9 +118,14 @@ settings:
|
||||
1: asc
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
path: index.php
|
||||
method: form
|
||||
form: form[action="index.php?page=login"]
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.lista span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
@@ -180,6 +184,13 @@ search:
|
||||
args: "download.php?id="
|
||||
- name: append
|
||||
args: "&f={{ .Result.title }}.torrent"
|
||||
genre:
|
||||
selector: div.col-md-12
|
||||
filters:
|
||||
- name: validate
|
||||
args: "Action, Adventure, Animation, Biography, Comedy, Crime, Documentary, Drama, Family, Fantasy, Game-Show, History, Horror, Kids, Music, Musical, Mystery, News, Reality-TV, Romance, Sci-Fi, Sport, Soap, Talk-Show, Thriller, War, Western"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
size:
|
||||
selector: div.torrent-size
|
||||
date:
|
||||
|
@@ -7,18 +7,13 @@ type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.crazyspirits.com/
|
||||
certificates:
|
||||
- cb68471b631304b3b4cec6315cfbad5a6780eb84 # self-signed 13 Mar 2022
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Documentaire
|
||||
- {id: 96, cat: TV/Documentary, desc: "Docus TV"}
|
||||
- {id: 124, cat: TV/Documentary, desc: "Docus Formation Video"}
|
||||
# Films
|
||||
- {id: 1, cat: XXX, desc: "3X"}
|
||||
- {id: 47, cat: XXX, desc: "3X HD720p"}
|
||||
- {id: 48, cat: XXX, desc: "3X HD1080p"}
|
||||
- {id: 1, cat: XXX, desc: "Films 3X"}
|
||||
- {id: 47, cat: XXX, desc: "Films 3X HD720p"}
|
||||
- {id: 48, cat: XXX, desc: "Films 3X HD1080p"}
|
||||
- {id: 49, cat: Movies/3D, desc: "Films 3D"}
|
||||
- {id: 50, cat: Movies/UHD, desc: "Films 4K"}
|
||||
- {id: 51, cat: TV/UHD, desc: "Films 4K UHDTV"}
|
||||
@@ -28,25 +23,31 @@ caps:
|
||||
- {id: 61, cat: Movies/HD, desc: "Films HDRip"}
|
||||
- {id: 59, cat: Movies/DVD, desc: "Films DVDR"}
|
||||
- {id: 60, cat: Movies/DVD, desc: "Films DVDRip"}
|
||||
- {id: 57, cat: Movies/BluRay, desc: "Films BDRip"}
|
||||
- {id: 58, cat: Movies/BluRay, desc: "Films BRRip"}
|
||||
- {id: 57, cat: Movies/BluRay, desc: "Films BD-Rip"}
|
||||
- {id: 58, cat: Movies/BluRay, desc: "Films BR-Rip"}
|
||||
- {id: 63, cat: Movies/HD, desc: "Films MHD"}
|
||||
- {id: 64, cat: Movies, desc: "Films R5"}
|
||||
- {id: 65, cat: Movies, desc: "Films FSCR"}
|
||||
- {id: 66, cat: Movies, desc: "Films CamTS"}
|
||||
- {id: 66, cat: Movies, desc: "Films Cam-TS"}
|
||||
- {id: 67, cat: Movies, desc: "Films Pack Films"}
|
||||
- {id: 68, cat: Movies, desc: "Films VostFR"}
|
||||
- {id: 68, cat: Movies, desc: "Films Vost-FR"}
|
||||
- {id: 69, cat: Movies, desc: "Films VO"}
|
||||
- {id: 70, cat: Movies/WEB-DL, desc: "Films WebRip 1080p"}
|
||||
- {id: 71, cat: Movies/WEB-DL, desc: "Films WebRip 720p"}
|
||||
- {id: 73, cat: Movies/WEB-DL, desc: "Films Webrip"}
|
||||
- {id: 129, cat: Movies, desc: "Films QC~Film"}
|
||||
- {id: 72, cat: Movies/WEB-DL, desc: "Films WEB DL"}
|
||||
- {id: 72, cat: Movies/WEB-DL, desc: "Films WEBRip-DL"}
|
||||
- {id: 99, cat: Movies, desc: "Films Remux"}
|
||||
- {id: 98, cat: Movies/Other, desc: "Films Film Animées"}
|
||||
- {id: 98, cat: Movies/Other, desc: "Films Animé"}
|
||||
- {id: 122, cat: Movies/WEB-DL, desc: "Films Web-DL 1080P"}
|
||||
- {id: 123, cat: Movies/WEB-DL, desc: "Films WEB-DL 720p"}
|
||||
- {id: 126, cat: Movies, desc: "Films HDTV"}
|
||||
- {id: 137, cat: Movies/UHD, desc: "Films HDR 2160p"}
|
||||
- {id: 138, cat: Movies/WEB-DL, desc: "Films WEB-DL 2160p"}
|
||||
- {id: 139, cat: Movies/WEB-DL, desc: "Films WEB-RIP 2160p"}
|
||||
- {id: 126, cat: TV/HD, desc: "Films HDTV"}
|
||||
# Documentaire
|
||||
- {id: 96, cat: TV/Documentary, desc: "Docus TV"}
|
||||
- {id: 124, cat: TV/Documentary, desc: "Docus Formation Video"}
|
||||
# Jeux
|
||||
- {id: 114, cat: PC/Games, desc: "Jeux PC"}
|
||||
- {id: 115, cat: Console/PS3, desc: "Jeux PS3"}
|
||||
@@ -77,18 +78,18 @@ caps:
|
||||
- {id: 108, cat: Audio/Lossless, desc: "Musiques FLAC"}
|
||||
- {id: 109, cat: Audio, desc: "Musiques WMA"}
|
||||
# Séries
|
||||
- {id: 77, cat: TV/HD, desc: "Series HDTV"}
|
||||
- {id: 84, cat: TV/HD, desc: "Series Épisodes HD"}
|
||||
- {id: 85, cat: TV/SD, desc: "Series Épisodes SD"}
|
||||
- {id: 86, cat: TV, desc: "Series VosFR"}
|
||||
- {id: 97, cat: TV/Anime, desc: "Series Animée"}
|
||||
- {id: 88, cat: TV, desc: "Series Pack HD"}
|
||||
- {id: 128, cat: TV, desc: "Series Pack SD"}
|
||||
- {id: 130, cat: TV, desc: "SeriesQC~Serie"}
|
||||
- {id: 130, cat: TV, desc: "Séries QC~Serie"}
|
||||
- {id: 77, cat: TV/HD, desc: "Séries HDTV"}
|
||||
- {id: 84, cat: TV/HD, desc: "Séries Épisodes HD"}
|
||||
- {id: 85, cat: TV/SD, desc: "Séries Épisodes SD"}
|
||||
- {id: 97, cat: TV/Anime, desc: "Séries Animée"}
|
||||
- {id: 88, cat: TV, desc: "Séries Pack HD"}
|
||||
- {id: 128, cat: TV, desc: "Séries Pack SD"}
|
||||
# Spéctacle
|
||||
- {id: 131, cat: TV, desc: "SeriesQC~Spectacle"}
|
||||
- {id: 131, cat: TV/Other, desc: "Spectacle QC~Spectacle"}
|
||||
- {id: 91, cat: TV/Other, desc: "Spectacle 720p"}
|
||||
- {id: 90, cat: TV/Other, desc: "Spectacle 1080p"}
|
||||
- {id: 136, cat: TV/Other, desc: "Spectacle SD"}
|
||||
# Télévision
|
||||
- {id: 74, cat: TV/HD, desc: "TV TVHD"}
|
||||
- {id: 75, cat: TV, desc: "TV TVRip"}
|
||||
|
@@ -18,8 +18,8 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
tv-search: [q, season, ep, genre]
|
||||
movie-search: [q, genre]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
@@ -71,10 +71,18 @@ search:
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: advanced
|
||||
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
taglist: ""
|
||||
taglist: "{{ .Query.Genre }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bS0*(\\d+)\\b", "$1"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "$1"]
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -85,14 +93,26 @@ search:
|
||||
args: \[(\d+)\]
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
filters:
|
||||
- name: re_replace # Seasons X-Y --> SX-SY
|
||||
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)", "S$1-S$2"]
|
||||
- name: re_replace # Season X --> S0X
|
||||
args: ["(?i)season\\s*(\\d+)", "S$"]
|
||||
- name: re_replace
|
||||
args: ["(?i)Complete\\s+Series", ""]
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description:
|
||||
genre:
|
||||
selector: div.tags
|
||||
filters:
|
||||
- name: validate
|
||||
args: "Action, Adventure, Animation, Comedy, Crime, Documentary, Drama, Family, Fantasy, History, Horror, Kids, Music, Mystery, News, Reality, Romance, SciFi, Soap, Talk, Thriller, War, Western"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
|
@@ -60,6 +60,8 @@ caps:
|
||||
- {id: 53, cat: TV, desc: "Random Oddities"}
|
||||
- {id: 59, cat: TV, desc: "Late Night Talkshows"}
|
||||
- {id: 77, cat: TV, desc: "Non-English language"}
|
||||
- {id: 78, cat: TV, desc: "Video Musical Comedy"}
|
||||
- {id: 79, cat: TV, desc: "Video Podcasts"}
|
||||
# BY REQUEST ONLY
|
||||
- {id: 19, cat: Movies, desc: "Movie DVD5/9"}
|
||||
- {id: 20, cat: Movies, desc: "Movie AVI"}
|
||||
|
@@ -24,7 +24,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
@@ -87,18 +87,24 @@ search:
|
||||
selector: $.resultsCount
|
||||
|
||||
fields:
|
||||
id:
|
||||
_id:
|
||||
selector: .id
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
text: "{{ .Config.sitelink }}torrents/{{ .Result.id }}"
|
||||
text: "{{ .Config.sitelink }}torrents/{{ .Result._id }}"
|
||||
download:
|
||||
text: "{{ .Config.sitelink }}torrent/download/{{ .Result.id }}.{{ .Config.rsskey }}"
|
||||
text: "{{ .Config.sitelink }}torrent/download/{{ .Result._id }}.{{ .Config.rsskey }}"
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: poster_image
|
||||
genre:
|
||||
selector: meta_genres
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
imdbid:
|
||||
selector: imdb
|
||||
tmdbid:
|
||||
|
@@ -16,6 +16,7 @@ caps:
|
||||
- {id: 28, cat: Movies/SD, desc: "Filme SD"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Filme HD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "Filme UHD"}
|
||||
- {id: 140, cat: Movies/BluRay, desc: "Filme BluRay"}
|
||||
- {id: 138, cat: Movies, desc: "Filme Pack`s"}
|
||||
# Serien
|
||||
- {id: 60, cat: TV/SD, desc: "Serien SD"}
|
||||
@@ -29,9 +30,10 @@ caps:
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Audio Hörbuch"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Audio Videos"}
|
||||
# App
|
||||
- {id: 12, cat: PC/0day, desc: "App PC"}
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "App Mobil"}
|
||||
- {id: 125, cat: PC/Mac, desc: "App macOS"}
|
||||
- {id: 12, cat: PC/0day, desc: "Apps Windows"}
|
||||
- {id: 125, cat: PC/Mac, desc: "Apps Mac-OSX"}
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "Apps Mobil"}
|
||||
- {id: 141, cat: PC/ISO, desc: "Apps Other"}
|
||||
# Doku
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
|
||||
@@ -52,6 +54,7 @@ caps:
|
||||
- {id: 76, cat: XXX/XviD, desc: "XXX SD"}
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX Pack"}
|
||||
- {id: 142, cat: XXX/ImageSet, desc: "XXX Pic´s"}
|
||||
# Internal
|
||||
- {id: 129, cat: Movies/SD, desc: "Internal Film SD"}
|
||||
- {id: 128, cat: Movies/HD, desc: "Internal Film HD"}
|
||||
@@ -146,12 +149,12 @@ search:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
cat_p1:
|
||||
category_p1:
|
||||
selector: div.kat_cat_pic_name
|
||||
cat_p2:
|
||||
category_p2:
|
||||
selector: div.kat_cat_pic_name_b
|
||||
categorydesc:
|
||||
text: "{{ .Result.cat_p1 }} {{ .Result.cat_p2 }}"
|
||||
text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}"
|
||||
title:
|
||||
selector: a.selection_a
|
||||
filters:
|
||||
@@ -165,7 +168,7 @@ search:
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
args: ["details.php?id=", "download_ssl.php?torrent="]
|
||||
poster:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
@@ -218,4 +221,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# engine n/a
|
||||
# 3xT
|
||||
|
@@ -24,7 +24,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
@@ -72,10 +72,24 @@ search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
@@ -83,8 +97,8 @@ search:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
selector: category
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
@@ -92,7 +106,7 @@ search:
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: poster
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
@@ -102,6 +116,19 @@ search:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(All Sex)", "All_Sex"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
@@ -116,20 +143,25 @@ search:
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 5.3.0
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 6.4.1
|
||||
|
@@ -155,6 +155,14 @@ search:
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
genre:
|
||||
selector: td:nth-child(2)
|
||||
remove: a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Kieli:|Tekstit:|Array|\x0A|\x09)", ""]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
minimumratio:
|
||||
text: 1.05
|
||||
# engine n/a
|
||||
|
@@ -10,20 +10,13 @@ links:
|
||||
- https://www.demonoid.is/
|
||||
- https://www.dnoid.to/
|
||||
- https://www.dnoid.pw/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ly/
|
||||
- https://demonoid.unblockit.llc/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ws/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.pet/
|
||||
- https://demonoid.unblockit.nz/
|
||||
- https://demonoid.torrentbay.to/
|
||||
- https://demonoid.nocensor.sbs/
|
||||
- https://demonoid.nocensor.world/
|
||||
legacylinks:
|
||||
- https://demonoid.unblockit.lat/
|
||||
- https://demonoid.unblockit.app/
|
||||
- https://demonoid.unblockit.dev/
|
||||
- https://demonoid.unblockit.ltd/
|
||||
- https://demonoid.unblockit.link/
|
||||
- https://demonoid.unblockit.buzz/
|
||||
- https://demonoid.unblockit.club/
|
||||
- https://demonoid.unblockit.onl/
|
||||
- https://demonoid.unblockit.li/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ly/
|
||||
- https://demonoid.unblockit.uno/
|
||||
- https://demonoid.unblockit.ch/
|
||||
- https://demonoid.nocensor.space/
|
||||
@@ -36,6 +29,13 @@ legacylinks:
|
||||
- https://demonoid.unblockit.cam/
|
||||
- https://demonoid.nocensor.biz/
|
||||
- https://demonoid.unblockit.day/
|
||||
- https://demonoid.unblockit.llc/
|
||||
- https://demonoid.unblockit.blue/
|
||||
- https://demonoid.unblockit.name/
|
||||
- https://demonoid.nocensor.sbs/
|
||||
- https://demonoid.unblockit.ist/
|
||||
- https://demonoid.unblockit.bet/
|
||||
- https://demonoid.unblockit.cat/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -320,13 +320,20 @@ settings:
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: files/
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="/files/download/"]:has(i.fa-download)
|
||||
attribute: href
|
||||
infohash:
|
||||
hash:
|
||||
selector: div:contains("Torrent hash") > div.col-md-5 > div
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" ", ""]
|
||||
title:
|
||||
selector: h1[id="torrent--title"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
|
@@ -8,6 +8,7 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://desitorrents.tv/
|
||||
- https://desitorrents.rocks/
|
||||
- https://torrent.desi/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -17,7 +18,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
@@ -64,13 +65,23 @@ search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: [^$, "%"]
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
@@ -79,8 +90,8 @@ search:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
selector: category
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
@@ -88,7 +99,7 @@ search:
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: poster
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
@@ -98,6 +109,17 @@ search:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
@@ -112,11 +134,15 @@ search:
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
@@ -128,4 +154,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 5.3.0 (custom)
|
||||
# json UNIT3D 6.4.1 (custom)
|
||||
|
@@ -52,7 +52,6 @@ caps:
|
||||
- {id: 20, cat: Books, desc: "E-Book / Magyar"}
|
||||
- {id: 52, cat: Books, desc: "E-Book / Egyéb"}
|
||||
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
@@ -10,23 +10,23 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies/DVD, desc: Movies/DVDR}
|
||||
- {id: 2, cat: Movies/SD, desc: Movies/SD}
|
||||
- {id: 3, cat: Movies/BluRay, desc: Movies/BluRay}
|
||||
- {id: 4, cat: Movies/UHD, desc: Movies/4K}
|
||||
- {id: 38, cat: Movies/UHD, desc: Movies/UHD}
|
||||
- {id: 1, cat: Movies/DVD, desc: Movies/DVDR}
|
||||
- {id: 5, cat: Movies/HD, desc: Movies/720p}
|
||||
- {id: 6, cat: Movies/HD, desc: Movies/1080p}
|
||||
- {id: 4, cat: Movies/UHD, desc: Movies/2160p}
|
||||
- {id: 3, cat: Movies/BluRay, desc: Movies/BluRay}
|
||||
- {id: 38, cat: Movies/UHD, desc: Movies/Bluray/UHD}
|
||||
- {id: 7, cat: Movies/HD, desc: Movies/PACKS}
|
||||
- {id: 8, cat: TV/HD, desc: TV/720p}
|
||||
- {id: 9, cat: TV/HD, desc: TV/1080p}
|
||||
- {id: 10, cat: TV/SD, desc: TV/SD}
|
||||
- {id: 11, cat: TV/SD, desc: TV/DVDR}
|
||||
- {id: 12, cat: TV/HD, desc: TV/PACKS}
|
||||
- {id: 13, cat: TV/UHD, desc: TV/4K}
|
||||
- {id: 14, cat: TV/HD, desc: TV/BluRay}
|
||||
- {id: 10, cat: TV/SD, desc: Tv/SD}
|
||||
- {id: 11, cat: TV/SD, desc: Tv/DVDR}
|
||||
- {id: 8, cat: TV/HD, desc: Tv/720p}
|
||||
- {id: 9, cat: TV/HD, desc: Tv/1080p}
|
||||
- {id: 13, cat: TV/UHD, desc: Tv/2160p}
|
||||
- {id: 14, cat: TV/HD, desc: Tv/BluRay}
|
||||
- {id: 12, cat: TV/HD, desc: Tv/PACKS}
|
||||
- {id: 17, cat: Other, desc: Unknown}
|
||||
- {id: 18, cat: PC/0day, desc: Apps/0day}
|
||||
- {id: 18, cat: PC/0day, desc: Apps/0DAY}
|
||||
- {id: 20, cat: PC/ISO, desc: Apps/PC}
|
||||
- {id: 21, cat: PC/Mac, desc: Apps/Mac}
|
||||
- {id: 33, cat: PC, desc: Apps/Tutorials}
|
||||
@@ -121,25 +121,25 @@ search:
|
||||
selector: category
|
||||
title:
|
||||
selector: name
|
||||
id:
|
||||
_id:
|
||||
selector: id
|
||||
details:
|
||||
text: "{{ .Config.sitelink }}torrent/{{ .Result.id }}/"
|
||||
text: "{{ .Config.sitelink }}torrent/{{ .Result._id }}/"
|
||||
download:
|
||||
text: "{{ .Config.sitelink }}api/v1/torrents/download/{{ .Result.id }}"
|
||||
text: "{{ .Config.sitelink }}api/v1/torrents/download/{{ .Result._id }}"
|
||||
imdbid:
|
||||
selector: imdbid2
|
||||
imdbidfull:
|
||||
imdbid_full:
|
||||
optional: true
|
||||
selector: imdbid2
|
||||
posternormal:
|
||||
poster_normal:
|
||||
optional: true
|
||||
selector: firstpic
|
||||
posterimdb:
|
||||
poster_imdb:
|
||||
optional: true
|
||||
text: "{{ if .Result.imdbid }}{{ .Config.sitelink }}img/imdb/{{ .Result.imdbidfull }}.jpg{{ else }}{{ end }}"
|
||||
text: "{{ if .Result.imdbid }}{{ .Config.sitelink }}img/imdb/{{ .Result.imdbid_full }}.jpg{{ else }}{{ end }}"
|
||||
poster:
|
||||
text: "{{ if .Result.posterimdb }}{{ .Result.posterimdb }}{{ else }}{{ .Result.posternormal }}{{ end }}"
|
||||
text: "{{ if .Result.poster_imdb }}{{ .Result.poster_imdb }}{{ else }}{{ .Result.poster_normal }}{{ end }}"
|
||||
date:
|
||||
# 2021-10-27 12:07:22
|
||||
selector: added
|
||||
@@ -171,56 +171,55 @@ search:
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
titledesc:
|
||||
title_desc:
|
||||
optional: true
|
||||
selector: title
|
||||
yeardesc:
|
||||
year_desc:
|
||||
optional: true
|
||||
selector: year
|
||||
genresdesc:
|
||||
optional: true
|
||||
genre:
|
||||
selector: genres
|
||||
taglinedesc:
|
||||
_tagline_desc:
|
||||
optional: true
|
||||
selector: tagline
|
||||
castdesc:
|
||||
_cast_desc:
|
||||
optional: true
|
||||
selector: cast
|
||||
ratingdesc:
|
||||
_rating_desc:
|
||||
optional: true
|
||||
selector: rating
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["0", ""]
|
||||
sectiondesc:
|
||||
_section_desc:
|
||||
optional: true
|
||||
selector: section
|
||||
predatedesc:
|
||||
_predate_desc:
|
||||
selector: preDate
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["0000-00-00 00:00:00", ""]
|
||||
p2ptag:
|
||||
_p2ptag:
|
||||
selector: p2p
|
||||
case:
|
||||
0: ""
|
||||
1: P2P
|
||||
packtag:
|
||||
_packtag:
|
||||
selector: pack
|
||||
case:
|
||||
0: ""
|
||||
1: Pack
|
||||
reqidtag:
|
||||
_reqidtag:
|
||||
selector: reqid
|
||||
case:
|
||||
0: ""
|
||||
"*": Request
|
||||
tagdesc:
|
||||
_tag_desc:
|
||||
optional: true
|
||||
text: "{{ if .Result.p2ptag }}{{ .Result.p2ptag }}, {{ else }}{{ end }}{{ if .Result.packtag }}{{ .Result.packtag }}, {{ else }}{{ end }}{{ if .Result.reqidtag }}{{ .Result.reqidtag }}{{ else }}{{ end }}"
|
||||
text: "{{ if .Result._p2ptag }}{{ .Result._p2ptag }}, {{ else }}{{ end }}{{ if .Result._packtag }}{{ .Result._packtag }}, {{ else }}{{ end }}{{ if .Result._reqidtag }}{{ .Result._reqidtag }}{{ else }}{{ end }}"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(.+?), $"
|
||||
description:
|
||||
text: "{{ if .Result.titledesc }}Title: {{ .Result.titledesc }}</br>{{ else }}{{ end }}{{ if .Result.yeardesc }}Year: {{ .Result.yeardesc }}</br>{{ else }}{{ end }}{{ if .Result.genresdesc }}Genres: {{ .Result.genresdesc }}</br>{{ else }}{{ end }}{{ if .Result.taglinedesc }}Tagline: {{ .Result.taglinedesc }}</br>{{ else }}{{ end }}{{ if .Result.castdesc }}Cast: {{ .Result.castdesc }}</br>{{ else }}{{ end }}{{ if .Result.ratingdesc }}Rating: {{ .Result.ratingdesc }}</br>{{ else }}{{ end }}{{ if .Result.tagdesc }}Tags: {{ .Result.tagdesc }}</br>{{ else }}{{ end }}{{ if .Result.predatedesc }}PRE: {{ .Result.predatedesc }}</br>{{ else }}{{ end }}{{ if .Result.sectiondesc }}Section: {{ .Result.sectiondesc }}{{ else }}{{ end }}"
|
||||
text: "{{ if .Result.title_desc }}Title: {{ .Result.title_desc }}</br>{{ else }}{{ end }}{{ if .Result.year_desc }}Year: {{ .Result.year_desc }}</br>{{ else }}{{ end }}{{ if .Result.genre }}Genres: {{ .Result.genre }}</br>{{ else }}{{ end }}{{ if .Result._tagline_desc }}Tagline: {{ .Result._tagline_desc }}</br>{{ else }}{{ end }}{{ if .Result._cast_desc }}Cast: {{ .Result._cast_desc }}</br>{{ else }}{{ end }}{{ if .Result._rating_desc }}Rating: {{ .Result._rating_desc }}</br>{{ else }}{{ end }}{{ if .Result._tag_desc }}Tags: {{ .Result._tag_desc }}</br>{{ else }}{{ end }}{{ if .Result._predate_desc }}PRE: {{ .Result._predate_desc }}</br>{{ else }}{{ end }}{{ if .Result._section_desc }}Section: {{ .Result._section_desc }}{{ else }}{{ end }}"
|
||||
# json rartracker api v1
|
||||
|
@@ -173,7 +173,7 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
cat:
|
||||
_cat:
|
||||
selector: a[href^="?cat="] > img
|
||||
attribute: title
|
||||
description:
|
||||
@@ -181,7 +181,7 @@ search:
|
||||
remove: a, img
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "cat={{ .Result.cat }} - "
|
||||
args: "cat={{ .Result._cat }} - "
|
||||
minimumratio:
|
||||
text: 0.9
|
||||
# NexusPHP Standard v1.5 Beta 4
|
||||
|
@@ -36,7 +36,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user