mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-21 21:57:09 +01:00
Compare commits
1423 Commits
v0.10.521
...
v0.12.1301
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e1897f05b2 | ||
|
|
8c37db63f7 | ||
|
|
b91c01ba4c | ||
|
|
f14831cb74 | ||
|
|
4808313c10 | ||
|
|
66ae983457 | ||
|
|
4b415cbd81 | ||
|
|
d200e61de8 | ||
|
|
d901b4d275 | ||
|
|
445344ea6a | ||
|
|
66fa125b71 | ||
|
|
c38f66146b | ||
|
|
d720588568 | ||
|
|
7f69f87039 | ||
|
|
77e35be0a9 | ||
|
|
46cb42f4bf | ||
|
|
365eda7503 | ||
|
|
fba73be438 | ||
|
|
c657aa171a | ||
|
|
bf2ced2005 | ||
|
|
5f73d2261a | ||
|
|
60a8fd369f | ||
|
|
adbe9f3f9c | ||
|
|
028aeb77dc | ||
|
|
2fe52703b0 | ||
|
|
8e3cfffa46 | ||
|
|
a2d5fdbcec | ||
|
|
386090b9c3 | ||
|
|
72da838819 | ||
|
|
1737c21eea | ||
|
|
60ef4d2546 | ||
|
|
9b994e4b83 | ||
|
|
07d6a6d902 | ||
|
|
0ce432ed1a | ||
|
|
ff4c192a01 | ||
|
|
fe5c1d4962 | ||
|
|
77ddc9dd2f | ||
|
|
29d64294d9 | ||
|
|
619e3b3c6b | ||
|
|
d662666976 | ||
|
|
cd6de00aa1 | ||
|
|
f698869438 | ||
|
|
470ff8742b | ||
|
|
33624244a7 | ||
|
|
5e5be1d932 | ||
|
|
edcb2cc6f8 | ||
|
|
0603996579 | ||
|
|
3103862a98 | ||
|
|
fb7e55cba9 | ||
|
|
cc7bbcc022 | ||
|
|
a16f4b1906 | ||
|
|
913442a4c6 | ||
|
|
765dbcdb3d | ||
|
|
46851edd0c | ||
|
|
c9656a8723 | ||
|
|
67a2681bad | ||
|
|
2228dca126 | ||
|
|
7d413910e4 | ||
|
|
5cf3abd7d4 | ||
|
|
96b16e7d87 | ||
|
|
083552580c | ||
|
|
11a4390307 | ||
|
|
6174bdf40c | ||
|
|
13b859cfb0 | ||
|
|
879d03c055 | ||
|
|
5661000c19 | ||
|
|
0f7e44f0bb | ||
|
|
5f0d2d6129 | ||
|
|
ea340200f0 | ||
|
|
39b5a9df76 | ||
|
|
77df49f76e | ||
|
|
c3cec7fa5d | ||
|
|
3301b1207a | ||
|
|
7790395f96 | ||
|
|
982f77be66 | ||
|
|
b9e219d866 | ||
|
|
ff1a51b698 | ||
|
|
422cc64e5f | ||
|
|
b8b2a44474 | ||
|
|
9f6c3ffd25 | ||
|
|
2fc244484c | ||
|
|
6c02be7136 | ||
|
|
40b17a93fd | ||
|
|
28cb075d64 | ||
|
|
e9cf18825f | ||
|
|
1ba6f574f4 | ||
|
|
9bbe42c6d6 | ||
|
|
0c6c05179d | ||
|
|
057e624379 | ||
|
|
676bab3bec | ||
|
|
622c46e1df | ||
|
|
ba62891535 | ||
|
|
8010cbf688 | ||
|
|
c56ba37cec | ||
|
|
8f2a5f55ff | ||
|
|
8e017e7398 | ||
|
|
ac9417caea | ||
|
|
e72392d124 | ||
|
|
987ea6325e | ||
|
|
f7bb02f618 | ||
|
|
dc0fa03144 | ||
|
|
e5a1180a3a | ||
|
|
47743f1dcb | ||
|
|
2ffc7899fb | ||
|
|
4da390c1ba | ||
|
|
696a6b0e1f | ||
|
|
66927a7020 | ||
|
|
d1ac466974 | ||
|
|
004d0d7014 | ||
|
|
fc360a9770 | ||
|
|
4fb6a4f28d | ||
|
|
88092323f1 | ||
|
|
5d82cda21a | ||
|
|
a0a54f74e7 | ||
|
|
80699db8ae | ||
|
|
d5b6a35473 | ||
|
|
2790357a20 | ||
|
|
c3f7a3bc60 | ||
|
|
5b90ecca1c | ||
|
|
231e974ed3 | ||
|
|
2346157fcd | ||
|
|
6288cc1cea | ||
|
|
f5e6ca30ef | ||
|
|
0610401418 | ||
|
|
99b40f36e1 | ||
|
|
65dcc68c9c | ||
|
|
ceb45bec27 | ||
|
|
45a21ca33a | ||
|
|
809f5feab2 | ||
|
|
ff9c5e146f | ||
|
|
51e101658a | ||
|
|
71e5a20f61 | ||
|
|
7255a1c059 | ||
|
|
38c3d99437 | ||
|
|
1cd3329259 | ||
|
|
68b9941d11 | ||
|
|
1afc082bb1 | ||
|
|
b22bb55b43 | ||
|
|
c96dfd74e7 | ||
|
|
6daa7d6976 | ||
|
|
9f2cba9871 | ||
|
|
af93a613f6 | ||
|
|
2788d40e1f | ||
|
|
8f9c93c329 | ||
|
|
e9870aab92 | ||
|
|
ba306d8788 | ||
|
|
7fe4f47279 | ||
|
|
7d8502fb01 | ||
|
|
5da39c56b7 | ||
|
|
eb458ee29f | ||
|
|
0829b26164 | ||
|
|
f2739c4ae1 | ||
|
|
c24956d793 | ||
|
|
226fdfd03c | ||
|
|
9c22679b41 | ||
|
|
d85836ce1b | ||
|
|
5a7e0158d6 | ||
|
|
6aef316220 | ||
|
|
13f193013c | ||
|
|
8c856a9a50 | ||
|
|
d44bc93776 | ||
|
|
090ae2db08 | ||
|
|
453165e081 | ||
|
|
9c3f1134b9 | ||
|
|
642bed1ef4 | ||
|
|
b666b01461 | ||
|
|
574d41021b | ||
|
|
bb8f94f23a | ||
|
|
b51527d340 | ||
|
|
a5d055cf33 | ||
|
|
99feb6f4cf | ||
|
|
418ffc9bf3 | ||
|
|
0ddefb0328 | ||
|
|
6b66a19631 | ||
|
|
394aec14e6 | ||
|
|
a2e93b4f75 | ||
|
|
e2255f1e3a | ||
|
|
92fd7d857b | ||
|
|
1b4afc0e72 | ||
|
|
83b2efb3c4 | ||
|
|
08dc395b63 | ||
|
|
5172df48e1 | ||
|
|
4b1a343f60 | ||
|
|
6acacd1947 | ||
|
|
a71bd50259 | ||
|
|
cbfa1a4732 | ||
|
|
741d16cbf5 | ||
|
|
4b4ccd74df | ||
|
|
556e7fc738 | ||
|
|
6ec07e0412 | ||
|
|
ae3e10a84a | ||
|
|
5536e8314d | ||
|
|
5d395b6f67 | ||
|
|
b0a711253a | ||
|
|
a5e4299673 | ||
|
|
32a7cc5cac | ||
|
|
d275971101 | ||
|
|
b20a37d8d6 | ||
|
|
a36a3a9329 | ||
|
|
070f819e06 | ||
|
|
3bb81d408e | ||
|
|
71c9ffb7cd | ||
|
|
155e46a24d | ||
|
|
fd36eb068c | ||
|
|
f2605b8a3e | ||
|
|
75020d9a6c | ||
|
|
d028c11bb0 | ||
|
|
dfc130154c | ||
|
|
25302d939f | ||
|
|
98fc07e82b | ||
|
|
d563063c86 | ||
|
|
d6a9a88ae4 | ||
|
|
9cae079014 | ||
|
|
0970a40b9e | ||
|
|
edc7d5e4c4 | ||
|
|
0eea2f5ef7 | ||
|
|
bc127cac76 | ||
|
|
979bdec229 | ||
|
|
e798130428 | ||
|
|
8081baad7b | ||
|
|
310cba2655 | ||
|
|
3fc2476bd2 | ||
|
|
4881040830 | ||
|
|
81bc901d08 | ||
|
|
3d09e3d3fd | ||
|
|
e8f06cb54f | ||
|
|
46cb027261 | ||
|
|
7882fb5699 | ||
|
|
6bf0f4a446 | ||
|
|
c15be19bff | ||
|
|
dd85da7558 | ||
|
|
5a72c63ee5 | ||
|
|
e5258d43db | ||
|
|
1337129cb6 | ||
|
|
fc09839296 | ||
|
|
608c83c8e8 | ||
|
|
f6ec6a9fbb | ||
|
|
58b9fef9fa | ||
|
|
216cd7fda7 | ||
|
|
bf7d36669b | ||
|
|
1b336b026e | ||
|
|
d2a743b779 | ||
|
|
00adba0650 | ||
|
|
349790968f | ||
|
|
2e04a22c63 | ||
|
|
5b0ba0c53b | ||
|
|
e509cc6784 | ||
|
|
a5020dd2f2 | ||
|
|
94e9aed032 | ||
|
|
c01114d2e6 | ||
|
|
23612e8576 | ||
|
|
f7ced614e8 | ||
|
|
71eb6435d7 | ||
|
|
fa7162d4f7 | ||
|
|
8e748d159a | ||
|
|
da16016e7f | ||
|
|
2cf0cc1740 | ||
|
|
661541ed1f | ||
|
|
90074f89b0 | ||
|
|
68ecb8fafe | ||
|
|
f8f9570b63 | ||
|
|
e827ccb52e | ||
|
|
3b65ea3c4e | ||
|
|
5a5c0a5f34 | ||
|
|
68275057dd | ||
|
|
8e80c28f34 | ||
|
|
0feae6768a | ||
|
|
ff7776ed71 | ||
|
|
abbf09c953 | ||
|
|
0d60ed8326 | ||
|
|
dbb3c0faec | ||
|
|
bbf3a3c749 | ||
|
|
dc7f8e20ab | ||
|
|
062b967f88 | ||
|
|
632718e1ce | ||
|
|
9effc3b21b | ||
|
|
4fb3246b06 | ||
|
|
d6f737bf48 | ||
|
|
bafad8c5a2 | ||
|
|
0354e10322 | ||
|
|
8cc5060242 | ||
|
|
48159e9605 | ||
|
|
dee185c9ff | ||
|
|
34df9096a3 | ||
|
|
b29d5d3620 | ||
|
|
db0c071313 | ||
|
|
9f7b361512 | ||
|
|
1917ec296c | ||
|
|
12abedccd0 | ||
|
|
fdd21b01a2 | ||
|
|
bfec7cc11c | ||
|
|
a5ede2311a | ||
|
|
0f19be2124 | ||
|
|
d5af206696 | ||
|
|
4efbb1fc7f | ||
|
|
545aa07040 | ||
|
|
3de500321c | ||
|
|
f659b748bb | ||
|
|
25a602604f | ||
|
|
d0a9fbc96b | ||
|
|
751d6c8594 | ||
|
|
cd0dd32205 | ||
|
|
5591dc6257 | ||
|
|
192e258af5 | ||
|
|
bb3135ee74 | ||
|
|
82700655a2 | ||
|
|
a74f2c5b78 | ||
|
|
be550f803c | ||
|
|
28174f80ce | ||
|
|
a1701f843a | ||
|
|
8645467584 | ||
|
|
1a2aa19e6a | ||
|
|
2302991470 | ||
|
|
a26ad75238 | ||
|
|
97ec5137ff | ||
|
|
f47228db37 | ||
|
|
dabe7c5d40 | ||
|
|
199e0f65f8 | ||
|
|
09cc37f341 | ||
|
|
5fc5ffd6cf | ||
|
|
9f3abf52e0 | ||
|
|
9aed735325 | ||
|
|
dc2b780800 | ||
|
|
a07a34f0c6 | ||
|
|
51c72faf68 | ||
|
|
4756be5d60 | ||
|
|
663d1f0e8b | ||
|
|
325294633d | ||
|
|
7232d23f80 | ||
|
|
1840a45dee | ||
|
|
fb6361cda9 | ||
|
|
a3bf8cbb6e | ||
|
|
9f35eced5f | ||
|
|
33a5960459 | ||
|
|
45b1b9e410 | ||
|
|
11f73573b5 | ||
|
|
fd2b6d7355 | ||
|
|
53386cd1d2 | ||
|
|
93872dde78 | ||
|
|
28affde571 | ||
|
|
847ee211fc | ||
|
|
79cf3b2104 | ||
|
|
a74ebe50ef | ||
|
|
6265a048dd | ||
|
|
659fd56801 | ||
|
|
3759666ce1 | ||
|
|
fe7710299d | ||
|
|
8835a9658d | ||
|
|
61a36af72e | ||
|
|
96bf1b282b | ||
|
|
c47897d7e6 | ||
|
|
79288c7376 | ||
|
|
6e4811e788 | ||
|
|
5f82dad012 | ||
|
|
f90eb3e4ef | ||
|
|
d4390735b6 | ||
|
|
f8ea65929f | ||
|
|
08cdde5e9f | ||
|
|
fbc12bc0f5 | ||
|
|
b72ad9a7f5 | ||
|
|
8a6d3c6c2e | ||
|
|
dbf49b2adc | ||
|
|
550414ed20 | ||
|
|
6e403a011d | ||
|
|
7e6ecede19 | ||
|
|
705038369e | ||
|
|
491cf885be | ||
|
|
081ef87c81 | ||
|
|
78eb6a60e4 | ||
|
|
2a0f288fb2 | ||
|
|
0a6af18de4 | ||
|
|
75a2944179 | ||
|
|
ecdc9d39e7 | ||
|
|
7d0b4cca73 | ||
|
|
2100a4f887 | ||
|
|
1530189ea4 | ||
|
|
eb9bfe943d | ||
|
|
d77da3c3a7 | ||
|
|
97ecf0621a | ||
|
|
bcda5714ad | ||
|
|
635c62c67a | ||
|
|
f24f0fe410 | ||
|
|
82b1015736 | ||
|
|
975c605066 | ||
|
|
3fd52c6cbc | ||
|
|
205cd136d1 | ||
|
|
6d7329d4c6 | ||
|
|
5e20b6b584 | ||
|
|
c457a0f19f | ||
|
|
576efccccc | ||
|
|
53a92446f8 | ||
|
|
3b9da0d9d5 | ||
|
|
13de466a38 | ||
|
|
00f26031d0 | ||
|
|
f7e69095f7 | ||
|
|
56b2b8f1bc | ||
|
|
2b890cc204 | ||
|
|
96d5f4800b | ||
|
|
d3d9f4496e | ||
|
|
522bf3371a | ||
|
|
7c2d5508d0 | ||
|
|
6b1224626c | ||
|
|
e6929c0bab | ||
|
|
9e5dbf9a8f | ||
|
|
64abc61893 | ||
|
|
6151cc6e8b | ||
|
|
b02d62a662 | ||
|
|
0788640be7 | ||
|
|
0504dd31cd | ||
|
|
25f87c8ed2 | ||
|
|
58c4c37f90 | ||
|
|
1fa421884d | ||
|
|
8b723a3cea | ||
|
|
a2046ea73f | ||
|
|
c7f3ef544e | ||
|
|
436970e419 | ||
|
|
0c4a742b32 | ||
|
|
3f314f35cf | ||
|
|
dcf26bfca1 | ||
|
|
836d0be62f | ||
|
|
cac5b92d6c | ||
|
|
530ccb185f | ||
|
|
42a14d5a46 | ||
|
|
1ebfb62b9c | ||
|
|
b8e34c4966 | ||
|
|
cc7f753dc3 | ||
|
|
171a70693b | ||
|
|
2a7ca0803a | ||
|
|
1c449e59f5 | ||
|
|
d38410310c | ||
|
|
0a03ca1977 | ||
|
|
2e102ee456 | ||
|
|
85850c0d97 | ||
|
|
3c7415e8df | ||
|
|
7d9047cf14 | ||
|
|
06c786daee | ||
|
|
b7daad903f | ||
|
|
3fb26627b1 | ||
|
|
55f506db19 | ||
|
|
d9e1ef4440 | ||
|
|
4ad3738778 | ||
|
|
570790f300 | ||
|
|
09499e03de | ||
|
|
0d83ec2a07 | ||
|
|
a8f7685446 | ||
|
|
c8d8ca511b | ||
|
|
86218debd1 | ||
|
|
c69f621ed4 | ||
|
|
0abc2df38d | ||
|
|
fad548cce3 | ||
|
|
d6aa3b3d1b | ||
|
|
971f464f90 | ||
|
|
31e781588d | ||
|
|
25b00bd92d | ||
|
|
c2e98cf8b3 | ||
|
|
0cb947037f | ||
|
|
4753680229 | ||
|
|
cf41350150 | ||
|
|
29d891a6db | ||
|
|
edc1ee4761 | ||
|
|
e5ac79fc3b | ||
|
|
b55d0d5926 | ||
|
|
b14b031961 | ||
|
|
70064a9f81 | ||
|
|
5ee47c7494 | ||
|
|
86155059d4 | ||
|
|
4adbddd5fe | ||
|
|
119c0d6f7e | ||
|
|
a2bd33d48b | ||
|
|
2f9d2893e0 | ||
|
|
32facf3893 | ||
|
|
b0eb30e5f8 | ||
|
|
ebbbcd3619 | ||
|
|
0b43ede0c5 | ||
|
|
d80d7721cc | ||
|
|
209cc56216 | ||
|
|
07e6dd512f | ||
|
|
bf3d13f8ca | ||
|
|
d72f03263c | ||
|
|
b3d5d1a8e8 | ||
|
|
524eb1adb3 | ||
|
|
aed9a858af | ||
|
|
a5c9487af3 | ||
|
|
07360524b9 | ||
|
|
6a25e73536 | ||
|
|
84362df260 | ||
|
|
efe428414d | ||
|
|
8d48e049a2 | ||
|
|
1a646ac41c | ||
|
|
bcfeea7a49 | ||
|
|
4af02e5e6e | ||
|
|
b455b7fc19 | ||
|
|
24c00de1df | ||
|
|
e51f900bb4 | ||
|
|
853e98f949 | ||
|
|
c9c58f5440 | ||
|
|
e83034340e | ||
|
|
612113d50f | ||
|
|
ca230c6c03 | ||
|
|
f88c07c792 | ||
|
|
9d3498c382 | ||
|
|
dfb00e73e8 | ||
|
|
5d158c0a9e | ||
|
|
1f1b5e1755 | ||
|
|
383baed220 | ||
|
|
1284cf72e4 | ||
|
|
0e906abdfd | ||
|
|
d795251508 | ||
|
|
bdced92fdd | ||
|
|
faa7c09375 | ||
|
|
66a3f8e0bc | ||
|
|
e720bcf2ed | ||
|
|
d94ab16511 | ||
|
|
899317ed12 | ||
|
|
0537949497 | ||
|
|
1bce9beb4f | ||
|
|
6a5fa51d50 | ||
|
|
253752937e | ||
|
|
4556ce7c69 | ||
|
|
c69e4caa26 | ||
|
|
e64cef1daa | ||
|
|
c9c91e3603 | ||
|
|
892532ee1d | ||
|
|
64f2e88832 | ||
|
|
9a66b92da9 | ||
|
|
ff3ef7c726 | ||
|
|
4eba6fe859 | ||
|
|
5de24a31dc | ||
|
|
dab98af241 | ||
|
|
f13f41e254 | ||
|
|
4a394336de | ||
|
|
ed6eb09387 | ||
|
|
321c11d231 | ||
|
|
17054b938e | ||
|
|
5e46af3535 | ||
|
|
8223d2567f | ||
|
|
c3c1457493 | ||
|
|
9430608300 | ||
|
|
70088c068a | ||
|
|
33db98faf3 | ||
|
|
02bf80bdf9 | ||
|
|
1682767b37 | ||
|
|
78e705ee23 | ||
|
|
db08900db7 | ||
|
|
f05e1321b5 | ||
|
|
5eae1d4c05 | ||
|
|
4c764a022a | ||
|
|
38c3458032 | ||
|
|
90c224fdea | ||
|
|
d343046e61 | ||
|
|
15634d3cd9 | ||
|
|
4a5486f050 | ||
|
|
13c3bdd402 | ||
|
|
1db2b5a654 | ||
|
|
4f39ebfe37 | ||
|
|
8f7327e497 | ||
|
|
6406e28bc1 | ||
|
|
ad1292baa3 | ||
|
|
d52260cc9f | ||
|
|
e272ac447d | ||
|
|
55f52add97 | ||
|
|
d98deb08e3 | ||
|
|
fc4bde770f | ||
|
|
927fc5941d | ||
|
|
182271ab81 | ||
|
|
4a55f4dd4a | ||
|
|
583a13fa85 | ||
|
|
91c0911c0e | ||
|
|
dda6a31c28 | ||
|
|
a3f0105bae | ||
|
|
f7c043f831 | ||
|
|
500cfca424 | ||
|
|
cf4a885ec9 | ||
|
|
4e0c75e253 | ||
|
|
8db2c5c084 | ||
|
|
9625e71fa5 | ||
|
|
817c22e29d | ||
|
|
84f27a6ac2 | ||
|
|
e82449d320 | ||
|
|
af90460307 | ||
|
|
5fbd9c7084 | ||
|
|
a07ff0752d | ||
|
|
5fa6ab58e9 | ||
|
|
e15b081ecd | ||
|
|
90f3f46b54 | ||
|
|
159ef709d4 | ||
|
|
e2d49f8c8e | ||
|
|
75c546d36c | ||
|
|
1e381c22a2 | ||
|
|
b827eed0e4 | ||
|
|
e088b793af | ||
|
|
11fddb10f1 | ||
|
|
8b4c4da4f7 | ||
|
|
12d7f80b91 | ||
|
|
a259c37b8a | ||
|
|
da102b9f55 | ||
|
|
22d537a4e8 | ||
|
|
ebfc9f2d9e | ||
|
|
fad72a699c | ||
|
|
ee946b72f6 | ||
|
|
33ca019269 | ||
|
|
303283ef8f | ||
|
|
0c87134b82 | ||
|
|
64bb6bf905 | ||
|
|
0534d2e273 | ||
|
|
119f234581 | ||
|
|
676aadda6d | ||
|
|
c13f6677f3 | ||
|
|
2720651f7d | ||
|
|
cb411e1b0a | ||
|
|
826f757342 | ||
|
|
bcd869200f | ||
|
|
08100501cf | ||
|
|
ac14ae78bb | ||
|
|
d7ef2677d7 | ||
|
|
a699245564 | ||
|
|
87351216cc | ||
|
|
c1f1d1d2ad | ||
|
|
dcb0799763 | ||
|
|
92239331b4 | ||
|
|
937755b74a | ||
|
|
29f1649370 | ||
|
|
4a599e87bd | ||
|
|
f7a28d74cc | ||
|
|
87a2e4b27b | ||
|
|
72f9c24ab2 | ||
|
|
162966a40d | ||
|
|
71fe34607a | ||
|
|
1dbe29eb73 | ||
|
|
a444709e1f | ||
|
|
a1638a46b8 | ||
|
|
51bbd9e5ff | ||
|
|
a047916d18 | ||
|
|
a081f88a06 | ||
|
|
842a1204e8 | ||
|
|
c7c19ddcb4 | ||
|
|
20367af7a3 | ||
|
|
e5bc386d95 | ||
|
|
a9ddab3c80 | ||
|
|
30955bdb2e | ||
|
|
3c40f6707b | ||
|
|
b57e138442 | ||
|
|
92c6c21001 | ||
|
|
af231472b2 | ||
|
|
df14e595e9 | ||
|
|
1075f451ba | ||
|
|
2e9e1c0e87 | ||
|
|
3f6ea699ed | ||
|
|
ec23f8cf1f | ||
|
|
747bd5878b | ||
|
|
74f427d98a | ||
|
|
df2bdafc9a | ||
|
|
eb0ed5444d | ||
|
|
95ce18d3a1 | ||
|
|
023b0e7e5c | ||
|
|
e85e3e2ee9 | ||
|
|
fbfe537ac5 | ||
|
|
3cfaae3c55 | ||
|
|
375db79c85 | ||
|
|
f7e81f9b0f | ||
|
|
6b460d7598 | ||
|
|
f13cdb6ffb | ||
|
|
3779aa655e | ||
|
|
dacaa45958 | ||
|
|
32412b39eb | ||
|
|
9d9c2b513a | ||
|
|
188082e2e2 | ||
|
|
6c635afd77 | ||
|
|
2c55f564bb | ||
|
|
105ee61807 | ||
|
|
3d51ca7336 | ||
|
|
7b6fe429c9 | ||
|
|
d5d99d42df | ||
|
|
a668551ce5 | ||
|
|
85bedbabe4 | ||
|
|
29ae57a2a2 | ||
|
|
864ec0d7bd | ||
|
|
68d38e7a24 | ||
|
|
87926ea027 | ||
|
|
e1758093bf | ||
|
|
2916e8f1d4 | ||
|
|
6f87aaba86 | ||
|
|
3d210e10a3 | ||
|
|
f0dfe5546f | ||
|
|
6557f5b696 | ||
|
|
1cbba5630c | ||
|
|
d2bc96bbea | ||
|
|
9aefa04ea5 | ||
|
|
7b23f17a68 | ||
|
|
2c53cac853 | ||
|
|
5a5b48513f | ||
|
|
cb59120c02 | ||
|
|
c5116e9d06 | ||
|
|
79d5989d0a | ||
|
|
3f8d4d968d | ||
|
|
eeb0e9b982 | ||
|
|
33c6f753a1 | ||
|
|
13ded4e5a5 | ||
|
|
0f385c7393 | ||
|
|
2925eb7434 | ||
|
|
5c62c29cea | ||
|
|
552912f8c2 | ||
|
|
a65c649cf3 | ||
|
|
d53f325afb | ||
|
|
1119c0d379 | ||
|
|
8ae402d71b | ||
|
|
055a70eb3e | ||
|
|
4df1a0d64d | ||
|
|
70491dfe57 | ||
|
|
2df53768ae | ||
|
|
f38f7a9227 | ||
|
|
5f15651e19 | ||
|
|
23a796378f | ||
|
|
a1acf2af60 | ||
|
|
5fef1cc0f9 | ||
|
|
4f7fbe4763 | ||
|
|
dc9022edd1 | ||
|
|
734bdd21dd | ||
|
|
79f8657c9f | ||
|
|
41142dc88f | ||
|
|
eeb791dbb6 | ||
|
|
cf8011f2b8 | ||
|
|
f1b7d591bd | ||
|
|
d4e776e23a | ||
|
|
1a548d1c8c | ||
|
|
756161f1e7 | ||
|
|
919bf4d99a | ||
|
|
6eb7a3df45 | ||
|
|
5a822fe5ab | ||
|
|
dffefa1044 | ||
|
|
1cc62c0f7c | ||
|
|
46edeabcfa | ||
|
|
e89d1f4616 | ||
|
|
65aec0058d | ||
|
|
11e6e26c12 | ||
|
|
2b59863409 | ||
|
|
34f518841e | ||
|
|
771fb73062 | ||
|
|
ba6a4647a0 | ||
|
|
7aadf02167 | ||
|
|
e9536bff76 | ||
|
|
012fd043f6 | ||
|
|
d81a8f0217 | ||
|
|
db97f9eed3 | ||
|
|
94f0e1a732 | ||
|
|
7b076a001c | ||
|
|
5fd7210791 | ||
|
|
dcf3956afd | ||
|
|
73b8495197 | ||
|
|
2f86b439e4 | ||
|
|
d010053f36 | ||
|
|
edbb0159e7 | ||
|
|
2c770607e6 | ||
|
|
6191ec0ef4 | ||
|
|
771e2ea2be | ||
|
|
a16a0ff73c | ||
|
|
470550a3c8 | ||
|
|
2195c6bb87 | ||
|
|
f36a3232d8 | ||
|
|
f7fcc614f7 | ||
|
|
c15d6468d2 | ||
|
|
ecec867de8 | ||
|
|
461834879e | ||
|
|
d0507319c5 | ||
|
|
0921388f9e | ||
|
|
543ea776c4 | ||
|
|
bb595337bd | ||
|
|
a3f7575e8e | ||
|
|
2c423b3b88 | ||
|
|
1253b15061 | ||
|
|
d6f36349c9 | ||
|
|
46553c3054 | ||
|
|
e843f6ce31 | ||
|
|
5e4286e382 | ||
|
|
2e110e986b | ||
|
|
3039e2fbe5 | ||
|
|
9e83be6ae1 | ||
|
|
5f68c25b6e | ||
|
|
50019e05b7 | ||
|
|
679c74eebd | ||
|
|
3ac9d26a91 | ||
|
|
45fa6e3971 | ||
|
|
deb016fabf | ||
|
|
ad281585f2 | ||
|
|
3206d3350d | ||
|
|
c4744f84e2 | ||
|
|
bc25de158d | ||
|
|
ed4e1b801b | ||
|
|
3c81af1a62 | ||
|
|
4737093f81 | ||
|
|
7a77245e25 | ||
|
|
138185929f | ||
|
|
a82c166b23 | ||
|
|
b421253ee5 | ||
|
|
77832602bd | ||
|
|
87a36e3621 | ||
|
|
c33f0594bd | ||
|
|
a4ee8fee8d | ||
|
|
a12f573e80 | ||
|
|
ea14a5a194 | ||
|
|
b9f9c10baf | ||
|
|
e049376381 | ||
|
|
e89312b52f | ||
|
|
4f758ee8cc | ||
|
|
2f8aa41fe0 | ||
|
|
8425926636 | ||
|
|
3e0f25c51b | ||
|
|
c52199f7ca | ||
|
|
bede5241c8 | ||
|
|
9cb9b859a8 | ||
|
|
47580ec726 | ||
|
|
8e9290c501 | ||
|
|
3ddd35d54b | ||
|
|
6529b1fe38 | ||
|
|
a58ba9e329 | ||
|
|
ca7def79d2 | ||
|
|
c50a29a8e9 | ||
|
|
f86e8dd5b6 | ||
|
|
3530fa8244 | ||
|
|
6f65992bb5 | ||
|
|
f1c83273f2 | ||
|
|
fdff9e4406 | ||
|
|
b8be09a203 | ||
|
|
aa26654be9 | ||
|
|
20e21cfc8a | ||
|
|
068cbcd36b | ||
|
|
acb649499b | ||
|
|
8c47f03a55 | ||
|
|
f63fe9918b | ||
|
|
c1389c76f3 | ||
|
|
253f9ad6bb | ||
|
|
ab63e03e3b | ||
|
|
46c6039144 | ||
|
|
b619360bf1 | ||
|
|
ae316ffc1b | ||
|
|
e051c13f3a | ||
|
|
88f290d558 | ||
|
|
d6f15940b3 | ||
|
|
e702160c10 | ||
|
|
f90ba08b2d | ||
|
|
a05b64a097 | ||
|
|
ce806a7678 | ||
|
|
5f41fe3d08 | ||
|
|
ffa264f333 | ||
|
|
46aa25772b | ||
|
|
eeb0b3bc39 | ||
|
|
cdfdd2c1bb | ||
|
|
ec985a2318 | ||
|
|
d7c09e62bd | ||
|
|
2eb54165ac | ||
|
|
5bad47d327 | ||
|
|
8900aea849 | ||
|
|
85ea6e5a2b | ||
|
|
c69b213376 | ||
|
|
992d2776d3 | ||
|
|
ff62b775db | ||
|
|
19b608c529 | ||
|
|
1f9d95355d | ||
|
|
849d1aeef9 | ||
|
|
08b187bfa1 | ||
|
|
d8b4ad7f39 | ||
|
|
02546877fd | ||
|
|
52fad1e6d2 | ||
|
|
049e678b0a | ||
|
|
4edcda8351 | ||
|
|
01994bf9f5 | ||
|
|
0d4c8ba860 | ||
|
|
fad453cf0e | ||
|
|
222fcde0a3 | ||
|
|
6aa42263be | ||
|
|
ec036d70f9 | ||
|
|
db300f5ae9 | ||
|
|
1d224b6db9 | ||
|
|
a3e97bb050 | ||
|
|
e5827c3456 | ||
|
|
27d2b6caae | ||
|
|
bcdc1879d9 | ||
|
|
a8999e8276 | ||
|
|
4c2db157e9 | ||
|
|
10a46bac48 | ||
|
|
7d6b282039 | ||
|
|
f6bb9ca263 | ||
|
|
11e8d4d290 | ||
|
|
c88a213b2e | ||
|
|
4295e65dfe | ||
|
|
8151fbf382 | ||
|
|
709cafda62 | ||
|
|
13a1cd3ab7 | ||
|
|
7c0fd1233f | ||
|
|
bdc592edfd | ||
|
|
f2baa8f43c | ||
|
|
9274a26a0e | ||
|
|
3a7608317f | ||
|
|
67ea8db2da | ||
|
|
40b0cdffc3 | ||
|
|
2f96ffa15d | ||
|
|
8086b221ec | ||
|
|
bf25db7c5f | ||
|
|
dfa6529e58 | ||
|
|
c3603014ca | ||
|
|
4bf6393b6e | ||
|
|
c57231206f | ||
|
|
b4a8174a6b | ||
|
|
8722cb8061 | ||
|
|
03105455fb | ||
|
|
3e0bc22459 | ||
|
|
d8746032ca | ||
|
|
a1832997b3 | ||
|
|
4d3ebab00c | ||
|
|
5f110e2691 | ||
|
|
060efffc7e | ||
|
|
c27ed6fd41 | ||
|
|
8edfb79a3e | ||
|
|
eef0d55776 | ||
|
|
79a3d07d09 | ||
|
|
d44408c988 | ||
|
|
d99de43309 | ||
|
|
eaa562a20a | ||
|
|
b124ba469f | ||
|
|
d002382883 | ||
|
|
363d08634a | ||
|
|
2b503e01a1 | ||
|
|
a838dbcb6c | ||
|
|
16f96e0419 | ||
|
|
5fe974afad | ||
|
|
593bbb37d3 | ||
|
|
c9fbc7268b | ||
|
|
a32ad215cd | ||
|
|
34509d284f | ||
|
|
2ca7975d3d | ||
|
|
e8dbaa4a8e | ||
|
|
a6fd4c3da1 | ||
|
|
1b3365d8ad | ||
|
|
a822b3c4f4 | ||
|
|
ff663cc202 | ||
|
|
4c3dbb4746 | ||
|
|
a4ba0d21d9 | ||
|
|
859da99442 | ||
|
|
1cbeb74c8e | ||
|
|
4ae705eb15 | ||
|
|
b469c2e764 | ||
|
|
2712ff432b | ||
|
|
9da64d5bbf | ||
|
|
5d21a69b07 | ||
|
|
a083090b5e | ||
|
|
27ae1b3e82 | ||
|
|
f0245900e4 | ||
|
|
4ea6ce6cc2 | ||
|
|
f905e44b09 | ||
|
|
fa1ee57072 | ||
|
|
da56368720 | ||
|
|
a61991fcdb | ||
|
|
8051e87d2a | ||
|
|
a0eb39f87b | ||
|
|
b3d2ad94a7 | ||
|
|
a6154898ed | ||
|
|
9b39e1c3c2 | ||
|
|
656702cde7 | ||
|
|
34114c23fc | ||
|
|
31c629c862 | ||
|
|
be34f78be0 | ||
|
|
219d9548a1 | ||
|
|
88a24cad1e | ||
|
|
a86e1e82f2 | ||
|
|
747394fce7 | ||
|
|
09229dcf29 | ||
|
|
5afc1a1c9a | ||
|
|
505948b69a | ||
|
|
68e72e41cf | ||
|
|
573ba5b41f | ||
|
|
dfd1ec375b | ||
|
|
3fa0b76b59 | ||
|
|
c830a59d58 | ||
|
|
d05767fd3b | ||
|
|
08ab66a447 | ||
|
|
6ee45ec0b2 | ||
|
|
6d23341f06 | ||
|
|
58f9078d70 | ||
|
|
c2ff657272 | ||
|
|
0d3c29df4f | ||
|
|
8d195f3c8e | ||
|
|
d5dea458cb | ||
|
|
b9b94009bf | ||
|
|
8bfe5edc0a | ||
|
|
cc2071dc53 | ||
|
|
e745b02c55 | ||
|
|
ee162756d1 | ||
|
|
9a571f6f4b | ||
|
|
1b740f1a04 | ||
|
|
9e695151b7 | ||
|
|
c1c86ddd60 | ||
|
|
328cf7090a | ||
|
|
64f461bc98 | ||
|
|
c6639e7d9b | ||
|
|
841fac48f9 | ||
|
|
0a2651e635 | ||
|
|
bee30b2c1c | ||
|
|
28dbb29513 | ||
|
|
cf03b6e216 | ||
|
|
87c4f26d02 | ||
|
|
022b88ea22 | ||
|
|
858658cdcf | ||
|
|
16b3c43861 | ||
|
|
def90ea2fb | ||
|
|
a859f58e8f | ||
|
|
449c478012 | ||
|
|
896df26151 | ||
|
|
50441fbc1d | ||
|
|
32005e1120 | ||
|
|
33c7b69ee8 | ||
|
|
4d1c0265c6 | ||
|
|
e1bc60ed29 | ||
|
|
fc43bd65be | ||
|
|
234eed9e66 | ||
|
|
cf5ebe7909 | ||
|
|
a2ba3d68f9 | ||
|
|
2ffbedc2fa | ||
|
|
b54c6bfa1f | ||
|
|
a45cd07434 | ||
|
|
5b75796250 | ||
|
|
3d0e57f273 | ||
|
|
68de3e7a6a | ||
|
|
693f2b5965 | ||
|
|
749a33abc5 | ||
|
|
95a2f38e79 | ||
|
|
55e5db4e28 | ||
|
|
204e3f8fd2 | ||
|
|
613a554314 | ||
|
|
5efc7cd88c | ||
|
|
5462ce0fd9 | ||
|
|
d379319050 | ||
|
|
d0daf0d00b | ||
|
|
7f1e3dbb62 | ||
|
|
36f1b79927 | ||
|
|
f3302e5d53 | ||
|
|
b71bbe49c5 | ||
|
|
b3dec55a86 | ||
|
|
1bbc01cfcd | ||
|
|
502ac57cd4 | ||
|
|
37430c5e79 | ||
|
|
85752ca58c | ||
|
|
86881e2ad6 | ||
|
|
97367a55ac | ||
|
|
d52f38efb9 | ||
|
|
9d3e41cb5c | ||
|
|
093425ac0a | ||
|
|
e5c9fcd58e | ||
|
|
6882715a3f | ||
|
|
21c206feb7 | ||
|
|
67d7562882 | ||
|
|
1785b0832c | ||
|
|
2fc92e84c4 | ||
|
|
8db99363b6 | ||
|
|
ffbcd89bce | ||
|
|
99e49dad9e | ||
|
|
57820de1c1 | ||
|
|
ca4f08a030 | ||
|
|
aa8e106727 | ||
|
|
eda182f2c9 | ||
|
|
83720c6982 | ||
|
|
43213b8ff4 | ||
|
|
77e9db411e | ||
|
|
9d3eac2594 | ||
|
|
52e89581cf | ||
|
|
895fc4d077 | ||
|
|
bda30d7193 | ||
|
|
08a7641fb9 | ||
|
|
77e3db2f88 | ||
|
|
18ed7c88fb | ||
|
|
f2c7de0845 | ||
|
|
ee0d092c2f | ||
|
|
5ec8045fe0 | ||
|
|
924a8e9f96 | ||
|
|
5389995b6d | ||
|
|
609a222d98 | ||
|
|
9f913d73f4 | ||
|
|
0c39616c12 | ||
|
|
e1e2441b91 | ||
|
|
1085c753d7 | ||
|
|
2ea46b5c9f | ||
|
|
90607d561c | ||
|
|
266568e4ce | ||
|
|
3378895b4c | ||
|
|
d847b93418 | ||
|
|
e32f02a003 | ||
|
|
8b0cede8ee | ||
|
|
9f77de381b | ||
|
|
e060c82cd3 | ||
|
|
43f0f03b05 | ||
|
|
25c7d84f95 | ||
|
|
37ccf7a7a9 | ||
|
|
a2e92da5f6 | ||
|
|
d1e57c25d6 | ||
|
|
db2ba3ba0b | ||
|
|
902961dc5a | ||
|
|
689568d147 | ||
|
|
1cd05963df | ||
|
|
fbb3c1bdfc | ||
|
|
de5b26032e | ||
|
|
0761ad7aee | ||
|
|
6cce59126b | ||
|
|
347191ab6a | ||
|
|
afac5ad1cf | ||
|
|
fa10c625dd | ||
|
|
c546fd7ac8 | ||
|
|
fc96965e54 | ||
|
|
feaf5d4361 | ||
|
|
f146b3eaa6 | ||
|
|
d07b6ae863 | ||
|
|
a25f2016dc | ||
|
|
a5f0e2b5db | ||
|
|
6ac9555cb5 | ||
|
|
e7d9360b51 | ||
|
|
5a7091075e | ||
|
|
2270b13435 | ||
|
|
80a99ce69f | ||
|
|
c54cbb4cbe | ||
|
|
de55e6e14e | ||
|
|
0983540493 | ||
|
|
6cc262a6d3 | ||
|
|
2484ff16f3 | ||
|
|
4e1d7ac09b | ||
|
|
b8aa2a16dd | ||
|
|
cf7ca97f9c | ||
|
|
cc01b0ca05 | ||
|
|
a84b1dce4d | ||
|
|
be54f1a532 | ||
|
|
064786f379 | ||
|
|
9d140b3ab4 | ||
|
|
a65d855cc4 | ||
|
|
2698ac2907 | ||
|
|
28971c2303 | ||
|
|
6428a7134b | ||
|
|
b33f5764ef | ||
|
|
ebb855bf45 | ||
|
|
9e90edd397 | ||
|
|
ee2743cdc9 | ||
|
|
a9731b036c | ||
|
|
58ed5421ec | ||
|
|
dc25480844 | ||
|
|
789d168648 | ||
|
|
f6668c9777 | ||
|
|
5903e6abdf | ||
|
|
0de4c1da43 | ||
|
|
53bd7ce0c4 | ||
|
|
4d4c9fe645 | ||
|
|
caf583a684 | ||
|
|
b445072a4d | ||
|
|
82617f961d | ||
|
|
c28df96332 | ||
|
|
88c6c4af6e | ||
|
|
df49bb8578 | ||
|
|
a968913bc4 | ||
|
|
5c9880e410 | ||
|
|
d7af20d4f6 | ||
|
|
8dc832d64a | ||
|
|
91b87ee7be | ||
|
|
ee8fc6a78f | ||
|
|
18f48cb04b | ||
|
|
dd64739af6 | ||
|
|
05c4d1e331 | ||
|
|
f9ad475aa8 | ||
|
|
ad17897edd | ||
|
|
2356ef3837 | ||
|
|
b63e97fecd | ||
|
|
c025a98cbf | ||
|
|
0c84507b51 | ||
|
|
875d7a005e | ||
|
|
b1c25d4c5b | ||
|
|
5ef6b8601a | ||
|
|
a512a1e6b5 | ||
|
|
5ba93dd9c2 | ||
|
|
5216b6ece7 | ||
|
|
eb5c8f4dcd | ||
|
|
8a6ba04688 | ||
|
|
287ad3a995 | ||
|
|
00494bdac1 | ||
|
|
4189aeac0e | ||
|
|
5f66b1a297 | ||
|
|
ad77068a7b | ||
|
|
75d53b4026 | ||
|
|
a4cd5e0047 | ||
|
|
eccafdf4af | ||
|
|
a7fab04e42 | ||
|
|
95e17d1741 | ||
|
|
a6c821762a | ||
|
|
e66a839fb3 | ||
|
|
1a8b48f4dc | ||
|
|
e32baf18a4 | ||
|
|
486a5313e4 | ||
|
|
79b262569f | ||
|
|
9a2a019ff5 | ||
|
|
2dc4582830 | ||
|
|
48d7ce271b | ||
|
|
11acfddd64 | ||
|
|
23f36bb0f8 | ||
|
|
b2ff7b7091 | ||
|
|
f73b55215c | ||
|
|
806eabde31 | ||
|
|
9538adcc30 | ||
|
|
aef7b34ec3 | ||
|
|
13e1548d54 | ||
|
|
0c667322d9 | ||
|
|
fa9abf2fed | ||
|
|
5cd5b5277f | ||
|
|
3e97da4c1a | ||
|
|
610821a435 | ||
|
|
5968285a39 | ||
|
|
ba6453a78f | ||
|
|
8a463886dd | ||
|
|
a879c8af10 | ||
|
|
f65cc2f273 | ||
|
|
4796da7a89 | ||
|
|
30032a6f63 | ||
|
|
67bc9b69cf | ||
|
|
6447bffacc | ||
|
|
293e2efbf7 | ||
|
|
dfaa7f1a69 | ||
|
|
001ee19752 | ||
|
|
5be247a1e6 | ||
|
|
2707312d2b | ||
|
|
7da5a9ea39 | ||
|
|
1123c707c5 | ||
|
|
35ac794927 | ||
|
|
a9fe567299 | ||
|
|
e5d2994174 | ||
|
|
bc605a8146 | ||
|
|
276801cc3b | ||
|
|
463dda9f80 | ||
|
|
38aa3eaa93 | ||
|
|
515575f311 | ||
|
|
79bd7bae67 | ||
|
|
3c75f7afc0 | ||
|
|
3c2bff5833 | ||
|
|
d1c943d44a | ||
|
|
5037e1871a | ||
|
|
bb183d56cc | ||
|
|
0ac587d97b | ||
|
|
e7edd1734b | ||
|
|
1ad901bfa8 | ||
|
|
d4f16d96f1 | ||
|
|
1762e6e02d | ||
|
|
09ef1169b6 | ||
|
|
2dcc21f5f7 | ||
|
|
a7928ea4a8 | ||
|
|
90d0f5b2e0 | ||
|
|
56a26dd265 | ||
|
|
99d294cc79 | ||
|
|
880c818686 | ||
|
|
8d8e9056a1 | ||
|
|
915fb1d68e | ||
|
|
e895a74f91 | ||
|
|
f9512c8228 | ||
|
|
2e0f6c7b03 | ||
|
|
2cee151652 | ||
|
|
a7117a077f | ||
|
|
62cc95182f | ||
|
|
4e3a420248 | ||
|
|
a77e6211b3 | ||
|
|
021e487528 | ||
|
|
29ea7af919 | ||
|
|
9843ca9491 | ||
|
|
0b12640d58 | ||
|
|
5329125950 | ||
|
|
7128e0c599 | ||
|
|
6f9a2caa18 | ||
|
|
e98fad4f73 | ||
|
|
2eb76ffb86 | ||
|
|
4ffc9f06c9 | ||
|
|
14912bba09 | ||
|
|
bb2c8e6c6a | ||
|
|
c4c91cc462 | ||
|
|
fd036ecef9 | ||
|
|
72c28319f3 | ||
|
|
d255e83756 | ||
|
|
a41c45b7d3 | ||
|
|
83d11a58cb | ||
|
|
fbadc4f3a9 | ||
|
|
7bf35bda8f | ||
|
|
f65df4e45d | ||
|
|
da3f84527d | ||
|
|
b915e815e9 | ||
|
|
1ef7dcf457 | ||
|
|
9eb52b76ca | ||
|
|
55cae3657e | ||
|
|
953e3cf701 | ||
|
|
7a7c00c562 | ||
|
|
7d39938af6 | ||
|
|
47d815c805 | ||
|
|
0300942a8f | ||
|
|
0ba21e3f18 | ||
|
|
008b995df4 | ||
|
|
7dd8e247c8 | ||
|
|
c408c6880c | ||
|
|
68aa4184e0 | ||
|
|
0407b15c1b | ||
|
|
27240bcfed | ||
|
|
a3f0131156 | ||
|
|
5924a4fd22 | ||
|
|
296c218308 | ||
|
|
bce1689bfe | ||
|
|
d0d4dcf11d | ||
|
|
5a1f9e4af9 | ||
|
|
a2946ca903 | ||
|
|
a2c881a968 | ||
|
|
25ae101654 | ||
|
|
b9c2f8ad5d | ||
|
|
ba39c8ad5b | ||
|
|
a45770f541 | ||
|
|
ba565e0376 | ||
|
|
649d53f857 | ||
|
|
f612345fac | ||
|
|
d8607ee0f2 | ||
|
|
8c84bed209 | ||
|
|
655448fb74 | ||
|
|
15049a4efb | ||
|
|
a90ed2601a | ||
|
|
fa71356666 | ||
|
|
12ffb4cbe7 | ||
|
|
b67f59e865 | ||
|
|
d51dda4434 | ||
|
|
70666c459b | ||
|
|
60b7c7860b | ||
|
|
fc343b336f | ||
|
|
8cacbcc9b9 | ||
|
|
e48a20f93d | ||
|
|
5d2c64711f | ||
|
|
a76becef3a | ||
|
|
82c7900f77 | ||
|
|
3984af24fd | ||
|
|
375fc86937 | ||
|
|
3d99aa3863 | ||
|
|
5e48f764aa | ||
|
|
3294bbcea3 | ||
|
|
405ff7009f | ||
|
|
a499989649 | ||
|
|
45b47268f9 | ||
|
|
76dd662fe3 | ||
|
|
b6cf6c4e16 | ||
|
|
42b4fae278 | ||
|
|
35b8f726fb | ||
|
|
d8d8030644 | ||
|
|
9a417590b6 | ||
|
|
119c7b2e34 | ||
|
|
7df5a64a8b | ||
|
|
28e8e765b0 | ||
|
|
86169a41c0 | ||
|
|
5641aa560b | ||
|
|
0288bd4ad8 | ||
|
|
399119b2da | ||
|
|
4a03e52cb4 | ||
|
|
7bcd0b5b86 | ||
|
|
9fd4bbae4f | ||
|
|
6b536ce62f | ||
|
|
d878c9e05e | ||
|
|
cb8835b878 | ||
|
|
e188454fec | ||
|
|
ab9d8f6403 | ||
|
|
ce15cb8bfe | ||
|
|
9e7d1cc547 | ||
|
|
7b2657870a | ||
|
|
31df2c27dd | ||
|
|
b64b3504ba | ||
|
|
af6c732306 | ||
|
|
8da6140753 | ||
|
|
3c03494d85 | ||
|
|
5af3eaa926 | ||
|
|
f79608fe6c | ||
|
|
316f4f2864 | ||
|
|
71babe611a | ||
|
|
25ddcb10bb | ||
|
|
4c07918cd4 | ||
|
|
88fc9123e7 | ||
|
|
c38b668ea2 | ||
|
|
ea1d86f107 | ||
|
|
a96237b38b | ||
|
|
5c9f652ef5 | ||
|
|
8d72b9a395 | ||
|
|
0c3e856086 | ||
|
|
37216bd0a9 | ||
|
|
f9ef3b836b | ||
|
|
a0d0b2cb40 | ||
|
|
590fd5139f | ||
|
|
37ccdbb19d | ||
|
|
cb02cac1e1 | ||
|
|
ddb8095dd2 | ||
|
|
23ee1145c5 | ||
|
|
431570e696 | ||
|
|
ebcb82ed80 | ||
|
|
1352d1528a | ||
|
|
822dc191dc | ||
|
|
41bf6da9c6 | ||
|
|
f3de97be61 | ||
|
|
869efa32f4 | ||
|
|
332a31afa2 | ||
|
|
398601d0ef | ||
|
|
a5c596c200 | ||
|
|
9b3bdc9f36 | ||
|
|
56433c5aa3 | ||
|
|
b8a9eef6cf | ||
|
|
75aef1b997 | ||
|
|
af066426fd | ||
|
|
3999e76ae8 | ||
|
|
ef162f07e5 | ||
|
|
7a9adc283b | ||
|
|
7a5407d2c4 | ||
|
|
eaf53e0f4c | ||
|
|
81b1e64c9a | ||
|
|
61d333cbc3 | ||
|
|
2c1b6dbf9f | ||
|
|
7644a5e3bd | ||
|
|
7ef2faaf09 | ||
|
|
de0dd2b035 | ||
|
|
ccf0d546e9 | ||
|
|
e56f5314b2 | ||
|
|
64ac67f58b | ||
|
|
6735ad030d | ||
|
|
041115ff0e | ||
|
|
d239197f0f | ||
|
|
115e476196 | ||
|
|
98439ea414 | ||
|
|
4cf798b4b4 | ||
|
|
806ed2d44e |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -6,6 +6,7 @@
|
||||
|
||||
# Declare files that will always have LF line endings on checkout.
|
||||
*.yml text eol=lf
|
||||
*.sh text eol=lf
|
||||
|
||||
# Declare files that will always have CRLF line endings on checkout.
|
||||
*.cs text eol=crlf
|
||||
|
||||
4
.github/ISSUE_TEMPLATE.md
vendored
4
.github/ISSUE_TEMPLATE.md
vendored
@@ -7,7 +7,7 @@ If you are experiencing an issue with a tracker, then:
|
||||
2. If you haven't already, try upgrading to the latest version of Jackett, your issue may have already been resolved.
|
||||
3. If it is still not working for you, then a **full enhanced log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
|
||||
|
||||
**Jackett version**:
|
||||
**Mono version** (if not using Windows):
|
||||
(At the bottom of your Jackett Dashboard page) **Jackett version**:
|
||||
(if you installed using Jackett.Binaries.Mono.tar.gz) **Mono version**:
|
||||
|
||||
-------------------------------
|
||||
|
||||
4
.github/no_information_provided.md
vendored
4
.github/no_information_provided.md
vendored
@@ -5,5 +5,5 @@ You've created an issue, but haven't provided any details to allow the community
|
||||
Provide a description of the feature request or bug, the more details the better.
|
||||
If you are experiencing an issue with a tracker, a **full enhanced log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
|
||||
|
||||
**Jackett version**:
|
||||
**Mono version** (if not using Windows):
|
||||
(At the bottom of your Jackett Dashboard page) **Jackett version**:
|
||||
(if you installed using Jackett.Binaries.Mono.tar.gz) **Mono version**:
|
||||
|
||||
459
README.md
459
README.md
@@ -9,307 +9,426 @@
|
||||
|
||||
This project is a new fork and is recruiting development help. If you are able to help out please contact us.
|
||||
|
||||
Jackett works as a proxy server: it translates queries from apps ([Sonarr](https://github.com/Sonarr/Sonarr), [Radarr](https://github.com/Radarr/Radarr), [SickRage](https://sickrage.github.io/), [CouchPotato](https://couchpota.to/), [Mylar](https://github.com/evilhero/mylar), [DuckieTV](https://github.com/SchizoDuckie/DuckieTV), [qBittorrent](https://www.qbittorrent.org/), etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
|
||||
Jackett works as a proxy server: it translates queries from apps ([Sonarr](https://github.com/Sonarr/Sonarr), [Radarr](https://github.com/Radarr/Radarr), [SickRage](https://sickrage.github.io/), [CouchPotato](https://couchpota.to/), [Mylar](https://github.com/evilhero/mylar), [Lidarr](https://github.com/lidarr/lidarr), [DuckieTV](https://github.com/SchizoDuckie/DuckieTV), [qBittorrent](https://www.qbittorrent.org/), [Nefarious](https://github.com/lardbit/nefarious) etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
|
||||
|
||||
Developer note: The software implements the [Torznab](https://github.com/Sonarr/Sonarr/wiki/Implementing-a-Torznab-indexer) (with [nZEDb](https://github.com/nZEDb/nZEDb/blob/dev/docs/newznab_api_specification.txt) category numbering) and [TorrentPotato](https://github.com/RuudBurger/CouchPotatoServer/wiki/Couchpotato-torrent-provider) APIs.
|
||||
|
||||
|
||||
|
||||
#### Supported Systems
|
||||
* Windows using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461).
|
||||
* Linux and macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/).
|
||||
* Windows 7SP1 or greater using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461)
|
||||
* Linux [supported operating systems here](https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1-supported-os.md#linux)
|
||||
* macOS 10.12 or greater
|
||||
|
||||
### Supported Public Trackers
|
||||
* 1337x
|
||||
* ACG.RIP
|
||||
* ACGsou
|
||||
* Anidex
|
||||
* Anime Tosho
|
||||
* AniRena
|
||||
* AudioBookBay
|
||||
* BTstor.net
|
||||
* btbit
|
||||
* AudioBook Bay (ABB)
|
||||
* BigFANGroup
|
||||
* BitRu
|
||||
* BitTorrent.AM
|
||||
* BTDB
|
||||
* BTDIGG
|
||||
* BT.etree
|
||||
* BTSOW
|
||||
* ConCen
|
||||
* Corsaro.red
|
||||
* cpasbien
|
||||
* cpasbienClone
|
||||
* Demonoid
|
||||
* dmhy
|
||||
* ETTV
|
||||
* EliteTorrent.biz
|
||||
* EstrenosDTL
|
||||
* ExtraTorrent.ag
|
||||
* EXT Torrents
|
||||
* EZTV
|
||||
* FireBit
|
||||
* Frozen Layer
|
||||
* GamesTorrents
|
||||
* GkTorrent
|
||||
* GloDLS
|
||||
* HDReactor
|
||||
* Hon3yHD.net
|
||||
* Horrible Subs
|
||||
* IdopeClone
|
||||
* Idope
|
||||
* Il Corsaro Nero <!-- maintained by bonny1992 -->
|
||||
* Il Corsaro Blu
|
||||
* Isohunt2
|
||||
* KATcrs
|
||||
* KickAssTorrent
|
||||
* KickAssTorrent (thekat.se clone)
|
||||
* iTorrent
|
||||
* KickAssTorrent (KATcr)
|
||||
* KickAssTorrent (kat.li)
|
||||
* Legit Torrents
|
||||
* LePorno
|
||||
* LimeTorrents
|
||||
* MacTorrents
|
||||
* MagnetDL
|
||||
* MejorTorrent <!-- maintained by ivandelabeldad -->
|
||||
* Monova
|
||||
* MovCr
|
||||
* MoviesDVDR
|
||||
* Newpct (aka: tvsinpagar, descargas2020, torrentlocura, torrentrapid, tumejortorrent, pctnew, etc)
|
||||
* Newstudio
|
||||
* Nitro
|
||||
* NNTT
|
||||
* NoName Club (NNM-Club)
|
||||
* Nyaa.si
|
||||
* Nyaa-Pantsu
|
||||
* Nyoo
|
||||
* OxTorrent
|
||||
* PiratBit
|
||||
* ProStyleX
|
||||
* RARBG
|
||||
* Rus-media
|
||||
* RuTor
|
||||
* Seedpeer
|
||||
* shokweb
|
||||
* ShowRSS
|
||||
* SkyTorrentsClone
|
||||
* SolidTorrents
|
||||
* sukebei.Nyaa.si
|
||||
* sukebei-Pantsu
|
||||
* The Pirate Bay
|
||||
* TNTVillage <!-- maintained by bonny1992 -->
|
||||
* Tokyo Toshokan
|
||||
* TFile
|
||||
* The Pirate Bay (TPB)
|
||||
* Tokyo Tosho
|
||||
* TopNow
|
||||
* Torlock
|
||||
* TorrentCouch
|
||||
* Torrent Downloads
|
||||
* TorrentGalaxy.org
|
||||
* TOROS
|
||||
* Torrent Downloads (TD)
|
||||
* Torrent9
|
||||
* Torernt9 clone (torrents9.ch)
|
||||
* Torrent9Clone
|
||||
* TorrentDownload
|
||||
* TorrentFunk
|
||||
* TorrentGalaxy (TGx)
|
||||
* TorrentParadise
|
||||
* TorrentProject2
|
||||
* TorrentQuest
|
||||
* Torrents.csv
|
||||
* TorrentWal
|
||||
* Torrentz2
|
||||
* World Wide Torrents
|
||||
* Underverse
|
||||
* YourBittorrent
|
||||
* YTS.ag
|
||||
* Zooqle
|
||||
|
||||
### Supported Semi-Private Trackers
|
||||
* 7tor
|
||||
* Alein
|
||||
* AlexFilm
|
||||
* AniDUB
|
||||
* ArenaBG
|
||||
* BaibaKo
|
||||
* BookTracker
|
||||
* CasStudioTV
|
||||
* Crazy's Corner
|
||||
* CzTorrent
|
||||
* Deildu
|
||||
* DXP (Deaf Experts)
|
||||
* EniaHD
|
||||
* Film-Paleis
|
||||
* Gay-Torrents.net
|
||||
* Gay-Torrents.org
|
||||
* HamsterStudio
|
||||
* HD Dolby
|
||||
* Kinozal
|
||||
* LostFilm.tv
|
||||
* Mega-Bliz
|
||||
* Marine Tracker
|
||||
* Metal Tracker
|
||||
* MuziekFrabriek
|
||||
* MVGroup Forum
|
||||
* MVGroup Main
|
||||
* Newstudio
|
||||
* NetHD
|
||||
* NoName Club
|
||||
* NetHD (VietTorrent)
|
||||
* Pornolab
|
||||
* RiperAM
|
||||
* RockBox
|
||||
* RuTracker
|
||||
* Sharewood
|
||||
* SkTorrent
|
||||
* SoundPark
|
||||
* Toloka.to
|
||||
* Torrent-Explosiv
|
||||
* Torrents-Local
|
||||
* TribalMixes
|
||||
* Union Fansub
|
||||
* Xtreme Zone
|
||||
* YggTorrent
|
||||
* Vanila
|
||||
* YggTorrent (YGG)
|
||||
* Ztracker
|
||||
|
||||
### Supported Private Trackers
|
||||
* 0day.kiev
|
||||
* 2 Fast 4 You
|
||||
* 3D Torrents
|
||||
* 420files
|
||||
* 3D Torrents (3DT)
|
||||
* 3evils
|
||||
* 4thD (4th Dimension)
|
||||
* 720pier
|
||||
* Abnormal
|
||||
* Acid-Lounge
|
||||
* Acid Lounge (A-L)
|
||||
* Aftershock
|
||||
* AlphaRatio (AR)
|
||||
* AnimeBytes
|
||||
* AmigosShareClub
|
||||
* AnimeBytes (AB)
|
||||
* AnimeTorrents (AnT)
|
||||
* Anthelion (was TehConnection.me)
|
||||
* AOX
|
||||
* ArabaFenice
|
||||
* Arche Torrent
|
||||
* AsianDVDClub
|
||||
* Anthelion
|
||||
* Araba Fenice (Phoenix)
|
||||
* Asgaard (AG)
|
||||
* AsianCinema
|
||||
* AST4u
|
||||
* Audiobook Torrents
|
||||
* Audiobook Torrents (ABT)
|
||||
* AudioNews (AN)
|
||||
* Awesome-HD (AHD)
|
||||
* Avistaz (AsiaTorrents)
|
||||
* B2S-Share
|
||||
* Back-ups
|
||||
* BakaBT [![(invite needed)][inviteneeded]](#)
|
||||
* bB
|
||||
* BakaBT
|
||||
* BaconBits (bB)
|
||||
* BeyondHD (BHD)
|
||||
* BIGTorrent
|
||||
* BigTower
|
||||
* Bit-City Reloaded
|
||||
* BIT-HDTV
|
||||
* Bithorlo
|
||||
* BiT-TiTAN
|
||||
* Bithorlo (BHO)
|
||||
* BitHUmen
|
||||
* BitMe
|
||||
* BitMeTV
|
||||
* BitSoup [![(invite needed)][inviteneeded]](#)
|
||||
* Bitspyder
|
||||
* BitTorrentFiles [![(invite needed)][inviteneeded]](#)
|
||||
* BJ-Share
|
||||
* BitTorrentFiles
|
||||
* BitTurk
|
||||
* BJ-Share (BJ)
|
||||
* BlueBird
|
||||
* Blutopia (BLU)
|
||||
* Brasil Tracker
|
||||
* BroadcastTheNet (BTN)
|
||||
* BrokenStones
|
||||
* BTGigs
|
||||
* BTGigs (TG)
|
||||
* BTNext (BTNT)
|
||||
* BTXpress (BTX)
|
||||
* BTSCHOOL
|
||||
* Carpathians
|
||||
* CartoonChaos (CC)
|
||||
* CasaTorrent
|
||||
* CCFBits
|
||||
* CGPeers
|
||||
* CHDBits
|
||||
* Cinematik
|
||||
* ChannelX
|
||||
* Cinemageddon
|
||||
* Cinematik
|
||||
* CinemaZ (EuTorrents)
|
||||
* Classix
|
||||
* DanishBits
|
||||
* DataScene
|
||||
* Concertos
|
||||
* CrazyHD
|
||||
* CrazySpirits
|
||||
* CrnaBerza
|
||||
* DanishBits (DB)
|
||||
* Das Unerwartete
|
||||
* DataScene (DS)
|
||||
* DesiReleasers
|
||||
* DesiTorrents
|
||||
* Diablo Torrent
|
||||
* DigitalCore
|
||||
* DigitalHive
|
||||
* DivTeam
|
||||
* DocumentaryTorrents (DT)
|
||||
* Downloadville
|
||||
* Dragonworld Reloaded
|
||||
* Dream Team
|
||||
* DXDHD
|
||||
* EliteHD [![(invite needed)][inviteneeded]](#)
|
||||
* Elit Tracker
|
||||
* EbookParadijs
|
||||
* Ebooks-Shares
|
||||
* EfectoDoppler
|
||||
* Elite-Tracker
|
||||
* Empornium (EMP)
|
||||
* eStone
|
||||
* eShareNet
|
||||
* eStone (XiDER, BeLoad)
|
||||
* Ethor.net (Thor's Land)
|
||||
* FANO.IN
|
||||
* FileList (FL)
|
||||
* Femdomcult
|
||||
* Freedom-HD
|
||||
* FocusX
|
||||
* FreeTorrent
|
||||
* FullMixMusic
|
||||
* FunFile
|
||||
* FunFile (FF)
|
||||
* FunkyTorrents (FT)
|
||||
* Fuzer
|
||||
* Fuzer (FZ)
|
||||
* Galeriens (LaPauseTorrents)
|
||||
* GAYtorrent.ru
|
||||
* GazelleGames (GGn)
|
||||
* Gfxnews
|
||||
* Generation-Free
|
||||
* GFXPeers
|
||||
* GigaTorrents
|
||||
* GimmePeers <!-- maintained by jamesb2147 -->
|
||||
* Girotottent
|
||||
* GODS
|
||||
* GimmePeers (formerly ILT) <!-- maintained by jamesb2147 -->
|
||||
* GiroTorrent
|
||||
* Greek Legends
|
||||
* Greek Team
|
||||
* HacheDe
|
||||
* Hardbay
|
||||
* HD4Free (HD4)
|
||||
* HD-Forever (HDF)
|
||||
* HD-Only (HDO)
|
||||
* HD-Space (HDS)
|
||||
* HD-Spain
|
||||
* HD-Torrents (HDT)
|
||||
* HD-Bits.com
|
||||
* HD4FANS
|
||||
* HDArea (HDA)
|
||||
* HDBits
|
||||
* HDChina
|
||||
* HDCenter
|
||||
* HDChina (HDWing)
|
||||
* HDCity
|
||||
* HDHome (HDBigger)
|
||||
* HDME
|
||||
* HDRoute
|
||||
* HDSky
|
||||
* HDTorrents.it
|
||||
* HDTurk
|
||||
* HDU
|
||||
* HDZone
|
||||
* Hebits
|
||||
* Hon3y HD
|
||||
* HQSource
|
||||
* Hyperay
|
||||
* HQSource (HQS)
|
||||
* HuSh
|
||||
* ICE Torrent
|
||||
* I Love Classics
|
||||
* Immortalseed
|
||||
* ImmortalSeed (iS)
|
||||
* Immortuos
|
||||
* inPeril
|
||||
* Insane Tracker
|
||||
* IPTorrents (IPT)
|
||||
* JPopsuki
|
||||
* Kapaki
|
||||
* Karagarga
|
||||
* Le Saloon
|
||||
* LearnFlakes
|
||||
* LibraNet (LN)
|
||||
* LinkoManija
|
||||
* LosslessClub
|
||||
* M-Team (TP)
|
||||
* M-Team TP (MTTP)
|
||||
* Magico (Trellas)
|
||||
* Majomparádé
|
||||
* Manicomio Share
|
||||
* Majomparádé (TurkDepo)
|
||||
* Mononoké-BT
|
||||
* MoreThanTV (MTV)
|
||||
* MyAnonamouse
|
||||
* MyAnonamouse (MAM)
|
||||
* myAmity
|
||||
* MySpleen
|
||||
* NBTorrents
|
||||
* NCore
|
||||
* Nebulance (NBL)
|
||||
* Nebulance (NBL) (TransmiTheNet)
|
||||
* NetLab
|
||||
* New Real World
|
||||
* NordicBits (NB)
|
||||
* Norbits
|
||||
* NordicBits (NB)
|
||||
* Nostalgic (The Archive)
|
||||
* notwhat.cd
|
||||
* Orpheus
|
||||
* Ourbits
|
||||
* Ourbits (HDPter)
|
||||
* P2PBG
|
||||
* Partis
|
||||
* Passione Torrent <!-- maintained by bonny1992 -->
|
||||
* PassThePopcorn (PTP)
|
||||
* PirateTheNet
|
||||
* PiXELHD
|
||||
* PolishSource
|
||||
* Peers.FM
|
||||
* PirateTheNet (PTN)
|
||||
* PixelCove (Ultimate Gamer)
|
||||
* PiXELHD (PxHD)
|
||||
* Pleasuredome
|
||||
* PolishSource (PS)
|
||||
* PolishTracker
|
||||
* Pornbay
|
||||
* Pretome
|
||||
* PrivateHD (PHD)
|
||||
* ProAudioTorrents (PAT)
|
||||
* Psytorrents
|
||||
* PTFiles
|
||||
* PT99
|
||||
* PTFiles (PTF)
|
||||
* PThome
|
||||
* PuntoTorrent
|
||||
* PWTorrents (PWT)
|
||||
* R3V WTF!
|
||||
* Racing4Everyone (R4E)
|
||||
* RacingForMe (RFM)
|
||||
* RainbowNation Sharing (RNS)
|
||||
* Redacted (PassTheHeadphones)
|
||||
* Red Star Torrent
|
||||
* Redtopia (RED)
|
||||
* Red Star Torrent (RST)
|
||||
* RetroFlix
|
||||
* RevolutionTT
|
||||
* RGU
|
||||
* RoDVD
|
||||
* Romanian Metal Torrent
|
||||
* RoDVD (Cinefiles)
|
||||
* Romanian Metal Torrent (RMT)
|
||||
* RPTorrents
|
||||
* SceneFZ
|
||||
* SceneHD
|
||||
* SceneReactor
|
||||
* ScenePalace (SP)
|
||||
* SceneRush
|
||||
* SceneTime
|
||||
* SDBits
|
||||
* Secret Cinema
|
||||
* SeedFile (SF)
|
||||
* Shareisland
|
||||
* ShareSpaceDB
|
||||
* ShareUniversity
|
||||
* Shazbat
|
||||
* Shellife
|
||||
* Speed-Share
|
||||
* Shellife (SL)
|
||||
* SiamBIT
|
||||
* SpaceTorrent
|
||||
* SpeedCD
|
||||
* SpeedTorrent Reloaded
|
||||
* SportsCult
|
||||
* SportHD
|
||||
* Superbits
|
||||
* SportsCult
|
||||
* SpringSunday
|
||||
* SuperBits (SBS)
|
||||
* TakeaByte
|
||||
* Tapochek
|
||||
* Tasmanit
|
||||
* TBPlus
|
||||
* TenYardTracker
|
||||
* The Empire
|
||||
* Tazmania-Den
|
||||
* TeamHD
|
||||
* TeamOS
|
||||
* TEKNO3D
|
||||
* TellyTorrent
|
||||
* TenYardTorrents (TYT)
|
||||
* TheAudioScene
|
||||
* TheEmpire (TE)
|
||||
* The Geeks
|
||||
* The Horror Charnel (THC)
|
||||
* The Occult
|
||||
* The Movie Cave
|
||||
* The New Retro
|
||||
* The Occult
|
||||
* The Place
|
||||
* The Shinning (TsH)
|
||||
* The Show
|
||||
* The Vault
|
||||
* The-Torrents
|
||||
* Torrent Network
|
||||
* Torrent Sector Crew
|
||||
* The Vault
|
||||
* Torrent Network (TN)
|
||||
* Torrent Sector Crew (TSC)
|
||||
* Torrent.LT
|
||||
* TorrentBD
|
||||
* TorrentBytes
|
||||
* TorrentCCF [![(invite needed)][inviteneeded]](#)
|
||||
* TorrentDay
|
||||
* Torrentech
|
||||
* TorrentBytes (TBy)
|
||||
* TorrentCCF (TCCF)
|
||||
* TorrentDay (TD)
|
||||
* Torrentech (TTH)
|
||||
* TorrentHeaven
|
||||
* TorrentHR
|
||||
* Torrenting
|
||||
* Torrenting (TT)
|
||||
* Torrentland
|
||||
* TorrentLeech (TL)
|
||||
* Torrents.Md
|
||||
* TorrentSeeds (TS)
|
||||
* Torrent-Syndikat
|
||||
* TOrrent-tuRK (TORK)
|
||||
* TorViet
|
||||
* TotallyKids (TK)
|
||||
* ToTheGlory
|
||||
* TranceTraffic
|
||||
* Trezzor
|
||||
* TV Chaos UK
|
||||
* TurkTorrent (TT) [![(invite needed)][inviteneeded]](#)
|
||||
* TV Chaos UK (TVCUK)
|
||||
* TV-Vault
|
||||
* TVstore
|
||||
* Twilight Torrents
|
||||
* u-torrents (SceneFZ)
|
||||
* UHDBits
|
||||
* Ultimate Gamer Club
|
||||
* Waffles
|
||||
* UnionGang
|
||||
* UnlimitZ
|
||||
* Vizuk
|
||||
* World-In-HD
|
||||
* WorldOfP2P (WOP)
|
||||
* World-of-Tomorrow
|
||||
* x-ite.me (XM)
|
||||
* xBytesV2
|
||||
* XSpeeds
|
||||
* XSpeeds (XS)
|
||||
* XWTorrents (XWT)
|
||||
* XWT-Classics
|
||||
* Xthor
|
||||
* ExoticaZ (Your Exotic Torrents)
|
||||
* XtremeFile
|
||||
* XtreMeZone (MYXZ)
|
||||
* ExoticaZ (YourExotic)
|
||||
* Zamunda.net
|
||||
* Zelka.org
|
||||
|
||||
@@ -317,13 +436,21 @@ Trackers marked with [![(invite needed)][inviteneeded]](#) have no active maint
|
||||
|
||||
### Aggregate indexers
|
||||
|
||||
A special "all" indexer is available at `/api/v2.0/indexers/all/results/torznab/api`.
|
||||
A special "all" indexer is available at `/api/v2.0/indexers/all/results/torznab`.
|
||||
It will query all configured indexers and return the combined results.
|
||||
|
||||
If your client supports multiple feeds it's recommended to add each indexer directly instead of using the all indexer.
|
||||
Using the all indexer has no advantages (besides reduced management overhead), only disadvantages:
|
||||
* you lose control over indexer specific settings (categories, search modes, etc.)
|
||||
* mixing search modes (IMDB, query, etc.) might cause low quality results
|
||||
* indexer specific categories (>= 100000) can't be used.
|
||||
* slow indexers will slow down the overall result
|
||||
* total results are limited to 1000
|
||||
|
||||
To get all Jackett indexers including their capabilities you can use `t=indexers` on the all indexer. To get only configured/unconfigured indexers you can also add `configured=true/false` as query parameter.
|
||||
|
||||
## Installation on Windows
|
||||
|
||||
## Installation on Windows
|
||||
We recommend you install Jackett as a Windows service using the supplied installer. You may also download the zipped version if you would like to configure everything manually.
|
||||
|
||||
To get started with using the installer for Jackett, follow the steps below:
|
||||
@@ -339,7 +466,36 @@ When installed as a service the tray icon acts as a way to open/start/stop Jacke
|
||||
|
||||
Jackett can also be run from the command line if you would like to see log messages (Ensure the server isn't already running from the tray/service). This can be done by using "JackettConsole.exe" (for Command Prompt), found in the Jackett data folder: "%ProgramData%\Jackett".
|
||||
|
||||
## Installation on Linux
|
||||
|
||||
## Install on Linux (AMDx64)
|
||||
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://github.com/dotnet/core/blob/master/Documentation/linux-prereqs.md
|
||||
|
||||
### Install as service
|
||||
1. Download and extract the latest `Jackett.Binaries.LinuxAMDx64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases)
|
||||
2. To install Jackett as a service, open a Terminal, cd to the jackett folder and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
### Run without installing as a service
|
||||
Download and extract the latest `Jackett.Binaries.LinuxAMDx64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases), open a Terminal, cd to the jackett folder and run Jackett with the command `./jackett`
|
||||
|
||||
### home directory
|
||||
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
|
||||
|
||||
|
||||
## Install on Linux (ARMv7 or above)
|
||||
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://github.com/dotnet/core/blob/master/Documentation/linux-prereqs.md
|
||||
|
||||
### Install as service
|
||||
1. Download and extract the latest `Jackett.Binaries.LinuxARM32.tar.gz` or `Jackett.Binaries.LinuxARM64.tar.gz` (32 bit is the most common on ARM) release from the [releases page](https://github.com/Jackett/Jackett/releases)
|
||||
2. To install Jackett as a service, open a Terminal, cd to the jackett folder and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
### Run without installing as a service
|
||||
Download and extract the latest `Jackett.Binaries.LinuxARM32.tar.gz` or `Jackett.Binaries.LinuxARM64.tar.gz` (32 bit is the most common on ARM) release from the [releases page](https://github.com/Jackett/Jackett/releases), open a Terminal, cd to the jackett folder and run Jackett with the command `./jackett`
|
||||
|
||||
### home directory
|
||||
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
|
||||
|
||||
|
||||
## Installation on Linux (ARMv6 or below)
|
||||
1. Install [Mono 5.8](http://www.mono-project.com/download/#download-lin) or better (using the latest stable release is recommended)
|
||||
* Follow the instructions on the mono website and install the `mono-devel` and the `ca-certificates-mono` packages.
|
||||
* On Red Hat/CentOS/openSUSE/Fedora the `mono-locale-extras` package is also required.
|
||||
@@ -348,35 +504,27 @@ Jackett can also be run from the command line if you would like to see log messa
|
||||
* Redhat/Fedora: `yum install libcurl-devel`
|
||||
* For other distros see the [Curl docs](http://curl.haxx.se/dlwiz/?type=devel).
|
||||
3. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
|
||||
|
||||
Detailed instructions for [Ubuntu 14.x](http://www.htpcguides.com/install-jackett-on-ubuntu-14-x-for-custom-torrents-in-sonarr/) and [Ubuntu 15.x](http://www.htpcguides.com/install-jackett-ubuntu-15-x-for-custom-torrents-in-sonarr/)
|
||||
4. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd_mono.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
|
||||
|
||||
Mono must be compiled with the Roslyn compiler (default), using MCS will cause "An error has occurred." errors (See https://github.com/Jackett/Jackett/issues/2704).
|
||||
|
||||
### Install as service
|
||||
1. Install Jackett with the steps from above.
|
||||
2. Open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service.
|
||||
2. If the installation was a success, you can close the Terminal window.
|
||||
|
||||
The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`.
|
||||
Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
### Installation on Linux via Ansible
|
||||
|
||||
On a RHEL/Centos 7 system: [linuxhq.jackett](https://galaxy.ansible.com/linuxhq/jackett)
|
||||
On a CentOS/RedHat 7 system: [jewflix.jackett](https://galaxy.ansible.com/jewflix/jackett)
|
||||
|
||||
On an Ubuntu 16 system: [chrisjohnson00.jackett](https://galaxy.ansible.com/chrisjohnson00/jackett)
|
||||
|
||||
|
||||
## Installation on macOS
|
||||
|
||||
### Prerequisites
|
||||
Install [Mono 5.8](http://www.mono-project.com/download/#download-mac) or better (using the latest pkg installer is recommended).
|
||||
* Setup ssl support by running `curl -sS https://curl.haxx.se/ca/cacert.pem | cert-sync --user /dev/stdin`
|
||||
macOS 10.12 or greater
|
||||
|
||||
### Install as service
|
||||
1. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
|
||||
1. Download and extract the latest `Jackett.Binaries.macOS.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
|
||||
2. Open the extracted folder and double-click on `install_service_macos`.
|
||||
3. If the installation was a success, you can close the Terminal window.
|
||||
|
||||
@@ -384,14 +532,17 @@ The service will start on each logon. You can always stop it by running `launchc
|
||||
Logs are stored as usual under `~/.config/Jackett/log.txt`.
|
||||
|
||||
### Run without installing as a service
|
||||
Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
|
||||
Download and extract the latest `Jackett.Binaries.macOS.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`.
|
||||
|
||||
|
||||
## Installation using Docker
|
||||
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 eg. QNAP, Synology. Thanks to [LinuxServer.io](https://linuxserver.io)
|
||||
|
||||
|
||||
## Installation on Synology
|
||||
Jackett is available as beta package from [SynoCommunity](https://synocommunity.com/)
|
||||
|
||||
|
||||
## 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.
|
||||
|
||||
@@ -423,7 +574,7 @@ location /jackett {
|
||||
|
||||
You can pass various options when running via the command line, see --help for details.
|
||||
|
||||
* __Error "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."__
|
||||
* __Error "An error occurred while sending the request: Error: TrustFailure (A call to SSPI failed, see inner exception.)"__
|
||||
|
||||
This is often caused by missing CA certificates.
|
||||
Try reimporting the certificates in this case:
|
||||
@@ -437,51 +588,67 @@ location /jackett {
|
||||
The logfiles (log.txt/updater.txt) are stored in `%ProgramData%\Jackett` on Windows and `~/.config/Jackett/` on Linux/macOS.
|
||||
|
||||
## Configuring OMDb
|
||||
This feature is used as a fallback to get the movie/series title if only the IMDB ID is provided in the request.
|
||||
This feature is used as a fallback (when using the aggregate Indexer) to get the movie/series title if only the IMDB ID is provided in the request.
|
||||
To use it, please just request a free API key on [OMDb](http://www.omdbapi.com/apikey.aspx) (1,000 daily requests limit) and paste the key in Jackett
|
||||
|
||||
## Creating an issue
|
||||
Please supply as much information about the problem you are experiencing as possible. Your issue has a much greater chance of being resolved if logs are supplied so that we can see what is going on. Creating an issue with '### isn't working' doesn't help anyone to fix the problem.
|
||||
|
||||
## Contributing
|
||||
All contributions are welcome just send a pull request. Jackett's framework allows our team (and any other volunteering dev) to implement new trackers in an hour or two. If you'd like support for a new tracker but are not a developer then feel free to leave a request on the [issues page](https://github.com/Jackett/Jackett/issues). It is recommended to use Visual Studio 2017 when making code changes in this project. You can download the community version for free [here](https://www.visualstudio.com/downloads/).
|
||||
|
||||
Jackett's framework typically allows our team and volunteering developers to implement new trackers in a couple of hours
|
||||
|
||||
Depending on logic complexity, there are two common ways new trackers are implemented:
|
||||
|
||||
1. simple [definitions](http://github.com/Jackett/Jackett/tree/master/src/Jackett.Common/Definitions) (.yml / YAML), and;
|
||||
2. advanced (native) [indexers](http://github.com/Jackett/Jackett/tree/master/src/Jackett.Common/Indexers) (.cs / C#)
|
||||
|
||||
Read more about the [simple definition format](https://github.com/Jackett/Jackett/wiki/Definition-format).
|
||||
|
||||
If you are a developer then it's recommended to download the free community version of [Visual Studio](http://visualstudio.com)
|
||||
|
||||
If you are not a developer and would like a (new) tracker supported then feel free to leave an [issue](https://github.com/Jackett/Jackett/issues) request.
|
||||
|
||||
All contributions are welcome just send a pull request.
|
||||
|
||||
## Building from source
|
||||
|
||||
### Windows
|
||||
* Install the .NET Core [SDK](https://www.microsoft.com/net/download/windows)
|
||||
* Open the Jackett solution in Visual Studio 2017 (version 15.7 or above)
|
||||
* Clone Jackett
|
||||
* Open Powershell and from the `src` directory, run `dotnet restore`
|
||||
* Open the Jackett solution in Visual Studio 2019 (version 16.3 or above)
|
||||
* Right click on the Jackett solution and click 'Rebuild Solution' to restore nuget packages
|
||||
* Select Jackett.Server as startup project
|
||||
* In the drop down menu of the run button select "Jackett.Server" instead of "IIS Express"
|
||||
* Build/Start the project
|
||||
|
||||
### OSX
|
||||
NOTE: msbuild is included in the mono release.
|
||||
* Install Homebrew https://brew.sh
|
||||
* open terminal
|
||||
* brew install nuget mono
|
||||
* git clone https://github.com/Jackett/Jackett.git
|
||||
* cd Jackett/src
|
||||
* nuget restore Jackett.sln
|
||||
|
||||
NOTE: if you get the error "NU1102: Unable to find package Microsoft.AspNetCore with version (>= 2.1.2)" while restoring packages, you'll need to install it manually.https://www.microsoft.com/net/download/thank-you/dotnet-sdk-2.1.302-macos-x64-installer then delete the entire project directory and restart from a new clone
|
||||
|
||||
* msbuild Jackett.Server/Jackett.Server.csproj /t:Build /p:Configuration=Debug
|
||||
* curl -sS https://curl.haxx.se/ca/cacert.pem | cert-sync --user /dev/stdin
|
||||
* mono Jackett.Server/bin/Debug/JackettServer.exe
|
||||
```bash
|
||||
# manually install osx dotnet via:
|
||||
https://dotnet.microsoft.com/download?initial-os=macos
|
||||
# then:
|
||||
git clone https://github.com/Jackett/Jackett.git
|
||||
cd Jackett/src
|
||||
|
||||
# dotnet core version
|
||||
dotnet publish Jackett.Server -f netcoreapp3.0 --self-contained -r osx-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/netcoreapp3.0/osx-x64/jackett # run jackett
|
||||
```
|
||||
|
||||
### Linux
|
||||
|
||||
|
||||
```bash
|
||||
sudo apt install mono-complete nuget msbuild # install build tools (debian/ubuntu)
|
||||
sudo apt install mono-complete nuget msbuild dotnet-sdk-3.0 # install build tools (debian/ubuntu)
|
||||
git clone https://github.com/Jackett/Jackett.git
|
||||
cd Jackett/src
|
||||
nuget restore Jackett.sln # prepare dependencies
|
||||
msbuild Jackett.Server/Jackett.Server.csproj /t:Build /p:Configuration=Debug # compile
|
||||
mono Jackett.Server/bin/Debug/JackettServer.exe # run jackett
|
||||
|
||||
# dotnet core version
|
||||
dotnet publish Jackett.Server -f netcoreapp3.0 --self-contained -r linux-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/netcoreapp3.0/linux-x64/jackett # run jackett
|
||||
```
|
||||
|
||||
## Screenshots
|
||||
|
||||
14
appveyor.yml
14
appveyor.yml
@@ -1,6 +1,10 @@
|
||||
version: 0.10.{build}
|
||||
version: 0.12.{build}
|
||||
skip_tags: true
|
||||
image: Visual Studio 2017
|
||||
image:
|
||||
- Ubuntu
|
||||
- Visual Studio 2019
|
||||
environment:
|
||||
APPVEYOR_YML_DISABLE_PS_LINUX: true
|
||||
configuration: Release
|
||||
assembly_info:
|
||||
patch: true
|
||||
@@ -17,18 +21,20 @@ dotnet_csproj:
|
||||
file_version: '{version}'
|
||||
informational_version: '{version}'
|
||||
build_script:
|
||||
- ps: .\build.ps1
|
||||
- ps: .\build.ps1 --target=Windows-Appveyor
|
||||
- sh: ./build.sh --target=Linux
|
||||
test: off
|
||||
before_deploy:
|
||||
- ps: ${env:release_description} = ( Get-Content -LiteralPath BuildOutput/ReleaseNotes.txt -Encoding UTF8 ) -join "`n";
|
||||
deploy:
|
||||
- provider: GitHub
|
||||
tag: v$(appveyor_build_version)
|
||||
tag: v$(APPVEYOR_BUILD_VERSION)
|
||||
description: $(release_description)
|
||||
auth_token:
|
||||
secure: hOg+16YTIbq4kO9u4D1YVOTbWDqgCX6mAQYMbnmBBSw2CiUsZh7OKbupoUb3FtWa
|
||||
artifact: /^(?:(?![Ee]xperimental).)*$/
|
||||
draft: true
|
||||
force_update: true
|
||||
on:
|
||||
branch: master
|
||||
notifications:
|
||||
|
||||
354
build.cake
354
build.cake
@@ -14,8 +14,11 @@ var configuration = Argument("configuration", "Debug");
|
||||
|
||||
// Define directories.
|
||||
var workingDir = MakeAbsolute(Directory("./"));
|
||||
var artifactsDirName = "Artifacts";
|
||||
var testResultsDirName = "TestResults";
|
||||
string artifactsDirName = "Artifacts";
|
||||
string testResultsDirName = "TestResults";
|
||||
string netCoreFramework = "netcoreapp3.0";
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string updaterProjectPath = "./src/Jackett.Updater/Jackett.Updater.csproj";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// TASKS
|
||||
@@ -25,8 +28,17 @@ Task("Info")
|
||||
.Does(() =>
|
||||
{
|
||||
Information(@"Jackett Cake build script starting...");
|
||||
Information(@"Requires InnoSetup and C:\cygwin to be present for packaging (Pre-installed on AppVeyor)");
|
||||
Information(@"Requires InnoSetup and C:\msys64 to be present for packaging (Pre-installed on AppVeyor) on Windows");
|
||||
Information(@"Working directory is: " + workingDir);
|
||||
|
||||
if (IsRunningOnWindows())
|
||||
{
|
||||
Information("Platform is Windows");
|
||||
}
|
||||
else
|
||||
{
|
||||
Information("Platform is Linux, Windows builds will be skipped");
|
||||
}
|
||||
});
|
||||
|
||||
Task("Clean")
|
||||
@@ -39,6 +51,8 @@ Task("Clean")
|
||||
CleanDirectories("./" + artifactsDirName);
|
||||
CleanDirectories("./" + testResultsDirName);
|
||||
|
||||
CreateDirectory("./" + artifactsDirName);
|
||||
|
||||
Information("Clean completed");
|
||||
});
|
||||
|
||||
@@ -50,7 +64,7 @@ Task("Build-Full-Framework")
|
||||
|
||||
var buildSettings = new MSBuildSettings()
|
||||
.SetConfiguration(configuration)
|
||||
.UseToolVersion(MSBuildToolVersion.VS2017);
|
||||
.UseToolVersion(MSBuildToolVersion.VS2019);
|
||||
|
||||
MSBuild("./src/Jackett.sln", buildSettings);
|
||||
});
|
||||
@@ -67,47 +81,33 @@ Task("Run-Unit-Tests")
|
||||
Results = new[] { new NUnit3Result { FileName = resultsFile } }
|
||||
});
|
||||
|
||||
if(AppVeyor.IsRunningOnAppVeyor)
|
||||
if (AppVeyor.IsRunningOnAppVeyor && IsRunningOnWindows())
|
||||
{
|
||||
AppVeyor.UploadTestResults(resultsFile, AppVeyorTestResultsType.NUnit3);
|
||||
}
|
||||
});
|
||||
|
||||
Task("Check-Packaging-Platform")
|
||||
Task("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Run-Unit-Tests")
|
||||
.Does(() =>
|
||||
{
|
||||
if (IsRunningOnWindows())
|
||||
{
|
||||
CreateDirectory("./" + artifactsDirName);
|
||||
Information("Platform is Windows");
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("Packaging is currently only implemented for a Windows environment");
|
||||
}
|
||||
});
|
||||
|
||||
Task("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Check-Packaging-Platform")
|
||||
.Does(() =>
|
||||
{
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = "./BuildOutput/Experimental/net461/win7-x86/Jackett";
|
||||
string buildOutputPath = "./BuildOutput/net461/win7-x86/Jackett";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, "net461", "win7-x86");
|
||||
DotNetCorePublish(serverProjectPath, "net461", "win7-x86", buildOutputPath);
|
||||
|
||||
CopyFiles("./src/Jackett.Service/bin/" + configuration + "/JackettService.*", buildOutputPath);
|
||||
CopyFiles("./src/Jackett.Tray/bin/" + configuration + "/JackettTray.*", buildOutputPath);
|
||||
CopyFiles("./src/Jackett.Updater/bin/" + configuration + "/net461" + "/JackettUpdater.*", buildOutputPath); //builds against multiple frameworks
|
||||
|
||||
Zip("./BuildOutput/Experimental/net461/win7-x86", $"./{artifactsDirName}/Jackett.Binaries.Windows.zip");
|
||||
Zip("./BuildOutput/net461/win7-x86", $"./{artifactsDirName}/Jackett.Binaries.Windows.zip");
|
||||
|
||||
//InnoSetup
|
||||
string sourceFolder = MakeAbsolute(Directory(buildOutputPath)).ToString();
|
||||
|
||||
InnoSetupSettings settings = new InnoSetupSettings();
|
||||
settings.OutputDirectory = workingDir + "/" + artifactsDirName;
|
||||
//Can remove below line once Cake is updated for InnoSetup 6 - https://github.com/cake-build/cake/pull/2565
|
||||
settings.ToolPath = @"C:\Program Files (x86)\Inno Setup 6\ISCC.exe";
|
||||
settings.Defines = new Dictionary<string, string>
|
||||
{
|
||||
{ "MyFileForVersion", sourceFolder + "/Jackett.Common.dll" },
|
||||
@@ -119,16 +119,18 @@ Task("Package-Windows-Full-Framework")
|
||||
});
|
||||
|
||||
Task("Package-Mono-Full-Framework")
|
||||
.IsDependentOn("Check-Packaging-Platform")
|
||||
.IsDependentOn("Run-Unit-Tests")
|
||||
.Does(() =>
|
||||
{
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = "./BuildOutput/Experimental/net461/linux-x64/Jackett";
|
||||
string buildOutputPath = "./BuildOutput/net461/linux-x64/Jackett";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, "net461", "linux-x64");
|
||||
DotNetCorePublish(serverProjectPath, "net461", "linux-x64", buildOutputPath);
|
||||
|
||||
CopyFiles("./src/Jackett.Updater/bin/" + configuration + "/net461" + "/JackettUpdater.*", buildOutputPath); //builds against multiple frameworks
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd_mono.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./Upstart.config", buildOutputPath);
|
||||
|
||||
//There is an issue with Mono 5.8 (fixed in Mono 5.12) where its expecting to use its own patched version of System.Net.Http.dll, instead of the version supplied in folder
|
||||
//https://github.com/dotnet/corefx/issues/19914
|
||||
//https://bugzilla.xamarin.com/show_bug.cgi?id=60315
|
||||
@@ -145,35 +147,91 @@ Task("Package-Mono-Full-Framework")
|
||||
|
||||
DeleteFile(buildOutputPath + "/System.Runtime.InteropServices.RuntimeInformation.dll");
|
||||
|
||||
Gzip("./BuildOutput/Experimental/net461/linux-x64", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.Mono.tar.gz");
|
||||
});
|
||||
|
||||
Task("Experimental-DotNetCore")
|
||||
.IsDependentOn("Check-Packaging-Platform")
|
||||
.Does(() =>
|
||||
{
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, "netcoreapp2.1", "win-x86");
|
||||
DotNetCorePublish(serverProjectPath, "netcoreapp2.1", "linux-x64");
|
||||
DotNetCorePublish(serverProjectPath, "netcoreapp2.1", "osx-x64");
|
||||
|
||||
Zip("./BuildOutput/Experimental/netcoreapp2.1/win-x86", $"./{artifactsDirName}/Experimental.netcoreapp.win-x86.zip");
|
||||
Zip("./BuildOutput/Experimental/netcoreapp2.1/osx-x64", $"./{artifactsDirName}/Experimental.netcoreapp.osx-x64.zip");
|
||||
Gzip("./BuildOutput/Experimental/netcoreapp2.1/linux-x64", $"./{artifactsDirName}", "Jackett", "Experimental.netcoreapp.linux-x64.tar.gz");
|
||||
InstallMsysTar();
|
||||
Gzip("./BuildOutput/net461/linux-x64", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.Mono.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package")
|
||||
.IsDependentOn("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Package-Mono-Full-Framework")
|
||||
//.IsDependentOn("Experimental-DotNetCore")
|
||||
Task("Package-DotNetCore-macOS")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Packaging completed");
|
||||
string runtimeId = "osx-x64";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_macos", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.macOS.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxAMDx64")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-x64";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./jackett_launcher.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxAMDx64.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxARM32")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-arm";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./jackett_launcher.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxARM32.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxARM64")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-arm64";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./jackett_launcher.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxARM64.tar.gz");
|
||||
});
|
||||
|
||||
Task("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Package")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
if (AppVeyor.IsRunningOnAppVeyor)
|
||||
@@ -185,12 +243,12 @@ Task("Appveyor-Push-Artifacts")
|
||||
}
|
||||
else
|
||||
{
|
||||
Information(@"Skipping as not running in AppVeyor Environment");
|
||||
Information(@"Skipping artifact push as not running in AppVeyor Windows Environment");
|
||||
}
|
||||
});
|
||||
|
||||
Task("Release-Notes")
|
||||
.IsDependentOn("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
string latestTag = GitDescribe(".", false, GitDescribeStrategy.Tags, 0);
|
||||
@@ -228,7 +286,7 @@ Task("Release-Notes")
|
||||
string buildNote = String.Join(Environment.NewLine, notesList);
|
||||
Information(buildNote);
|
||||
|
||||
System.IO.File.WriteAllLines(workingDir + "\\BuildOutput\\ReleaseNotes.txt", notesList.ToArray());
|
||||
System.IO.File.WriteAllLines(workingDir + "/BuildOutput/ReleaseNotes.txt", notesList.ToArray());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -237,14 +295,50 @@ Task("Release-Notes")
|
||||
|
||||
});
|
||||
|
||||
Task("Windows-Environment-Dev")
|
||||
.IsDependentOn("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Package-Mono-Full-Framework")
|
||||
.IsDependentOn("Package-DotNetCore-macOS")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM32")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM64")
|
||||
.IsDependentOn("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Release-Notes")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Windows-Environment Task Completed");
|
||||
});
|
||||
|
||||
private void RunCygwinCommand(string utility, string utilityArguments)
|
||||
Task("Windows-Environment-Appveyor")
|
||||
.IsDependentOn("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Package-Mono-Full-Framework")
|
||||
.IsDependentOn("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Release-Notes")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Windows-Environment Task Completed");
|
||||
});
|
||||
|
||||
Task("Linux-Environment")
|
||||
.IsDependentOn("Package-DotNetCore-macOS")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM32")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM64")
|
||||
.IsDependentOn("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Release-Notes")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Linux-Environment Task Completed");
|
||||
});
|
||||
|
||||
|
||||
private void RunMsysCommand(string utility, string utilityArguments)
|
||||
{
|
||||
var cygwinDir = @"C:\cygwin\bin\";
|
||||
var utilityProcess = cygwinDir + utility + ".exe";
|
||||
var msysDir = @"C:\msys64\usr\bin\";
|
||||
var utilityProcess = msysDir + utility + ".exe";
|
||||
|
||||
Information("CygWin Utility: " + utility);
|
||||
Information("CygWin Directory: " + cygwinDir);
|
||||
Information("MSYS2 Utility: " + utility);
|
||||
Information("MSYS2 Directory: " + msysDir);
|
||||
Information("Utility Location: " + utilityProcess);
|
||||
Information("Utility Arguments: " + utilityArguments);
|
||||
|
||||
@@ -255,7 +349,7 @@ private void RunCygwinCommand(string utility, string utilityArguments)
|
||||
utilityProcess,
|
||||
new ProcessSettings {
|
||||
Arguments = utilityArguments,
|
||||
WorkingDirectory = cygwinDir,
|
||||
WorkingDirectory = msysDir,
|
||||
RedirectStandardOutput = true
|
||||
},
|
||||
out redirectedStandardOutput,
|
||||
@@ -276,36 +370,124 @@ private void RunCygwinCommand(string utility, string utilityArguments)
|
||||
Information(utility + " Exit code: {0}", exitCodeWithArgument);
|
||||
}
|
||||
|
||||
private string RelativeWinPathToCygPath(string relativePath)
|
||||
private string RelativeWinPathToFullPath(string relativePath)
|
||||
{
|
||||
var cygdriveBase = "/cygdrive/" + workingDir.ToString().Replace(":", "").Replace("\\", "/");
|
||||
var cygPath = cygdriveBase + relativePath.TrimStart('.');
|
||||
return cygPath;
|
||||
return (workingDir + relativePath.TrimStart('.'));
|
||||
}
|
||||
|
||||
private void RunLinuxCommand(string file, string arg)
|
||||
{
|
||||
var startInfo = new System.Diagnostics.ProcessStartInfo()
|
||||
{
|
||||
Arguments = arg,
|
||||
FileName = file,
|
||||
UseShellExecute = true
|
||||
};
|
||||
|
||||
var process = System.Diagnostics.Process.Start(startInfo);
|
||||
process.WaitForExit();
|
||||
}
|
||||
|
||||
private void Gzip(string sourceFolder, string outputDirectory, string tarCdirectoryOption, string outputFileName)
|
||||
{
|
||||
var cygSourcePath = RelativeWinPathToCygPath(sourceFolder);
|
||||
var tarFileName = outputFileName.Remove(outputFileName.Length - 3, 3);
|
||||
var tarArguments = @"-cvf " + cygSourcePath + "/" + tarFileName + " -C " + cygSourcePath + $" {tarCdirectoryOption} --mode ='755'";
|
||||
var gzipArguments = @"-k " + cygSourcePath + "/" + tarFileName;
|
||||
|
||||
if (IsRunningOnWindows())
|
||||
{
|
||||
var fullSourcePath = RelativeWinPathToFullPath(sourceFolder);
|
||||
var tarArguments = @"--force-local -cvf " + fullSourcePath + "/" + tarFileName + " -C " + fullSourcePath + $" {tarCdirectoryOption} --mode ='755'";
|
||||
var gzipArguments = @"-k " + fullSourcePath + "/" + tarFileName;
|
||||
|
||||
RunCygwinCommand("Tar", tarArguments);
|
||||
RunCygwinCommand("Gzip", gzipArguments);
|
||||
RunMsysCommand("tar", tarArguments);
|
||||
RunMsysCommand("gzip", gzipArguments);
|
||||
MoveFile($"{sourceFolder}/{tarFileName}.gz", $"{outputDirectory}/{tarFileName}.gz");
|
||||
}
|
||||
else
|
||||
{
|
||||
RunLinuxCommand("find", MakeAbsolute(Directory(sourceFolder)) + @" -type d -exec chmod 755 {} \;");
|
||||
RunLinuxCommand("find", MakeAbsolute(Directory(sourceFolder)) + @" -type f -exec chmod 644 {} \;");
|
||||
RunLinuxCommand("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))}/Jackett/jackett");
|
||||
RunLinuxCommand("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))}/Jackett/JackettUpdater");
|
||||
|
||||
MoveFile($"{sourceFolder}/{tarFileName}.gz", $"{outputDirectory}/{tarFileName}.gz");
|
||||
string macOsServiceScript = MakeAbsolute(Directory(sourceFolder)) + "/Jackett/install_service_macos";
|
||||
if (FileExists(macOsServiceScript))
|
||||
{
|
||||
RunLinuxCommand("chmod", $"755 {macOsServiceScript}");
|
||||
}
|
||||
|
||||
string systemdMonoScript = MakeAbsolute(Directory(sourceFolder)) + "/Jackett/install_service_systemd_mono.sh";
|
||||
if (FileExists(systemdMonoScript))
|
||||
{
|
||||
RunLinuxCommand("chmod", $"755 {systemdMonoScript}");
|
||||
}
|
||||
|
||||
string systemdScript = MakeAbsolute(Directory(sourceFolder)) + "/Jackett/install_service_systemd.sh";
|
||||
if (FileExists(systemdScript))
|
||||
{
|
||||
RunLinuxCommand("chmod", $"755 {systemdScript}");
|
||||
}
|
||||
|
||||
string launcherScript = MakeAbsolute(Directory(sourceFolder)) + "/Jackett/jackett_launcher.sh";
|
||||
if (FileExists(launcherScript))
|
||||
{
|
||||
RunLinuxCommand("chmod", $"755 {launcherScript}");
|
||||
}
|
||||
|
||||
RunLinuxCommand("tar", $"-C {sourceFolder} -zcvf {outputDirectory}/{tarFileName}.gz {tarCdirectoryOption}");
|
||||
}
|
||||
}
|
||||
|
||||
private void DotNetCorePublish(string projectPath, string framework, string runtime)
|
||||
private void InstallMsysTar()
|
||||
{
|
||||
var settings = new DotNetCorePublishSettings
|
||||
{
|
||||
Framework = framework,
|
||||
Runtime = runtime,
|
||||
OutputDirectory = $"./BuildOutput/Experimental/{framework}/{runtime}/Jackett"
|
||||
};
|
||||
//Gzip is included by default with MSYS2, but not tar. Use the package manager to install tar
|
||||
|
||||
DotNetCorePublish(projectPath, settings);
|
||||
var startInfo = new System.Diagnostics.ProcessStartInfo()
|
||||
{
|
||||
Arguments = "-S --noconfirm tar",
|
||||
FileName = @"C:\msys64\usr\bin\pacman.exe",
|
||||
UseShellExecute = false
|
||||
};
|
||||
|
||||
var process = System.Diagnostics.Process.Start(startInfo);
|
||||
process.WaitForExit();
|
||||
|
||||
if (FileExists(@"C:\msys64\usr\bin\tar.exe") && FileExists(@"C:\msys64\usr\bin\gzip.exe"))
|
||||
{
|
||||
Information("tar.exe and gzip.exe were found");
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("tar.exe and gzip.exe were NOT found");
|
||||
}
|
||||
}
|
||||
|
||||
private void DotNetCorePublish(string projectPath, string framework, string runtime, string outputPath)
|
||||
{
|
||||
bool publishSingleFile = false;
|
||||
|
||||
if (publishSingleFile && framework != "net461")
|
||||
{
|
||||
var settings = new DotNetCorePublishSettings
|
||||
{
|
||||
Framework = framework,
|
||||
Runtime = runtime,
|
||||
OutputDirectory = outputPath,
|
||||
ArgumentCustomization = args=>args.Append("/p:PublishSingleFile=true")
|
||||
};
|
||||
|
||||
DotNetCorePublish(projectPath, settings);
|
||||
}
|
||||
else
|
||||
{
|
||||
var settings = new DotNetCorePublishSettings
|
||||
{
|
||||
Framework = framework,
|
||||
Runtime = runtime,
|
||||
OutputDirectory = outputPath
|
||||
};
|
||||
|
||||
DotNetCorePublish(projectPath, settings);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
@@ -313,12 +495,26 @@ private void DotNetCorePublish(string projectPath, string framework, string runt
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
Task("Default")
|
||||
.IsDependentOn("Release-Notes")
|
||||
.IsDependentOn("Windows-Environment-Dev")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Default Task Completed");
|
||||
});
|
||||
|
||||
Task("Windows-Appveyor")
|
||||
.IsDependentOn("Windows-Environment-Appveyor")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Windows Appveyor Task Completed");
|
||||
});
|
||||
|
||||
Task("Linux")
|
||||
.IsDependentOn("Linux-Environment")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Linux Task Completed");
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// EXECUTION
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
31
build.ps1
31
build.ps1
@@ -25,10 +25,6 @@ Specifies the amount of information to be displayed.
|
||||
Shows description about tasks.
|
||||
.PARAMETER DryRun
|
||||
Performs a dry run.
|
||||
.PARAMETER Experimental
|
||||
Uses the nightly builds of the Roslyn script engine.
|
||||
.PARAMETER Mono
|
||||
Uses the Mono Compiler rather than the Roslyn script engine.
|
||||
.PARAMETER SkipToolPackageRestore
|
||||
Skips restoring of packages.
|
||||
.PARAMETER ScriptArgs
|
||||
@@ -49,13 +45,25 @@ Param(
|
||||
[switch]$ShowDescription,
|
||||
[Alias("WhatIf", "Noop")]
|
||||
[switch]$DryRun,
|
||||
[switch]$Experimental,
|
||||
[switch]$Mono,
|
||||
[switch]$SkipToolPackageRestore,
|
||||
[Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)]
|
||||
[string[]]$ScriptArgs
|
||||
)
|
||||
|
||||
# Attempt to set highest encryption available for SecurityProtocol.
|
||||
# PowerShell will not set this by default (until maybe .NET 4.6.x). This
|
||||
# will typically produce a message for PowerShell v2 (just an info
|
||||
# message though)
|
||||
try {
|
||||
# Set TLS 1.2 (3072), then TLS 1.1 (768), then TLS 1.0 (192), finally SSL 3.0 (48)
|
||||
# Use integers because the enumeration values for TLS 1.2 and TLS 1.1 won't
|
||||
# exist in .NET 4.0, even though they are addressable if .NET 4.5+ is
|
||||
# installed (.NET 4.5 is an in-place upgrade).
|
||||
[System.Net.ServicePointManager]::SecurityProtocol = 3072 -bor 768 -bor 192 -bor 48
|
||||
} catch {
|
||||
Write-Output 'Unable to set PowerShell to use TLS 1.2 and TLS 1.1 due to old .NET Framework installed. If you see underlying connection closed or trust errors, you may need to upgrade to .NET Framework 4.5+ and PowerShell v3'
|
||||
}
|
||||
|
||||
[Reflection.Assembly]::LoadWithPartialName("System.Security") | Out-Null
|
||||
function MD5HashFile([string] $filePath)
|
||||
{
|
||||
@@ -85,7 +93,7 @@ function GetProxyEnabledWebClient
|
||||
{
|
||||
$wc = New-Object System.Net.WebClient
|
||||
$proxy = [System.Net.WebRequest]::GetSystemWebProxy()
|
||||
$proxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
|
||||
$proxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
|
||||
$wc.Proxy = $proxy
|
||||
return $wc
|
||||
}
|
||||
@@ -115,10 +123,11 @@ if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) {
|
||||
|
||||
# Make sure that packages.config exist.
|
||||
if (!(Test-Path $PACKAGES_CONFIG)) {
|
||||
Write-Verbose -Message "Downloading packages.config..."
|
||||
try {
|
||||
Write-Verbose -Message "Downloading packages.config..."
|
||||
try {
|
||||
$wc = GetProxyEnabledWebClient
|
||||
$wc.DownloadFile("https://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG) } catch {
|
||||
$wc.DownloadFile("https://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG)
|
||||
} catch {
|
||||
Throw "Could not download packages.config."
|
||||
}
|
||||
}
|
||||
@@ -225,8 +234,6 @@ if ($Configuration) { $cakeArguments += "-configuration=$Configuration" }
|
||||
if ($Verbosity) { $cakeArguments += "-verbosity=$Verbosity" }
|
||||
if ($ShowDescription) { $cakeArguments += "-showdescription" }
|
||||
if ($DryRun) { $cakeArguments += "-dryrun" }
|
||||
if ($Experimental) { $cakeArguments += "-experimental" }
|
||||
if ($Mono) { $cakeArguments += "-mono" }
|
||||
$cakeArguments += $ScriptArgs
|
||||
|
||||
# Start Cake
|
||||
|
||||
117
build.sh
Executable file
117
build.sh
Executable file
@@ -0,0 +1,117 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
##########################################################################
|
||||
# This is the Cake bootstrapper script for Linux and OS X.
|
||||
# This file was downloaded from https://github.com/cake-build/resources
|
||||
# Feel free to change this file to fit your needs.
|
||||
##########################################################################
|
||||
|
||||
# Define directories.
|
||||
SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
TOOLS_DIR=$SCRIPT_DIR/tools
|
||||
ADDINS_DIR=$TOOLS_DIR/Addins
|
||||
MODULES_DIR=$TOOLS_DIR/Modules
|
||||
NUGET_EXE=$TOOLS_DIR/nuget.exe
|
||||
CAKE_EXE=$TOOLS_DIR/Cake/Cake.exe
|
||||
PACKAGES_CONFIG=$TOOLS_DIR/packages.config
|
||||
PACKAGES_CONFIG_MD5=$TOOLS_DIR/packages.config.md5sum
|
||||
ADDINS_PACKAGES_CONFIG=$ADDINS_DIR/packages.config
|
||||
MODULES_PACKAGES_CONFIG=$MODULES_DIR/packages.config
|
||||
|
||||
# Define md5sum or md5 depending on Linux/OSX
|
||||
MD5_EXE=
|
||||
if [[ "$(uname -s)" == "Darwin" ]]; then
|
||||
MD5_EXE="md5 -r"
|
||||
else
|
||||
MD5_EXE="md5sum"
|
||||
fi
|
||||
|
||||
# Define default arguments.
|
||||
SCRIPT="build.cake"
|
||||
CAKE_ARGUMENTS=()
|
||||
|
||||
# Parse arguments.
|
||||
for i in "$@"; do
|
||||
case $1 in
|
||||
-s|--script) SCRIPT="$2"; shift ;;
|
||||
--) shift; CAKE_ARGUMENTS+=("$@"); break ;;
|
||||
*) CAKE_ARGUMENTS+=("$1") ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Make sure the tools folder exist.
|
||||
if [ ! -d "$TOOLS_DIR" ]; then
|
||||
mkdir "$TOOLS_DIR"
|
||||
fi
|
||||
|
||||
# Make sure that packages.config exist.
|
||||
if [ ! -f "$TOOLS_DIR/packages.config" ]; then
|
||||
echo "Downloading packages.config..."
|
||||
curl -Lsfo "$TOOLS_DIR/packages.config" https://cakebuild.net/download/bootstrapper/packages
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "An error occurred while downloading packages.config."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Download NuGet if it does not exist.
|
||||
if [ ! -f "$NUGET_EXE" ]; then
|
||||
echo "Downloading NuGet..."
|
||||
curl -Lsfo "$NUGET_EXE" https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "An error occurred while downloading nuget.exe."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Restore tools from NuGet.
|
||||
pushd "$TOOLS_DIR" >/dev/null
|
||||
if [ ! -f "$PACKAGES_CONFIG_MD5" ] || [ "$( cat "$PACKAGES_CONFIG_MD5" | sed 's/\r$//' )" != "$( $MD5_EXE "$PACKAGES_CONFIG" | awk '{ print $1 }' )" ]; then
|
||||
find . -type d ! -name . ! -name 'Cake.Bakery' | xargs rm -rf
|
||||
fi
|
||||
|
||||
mono "$NUGET_EXE" install -ExcludeVersion
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Could not restore NuGet tools."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
$MD5_EXE "$PACKAGES_CONFIG" | awk '{ print $1 }' >| "$PACKAGES_CONFIG_MD5"
|
||||
|
||||
popd >/dev/null
|
||||
|
||||
# Restore addins from NuGet.
|
||||
if [ -f "$ADDINS_PACKAGES_CONFIG" ]; then
|
||||
pushd "$ADDINS_DIR" >/dev/null
|
||||
|
||||
mono "$NUGET_EXE" install -ExcludeVersion
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Could not restore NuGet addins."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
fi
|
||||
|
||||
# Restore modules from NuGet.
|
||||
if [ -f "$MODULES_PACKAGES_CONFIG" ]; then
|
||||
pushd "$MODULES_DIR" >/dev/null
|
||||
|
||||
mono "$NUGET_EXE" install -ExcludeVersion
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Could not restore NuGet modules."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
fi
|
||||
|
||||
# Make sure that Cake has been installed.
|
||||
if [ ! -f "$CAKE_EXE" ]; then
|
||||
echo "Could not find Cake.exe at '$CAKE_EXE'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Start Cake
|
||||
exec mono "$CAKE_EXE" $SCRIPT "${CAKE_ARGUMENTS[@]}"
|
||||
@@ -12,16 +12,12 @@ launchctl remove org.user.Jackett
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Check if we're running from Jackett's directory
|
||||
if [ ! -f ./JackettConsole.exe ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
|
||||
if [ ! -f ./jackett ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate ./jackett - Is the script in the right directory?"
|
||||
exit 1
|
||||
fi
|
||||
jackettdir="$(pwd)"
|
||||
|
||||
# Check if mono is installed
|
||||
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
|
||||
monodir="$(dirname $(command -v mono))"
|
||||
|
||||
# Check that no other service called Jackett is already running
|
||||
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
|
||||
@@ -38,7 +34,7 @@ cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
|
||||
<key>EnvironmentVariables</key>
|
||||
<dict>
|
||||
<key>PATH</key>
|
||||
<string>/usr/bin:/bin:/usr/sbin:/sbin:${monodir}</string>
|
||||
<string>/usr/bin:/bin:/usr/sbin:/sbin</string>
|
||||
</dict>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
@@ -46,9 +42,7 @@ cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
|
||||
<string>org.user.Jackett</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>${monodir}/mono</string>
|
||||
<string>--debug</string>
|
||||
<string>JackettConsole.exe</string>
|
||||
<string>${jackettdir}/jackett</string>
|
||||
<string>--NoRestart</string>
|
||||
</array>
|
||||
<key>RunAtLoad</key>
|
||||
@@ -70,7 +64,6 @@ else
|
||||
cat << EOL
|
||||
${BOLDRED}ERROR${NC}: Could not launch agent. The installation might have failed.
|
||||
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
|
||||
Mono directory: \`${monodir}\`
|
||||
Jackett directory: \`${jackettdir}\`
|
||||
|
||||
EOL
|
||||
|
||||
@@ -13,23 +13,19 @@ systemctl stop ${jackettservice}
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Check if we're running from Jackett's directory
|
||||
if [ ! -f ./JackettConsole.exe ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
|
||||
if [ ! -f ./jackett ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate jackett. Is the script in the right directory?"
|
||||
exit 1
|
||||
fi
|
||||
jackettdir="$(pwd)"
|
||||
|
||||
# Check if Jackett's owner is root
|
||||
jackettuser="$(stat -c "%U" ./JackettConsole.exe)"
|
||||
jackettuser="$(stat -c "%U" ./jackett)"
|
||||
if [ "${jackettuser}" == "root" ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett shouldn't run as root. Please, change the owner of the Jackett directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if mono is installed
|
||||
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
|
||||
monodir="$(dirname $(command -v mono))"
|
||||
|
||||
# Check that no other service called Jackett is already running
|
||||
if [[ $(systemctl status ${jackettservice} | grep "active (running)") ]]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
|
||||
@@ -50,7 +46,7 @@ Type=simple
|
||||
User=${jackettuser}
|
||||
Group=${jackettuser}
|
||||
WorkingDirectory=${jackettdir}
|
||||
ExecStart=${monodir}/mono --debug ${jackettdir}/JackettConsole.exe --NoRestart
|
||||
ExecStart=${jackettdir}/jackett_launcher.sh
|
||||
TimeoutStopSec=20
|
||||
|
||||
[Install]
|
||||
@@ -61,6 +57,9 @@ EOL
|
||||
# Reload systemd daemon
|
||||
systemctl daemon-reload
|
||||
|
||||
# Enable the service for following restarts
|
||||
systemctl enable ${jackettservice}
|
||||
|
||||
# Run the service
|
||||
systemctl start ${jackettservice}
|
||||
|
||||
@@ -71,7 +70,6 @@ else
|
||||
cat << EOL
|
||||
${BOLDRED}ERROR${NC}: Could not launch service. The installation might have failed.
|
||||
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
|
||||
Mono directory: \`${monodir}\`
|
||||
Jackett directory: \`${jackettdir}\`
|
||||
Jackett user: \`${jackettuser}\`
|
||||
|
||||
|
||||
82
install_service_systemd_mono.sh
Executable file
82
install_service_systemd_mono.sh
Executable file
@@ -0,0 +1,82 @@
|
||||
#!/bin/bash
|
||||
|
||||
#Setting up colors
|
||||
BOLDRED="$(printf '\033[1;31m')"
|
||||
BOLDGREEN="$(printf '\033[1;32m')"
|
||||
NC="$(printf '\033[0m')" # No Color
|
||||
|
||||
# Stop and unload the service if it's running
|
||||
jackettservice="jackett.service"
|
||||
systemctl stop ${jackettservice}
|
||||
|
||||
# Move working directory to Jackett's
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Check if we're running from Jackett's directory
|
||||
if [ ! -f ./JackettConsole.exe ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
|
||||
exit 1
|
||||
fi
|
||||
jackettdir="$(pwd)"
|
||||
|
||||
# Check if Jackett's owner is root
|
||||
jackettuser="$(stat -c "%U" ./JackettConsole.exe)"
|
||||
if [ "${jackettuser}" == "root" ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett shouldn't run as root. Please, change the owner of the Jackett directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if mono is installed
|
||||
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
|
||||
monodir="$(dirname $(command -v mono))"
|
||||
|
||||
# Check that no other service called Jackett is already running
|
||||
if [[ $(systemctl status ${jackettservice} | grep "active (running)") ]]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Write the systemd service descriptor
|
||||
cat >"/etc/systemd/system/${jackettservice}" <<EOL
|
||||
[Unit]
|
||||
Description=Jackett Daemon
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
SyslogIdentifier=jackett
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
Type=simple
|
||||
User=${jackettuser}
|
||||
Group=${jackettuser}
|
||||
WorkingDirectory=${jackettdir}
|
||||
ExecStart=${monodir}/mono --debug ${jackettdir}/JackettConsole.exe --NoRestart
|
||||
TimeoutStopSec=20
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
EOL
|
||||
|
||||
# Reload systemd daemon
|
||||
systemctl daemon-reload
|
||||
|
||||
# Enable the service for following restarts
|
||||
systemctl enable ${jackettservice}
|
||||
|
||||
# Run the service
|
||||
systemctl start ${jackettservice}
|
||||
|
||||
# Check that it's running
|
||||
if [[ $(systemctl status ${jackettservice} | grep "active (running)") ]]; then
|
||||
echo "${BOLDGREEN}Agent successfully installed and launched!${NC}"
|
||||
else
|
||||
cat << EOL
|
||||
${BOLDRED}ERROR${NC}: Could not launch service. The installation might have failed.
|
||||
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
|
||||
Mono directory: \`${monodir}\`
|
||||
Jackett directory: \`${jackettdir}\`
|
||||
Jackett user: \`${jackettuser}\`
|
||||
|
||||
EOL
|
||||
fi
|
||||
18
jackett_launcher.sh
Executable file
18
jackett_launcher.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Helper script to fix
|
||||
# https://github.com/Jackett/Jackett/issues/5208#issuecomment-547565515
|
||||
|
||||
# Get full Jackett root path
|
||||
JACKETT_DIR="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
# Launch Jackett
|
||||
${JACKETT_DIR}/jackett --NoRestart
|
||||
|
||||
# Get user running the service
|
||||
JACKETT_USER=$(whoami)
|
||||
|
||||
# Wait until the updater ends
|
||||
while pgrep -u ${JACKETT_USER} JackettUpdater > /dev/null; do
|
||||
sleep 1
|
||||
done
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>netstandard2.0;net452</TargetFrameworks>
|
||||
<TargetFrameworks>netstandard2.0</TargetFrameworks>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 8.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 60 KiB |
@@ -270,6 +270,11 @@ table td.fit{
|
||||
text-align: right;
|
||||
margin-right: 1em;
|
||||
}
|
||||
input#searchquery{
|
||||
|
||||
input#searchquery {
|
||||
width:400px;
|
||||
}
|
||||
|
||||
#proxy-warning {
|
||||
color: red;
|
||||
}
|
||||
|
||||
@@ -94,12 +94,17 @@ function loadJackettSettings() {
|
||||
$("#logoutBtn").show();
|
||||
}
|
||||
|
||||
if (data.can_run_netcore != null && data.can_run_netcore === true) {
|
||||
$("#can-upgrade-from-mono").show();
|
||||
}
|
||||
|
||||
$.each(data.notices, function (index, value) {
|
||||
console.log(value);
|
||||
doNotify(value, "danger", "glyphicon glyphicon-alert", false);
|
||||
})
|
||||
|
||||
reloadIndexers();
|
||||
proxyWarning(data.proxy_url);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -221,12 +226,12 @@ function displayUnconfiguredIndexersList() {
|
||||
doNotify("Configuration failed: " + data.error, "danger", "glyphicon glyphicon-alert");
|
||||
}
|
||||
}).fail(function (data) {
|
||||
if(data.responseJSON.error !== undefined) {
|
||||
doNotify("An error occured while configuring this indexer<br /><b>" + data.responseJSON.error + "</b><br /><i><a href=\"https://github.com/Jackett/Jackett/issues/new?title=[" + indexerId + "] " + data.responseJSON.error + " (Config)\" target=\"_blank\">Click here to open an issue on GitHub for this indexer.</a><i>", "danger", "glyphicon glyphicon-alert", false);
|
||||
} else {
|
||||
doNotify("An error occured while configuring this indexer, is Jackett server running ?", "danger", "glyphicon glyphicon-alert");
|
||||
}
|
||||
|
||||
if(data.responseJSON.error !== undefined) {
|
||||
var indexEnd = 2048 - "https://github.com/Jackett/Jackett/issues/new?title=[".length - indexerId.length - "] ".length - " (Config)".length; // keep url <= 2k #5104
|
||||
doNotify("An error occured while configuring this indexer<br /><b>" + data.responseJSON.error.substring(0, indexEnd) + "</b><br /><i><a href=\"https://github.com/Jackett/Jackett/issues/new?title=[" + indexerId + "] " + data.responseJSON.error.substring(0, indexEnd) + " (Config)\" target=\"_blank\">Click here to open an issue on GitHub for this indexer.</a><i>", "danger", "glyphicon glyphicon-alert", false);
|
||||
} else {
|
||||
doNotify("An error occured while configuring this indexer, is Jackett server running ?", "danger", "glyphicon glyphicon-alert");
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -443,12 +448,13 @@ function testIndexer(id, notifyResult) {
|
||||
doNotify("Test failed for " + id + ": \n" + data.error, "danger", "glyphicon glyphicon-alert");
|
||||
}
|
||||
}).fail(function (data) {
|
||||
updateTestState(id, "error", data.error, indexers);
|
||||
if(data.responseJSON.error !== undefined && notifyResult) {
|
||||
doNotify("An error occured while testing this indexer<br /><b>" + data.responseJSON.error + "</b><br /><i><a href=\"https://github.com/Jackett/Jackett/issues/new?title=[" + id + "] " + data.responseJSON.error + " (Test)\" target=\"_blank\">Click here to open an issue on GitHub for this indexer.</a><i>", "danger", "glyphicon glyphicon-alert", false);
|
||||
} else {
|
||||
doNotify("An error occured while testing indexers, please take a look at indexers with failed test for more informations.", "danger", "glyphicon glyphicon-alert");
|
||||
}
|
||||
updateTestState(id, "error", data.error, indexers);
|
||||
if(data.responseJSON.error !== undefined && notifyResult) {
|
||||
var indexEnd = 2048 - "https://github.com/Jackett/Jackett/issues/new?title=[".length - id.length - "] ".length - " (Test)".length; // keep url <= 2k #5104
|
||||
doNotify("An error occured while testing this indexer<br /><b>" + data.responseJSON.error.substring(0, indexEnd) + "</b><br /><i><a href=\"https://github.com/Jackett/Jackett/issues/new?title=[" + id + "] " + data.responseJSON.error.substring(0, indexEnd) + " (Test)\" target=\"_blank\">Click here to open an issue on GitHub for this indexer.</a><i>", "danger", "glyphicon glyphicon-alert", false);
|
||||
} else {
|
||||
doNotify("An error occured while testing indexers, please take a look at indexers with failed test for more informations.", "danger", "glyphicon glyphicon-alert");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -650,11 +656,12 @@ function populateSetupForm(indexerId, name, config, caps, link, alternativesitel
|
||||
doNotify("Configuration failed: " + data.error, "danger", "glyphicon glyphicon-alert");
|
||||
}
|
||||
}).fail(function (data) {
|
||||
if(data.responseJSON.error !== undefined) {
|
||||
doNotify("An error occured while updating this indexer<br /><b>" + data.responseJSON.error + "</b><br /><i><a href=\"https://github.com/Jackett/Jackett/issues/new?title=[" + indexerId + "] " + data.responseJSON.error + " (Config)\" target=\"_blank\">Click here to open an issue on GitHub for this indexer.</a><i>", "danger", "glyphicon glyphicon-alert", false);
|
||||
} else {
|
||||
doNotify("An error occured while updating this indexer, request to Jackett server failed, is server running ?", "danger", "glyphicon glyphicon-alert");
|
||||
}
|
||||
if(data.responseJSON.error !== undefined) {
|
||||
var indexEnd = 2048 - "https://github.com/Jackett/Jackett/issues/new?title=[".length - indexerId.length - "] ".length - " (Config)".length; // keep url <= 2k #5104
|
||||
doNotify("An error occured while updating this indexer<br /><b>" + data.responseJSON.error.substring(0, indexEnd) + "</b><br /><i><a href=\"https://github.com/Jackett/Jackett/issues/new?title=[" + indexerId + "] " + data.responseJSON.error.substring(0, indexEnd) + " (Config)\" target=\"_blank\">Click here to open an issue on GitHub for this indexer.</a><i>", "danger", "glyphicon glyphicon-alert", false);
|
||||
} else {
|
||||
doNotify("An error occured while updating this indexer, request to Jackett server failed, is server running ?", "danger", "glyphicon glyphicon-alert");
|
||||
}
|
||||
}).always(function () {
|
||||
$goButton.html(originalBtnText);
|
||||
$goButton.prop('disabled', false);
|
||||
@@ -731,7 +738,7 @@ function updateReleasesRow(row)
|
||||
labels.empty();
|
||||
|
||||
if (IMDBId) {
|
||||
labels.append('\n<a href="http://www.imdb.com/title/tt' + ("000000" + IMDBId).slice(-7) + '/" class="label label-imdb" alt="IMDB" title="IMDB">IMDB</a>');
|
||||
labels.append('\n<a href="http://www.imdb.com/title/tt' + ("0000000" + IMDBId).slice(-8) + '/" class="label label-imdb" alt="IMDB" title="IMDB">IMDB</a>');
|
||||
}
|
||||
|
||||
if (!isNaN(DownloadVolumeFactor)) {
|
||||
@@ -1221,4 +1228,18 @@ function bindUIButtons() {
|
||||
doNotify("Request to Jackett server failed", "danger", "glyphicon glyphicon-alert");
|
||||
});
|
||||
});
|
||||
|
||||
$('#jackett-proxy-url').on('input', function () {
|
||||
proxyWarning($(this).val());
|
||||
});
|
||||
}
|
||||
|
||||
function proxyWarning(input) {
|
||||
if (input != null && input.trim() !== "") {
|
||||
$('#proxy-warning').show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#proxy-warning').hide();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -281,6 +281,10 @@ div#jackett-releases-datatable_wrapper {
|
||||
width: 100%;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
input#searchquery{
|
||||
input#searchquery {
|
||||
width:50%;
|
||||
}
|
||||
|
||||
#proxy-warning {
|
||||
color: red;
|
||||
}
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="../apple-touch-icon-76x76.png" />
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="../apple-touch-icon-114x114.png" />
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="../apple-touch-icon-120x120.png" />
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="../apple-touch-icon-144x144" />
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="../apple-touch-icon-144x144.png" />
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="../apple-touch-icon-152x152.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon-180x180.png" />
|
||||
<link rel="mask-icon" href="jackett_medium.png" color="#35c5f4">
|
||||
<link rel="mask-icon" href="../jackett_medium.png" color="#35c5f4">
|
||||
<link rel="icon" type="image/ico" href="../favicon.ico" />
|
||||
<link rel='shortcut icon' type='image/x-icon' href='../favicon.ico' />
|
||||
<script type="text/javascript" src="../libs/filesize.min.js?changed=2017083001"></script>
|
||||
@@ -34,8 +34,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="../custom.css?changed=2017083001" media="only screen and (min-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=2017083001" media="only screen and (max-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom.css?changed=20190401" media="only screen and (min-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=20190401" 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">
|
||||
@@ -51,6 +51,14 @@
|
||||
<input id="api-key-input" class="form-control input-right" type="text" value="" placeholder="API Key" readonly="">
|
||||
</div>
|
||||
<hr />
|
||||
|
||||
<div id="can-upgrade-from-mono" hidden class="alert alert-info" role="alert">
|
||||
<strong>Standalone version of Jackett is now available - Mono not required</strong> <br>
|
||||
To upgrade to the standalone version of Jackett, <a href="https://github.com/Jackett/Jackett#install-on-linux-amdx64" target="_blank" class="alert-link">click here</a> for install instructions.
|
||||
Upgrading is straight forward, simply install the standalone version and your indexers/configuration will carry over.
|
||||
Benefits include: increased performance, improved stability and no dependency on Mono.
|
||||
</div>
|
||||
|
||||
<div class="pull-right">
|
||||
<button id="jackett-add-indexer" class="btn btn-success btn-sm">
|
||||
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add indexer
|
||||
@@ -87,8 +95,10 @@
|
||||
<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>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).</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).
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
<hr />
|
||||
@@ -138,6 +148,11 @@
|
||||
<option value="2">socks5</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="proxy-warning" hidden>
|
||||
<span>
|
||||
WARNING: The proxy option potentially leaks requests. Recommendation is to use a VPN.
|
||||
</span>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<span class="input-header">Proxy url: </span>
|
||||
<input id="jackett-proxy-url" class="form-control input-right" type="text" value="" placeholder="Blank to disable">
|
||||
@@ -663,6 +678,6 @@
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="../libs/api.js?changed=2017083001"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=20180711"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=20190427"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
185
src/Jackett.Common/Definitions/0daykiev.yml
Normal file
185
src/Jackett.Common/Definitions/0daykiev.yml
Normal file
@@ -0,0 +1,185 @@
|
||||
---
|
||||
site: 0daykiev
|
||||
name: 0day.kiev
|
||||
description: "0day.kiev.ua is a RUSSIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: ru-ru
|
||||
type: private
|
||||
encoding: windows-1251
|
||||
links:
|
||||
- https://tracker.0day.kiev.ua/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 10, cat: Movies, desc: "Фильмы (Movies)"}
|
||||
- {id: 11, cat: TV, desc: "Мультфильмы (Cartoons)"}
|
||||
- {id: 29, cat: TV, desc: "Мультсериалы (TV Series)"}
|
||||
- {id: 34, cat: TV/Anime, desc: "Аниме (Anime)"}
|
||||
- {id: 20, cat: TV/Documentary, desc: "Документальное (Documentary)"}
|
||||
- {id: 14, cat: Audio, desc: "Музыка / Аудио (Music / Audio)"}
|
||||
- {id: 15, cat: Audio/Video, desc: "Музыка / Видео (Music / Video)"}
|
||||
- {id: 16, cat: Movies/HD, desc: "HD / Фильмы (HD / Movies)"}
|
||||
- {id: 27, cat: TV/HD, desc: "HD / Мультфильмы (HD / Cartoons)"}
|
||||
- {id: 28, cat: TV/HD, desc: "HD / Документальное (HD / Documentary)"}
|
||||
- {id: 41, cat: Movies/3D, desc: "HD / 3D видео (HD / 3D video)"}
|
||||
- {id: 47, cat: Movies, desc: "HDv 0day Team"}
|
||||
- {id: 17, cat: PC/Games, desc: "Игры / ПК (Games / PC)"}
|
||||
- {id: 25, cat: Console/Xbox 360, desc: "Игры / XBOX360 (Games / XBOX360)"}
|
||||
- {id: 33, cat: Console/PSP, desc: "Игры / PSP - PS2 (Games / PSP - PS2)"}
|
||||
- {id: 37, cat: Console/PS3, desc: "Игры / PS3 (Games / PS3)"}
|
||||
- {id: 18, cat: PC/0day, desc: "Софт / Windows (Software / Windows)"}
|
||||
- {id: 39, cat: PC/Mac, desc: "Mac OS (Софт / Игры) (Mac OS (Software / Games))"}
|
||||
- {id: 19, cat: TV, desc: "TV / Сериалы (TV shows)"}
|
||||
- {id: 30, cat: TV/HD, desc: "HD / Сериалы (HD / TV Shows)"}
|
||||
- {id: 23, cat: TV, desc: "TV / Передачи (TV / Broadcasts)"}
|
||||
- {id: 22, cat: TV/Sport, desc: "Спорт (Sports)"}
|
||||
- {id: 31, cat: Other, desc: "Прочее (Other)"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: striprussian
|
||||
type: checkbox
|
||||
label: Strip Russian Letters
|
||||
default: true
|
||||
- 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"
|
||||
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
returnto: "/browse.php"
|
||||
error:
|
||||
- selector: div.maintitle:contains("Ошибка")
|
||||
message:
|
||||
selector: div.borderwrap table.embedded
|
||||
test:
|
||||
path: browse.php
|
||||
selector: a[href="/logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://tracker.0day.kiev.ua/browse.php?c10=1&c27=1&search=endgame&incldead=1&where=0
|
||||
- path: browse.php
|
||||
keywordsfilters:
|
||||
- name: diacritics
|
||||
args: replace
|
||||
- name: re_replace # S01 to Cезон 1
|
||||
args: ["(?i)\\bS0*(\\d+)\\b", "езон $1"]
|
||||
- name: re_replace # S01E01 to Сезон 1 Серии 1
|
||||
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "езон $1 ерии $2"]
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active 1 incldead 2 onlydead 3 gold 4 noseed 5 silver
|
||||
incldead: 1
|
||||
# 0 title 1 title and descr
|
||||
where: 0
|
||||
sort: "{{ .Config.sort}}"
|
||||
type: "{{ .Config.type}}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr.rowtorrentinfo
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
filters:
|
||||
# normalize to SXXEYY format
|
||||
- name: re_replace
|
||||
args: ["[\\:\\-\\/\\|]", " "]
|
||||
- name: replace
|
||||
args: ["Кураж Бамбей", "kurazh"]
|
||||
- name: replace
|
||||
args: ["Кубик в Кубе", "Kubik"]
|
||||
- name: replace
|
||||
args: ["Кравец", "Kravec"]
|
||||
- name: re_replace
|
||||
args: ["(.*)\\([CСcс]езон\\s+(\\d+)\\)\\s+[CСcс]ери[ия]\\s+(\\d+)\\s+(\\d+)(.*)", "$1 S$2E$3-$4 rus $5"]
|
||||
- name: re_replace
|
||||
args: ["(.*)\\([CСcс]езон\\s+(\\d+)\\)(.*)", "$1 S$2 rus $3"]
|
||||
- name: re_replace
|
||||
args: ["(\\([А-Яа-яЁё\\W]+\\))|(^[А-Яа-яЁё\\W\\d]+\\/ )|([а-яА-ЯЁё \\-]+,+)|([а-яА-ЯЁё]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
|
||||
- name: replace
|
||||
args: ["WEB DL", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["WEBDLRip", "WEBDL"]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(2) i
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05"
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
- name: replace
|
||||
args: ["ТБ", "TB"]
|
||||
- name: replace
|
||||
args: ["ГБ", "GB"]
|
||||
- name: replace
|
||||
args: ["МБ", "MB"]
|
||||
- name: replace
|
||||
args: ["КБ", "KB"]
|
||||
grabs:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: split
|
||||
args: ["|", 0]
|
||||
leechers:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: split
|
||||
args: ["|", 1]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/freedownload.gif"]: 0
|
||||
img[src="pic/silverdownload.gif"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
@@ -6,7 +6,14 @@
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://1337x.to
|
||||
- https://1337x.to/
|
||||
- https://1337x.gd/
|
||||
- https://1337x.is/
|
||||
- https://1337x.st/
|
||||
- https://x1337x.ws/
|
||||
- https://x1337x.eu/
|
||||
- https://x1337x.se/
|
||||
- https://1337x.unblocked.earth/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -36,7 +43,6 @@
|
||||
- {id: 2, cat: Movies/SD, desc: "Movies/Divx/Xvid"}
|
||||
- {id: 3, cat: Movies, desc: "Movies/SVCD/VCD"}
|
||||
- {id: 4, cat: Movies/Foreign, desc: "Movies/Dubs/Dual Audio"}
|
||||
- {id: 9, cat: Movies, desc: "Documentaries/Documentary"}
|
||||
- {id: 42, cat: Movies/HD, desc: "Movies/HD"}
|
||||
- {id: 54, cat: Movies, desc: "Movies/h.264/x264"}
|
||||
- {id: 55, cat: Movies, desc: "Movies/Mp4"}
|
||||
@@ -53,6 +59,7 @@
|
||||
- {id: 71, cat: TV, desc: "TV/HEVC/x265"}
|
||||
- {id: 74, cat: TV, desc: "TV/Cartoons"}
|
||||
- {id: 75, cat: TV/SD, desc: "TV/SD"}
|
||||
- {id: 9, cat: TV/Documentary, desc: "TV/Documentary"}
|
||||
|
||||
#Apps
|
||||
- {id: 18, cat: PC, desc: "Apps/PC Software"}
|
||||
@@ -110,20 +117,41 @@
|
||||
default: "magnet:"
|
||||
options:
|
||||
"http://itorrents.org/" : "iTorrents.org"
|
||||
"http://torrage.info/" : "Torrage.info"
|
||||
"http://btcache.me/" : "BTcache.me"
|
||||
"magnet:": "magnet"
|
||||
- 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"
|
||||
|
||||
download:
|
||||
# the .torrent url is on the on the details page
|
||||
selector: ul li a[href^="{{ .Config.downloadlink }}"]
|
||||
filters:
|
||||
- name: replace # temp fix for #5372
|
||||
args: ["%E2%AD%90", ""]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# present trending results if there are no search parms supplied
|
||||
- path: "{{if .Keywords}}/search/{{ .Keywords}}/1/{{else}}/trending{{end}}"
|
||||
- path: "{{if .Keywords}}/search/{{ .Keywords}}/2/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}/search/{{ .Keywords}}/3/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}/search/{{ .Keywords}}/4/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}/search/{{ .Keywords}}/5/{{else}}{{end}}"
|
||||
# present first page of movies and tv results if there are no search parms supplied
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/{{ .Config.sort }}/{{ .Config.type }}/1/{{else}}cat/Movies/{{ .Config.sort }}/{{ .Config.type }}/1/{{end}}"
|
||||
- path: "{{if .Keywords}}{{else}}cat/TV/{{ .Config.sort }}/{{ .Config.type }}/1/{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/{{ .Config.sort }}/{{ .Config.type }}/2/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/{{ .Config.sort }}/{{ .Config.type }}/3/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/{{ .Config.sort }}/{{ .Config.type }}/4/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/{{ .Config.sort }}/{{ .Config.type }}/5/{{else}}{{end}}"
|
||||
keywordsfilters:
|
||||
- name: replace # use this as a workaround till #893 is implemented
|
||||
args: ["Greys Anatomy", "Grey's Anatomy"]
|
||||
@@ -135,6 +163,8 @@
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Grey's Anatomy", "Greys Anatomy"]
|
||||
- name: replace
|
||||
args: ["\u000f", ""] # get rid of unwanted character
|
||||
category:
|
||||
optional: true
|
||||
selector: td[class^="coll-1"] a[href^="/sub/"]
|
||||
@@ -184,7 +214,7 @@
|
||||
- name: dateparse
|
||||
args: "Jan. 2 06"
|
||||
date:
|
||||
# # (today) 12:25am
|
||||
# (today) 12:25am
|
||||
optional: true
|
||||
selector: td[class^="coll-date"]:contains(":")
|
||||
filters:
|
||||
@@ -197,6 +227,6 @@
|
||||
leechers:
|
||||
selector: td[class^="coll-3"]
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
text: 1
|
||||
|
||||
@@ -6,20 +6,19 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.2f4y.me/
|
||||
- https://2f4y.me/
|
||||
legacylinks:
|
||||
- http://www.2f4y.me/
|
||||
- https://www.2f4y.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 10, cat: TV/Anime, desc: "Animation: HD720P"}
|
||||
- {id: 11, cat: TV/Anime, desc: "Animation: HD1080P"}
|
||||
- {id: 56, cat: TV/Anime, desc: "Animation: DVDRip"}
|
||||
- {id: 13, cat: TV/Anime, desc: "Animation: DVD"}
|
||||
- {id: 18, cat: PC/0day, desc: "Applications: PC"}
|
||||
- {id: 16, cat: PC/Games, desc: "Applications: Jeux"}
|
||||
- {id: 19, cat: PC/Phone-Android, desc: "Applications: Android"}
|
||||
- {id: 38, cat: PC/Phone-IOS, desc: "Applications: Mobile Phone"}
|
||||
- {id: 17, cat: PC/0day, desc: "Applications: Autres"}
|
||||
- {id: 67, cat: TV, desc: "Autres: Emission TV"}
|
||||
- {id: 68, cat: TV/Sport, desc: "Autres: Sport"}
|
||||
@@ -34,6 +33,7 @@
|
||||
- {id: 53, cat: Books, desc: "E-Books: Livre Anglais"}
|
||||
- {id: 52, cat: Books, desc: "E-Books: Revue - Journaux"}
|
||||
- {id: 51, cat: Books, desc: "E-Books: BD"}
|
||||
- {id: 95, cat: Movies, desc: "Films: Film Divx XviD"}
|
||||
- {id: 66, cat: Movies, desc: "Films: VOSTFR"}
|
||||
- {id: 71, cat: Movies/WEBDL, desc: "Films: WEB-DL"}
|
||||
- {id: 65, cat: Movies, desc: "Films: VO"}
|
||||
@@ -49,19 +49,13 @@
|
||||
- {id: 92, cat: Movies/HD, desc: "Films: 4K"}
|
||||
- {id: 69, cat: Movies/3D, desc: "Films: Film 3D"}
|
||||
- {id: 3, cat: Movies/DVD, desc: "Films: DVDRIP"}
|
||||
- {id: 4, cat: Movies/DVD, desc: "Films: DVD5"}
|
||||
- {id: 5, cat: Movies/DVD, desc: "Films: DVD9"}
|
||||
- {id: 91, cat: Movies/HD, desc: "Films: RemuX"}
|
||||
- {id: 89, cat: Movies/HD, desc: "Films: BD/BR Rip"}
|
||||
- {id: 88, cat: Movies/BluRay, desc: "Films: Full BD/BR"}
|
||||
- {id: 77, cat: Other, desc: "GPS: Cartes"}
|
||||
- {id: 78, cat: Other, desc: "GPS: Radars"}
|
||||
- {id: 97, cat: Movies, desc: "Films: Cours Métrage"}
|
||||
- {id: 79, cat: TV/Anime, desc: "Mangas: HD"}
|
||||
- {id: 80, cat: TV/Anime, desc: "Mangas: HD VO"}
|
||||
- {id: 81, cat: TV/Anime, desc: "Mangas: HD VOSTFR"}
|
||||
- {id: 82, cat: TV/Anime, desc: "Mangas: DVDRIP"}
|
||||
- {id: 83, cat: TV/Anime, desc: "Mangas: DVDRIP VO"}
|
||||
- {id: 84, cat: TV/Anime, desc: "Mangas: DVDRIP VOSTFR"}
|
||||
- {id: 85, cat: TV/Anime, desc: "Mangas: Web-DL"}
|
||||
- {id: 86, cat: TV/Anime, desc: "Mangas: TV-RIP"}
|
||||
- {id: 75, cat: Audio, desc: "Musique: Concert TVRip"}
|
||||
@@ -70,6 +64,7 @@
|
||||
- {id: 22, cat: Audio/MP3, desc: "Musique: Album MP3"}
|
||||
- {id: 23, cat: Audio/Lossless, desc: "Musique: Album Flac"}
|
||||
- {id: 64, cat: Audio, desc: "Musique: Mégamix Maison"}
|
||||
- {id: 96, cat: Audio/MP3, desc: "Musique: PlayList MP3"}
|
||||
- {id: 94, cat: Audio, desc: "Musique: Podcast"}
|
||||
- {id: 58, cat: Audio, desc: "Musique: Concert"}
|
||||
- {id: 93, cat: TV, desc: "Serie TV: Saison VOSTFR"}
|
||||
@@ -80,10 +75,36 @@
|
||||
- {id: 73, cat: TV/WEB-DL, desc: "Serie TV: WEB-DL"}
|
||||
- {id: 7, cat: TV, desc: "Serie TV: Episode FR"}
|
||||
- {id: 6, cat: TV, desc: "Serie TV: Saison FR"}
|
||||
- {id: 98, cat: TV/Anime, desc: "Serie TV: Manga VOSTFR"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "id"
|
||||
options:
|
||||
"id": "created"
|
||||
"seeders": "seeders"
|
||||
"size": "size"
|
||||
"name": "title"
|
||||
- name: order
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
@@ -105,13 +126,27 @@
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: "1"
|
||||
# 0 active 1 incldead 2 onlydead
|
||||
incldead: 1
|
||||
# 0 all 1 notfree 2 onlyfree
|
||||
freeleech: 0
|
||||
# 0 any 1 French 2 English 3 Multi 4-8 32-41
|
||||
lang: 0
|
||||
sort: "{{ .Config.sort}}"
|
||||
order: "{{ .Config.order}}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["^$", "%"] # replace empty search string with %
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
download:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
@@ -123,12 +158,6 @@
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" - (Nouveau!)", ""]
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
@@ -138,13 +167,15 @@
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
date:
|
||||
text: now
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[title="freeleech"]: "0"
|
||||
"*": "1"
|
||||
img[title="freeleech"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
"*": 1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
site: 3dtorrents
|
||||
name: 3D Torrents
|
||||
description: "3D Movie tracker"
|
||||
description: "3D Torrents (3DT) is a Private Torrent Tracker for 3D HD / BLURAY MOVIES"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
||||
152
src/Jackett.Common/Definitions/3evils.yml
Normal file
152
src/Jackett.Common/Definitions/3evils.yml
Normal file
@@ -0,0 +1,152 @@
|
||||
---
|
||||
site: 3evils
|
||||
name: 3evils
|
||||
description: "3evils is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.3evils.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 65, cat: Books, desc: "Books"}
|
||||
- {id: 11, cat: Movies/UHD, desc: "Movies/Encodes 2160p"}
|
||||
- {id: 12, cat: Movies/UHD, desc: "Movies/Remux 2160p"}
|
||||
- {id: 13, cat: Movies/HD, desc: "Movies/Remux 1080p"}
|
||||
- {id: 14, cat: Movies, desc: "Movies/Packs"}
|
||||
- {id: 16, cat: Movies/HD, desc: "Movies/x264"}
|
||||
- {id: 17, cat: Movies/HD, desc: "Movies/X265"}
|
||||
- {id: 33, cat: Audio, desc: "Music/Audio"}
|
||||
- {id: 32, cat: Audio, desc: "Music/Packs"}
|
||||
- {id: 6, cat: TV, desc: "TV/Packs"}
|
||||
- {id: 3, cat: TV/HD, desc: "TV/x264"}
|
||||
- {id: 4, cat: TV/HD, desc: "TV/x265"}
|
||||
- {id: 8, cat: TV/SD, desc: "TV/Xvid"}
|
||||
- {id: 43, cat: PC/0day, desc: "Appz/Windows"}
|
||||
- {id: 42, cat: PC/Phone-Android, desc: "Appz/Android"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- 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"
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
submitme: "X"
|
||||
error:
|
||||
- selector: div.callout:contains("Login failed!")
|
||||
test:
|
||||
path: /
|
||||
selector: a[href*="/logout.php?hash_please="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.3evils.com/browse.php?search=black+lightning+s02e11&searchin=title&incldead=1
|
||||
# https://www.3evils.com/browse.php?c3=1&c4=1&search=&searchin=title&incldead=1
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{.Keywords}}"
|
||||
# title descr genre all
|
||||
searchin: title
|
||||
# 0 active 1 incldead 2 onlydead
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.responsive-card-table tr:has(td[data-label])
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
category:
|
||||
selector: td[data-label="Type"] a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: td[data-label="Name"] a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Tip\\('<b>(.*?)</b>"
|
||||
details:
|
||||
selector: td[data-label="Name"] a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td[data-label="Download"] a
|
||||
attribute: href
|
||||
banner:
|
||||
selector: td[data-label="Name"] a[onmouseover]
|
||||
attribute: onmouseover
|
||||
optional: true
|
||||
filters:
|
||||
# onmouseover="Tip('<b>blahblah /><img src=\'img.php/tvmaze/80.jpg\' blahblah />');"
|
||||
# <img src=\'./pic/noposter.png\'
|
||||
- name: regexp
|
||||
args: "src=\\\\\'(.+?)\\\\\'"
|
||||
- name: replace
|
||||
args: ["./pic/noposter.png", ""]
|
||||
size:
|
||||
selector: td[data-label="Size"]
|
||||
files:
|
||||
selector: td[data-label="Files"]
|
||||
grabs:
|
||||
selector: td[data-label="Snatched"]
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
# Today<br> 10:20 AM
|
||||
# Yesterday<br> 08:03 PM
|
||||
optional: true
|
||||
selector: td[data-label="Added"]:contains("day")
|
||||
date:
|
||||
# Feb 14 2019<br> 10:20 AM
|
||||
optional: true
|
||||
selector: td[data-label="Added"]:not(:contains("day"))
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM"
|
||||
seeders:
|
||||
selector: td[data-label="Seeders"]
|
||||
leechers:
|
||||
selector: td[data-label="Leechers"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="./pic/freedownload.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
@@ -1,110 +0,0 @@
|
||||
---
|
||||
site: 420files
|
||||
name: 420files
|
||||
description: "Tracker Movies/TV/Music"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://420.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
test:
|
||||
path: /torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sorting: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
|
||||
- name: re_replace
|
||||
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
143
src/Jackett.Common/Definitions/4thd.yml
Normal file
143
src/Jackett.Common/Definitions/4thd.yml
Normal file
@@ -0,0 +1,143 @@
|
||||
---
|
||||
site: 4thd
|
||||
name: 4thD
|
||||
description: "4th Dimension is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-us
|
||||
encoding: UTF-8
|
||||
type: private
|
||||
links:
|
||||
- https://4thd.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 38, cat: Movies, "Movie Pack"}
|
||||
- {id: 36, cat: Movies, "Movies/Classic Films"}
|
||||
- {id: 13, cat: Movies, "Movies/Documentary"}
|
||||
- {id: 21, cat: Movies/Foreign, "Movies/Foreign"}
|
||||
- {id: 27, cat: Movies/HD, "MoviesHD"}
|
||||
- {id: 29, cat: Movies/SD, "Movies/SD"}
|
||||
- {id: 26, cat: Movies/SD, "Movies/XviD"}
|
||||
- {id: 41, cat: TV/FOREIGN, "Foreign tv"}
|
||||
- {id: 40, cat: TV, "Mini-Series"}
|
||||
- {id: 43, cat: TV/HD, "TV H265"}
|
||||
- {id: 42, cat: TV, "TV Movie"}
|
||||
- {id: 4, cat: TV/HD, "TV/HD-x720"}
|
||||
- {id: 14, cat: TV, "TV/Packs"}
|
||||
- {id: 2, cat: TV/SD, "TV/SD MP4/mkv"}
|
||||
- {id: 31, cat: TV/SD, "TV/XviD"}
|
||||
- {id: 18, cat: PC/Games, "Games/PC"}
|
||||
- {id: 44, cat: Audio, "Music/Pack"}
|
||||
- {id: 12, cat: Audio/Lossless, "Music/FLAC"}
|
||||
- {id: 15, cat: Audio/MP3, "Music/MP3"}
|
||||
- {id: 37, cat: Audio, "Radio"}
|
||||
- {id: 9, cat: PC/0day, "Apps/PC"}
|
||||
- {id: 34, cat: Audio/Audiobook, "Audiobooks"}
|
||||
- {id: 25, cat: Books/Ebook, "eBooks"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- 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"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form#loginform
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
keeplogged: 1
|
||||
error:
|
||||
- selector: form#loginform .warning
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php?auth="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
# https://4thd.xyz/torrents.php?order_by=time&order_way=desc&filter_freeleech=1&title=twilight+zone&search_type=1&taglist=&tags_type=0
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
# 0 all 1 onlyfree
|
||||
filter_freeleech: 0
|
||||
title: "{{ .Keywords }}"
|
||||
search_type: 1
|
||||
taglist: ""
|
||||
tags_type: 0
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr.torrent
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td.cats_col div a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: \[(\d+)\]
|
||||
title:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
details:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description:
|
||||
selector: div.tags
|
||||
banner:
|
||||
selector: td:nth-child(2) script
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?)>"
|
||||
- name: re_replace
|
||||
args: ["\\\\", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Never", "99 years ago"]
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="/freedownload.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
@@ -6,88 +6,99 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bittorrentfiles.me/
|
||||
legacylinks:
|
||||
- https://www.Bittorrentfiles.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Movie
|
||||
- {id: 48, cat: Movies/HD, desc: "1080p"}
|
||||
- {id: 31, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 21, cat: Movies/HD, desc: "720p"}
|
||||
- {id: 28, cat: Movies/SD, desc: "AVI"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "DVD-R"}
|
||||
- {id: 40, cat: Movies/HD, desc: "h264/x264"}
|
||||
- {id: 30, cat: Movies/HD, desc: "HD/BD"}
|
||||
- {id: 49, cat: Movies/Foreign, desc: "International"}
|
||||
- {id: 78, cat: Movies/HD, desc: "UHD"}
|
||||
- {id: 48, cat: Movies/HD, desc: "Movie 1080p"}
|
||||
- {id: 31, cat: Movies/3D, desc: "Movie 3D"}
|
||||
- {id: 21, cat: Movies/HD, desc: "Movie 720p"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Movie AVI"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "Movie DVD-R"}
|
||||
- {id: 40, cat: Movies/HD, desc: Movie "h264/x264"}
|
||||
- {id: 30, cat: Movies/HD, desc: "Movie HD/BD"}
|
||||
- {id: 49, cat: Movies/Foreign, desc: "Movie International"}
|
||||
- {id: 78, cat: Movies/UHD, desc: "Movie UHD"}
|
||||
- {id: 85, cat: Movies/HD, desc: "Movie x265"}
|
||||
|
||||
# Serien
|
||||
- {id: 79, cat: TV/HD, desc: "Staffeln HD"}
|
||||
- {id: 56, cat: TV/SD, desc: "Staffeln SD"}
|
||||
- {id: 88, cat: TV/UHD, desc: "Staffeln UHD"}
|
||||
- {id: 86, cat: TV/HD, desc: "Folgen UHD"}
|
||||
- {id: 54, cat: TV/HD, desc: "Folgen HD"}
|
||||
- {id: 80, cat: TV/HD, desc: "Folgen HD/BD"}
|
||||
- {id: 7, cat: TV/SD, desc: "Folgen SD"}
|
||||
- {id: 55, cat: TV/Foreign, desc: "International"}
|
||||
- {id: 55, cat: TV/Foreign, desc: "Folgen International"}
|
||||
|
||||
# Doku
|
||||
- {id: 64, cat: TV/Documentary, desc: "HD"}
|
||||
- {id: 36, cat: TV/Documentary, desc: "SD"}
|
||||
- {id: 81, cat: TV/Documentary, desc: "3D"}
|
||||
- {id: 82, cat: TV/Documentary, desc: "Packs"}
|
||||
- {id: 91, cat: TV/Documentary, desc: "Doku UHD"}
|
||||
- {id: 64, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 36, cat: TV/Documentary, desc: "Doku SD"}
|
||||
- {id: 81, cat: TV/Documentary, desc: "Doku 3D"}
|
||||
- {id: 82, cat: TV/Documentary, desc: "Doku Packs"}
|
||||
|
||||
# Spiele
|
||||
- {id: 4, cat: PC/Games, desc: "Windows"}
|
||||
- {id: 72, cat: Console/XBox360, desc: "XBOX 360"}
|
||||
- {id: 44, cat: Console/XBoxOne, desc: "XBOX One"}
|
||||
- {id: 43, cat: Console/Wii, desc: "Wii"}
|
||||
- {id: 69, cat: Console, desc: "PS2"}
|
||||
- {id: 70, cat: Console/PS3, desc: "PS3"}
|
||||
- {id: 70, cat: Console/PS4, desc: "PS4"}
|
||||
- {id: 70, cat: Console/PSP, desc: "PSP"}
|
||||
- {id: 42, cat: Console/Other, desc: "Misc"}
|
||||
- {id: 4, cat: PC/Games, desc: "Spiele Windows"}
|
||||
- {id: 92, cat: PC/Mac, desc: "Spiele Mac"}
|
||||
- {id: 93, cat: PC, desc: "Spiele Linux"}
|
||||
- {id: 97, cat: Console/XBox, desc: "Spiele XBOX"}
|
||||
- {id: 94, cat: PC/Phone-Other, desc: "Spiele Mobile"}
|
||||
- {id: 95, cat: Console/NDS, desc: "Spiele Nintendo"}
|
||||
- {id: 96, cat: Console/PSP, desc: "Spiele Playstation"}
|
||||
- {id: 42, cat: Console/Other, desc: "Spiele Andere"}
|
||||
|
||||
# Musik
|
||||
- {id: 66, cat: Audio, desc: "Alben"}
|
||||
- {id: 75, cat: Audio, desc: "Singles"}
|
||||
- {id: 50, cat: Audio, desc: "Charts"}
|
||||
- {id: 52, cat: Audio, desc: "Packs"}
|
||||
- {id: 53, cat: Audio/Video, desc: "Video"}
|
||||
- {id: 61, cat: Audio/Video, desc: "DVD-R"}
|
||||
- {id: 83, cat: Audio, desc: "Flac"}
|
||||
- {id: 68, cat: Audio, desc: "Live"}
|
||||
- {id: 6, cat: Audio, desc: "Misc"}
|
||||
- {id: 51, cat: Audio, desc: "OST"}
|
||||
- {id: 67, cat: Audio, desc: "Sampler"}
|
||||
- {id: 66, cat: Audio, desc: "Musik Alben"}
|
||||
- {id: 75, cat: Audio, desc: "Musik Singles"}
|
||||
- {id: 50, cat: Audio, desc: "Musik Charts"}
|
||||
- {id: 52, cat: Audio, desc: "Musik Packs"}
|
||||
- {id: 53, cat: Audio/Video, desc: "Musik Video"}
|
||||
- {id: 61, cat: Audio/Video, desc: "Musik DVD-R"}
|
||||
- {id: 83, cat: Audio/Lossless, desc: "Musik Flac"}
|
||||
- {id: 68, cat: Audio, desc: "Musik Live"}
|
||||
- {id: 6, cat: Audio, desc: "Musik Misc"}
|
||||
- {id: 51, cat: Audio, desc: "Musik OST"}
|
||||
- {id: 67, cat: Audio, desc: "Musik Sampler"}
|
||||
|
||||
# App
|
||||
- {id: 22, cat: PC/0day, desc: "Windows"}
|
||||
- {id: 62, cat: PC/Mac, desc: "Mac OS"}
|
||||
- {id: 63, cat: PC/0day, desc: "Linux"}
|
||||
- {id: 34, cat: PC, desc: "Andere"}
|
||||
- {id: 98, cat: PC/0day, desc: "App Windows"}
|
||||
- {id: 62, cat: PC/Mac, desc: "App Mac OS"}
|
||||
- {id: 63, cat: PC/0day, desc: "App Linux"}
|
||||
- {id: 34, cat: PC, desc: "App Andere"}
|
||||
|
||||
# Sport
|
||||
- {id: 74, cat: TV/Sport, desc: "HD"}
|
||||
- {id: 39, cat: TV/Sport, desc: "SD"}
|
||||
- {id: 74, cat: TV/Sport, desc: "Sport HD"}
|
||||
- {id: 39, cat: TV/Sport, desc: "Sport SD"}
|
||||
|
||||
# Sonstiges
|
||||
- {id: 41, cat: Books/Comics, desc: "A-Book"}
|
||||
- {id: 33, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 35, cat: Books, desc: "e-Book"}
|
||||
- {id: 65, cat: Other, desc: "E-Learning"}
|
||||
- {id: 65, cat: PC, desc: "Mobile"}
|
||||
- {id: 9, cat: Other, desc: "Other"}
|
||||
- {id: 41, cat: Books/Comics, desc: "Sonstiges A-Book"}
|
||||
- {id: 33, cat: TV/Anime, desc: "Sonstiges Anime"}
|
||||
- {id: 35, cat: Books/Ebook, desc: "Sonstiges e-Book-DE"}
|
||||
- {id: 90, cat: Books/Ebook, desc: "Sonstiges e-Book-INT"}
|
||||
- {id: 65, cat: Other, desc: "Sonstiges E-Learning"}
|
||||
- {id: 37, cat: PC, desc: "Sonstiges Mobile"}
|
||||
- {id: 87, cat: Books/Magazines, desc: "Sonstiges E-Paper"}
|
||||
- {id: 38, cat: Other, desc: "Sonstiges Kids"}
|
||||
- {id: 47, cat: Other, desc: "Sonstiges Line"}
|
||||
- {id: 9, cat: Other, desc: "Sonstiges Andere"}
|
||||
|
||||
#XXX
|
||||
- {id: 58, cat: Books/Comics, desc: "HD"}
|
||||
- {id: 33, cat: XXX, desc: "Hentai"}
|
||||
- {id: 35, cat: XXX/Other, desc: "Other"}
|
||||
- {id: 65, cat: XXX/Packs, desc: "Pack"}
|
||||
- {id: 65, cat: XXX, desc: "SD"}
|
||||
- {id: 58, cat: Books/Comics, desc: "XXX HD"}
|
||||
- {id: 46, cat: XXX, desc: "XXX Hentai"}
|
||||
- {id: 35, cat: XXX/Other, desc: "XXX Andere"}
|
||||
- {id: 59, cat: XXX/Packs, desc: "XXX Pack"}
|
||||
- {id: 27, cat: XXX, desc: "XXX SD"}
|
||||
- {id: 76, cat: XXX, desc: "XXX Andere"}
|
||||
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: user
|
||||
@@ -96,6 +107,22 @@
|
||||
- name: pass
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "added"
|
||||
options:
|
||||
"added": "created"
|
||||
"seeds": "seeders"
|
||||
"size": "size"
|
||||
"name": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
login:
|
||||
path: signin.php
|
||||
@@ -112,9 +139,14 @@
|
||||
search:
|
||||
path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
incldead: "1"
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
# 0=title 1=descr 2=nfo 3=all
|
||||
search_where: "{{ if .Query.IMDBID }}3{{else}}0{{end}}"
|
||||
# 0=active 1=all 2=dead 4=upload 5=doubleup 6=halfdown 7=highlight =request
|
||||
status: 1
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.tableinborder > tbody > tr:has(a[href^="details.php"])
|
||||
@@ -134,10 +166,16 @@
|
||||
download:
|
||||
selector: a[href^="/download.php"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(4)
|
||||
text: 0
|
||||
grabs:
|
||||
selector: a[title="Snatcher"]
|
||||
optional: true
|
||||
files:
|
||||
text: 0
|
||||
files:
|
||||
selector: a[title="Files"]
|
||||
optional: true
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
@@ -146,26 +184,44 @@
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
seeders:
|
||||
selector: td:nth-child(2) > a
|
||||
text: 0
|
||||
seeders:
|
||||
selector: a[title="Seeder"]
|
||||
optional: true
|
||||
leechers:
|
||||
selector: td:nth-child(3)
|
||||
text: 0
|
||||
leechers:
|
||||
selector: a[title="Leecher"]
|
||||
optional: true
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
selector: td:nth-child(10)
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: td:nth-child(10):contains("Heute"), td:nth-child(10):contains("Gestern")
|
||||
optional: true
|
||||
filters:
|
||||
- name: split
|
||||
args: ["by", 0]
|
||||
args: ["b", 0]
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
# 30.02.2018 23:12:50
|
||||
selector: td:nth-child(10):contains("."):contains(":")
|
||||
optional: true
|
||||
filters:
|
||||
- name: split
|
||||
args: ["b", 0]
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[alt="OU"]: "0"
|
||||
img[alt="D/2"]: "0.5"
|
||||
"*": "1"
|
||||
img[alt="OU"]: 0
|
||||
img[alt="D/2"]: 0.5
|
||||
img[alt="D / 2"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[alt="2xU"]: "2"
|
||||
"*": "1"
|
||||
img[alt="2xU"]: 2
|
||||
"*": 1
|
||||
|
||||
124
src/Jackett.Common/Definitions/DasUnerwartete.yml
Normal file
124
src/Jackett.Common/Definitions/DasUnerwartete.yml
Normal file
@@ -0,0 +1,124 @@
|
||||
---
|
||||
site: Das-Unerwartete
|
||||
name: Das Unerwartete
|
||||
description: "Das Unerwartete is a Private GERMAN tracker"
|
||||
language: de-de
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://dasunerwartete.nl
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
- {id: 112, cat: Audio/Audiobook, desc: "Hoerbuecher/Hoerspiele"}
|
||||
- {id: 51, cat: Audio, desc: "Musik"}
|
||||
- {id: 124, cat: Audio/Video, desc: "Musikvideo"}
|
||||
- {id: 103, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 88, cat: Movies, desc: "Kids Only"}
|
||||
- {id: 43, cat: Movies, desc: "Movie Packs"}
|
||||
- {id: 105, cat: Movies/HD, desc: "Movie/1080 P"}
|
||||
- {id: 107, cat: Movies/HD, desc: "Movie/3D"}
|
||||
- {id: 102, cat: Movies/HD, desc: "Movie/720 P"}
|
||||
- {id: 101, cat: Movies/BluRay, desc: "Movie/Blueray - HD"}
|
||||
- {id: 108, cat: Movies, desc: "Movie/Bollywood"}
|
||||
- {id: 93, cat: TV/Documentary, desc: "Movie/Dokus"}
|
||||
- {id: 125, cat: Movies/Foreign, desc: "Movie/International"}
|
||||
- {id: 91, cat: Movies/SD, desc: "Movie/SD"}
|
||||
- {id: 114, cat: Movies, desc: "Movie/TV-Rip"}
|
||||
- {id: 132, cat: Movies/HD, desc: "Movie/UHD"}
|
||||
- {id: 110, cat: Movies/HD, desc: "x264"}
|
||||
- {id: 106, cat: Console/PS3, desc: "Games/PS3"}
|
||||
- {id: 109, cat: Console/PSP, desc: "Games/PSP"}
|
||||
- {id: 113, cat: Console/Wii, desc: "Games/Wii"}
|
||||
- {id: 86, cat: PC/Games, desc: "Games/Windows"}
|
||||
- {id: 104, cat: Console/XBox360, desc: "Games/Xbox360"}
|
||||
- {id: 104, cat: Console/XBox360, desc: "Games/Xbox360"}
|
||||
- {id: 116, cat: PC/Games, desc: "Linux/Spiele"}
|
||||
- {id: 53, cat: PC/Phone-Android, desc: "Android/Appz/Games/Navi"}
|
||||
- {id: 126, cat: PC, desc: "Win/Mac/linux"}
|
||||
- {id: 129, cat: TV/HD, desc: "Serien/Folgen HD"}
|
||||
- {id: 61, cat: TV/SD, desc: "Serien/Folgen SD"}
|
||||
- {id: 131, cat: TV/HD, desc: "Serien/Staffeln HD"}
|
||||
- {id: 130, cat: TV/SD, desc: "Serien/Staffeln SD"}
|
||||
- {id: 94, cat: Books/Ebook, desc: "Ebooks"}
|
||||
- {id: 96, cat: TV/Anime, desc: "Anime / Hentai"}
|
||||
- {id: 9, cat: Other/Misc, desc: "Sonstiges"}
|
||||
- {id: 115, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 69, cat: XXX, desc: "XXX"}
|
||||
- {id: 122, cat: Books/Magazines, desc: "Zeitschriften/Zeitungen"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: .tablea:contains("Benutzername oder Passwort ungültig")
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
incldead: "1"
|
||||
|
||||
rows:
|
||||
selector: table.tableinborder > tbody > tr:has(a[href^="download.php"])
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="details.php"]
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".torrent", ""]
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="details.php"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: .tablea tr:nth-child(2) td:nth-child(1) b:nth-child(2)
|
||||
grabs:
|
||||
selector: .tablea tr:nth-child(2) td:nth-child(3) b
|
||||
size:
|
||||
selector: .tablea tr:nth-child(2) td:nth-child(1) b:nth-child(1)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
seeders:
|
||||
selector: .tablea tr:nth-child(2) td:nth-child(2) b:nth-child(1) font
|
||||
leechers:
|
||||
selector: .tablea tr:nth-child(2) td:nth-child(2) b:nth-child(3) font
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/oupic.gif"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
55
src/Jackett.Common/Definitions/acgrip.yml
Normal file
55
src/Jackett.Common/Definitions/acgrip.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
site: acgrip
|
||||
name: ACG.RIP
|
||||
description: "ACG.RIP is a CHINESE Public torrent tracker for the latest anime and Japanese related torrents"
|
||||
language: zh-cn
|
||||
type: public
|
||||
followredirect: true
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://acg.rip/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
1: TV
|
||||
modes:
|
||||
tv-search: [q, season, ep]
|
||||
search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
inputs:
|
||||
term: "{{ .Query.Keywords }}"
|
||||
rows:
|
||||
selector: tbody tr
|
||||
fields:
|
||||
title:
|
||||
selector: td.title > span.title a
|
||||
category:
|
||||
text: 1
|
||||
details:
|
||||
selector: td.title > span.title a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td.action a
|
||||
attribute: href
|
||||
size:
|
||||
selector: td.size
|
||||
seeders:
|
||||
selector: td.peers div.seed
|
||||
leechers:
|
||||
selector: td.peers div.leech
|
||||
grabs:
|
||||
selector: td.peers div.done
|
||||
date:
|
||||
selector: td.date time
|
||||
attribute: datetime
|
||||
filters:
|
||||
- name: fuzzytime
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
91
src/Jackett.Common/Definitions/acgsou.yml
Normal file
91
src/Jackett.Common/Definitions/acgsou.yml
Normal file
@@ -0,0 +1,91 @@
|
||||
---
|
||||
site: acgsou
|
||||
name: ACGsou
|
||||
description: "ACGsou is a CHINESE Public torrent tracker for ANIME"
|
||||
language: zh-cn
|
||||
type: public
|
||||
followredirect: true
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.acgsou.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 2, cat: TV/Anime, desc: "动画 (Anime)"}
|
||||
- {id: 7, cat: TV/Anime, desc: "新番连载 (Anime New Fan Series)"}
|
||||
- {id: 8, cat: TV/Anime, desc: "动画合集 (Anime Collection)"}
|
||||
- {id: 14, cat: TV/Anime, desc: "英译动画 (Anime English Translation)"}
|
||||
- {id: 5, cat: TV/Anime, desc: "RAW片源"}
|
||||
- {id: 3, cat: Books/Comics, desc: "漫画 (Manga)"}
|
||||
- {id: 12, cat: Books/Comics, desc: "港台漫画 (Manga Hong Kong and Taiwan)"}
|
||||
- {id: 13, cat: Books/Comics, desc: "原版日漫 (Manga Original Japanese)"}
|
||||
- {id: 16, cat: Books/Comics, desc: "英译漫画 (Manga English Translation)"}
|
||||
- {id: 4, cat: Audio, desc: "动漫音乐 (Anime Music)"}
|
||||
- {id: 15, cat: Audio/Video, desc: "音乐视频 (Music Video)"}
|
||||
- {id: 20, cat: TV, desc: "日剧 (Drama Japanese)"}
|
||||
- {id: 21, cat: TV, desc: "特摄片 (Drama Special)"}
|
||||
- {id: 22, cat: TV, desc: "原版日剧 (Drama Original Japanese)"}
|
||||
- {id: 23, cat: TV, desc: "英译日剧 (Drama English Translation)"}
|
||||
- {id: 18, cat: PC/Games, desc: "游戏 (Games)"}
|
||||
- {id: 6, cat: Other, desc: "其他资源 (Other)"}
|
||||
- {id: 17, cat: Other, desc: "写真集 (Photobook)"}
|
||||
- {id: 19, cat: Other, desc: "图集 (Atlas)"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.acgsou.com/1.html
|
||||
# https://www.acgsou.com/search.php?keyword=test
|
||||
- path: "{{ if .Keywords }}search.php?keyword={{ .Keywords }}{{else}}1.html{{end}}"
|
||||
rows:
|
||||
selector: table tbody tr[class^="alt"]:has(td:nth-child(3) a)
|
||||
fields:
|
||||
date:
|
||||
selector: td:nth-child(1):contains("昨天")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["昨天", "Yesterday"]
|
||||
date:
|
||||
selector: td:nth-child(1):contains(":"):not(:contains("昨天"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "01/02 15:04"
|
||||
date:
|
||||
selector: td:nth-child(1):not(:contains(":"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2006/01/02"
|
||||
category:
|
||||
selector: td:nth-child(2) a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "sort-(\\d+)-1.html"
|
||||
title:
|
||||
selector: td:nth-child(3) a
|
||||
details:
|
||||
selector: td:nth-child(3) a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(3) a
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
172
src/Jackett.Common/Definitions/aftershock.yml
Normal file
172
src/Jackett.Common/Definitions/aftershock.yml
Normal file
@@ -0,0 +1,172 @@
|
||||
---
|
||||
site: aftershock
|
||||
name: Aftershock
|
||||
description: "Aftershock is a HUNGARIAN Private Torrent Tracker for MOVIES / GENERAL"
|
||||
language: hu-hu
|
||||
type: private
|
||||
encoding: iso-8859-1
|
||||
links:
|
||||
- https://aftershock-tracker.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 7, cat: Movies/SD, desc: "XvidEng"}
|
||||
- {id: 2, cat: Movies, desc: "AfterShock Release"}
|
||||
- {id: 190, cat: Movies/DVD, desc: "DVD-9Eng"}
|
||||
- {id: 191, cat: Movies/DVD, desc: "DVD-9Hun"}
|
||||
- {id: 1, cat: Movies/DVD, desc: "DVDEng"}
|
||||
- {id: 4, cat: Movies/DVD, desc: "DVDHun"}
|
||||
- {id: 23, cat: Books/Ebook, desc: "E-Book"}
|
||||
- {id: 3, cat: Movies, desc: "Film Pack"}
|
||||
- {id: 185, cat: Audio/Lossless, desc: "FLACeng"}
|
||||
- {id: 188, cat: Audio/Lossless, desc: "FLAChu"}
|
||||
- {id: 173, cat: Audio/Audiobook, desc: "Hangoskönyv"}
|
||||
- {id: 34, cat: Movies/HD, desc: "HDEng"}
|
||||
- {id: 33, cat: Movies/HD, desc: "HDHun"}
|
||||
- {id: 182, cat: XXX/x264, desc: "HDXXX"}
|
||||
- {id: 12, cat: PC/Games, desc: "JátékIso"}
|
||||
- {id: 130, cat: Console, desc: "JátékKonzol"}
|
||||
- {id: 38, cat: Console/PSP, desc: "JátékPS2"}
|
||||
- {id: 44, cat: Console, desc: "Jatekrip"}
|
||||
- {id: 131, cat: Console/Xbox, desc: "JátékX-box"}
|
||||
- {id: 140, cat: Other, desc: "Képek"}
|
||||
- {id: 141, cat: Other, desc: "Klipek"}
|
||||
- {id: 154, cat: Other, desc: "MeseEng"}
|
||||
- {id: 155, cat: Other, desc: "MeseHun"}
|
||||
- {id: 176, cat: Other, desc: "Mikro HDEng"}
|
||||
- {id: 174, cat: Other, desc: "Mikro HDHun"}
|
||||
- {id: 37, cat: PC/Phone-Other, desc: "MobilPDA"}
|
||||
- {id: 35, cat: PC, desc: "ProgramEgyéb"}
|
||||
- {id: 170, cat: PC/ISO, desc: "ProgramIso"}
|
||||
- {id: 24, cat: TV, desc: "Sorozat Eng"}
|
||||
- {id: 25, cat: TV, desc: "Sorozat Hun"}
|
||||
- {id: 167, cat: Movies/SD, desc: "Xvid CamEng"}
|
||||
- {id: 166, cat: Movies/SD, desc: "Xvid CamHun"}
|
||||
- {id: 9, cat: Movies/SD, desc: "XvidHun"}
|
||||
- {id: 169, cat: XXX/Imageset, desc: "XXX Képek"}
|
||||
- {id: 39, cat: XXX, desc: "XXXFilm"}
|
||||
- {id: 28, cat: Audio, desc: "ZeneEng"}
|
||||
- {id: 29, cat: Audio, desc: "ZeneHun"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "0"
|
||||
options:
|
||||
"0": "created"
|
||||
"6": "seeders"
|
||||
"4": "size"
|
||||
"1": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.text:contains("Hiba")
|
||||
message:
|
||||
selector: td.text
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="/logout.php"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: p.sajatadatok font
|
||||
filters:
|
||||
- name: replace
|
||||
args: [",", ""]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table tbody#torrent_background tr:has(a.index)
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a.index
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: name
|
||||
- name: urldecode
|
||||
category:
|
||||
selector: td a[href^="/browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a.index
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: urldecode
|
||||
banner:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) width="
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href^="https://www.imdb.com/title"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-last-child(6)
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
grabs:
|
||||
selector: td:nth-last-child(2)
|
||||
date:
|
||||
selector: td font
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\s", " "]
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span.icon_gift: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon_upload: "2"
|
||||
"*": "1"
|
||||
145
src/Jackett.Common/Definitions/alein.yml
Normal file
145
src/Jackett.Common/Definitions/alein.yml
Normal file
@@ -0,0 +1,145 @@
|
||||
---
|
||||
site: alein
|
||||
name: Alein
|
||||
description: "Alein is a BULGARIAN Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: bg
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://alein.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies/SD, desc: "Movies-XviD"}
|
||||
- {id: 15, cat: Movies/HD, desc: "Movies-x264"}
|
||||
- {id: 41, cat: Movies, desc: "Movies-BG"}
|
||||
- {id: 14, cat: Movies/HD, desc: "Movies-HD"}
|
||||
- {id: 48, cat: Movies/UHD, desc: "Movies-x265"}
|
||||
- {id: 39, cat: Movies/Foreign, desc: "Movies-XviD-Rus"}
|
||||
- {id: 40, cat: Movies/Foreign, desc: "Movies-x264-Rus"}
|
||||
- {id: 20, cat: Movies/Other, desc: "Movies-Animations"}
|
||||
- {id: 16, cat: Movies/3D, desc: "Movies-3D"}
|
||||
- {id: 5, cat: TV/Anime, desc: "Movies-Anime"}
|
||||
- {id: 21, cat: Movies/BluRay, desc: "Movies-Blu-ray"}
|
||||
- {id: 22, cat: TV/Documentary , desc: "Movies-Documentaries"}
|
||||
- {id: 11, cat: Movies/DVD, desc: "Movies-DVD-R"}
|
||||
- {id: 47, cat: TV/SD, desc: "TV-Episodes"}
|
||||
- {id: 46, cat: TV/HD, desc: "TV-Episodes-HD"}
|
||||
- {id: 3, cat: PC/ISO, desc: "Games-PC ISO"}
|
||||
- {id: 31, cat: Console/Xbox, desc: "Games-XBOX"}
|
||||
- {id: 33, cat: Console/PSP, desc: "Games-PS"}
|
||||
- {id: 2, cat: Audio/MP3, desc: "Music-MP3"}
|
||||
- {id: 50, cat: Audio/Lossless, desc: "Music-FLAC"}
|
||||
- {id: 18, cat: Audio/Video, desc: "Music-Video"}
|
||||
- {id: 9, cat: PC/0day, desc: "Software-Windows"}
|
||||
- {id: 8, cat: PC, desc: "Software-Linux"}
|
||||
- {id: 36, cat: Other, desc: "Trailer"}
|
||||
- {id: 34, cat: Other/Misc, desc: "Pictures"}
|
||||
- {id: 4, cat: Other, desc: "Other"}
|
||||
- {id: 6, cat: Books/Comics, desc: "Books-Comics"}
|
||||
- {id: 24, cat: PC/Phone-Other, desc: "Mobile-GSM"}
|
||||
- {id: 23, cat: TV/Sport, desc: "Sport"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "3"
|
||||
options:
|
||||
"3": "created"
|
||||
"5": "seeders"
|
||||
"4": "size"
|
||||
"2": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "2"
|
||||
options:
|
||||
"2": "desc"
|
||||
"1": "asc"
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: form
|
||||
form: form[action*="/index.php?page=login"]
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.lista span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://alein.org/index.php?page=torrents&category=1;15;41;14;48;39;20;16;5;21;22;11&search=venom&active=1
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: torrents
|
||||
category: "{{ range .Categories }}{{.}};{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 all 1 active only 2 dead only
|
||||
active: 0
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: tr.trclass:not(:has(td.lista-cat-rec))
|
||||
fields:
|
||||
title:
|
||||
selector: td a[href*="id="]
|
||||
details:
|
||||
selector: td a[href*="id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td a[href*="category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
download:
|
||||
selector: td a[href*="id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: id
|
||||
- name: prepend
|
||||
args: "download.php?id="
|
||||
- name: append
|
||||
args: "&f={{ .Result.title }}.torrent"
|
||||
banner:
|
||||
selector: td a[href*="id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) width="
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(9)
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "02/01/2006"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
|
||||
155
src/Jackett.Common/Definitions/alexfilm.yml
Normal file
155
src/Jackett.Common/Definitions/alexfilm.yml
Normal file
@@ -0,0 +1,155 @@
|
||||
---
|
||||
site: alexfilm
|
||||
name: AlexFilm
|
||||
description: "AlexFilm is a RUSSIAN Semi-Private Torrent Tracker for TV"
|
||||
language: ru-ru
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://alexfilm.org/
|
||||
legacylinks:
|
||||
- https://alexfilm.cc/
|
||||
certificates:
|
||||
- 9200e15406272061df1f609a0f40d76282f54295 # expired 30 nov '19
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: striprussian
|
||||
type: checkbox
|
||||
label: Strip Russian Letters
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "1"
|
||||
options:
|
||||
"1": "created"
|
||||
"10": "seeders"
|
||||
"7": "size"
|
||||
"2": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "1"
|
||||
options:
|
||||
"2": "desc"
|
||||
"1": "asc"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
"login_username": "{{ .Config.username }}"
|
||||
"login_password": "{{ .Config.password }}"
|
||||
autologin: 1
|
||||
login: "Log in"
|
||||
error:
|
||||
- selector: div.bg-danger
|
||||
test:
|
||||
path: tracker.php
|
||||
selector: a[href="./login.php?logout=1"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: tracker.php
|
||||
method: post
|
||||
inputs:
|
||||
prev_allw: 1
|
||||
prev_a: 0
|
||||
prev_dla: 0
|
||||
prev_dlc: 0
|
||||
prev_dld: 0
|
||||
prev_dlw: 0
|
||||
prev_my: 0
|
||||
prev_new: 0
|
||||
prev_sd: 0
|
||||
prev_da: 1
|
||||
prev_dc: 0
|
||||
prev_df: 1
|
||||
prev_ds: 0
|
||||
prev_tor_type: 0
|
||||
# sort by 1=registered 2=topicTitle 4=completed 10=seed 11=leech 12=up 13=down 5=replies 6=views 7=size 8=lastPost 9=seedLastSeen
|
||||
o: "{{ .Config.sort }}"
|
||||
# 1=asc 2=desc
|
||||
s: "{{ .Config.type }}"
|
||||
# show category
|
||||
dc: 0
|
||||
# show forum
|
||||
df: 1
|
||||
# show author
|
||||
da: 1
|
||||
# show speed
|
||||
ds: 0
|
||||
# -1=all time
|
||||
tm: -1
|
||||
# seed not seen -1=disregard
|
||||
sns: -1
|
||||
# group releases -1=not selected
|
||||
srg: -1
|
||||
nm: "{{ .Keywords }}"
|
||||
# find a username
|
||||
pn: ""
|
||||
# despite the all words flag the search engine returns anywords matching.
|
||||
allw: 1
|
||||
|
||||
rows:
|
||||
selector: tr[id^="tor_"]
|
||||
fields:
|
||||
title:
|
||||
selector: td a.tLink
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[\\/]+", ""]
|
||||
- name: replace
|
||||
args: ["-Rip", "Rip"]
|
||||
- name: replace
|
||||
args: ["WEB-DL", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["WEBRip", "WEBDL"]
|
||||
- name: re_replace
|
||||
args: ["WEBDLRip", "WEBDL"]
|
||||
- name: re_replace
|
||||
args: ["(.*)[CСcс]езон\\s+(\\d+)\\s+[CСcс]ери[ия]\\s+(\\d+)[\\-](\\d+)\\s+\\((\\d+)\\)(.*)", "$1 S$2E$3-$4 rus $6"]
|
||||
- name: re_replace
|
||||
args: ["(.*)[CСcс]езон\\s+(\\d+)(.*)", "$1 S$2 rus $3"]
|
||||
- name: re_replace
|
||||
args: ["(\\([А-Яа-яЁё\\W]+\\))|(^[А-Яа-яЁё\\W\\d]+\\/ )|([а-яА-ЯЁё \\-]+,+)|([а-яА-ЯЁё]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
|
||||
details:
|
||||
selector: td a.tLink
|
||||
attribute: href
|
||||
download:
|
||||
selector: li a
|
||||
attribute: href
|
||||
category:
|
||||
text: 1
|
||||
seeders:
|
||||
selector: td:nth-child(3) u
|
||||
leechers:
|
||||
selector: td:nth-child(4) u
|
||||
size:
|
||||
selector: td:nth-child(5) u
|
||||
date:
|
||||
selector: td:nth-child(6) u
|
||||
grabs:
|
||||
selector: td:nth-child(6) span:nth-last-child(1)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="./styles/images/tor_gold.gif"]: "0"
|
||||
img[src="./styles/images/tor_silver.gif"]: "0.5"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
288
src/Jackett.Common/Definitions/amigosshare.yml
Normal file
288
src/Jackett.Common/Definitions/amigosshare.yml
Normal file
@@ -0,0 +1,288 @@
|
||||
---
|
||||
site: amigosshare
|
||||
name: Amigos Share Club
|
||||
description: "Amigos Share Club is a Brazilian Private site for TV / MOVIES / GENERAL"
|
||||
language: pt-br
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://amigos-share.club/
|
||||
legacylinks:
|
||||
- http://amigos-share.club/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info_results
|
||||
type: info
|
||||
label: "Search results"
|
||||
default: "Set <b>Exibição De Torrents</b> to <b>Lista</b> in your <b>Minhas Configurações</b>.<br />Using <b>Capas</b> is not supported and will return 0 results."
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "id"
|
||||
options:
|
||||
"id": "created"
|
||||
"seeders": "seeders"
|
||||
"size": "size"
|
||||
"name": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 107, cat: XXX, desc: "Adultos: Gay"}
|
||||
- {id: 75, cat: XXX, desc: "Adultos: Hentai"}
|
||||
- {id: 108, cat: XXX, desc: "Adultos: Transex/Female"}
|
||||
- {id: 74, cat: XXX, desc: "Adultos: XXX"}
|
||||
- {id: 69, cat: TV/Anime, desc: "Anime: Anime"}
|
||||
- {id: 116, cat: TV/Anime, desc: "Anime: Filmes"}
|
||||
- {id: 118, cat: TV/Anime, desc: "Anime: Séries"}
|
||||
- {id: 23, cat: PC/Phone-Android, desc: "Aplicativos: Android"}
|
||||
- {id: 27, cat: PC/Phone-IOS, desc: "Aplicativos: iPad"}
|
||||
- {id: 26, cat: PC/Phone-IOS, desc: "Aplicativos: iPhone"}
|
||||
- {id: 28, cat: PC/Phone-IOS, desc: "Aplicativos: iPod"}
|
||||
- {id: 25, cat: PC, desc: "Aplicativos: Linux"}
|
||||
- {id: 22, cat: PC/Mac, desc: "Aplicativos: Mac"}
|
||||
- {id: 21, cat: PC/0day, desc: "Aplicativos: Windows"}
|
||||
- {id: 72, cat: Books, desc: "Apostila: Apostila"}
|
||||
- {id: 71, cat: Books, desc: "Apostila: Cursos"}
|
||||
- {id: 121, cat: Audio/Audiobook, desc: "Ebook: Audio-book"}
|
||||
- {id: 112, cat: Books, desc: "Ebook: HQs"}
|
||||
- {id: 67, cat: Books, desc: "Ebook: Livros"}
|
||||
- {id: 68, cat: Books, desc: "Ebook: Revistas"}
|
||||
- {id: 119, cat: Movies, desc: "Filmes:"}
|
||||
- {id: 70, cat: XXX, desc: "Fotos: XXX"}
|
||||
- {id: 57, cat: Console, desc: "Jogos: Android"}
|
||||
- {id: 52, cat: Console, desc: "Jogos: Dreamcast"}
|
||||
- {id: 109, cat: Console, desc: "Jogos: Emulação"}
|
||||
- {id: 61, cat: Console, desc: "Jogos: Emuladores e Roms"}
|
||||
- {id: 48, cat: PC/Mac, desc: "Jogos: Mac"}
|
||||
- {id: 58, cat: Console/NDS, desc: "Jogos: Nintendo DS"}
|
||||
- {id: 110, cat: Console, desc: "Jogos: Nintendo Switch"}
|
||||
- {id: 47, cat: PC/Games, desc: "Jogos: Pc"}
|
||||
- {id: 49, cat: Console, desc: "Jogos: Ps1"}
|
||||
- {id: 50, cat: Console, desc: "Jogos: Ps2"}
|
||||
- {id: 51, cat: Console/PS3, desc: "Jogos: Ps3"}
|
||||
- {id: 79, cat: Console/PS4, desc: "Jogos: Ps4"}
|
||||
- {id: 82, cat: Console/PSP, desc: "Jogos: PSP"}
|
||||
- {id: 55, cat: Console/Wii, desc: "Jogos: Wii"}
|
||||
- {id: 54, cat: Console/Xbox 360, desc: "Jogos: Xbox360"}
|
||||
- {id: 56, cat: Console/Xbox, desc: "Jogos: Xbox"}
|
||||
- {id: 78, cat: Console/Xbox One, desc: "Jogos: Xbox One"}
|
||||
- {id: 29, cat: Audio, desc: "Musica: Axé"}
|
||||
- {id: 38, cat: Audio, desc: "Musica: Blues"}
|
||||
- {id: 39, cat: Audio, desc: "Musica: Dance"}
|
||||
- {id: 40, cat: Audio, desc: "Musica: Discografia"}
|
||||
- {id: 43, cat: Audio, desc: "Musica: Dubstep"}
|
||||
- {id: 41, cat: Audio, desc: "Musica: Erudita"}
|
||||
- {id: 42, cat: Audio, desc: "Musica: Forró"}
|
||||
- {id: 31, cat: Audio, desc: "Musica: Funk"}
|
||||
- {id: 84, cat: Audio, desc: "Musica: Game (OST)"}
|
||||
- {id: 83, cat: Audio, desc: "Musica: Gospel"}
|
||||
- {id: 37, cat: Audio, desc: "Musica: Hard Rock"}
|
||||
- {id: 33, cat: Audio, desc: "Musica: Hip-Hop"}
|
||||
- {id: 114, cat: Audio, desc: "Musica: MPB"}
|
||||
- {id: 77, cat: Audio, desc: "Musica: Outros"}
|
||||
- {id: 32, cat: Audio, desc: "Musica: Pagode"}
|
||||
- {id: 115, cat: Audio, desc: "Musica: POP"}
|
||||
- {id: 34, cat: Audio, desc: "Musica: Rap"}
|
||||
- {id: 76, cat: Audio, desc: "Musica: Reggae"}
|
||||
- {id: 36, cat: Audio, desc: "Musica: Rock"}
|
||||
- {id: 45, cat: Audio, desc: "Musica: Samba"}
|
||||
- {id: 46, cat: Audio, desc: "Musica: Sertanejo"}
|
||||
- {id: 120, cat: TV, desc: "Series:"}
|
||||
- {id: 65, cat: TV, desc: "Shows: Show"}
|
||||
- {id: 63, cat: TV, desc: "Tv: Aberta"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Tv: Esportes"}
|
||||
- {id: 64, cat: TV, desc: "Tv: Fechada"}
|
||||
- {id: 73, cat: TV, desc: "Video Aula: Video Aula"}
|
||||
- {id: 999, cat: Other, desc: "Error Cat not Found"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: yes
|
||||
error:
|
||||
- selector: div.alert-error
|
||||
test:
|
||||
path: torrents-search.php
|
||||
selector: a[href="account-logout.php"]
|
||||
|
||||
ratio:
|
||||
path: torrents-search.php
|
||||
selector: li:contains("Ratio:") a b
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://amigos-share.club/torrents-search.php?search=&c1=1&c19=1&c36=1&incldead=0&freeleech=0&lang=0sort=id&order=desc&page=1
|
||||
- path: torrents-search.php
|
||||
# site displays just 9 results, no profile options found to change this, so we attempt to fetch 5 pages
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 1
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 2
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 3
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 4
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ re_replace .Keywords \"[\\s]+\" \"%\" }}"
|
||||
incldead: 1
|
||||
freeleech: 0
|
||||
lang: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["([12][0-9]{3})", ""]
|
||||
rows:
|
||||
selector: div#fancy-list-group ul.list-group li.list-group-item
|
||||
fields:
|
||||
_quality:
|
||||
selector: div.list-group-item-content p.m-0 span.badge-primary:contains("1080p"), div.list-group-item-content p.m-0 span.badge-primary:contains("720p"), div.list-group-item-content p.m-0 span.badge-primary:contains("4k")
|
||||
optional: true
|
||||
_year:
|
||||
selector: div.list-group-item-content p.m-0 span.badge-primary[style$="#246AB6;"]
|
||||
optional: true
|
||||
_type:
|
||||
selector: div.list-group-item-content p.m-0 span.badge-info:contains("Rip"), div.list-group-item-content p.m-0 span.badge-info:contains("WEB-"), div.list-group-item-content p.m-0 span.badge-info:contains("TV"), div.list-group-item-content p.m-0 span.badge-info:contains("Blu-Ray"), div.list-group-item-content p.m-0 span.badge-info:contains("BD50"), div.list-group-item-content p.m-0 span.badge-info:contains("MUX"), div.list-group-item-content p.m-0 span.badge-info:contains("DVD"), div.list-group-item-content p.m-0 span.badge-info:contains("320"), div.list-group-item-content p.m-0 span.badge-info:contains("CAM"), div.list-group-item-content p.m-0 span.badge-info:contains("rip")
|
||||
optional: true
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
filters:
|
||||
# strip out the non-english title [to the left of the brackets] and drop the brackets enclosing the english title
|
||||
- name: re_replace
|
||||
args: ["^(.*?)[\\(](.*?)[\\)](.*?)$", "$2$3"]
|
||||
# add the year to the title
|
||||
- name: append
|
||||
args: "{{if .Result._year}} {{.Result._year}}{{else}}{{end}}"
|
||||
# add the quality to the title
|
||||
- name: append
|
||||
args: "{{if .Result._quality}} {{.Result._quality}}{{else}}{{end}}"
|
||||
# add the type to the title
|
||||
- name: append
|
||||
args: "{{if .Result._type}} {{.Result._type}}{{else}}{{end}}"
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: div.list-group-item-addon img
|
||||
attribute: src
|
||||
case:
|
||||
# unfortunately the site does not have category numbers on the results page, just a .png which can apply to both movies and tv.
|
||||
# therefore I've order the list to favour movies,
|
||||
# also, not all .png have been verified as the site has many empty categories. their image names have been extrapolated from the cat desc.
|
||||
"[src$=\"/XXXZ.png\"]": "74"
|
||||
"[src$=\"/Hentai.png\"]": "75"
|
||||
"[src$=\"/Anime.png\"]": "69"
|
||||
"[src$=\"/Windows.png\"]": "21"
|
||||
"[src$=\"/Mac.png\"]": "22"
|
||||
"[src$=\"/Android.png\"]": "23"
|
||||
"[src$=\"/Linux.png\"]": "25"
|
||||
"[src$=\"/iPhone.png\"]": "26"
|
||||
"[src$=\"/iPad.png\"]": "27"
|
||||
"[src$=\"/iPod.png\"]": "28"
|
||||
"[src$=\"/Cursos.png\"]": "71"
|
||||
"[src$=\"/Apostila.png\"]": "72"
|
||||
"[src$=\"/E-books.png\"]": "67"
|
||||
"[src$=\"/Revista.png\"]": "68"
|
||||
"[src$=\"/HQ.png\"]": "112"
|
||||
"[src$=\"/Filmes.png\"]": "119"
|
||||
"[src$=\"/Revistas-XXX.png\"]": "70"
|
||||
"[src$=\"/PS4.png\"]": "79"
|
||||
"[src$=\"/Jogos-PC.png\"]": "47"
|
||||
"[src$=\"/Emulador.png\"]": "61"
|
||||
"[src$=\"/Emulacao.png\"]": "109"
|
||||
"[src$=\"/Jogos-Mac.png\"]": "48"
|
||||
"[src$=\"/Jogos-PS1.png\"]": "49"
|
||||
"[src$=\"/Jogos-PS2.png\"]": "50"
|
||||
"[src$=\"/Jogos-PS3.png\"]": "51"
|
||||
"[src$=\"/Jogos-Dreamcast.png\"]": "52"
|
||||
"[src$=\"/Jogos-Xbox360.png\"]": "54"
|
||||
"[src$=\"/Jogos-Xbox.png\"]": "56"
|
||||
"[src$=\"/Jogos-Wii.png\"]": "55"
|
||||
"[src$=\"/Jogos-DS.png\"]": "58"
|
||||
"[src$=\"/jogosandroid.png\"]": "57"
|
||||
"[src$=\"/Jogos-PSP.png\"]": "82"
|
||||
"[src$=\"/Jogos-NS.png\"]": "110"
|
||||
"[src$=\"/Jogos-XboxOne.png\"]": "78"
|
||||
"[src$=\"/Axe.png\"]": "29"
|
||||
"[src$=\"/Funk.png\"]": "31"
|
||||
"[src$=\"/Pagode.png\"]": "32"
|
||||
"[src$=\"/HIP_HOP.png\"]": "33"
|
||||
"[src$=\"/Rap.png\"]": "34"
|
||||
"[src$=\"/Rock.png\"]": "36"
|
||||
"[src$=\"/Hard-Rock.png\"]": "37"
|
||||
"[src$=\"/Blues.png\"]": "38"
|
||||
"[src$=\"/Dance.png\"]": "39"
|
||||
"[src$=\"/Discografia.png\"]": "40"
|
||||
"[src$=\"/Erudita.png\"]": "41"
|
||||
"[src$=\"/Forro.png\"]": "42"
|
||||
"[src$=\"/Dubstep.png\"]": "43"
|
||||
"[src$=\"/Sertanejo.png\"]": "46"
|
||||
"[src$=\"/Samba.png\"]": "45"
|
||||
"[src$=\"/Musica-Outros.png\"]": "77"
|
||||
"[src$=\"/Reggae.png\"]": "76"
|
||||
"[src$=\"/Gospel.png\"]": "83"
|
||||
"[src$=\"/POP.png\"]": "115"
|
||||
"[src$=\"/MPB.png\"]": "114"
|
||||
"[src$=\"/OST.png\"]": "84"
|
||||
"[src$=\"/Seriados.png\"]": "120"
|
||||
"[src$=\"/Shows.png\"]": "65"
|
||||
"[src$=\"/Aberta.png\"]": "63"
|
||||
"[src$=\"/Esporte.png\"]": "62"
|
||||
"[src$=\"/Fechada.png\"]": "64"
|
||||
"[src$=\"/Videoaula.png\"]": "73"
|
||||
date:
|
||||
text: now
|
||||
date:
|
||||
selector: p:contains("Lançado:")
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Lançado: (.+?)$"
|
||||
- name: re_replace
|
||||
args: [" (\\d:)", " 0$1"]
|
||||
- name: dateparse
|
||||
args: "02/01/06 15:04:05"
|
||||
size:
|
||||
selector: div.list-group-item-content p.m-0 span.badge-info
|
||||
seeders:
|
||||
selector: div.list-group-item-controls a:nth-child(1)
|
||||
leechers:
|
||||
selector: div.list-group-item-controls a:nth-child(2)
|
||||
grabs:
|
||||
selector: div.list-group-item-controls a:nth-child(3)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"span.badge-success:contains(\"FREE\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
@@ -26,27 +26,44 @@
|
||||
- {id: 14, cat: TV/Anime, desc: "Pictures"}
|
||||
- {id: 15, cat: TV/Anime, desc: "Adult Video"}
|
||||
- {id: 16, cat: TV/Anime, desc: "Other"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings:
|
||||
- name: cat-id
|
||||
type: text
|
||||
label: Category Id
|
||||
- name: info
|
||||
type: info
|
||||
label: Category Id Note
|
||||
default: "You can filter your searches by using any of the following category numbers (comma delimited):<br>1 :Anime - Sub<br>2 :Anime - Raw<br>3 :Anime - Dub<br>4 :LA - Sub<br>5 :LA - Raw<br>6 :Light Novel<br>7 :Manga - TLed<br>8 :Manga - Raw<br>9 :♫ - Lossy<br>10 :♫ - Lossless<br>11 :♫ - Video<br>12 :Games<br>13 :Applications<br>14 :Pictures<br>15 :Adult Video<br>16 :Other"
|
||||
- name: lang-id
|
||||
type: text
|
||||
label: Language Id
|
||||
label: Language ID
|
||||
- name: info
|
||||
type: info
|
||||
label: Language ID Note
|
||||
default: "You can filter your searches using any of the following language ID (comma delimited):<br>19 :Arabic<br>22 :Bengali<br>14 :Bulgarian<br>21 :Chinese (Simplified)<br>24 :Czech<br>20 :Danish<br>5 :Dutch<br>1 :English<br>11 :Finnish<br>10 :French<br>8 :German<br>13 :Greek<br>9 :Hungarian<br>27 :Indonesian<br>6 :Italian<br>2 :Japanese<br>28 :Korean<br>31 :Malaysian<br>25 :Mongolian<br>30 :Persian<br>3 :Polish<br>16 :Portuguese (Brazil)<br>17 :Portuguese (Portugal)<br>23 :Romanian<br>7 :Russian<br>4 :Serbo-Croatian<br>29 :Spanish (LATAM)<br>15 :Spanish (Spain)<br>18 :Swedish<br>26 :Turkish<br>12 :Vietnamese"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "upload_timestamp"
|
||||
options:
|
||||
"upload_timestamp": "created"
|
||||
"seeders": "seeders"
|
||||
"size": "size"
|
||||
"filename": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "?{{if .Config.cat-id}}id={{.Config.cat-id }}&{{else}}{{end}}{{if .Config.lang-id}}lang_id={{.Config.lang-id}}&{{else}}{{end}}q={{if .Keywords}}{{.Keywords}}{{else}}{{end}}"
|
||||
# https://anidex.info/?page=search&id=1,2,3&lang_id=5,1,10&group_id=0&q=rinshi
|
||||
- path: "?page=search&id={{ if .Categories }}{{ range .Categories }},{{.}}{{end}}{{else}}0{{end}}{{ if .Config.lang-id }}&lang_id={{ .Config.lang-id }}{{else}}{{end}}&group_id=0&q={{ if .Keywords }}{{ .Keywords }}{{else}}{{end}}&s={{ .Config.sort }}&o={{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: div.table-responsive > table > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="/?id="]
|
||||
@@ -85,6 +102,6 @@
|
||||
grabs:
|
||||
selector: td:nth-child(11)
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
text: 1
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "/{{if .Keywords}}?s={{ .Keywords}}{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}?s={{ .Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: table tbody tr:has(td.torrents_small_type_data1)
|
||||
fields:
|
||||
|
||||
@@ -1,106 +0,0 @@
|
||||
---
|
||||
site: aox
|
||||
name: AOX
|
||||
description: "AOX (Chippu) is a Private Torrent Tracker for ASIAN MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://aox.to/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 13, cat: Movies, desc: "Movie"}
|
||||
- {id: 11, cat: TV, desc: "TV-Show"}
|
||||
- {id: 5, cat: TV/Other, desc: "Variety Show"}
|
||||
- {id: 24, cat: XXX, desc: "Adult"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: body[onLoad^="makeAlert('"]
|
||||
message:
|
||||
selector: body[onLoad^="makeAlert('"]
|
||||
attribute: onLoad
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["makeAlert('Error' , '", ""]
|
||||
- name: replace
|
||||
args: ["');", ""]
|
||||
test:
|
||||
path: index.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: index.php
|
||||
inputs:
|
||||
search: "{{ .Query.Keywords }}"
|
||||
page: "torrents"
|
||||
category: "{{range .Categories}}{{.}};{{end}}"
|
||||
options: "0"
|
||||
active: "0"
|
||||
rows:
|
||||
selector: table.table.table-bordered > tbody > tr:has(a[href^="index.php?page=torrent-details&id="])
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="download.php"]
|
||||
attribute: href
|
||||
title:
|
||||
selector: a[title][href^="index.php?page=torrent-details&id="]
|
||||
banner:
|
||||
selector: img[src^="torrentimg/"]
|
||||
attribute: src
|
||||
category:
|
||||
selector: a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
details:
|
||||
selector: a[title][href^="index.php?page=torrent-details&id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: p:has(b:contains("Size:"))
|
||||
remove: b
|
||||
date:
|
||||
selector: p:has(b:contains("Added:"))
|
||||
remove: b
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["@ ", ""]
|
||||
- name: append
|
||||
args: " +01:00"
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
seeders:
|
||||
selector: b:contains("Seeds:") + a
|
||||
leechers:
|
||||
selector: b:contains("Leechers:") + a
|
||||
grabs:
|
||||
selector: p:has(b:contains("Complete:"))
|
||||
remove: b, a[href^="index.php?page=peers"]
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["---", "0"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i.fa-star: "0"
|
||||
i.fa-star-half-o: "0.5"
|
||||
i.fa-star-o: "0.75"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span[title="2x Upload Multiplier"]: "2"
|
||||
"*": "1"
|
||||
description:
|
||||
selector: p:has(b:contains("Language:"))
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
download:
|
||||
before:
|
||||
path: "thanks.php"
|
||||
path: thanks.php
|
||||
method: "post"
|
||||
inputs:
|
||||
infohash: "{{ .DownloadUri.Query.id }}"
|
||||
|
||||
@@ -1,143 +0,0 @@
|
||||
---
|
||||
site: archetorrent
|
||||
name: ArcheTorrent
|
||||
description: "ArcheTorrent is a FRENCH Private Torrent Tracker"
|
||||
language: fr-fr
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://archetorrent.com
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 18, cat: PC, desc: "Applications: PC"}
|
||||
- {id: 19, cat: PC/Mac, desc: "Applications: Mac"}
|
||||
- {id: 54, cat: PC, desc: "Applications: linux"}
|
||||
- {id: 56, cat: XXX/Other, desc: "Autres: ebook xxx"}
|
||||
- {id: 36, cat: Books, desc: "Autres: E-Books"}
|
||||
- {id: 37, cat: Other, desc: "Autres: Images"}
|
||||
- {id: 38, cat: PC/Phone-Other, desc: "Autres: Telephone-mobile"}
|
||||
- {id: 47, cat: Movies, desc: "Films: Animé"}
|
||||
- {id: 1, cat: Movies/DVD, desc: "Films: DVD"}
|
||||
- {id: 2, cat: Movies/SD, desc: "Films: Dvdrip"}
|
||||
- {id: 68, cat: Movies, desc: "Films: TAT Releases"}
|
||||
- {id: 70, cat: Movies/HD, desc: "Films: UHD 4K"}
|
||||
- {id: 69, cat: Movies, desc: "Films: Retro"}
|
||||
- {id: 3, cat: Movies/HD, desc: "Films: HD1080"}
|
||||
- {id: 42, cat: Movies/HD, desc: "Films: HD720"}
|
||||
- {id: 4, cat: Movies, desc: "Films: Cam/Ts"}
|
||||
- {id: 22, cat: Movies/BluRay, desc: "Films: bluray"}
|
||||
- {id: 23, cat: Movies/3D, desc: "Films: 3D"}
|
||||
- {id: 24, cat: Movies/Foreign, desc: "Films: VOSTFR"}
|
||||
- {id: 25, cat: XXX, desc: "Films: Adulte"}
|
||||
- {id: 48, cat: TV/Documentary, desc: "Films: Documentaire"}
|
||||
- {id: 49, cat: Movies/Other, desc: "Films: Spectacle"}
|
||||
- {id: 51, cat: Movies/SD, desc: "Films: R5"}
|
||||
- {id: 52, cat: Movies/SD, desc: "Films: bdrip"}
|
||||
- {id: 53, cat: Movies/SD, desc: "Films: brrip"}
|
||||
- {id: 55, cat: Movies/DVD, desc: "Films: dvd-pack"}
|
||||
- {id: 57, cat: Movies, desc: "Films: manga"}
|
||||
- {id: 59, cat: Movies/WEBDL, desc: "Films: Webrip"}
|
||||
- {id: 63, cat: Movies/SD, desc: "Films: M-HD"}
|
||||
- {id: 10, cat: PC/Games, desc: "Jeux: PC"}
|
||||
- {id: 11, cat: Console/Other, desc: "Jeux: PS2"}
|
||||
- {id: 43, cat: Console/PS3, desc: "Jeux: PS3"}
|
||||
- {id: 12, cat: Console/PSP, desc: "Jeux: PSP"}
|
||||
- {id: 14, cat: Console/Xbox 360, desc: "Jeux: Xbox360"}
|
||||
- {id: 44, cat: Console/Wii, desc: "Jeux: Wii"}
|
||||
- {id: 45, cat: Console/NDS, desc: "Jeux: DS"}
|
||||
- {id: 27, cat: Audio/Video, desc: "Musique: Clip Video"}
|
||||
- {id: 62, cat: TV/SD, desc: "Serie tv: TV BDRip"}
|
||||
- {id: 5, cat: TV/SD, desc: "Serie tv: Dvdrip"}
|
||||
- {id: 41, cat: TV/HD, desc: "Serie tv: Hd"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serie tv: pack série tv"}
|
||||
- {id: 64, cat: TV/FOREIGN, desc: "Serie tv: vostfr"}
|
||||
- {id: 65, cat: TV/HD, desc: "Serie tv: Série tv 720P"}
|
||||
- {id: 66, cat: TV/HD, desc: "Serie tv: Série tv 1080P"}
|
||||
- {id: 67, cat: TV/HD, desc: "Serie tv: Série tv PackHD"}
|
||||
- {id: 73, cat: TV/Anime, desc: "Serie tv: Anime "}
|
||||
- {id: 72, cat: TV/Sport, desc: "Sport: sport"}
|
||||
- {id: 61, cat: TV/SD, desc: "Tv: DVDRip"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: form:contains("Erreur")
|
||||
message:
|
||||
selector: form
|
||||
remove: table
|
||||
test:
|
||||
path: torrents-search.php
|
||||
|
||||
search:
|
||||
keywordsfilters:
|
||||
- name: replace
|
||||
args: ["-", " "] # remove special search character (negative search)
|
||||
- name: replace
|
||||
args: ["+", " "] # remove special search character (positive search)
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
paths:
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: "1"
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["torrents-details.php", "download.php"]
|
||||
date:
|
||||
selector: td:nth-child(3) a
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Poster le: </b>(.*?)<br />"
|
||||
- name: dateparse
|
||||
args: "02-01-2006"
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" - (Nouveau!)", ""]
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
banner:
|
||||
selector: img.rounded-img
|
||||
attribute: src
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
selector: td:nth-child(9) font b
|
||||
seeders:
|
||||
selector: td:nth-child(7) font b
|
||||
leechers:
|
||||
selector: td:nth-child(8) font b
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[title="freeleech"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
@@ -12,53 +12,54 @@
|
||||
categorymappings:
|
||||
- {id: "movies", cat: Movies, desc: "Movies"}
|
||||
- {id: "arenabgtv", cat: Movies, desc: "Movies / ArenaBG.TV"}
|
||||
- {id: "xvid", cat: Movies, desc: "Movies / XviD"}
|
||||
- {id: "dvd-r", cat: Movies, desc: "Movies / DVD-R"}
|
||||
- {id: "x264", cat: Movies, desc: "Movies / x264"}
|
||||
- {id: "animemanga", cat: Movies, desc: "Movies / Anime & Manga"}
|
||||
- {id: "documentaries", cat: Movies, desc: "Movies / Documentaries"}
|
||||
- {id: "blu-ray", cat: Movies, desc: "Movies / Blu-ray"}
|
||||
- {id: "xvid", cat: Movies/SD, desc: "Movies / XviD"}
|
||||
- {id: "dvd-r", cat: Movies/DVD, desc: "Movies / DVD-R"}
|
||||
- {id: "x264", cat: Movies/HD, desc: "Movies / x264"}
|
||||
- {id: "animemanga", cat: TV/Anime, desc: "Movies / Anime & Manga"}
|
||||
- {id: "documentaries", cat: TV/Documentary, desc: "Movies / Documentaries"}
|
||||
- {id: "blu-ray", cat: Movies/BluRay, desc: "Movies / Blu-ray"}
|
||||
- {id: "boxset", cat: Movies, desc: "Movies / Boxset"}
|
||||
- {id: "x264boxset", cat: Movies, desc: "Movies / x264 Boxset"}
|
||||
- {id: "tvepisodeshd", cat: Movies, desc: "Movies / HDTV"}
|
||||
- {id: "3d", cat: Movies, desc: "Movies / 3D"}
|
||||
- {id: "movies-hd", cat: Movies, desc: "Movies / Movies HD"}
|
||||
- {id: "x265", cat: Movies, desc: "Movies / x265"}
|
||||
- {id: "x264boxset", cat: Movies/HD, desc: "Movies / x264 Boxset"}
|
||||
- {id: "tvepisodeshd", cat: Movies/HD, desc: "Movies / HDTV"}
|
||||
- {id: "3d", cat: Movies/3D, desc: "Movies / 3D"}
|
||||
- {id: "movies-hd", cat: Movies/HD, desc: "Movies / Movies HD"}
|
||||
- {id: "x265", cat: Movies/HD, desc: "Movies / x265"}
|
||||
- {id: "4k", cat: Movies/UHD, desc: "Movies / 4K"}
|
||||
- {id: "series", cat: TV, desc: "Series"}
|
||||
- {id: "hdtv", cat: TV, desc: "Series / TV Episodes HD"}
|
||||
- {id: "hdtv", cat: TV/HD, desc: "Series / TV Episodes HD"}
|
||||
- {id: "tvepisodes", cat: TV, desc: "Series / TV Episodes"}
|
||||
- {id: "tvboxset", cat: TV, desc: "Series / TV Boxset"}
|
||||
- {id: "tvboxsethd", cat: TV, desc: "Series / TV Boxset HD"}
|
||||
- {id: "tvboxsethd", cat: TV/HD, desc: "Series / TV Boxset HD"}
|
||||
- {id: "music", cat: Audio, desc: "Music"}
|
||||
- {id: "mp3", cat: Audio, desc: "Music / MP3"}
|
||||
- {id: "music-video", cat: Audio, desc: "Music / Video"}
|
||||
- {id: "flac", cat: Audio, desc: "Music / FLAC"}
|
||||
- {id: "mp3", cat: Audio/MP3, desc: "Music / MP3"}
|
||||
- {id: "music-video", cat: Audio/Video, desc: "Music / Video"}
|
||||
- {id: "flac", cat: Audio/Lossless, desc: "Music / FLAC"}
|
||||
- {id: "music-dvd", cat: Audio, desc: "Music / DVD"}
|
||||
- {id: "music-ape", cat: Audio, desc: "Music / APE"}
|
||||
- {id: "music-ape", cat: Audio/Lossless, desc: "Music / APE"}
|
||||
- {id: "music-dts", cat: Audio, desc: "Music / DTS"}
|
||||
- {id: "musicwavpack", cat: Audio, desc: "Music / WavePack"}
|
||||
- {id: "musicost", cat: Audio, desc: "Music / OST"}
|
||||
- {id: "games", cat: PC, desc: "Games"}
|
||||
- {id: "games-iso", cat: PC, desc: "Games / PC ISO"}
|
||||
- {id: "games", cat: PC/Games, desc: "Games"}
|
||||
- {id: "games-iso", cat: PC/Games, desc: "Games / PC ISO"}
|
||||
- {id: "pc-rip", cat: PC, desc: "Games / PC RIP"}
|
||||
- {id: "ps2", cat: Console, desc: "Games / PS2"}
|
||||
- {id: "psp", cat: Console, desc: "Games / PSP"}
|
||||
- {id: "xbox", cat: Console, desc: "Games / XBOX"}
|
||||
- {id: "xbox-360", cat: Console, desc: "Games / XBOX-360"}
|
||||
- {id: "ps3", cat: Console, desc: "Games / PS3"}
|
||||
- {id: "wii", cat: Console, desc: "Games / WII"}
|
||||
- {id: "PS4", cat: Console, desc: "Games / PS4"}
|
||||
- {id: "psp", cat: Console/PSP, desc: "Games / PSP"}
|
||||
- {id: "xbox", cat: Console/Xbox, desc: "Games / XBOX"}
|
||||
- {id: "xbox-360", cat: Console/Xbox 360, desc: "Games / XBOX-360"}
|
||||
- {id: "ps3", cat: Console/PS3, desc: "Games / PS3"}
|
||||
- {id: "wii", cat: Console/Wii, desc: "Games / WII"}
|
||||
- {id: "PS4", cat: Console/PS4, desc: "Games / PS4"}
|
||||
- {id: "software", cat: PC, desc: "Software"}
|
||||
- {id: "pc-iso", cat: PC, desc: "Software / PC ISO"}
|
||||
- {id: "pdasmartphone", cat: PC, desc: "Software / Smartphone"}
|
||||
- {id: "pc-iso", cat: PC/ISO, desc: "Software / PC ISO"}
|
||||
- {id: "pdasmartphone", cat: PC/Phone-Other, desc: "Software / Smartphone"}
|
||||
- {id: "tutorial", cat: PC, desc: "Software / Tutorial"}
|
||||
- {id: "android", cat: PC, desc: "Software / Android"}
|
||||
- {id: "ios", cat: PC, desc: "Software / iOS"}
|
||||
- {id: "misc", cat: Other, desc: "Misc"}
|
||||
- {id: "android", cat: PC/Phone-Android, desc: "Software / Android"}
|
||||
- {id: "ios", cat: PC/Phone-IOS, desc: "Software / iOS"}
|
||||
- {id: "misc", cat: Other/Misc, desc: "Misc"}
|
||||
- {id: "other", cat: Other, desc: "Misc / Other"}
|
||||
- {id: "e-books", cat: Other, desc: "Misc / e-Books"}
|
||||
- {id: "sports", cat: Other, desc: "Misc / Sports"}
|
||||
- {id: "0-day", cat: Other, desc: "Misc / 0-Day"}
|
||||
- {id: "e-books", cat: Books/Ebook, desc: "Misc / e-Books"}
|
||||
- {id: "sports", cat: TV/Sport, desc: "Misc / Sports"}
|
||||
- {id: "0-day", cat: PC/0day, desc: "Misc / 0-Day"}
|
||||
- {id: "xxx", cat: XXX, desc: "XXX"}
|
||||
- {id: "porn", cat: XXX, desc: "XXX / Porn"}
|
||||
- {id: "xxx-hd", cat: XXX, desc: "XXX / XXX HD"}
|
||||
@@ -68,6 +69,21 @@
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: downloadlink
|
||||
type: select
|
||||
label: Download link
|
||||
default: "magnet:?xt="
|
||||
options:
|
||||
"/get/key:" : ".torrent"
|
||||
"magnet:?xt=": "magnet"
|
||||
|
||||
login:
|
||||
path: /
|
||||
method: form
|
||||
@@ -85,11 +101,11 @@
|
||||
selector: a[href="/users/logout/"]
|
||||
|
||||
download:
|
||||
selector: a[href^="magnet:?"]
|
||||
selector: a[href*="{{ .Config.downloadlink }}"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents/
|
||||
- path: torrents/
|
||||
method: post
|
||||
followredirect: true
|
||||
inputs:
|
||||
@@ -122,14 +138,14 @@
|
||||
selector: td:nth-child(4)
|
||||
date:
|
||||
# 08:49:09
|
||||
selector: td:nth-child(3):has(":")
|
||||
selector: td:nth-child(3):contains(":")
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "15:04:05"
|
||||
date:
|
||||
# 2018-10-19
|
||||
selector: td:nth-child(3):has("-")
|
||||
selector: td:nth-child(3):contains("-")
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
@@ -158,6 +174,6 @@
|
||||
- name: regexp
|
||||
args: src=\\'([^\s\\]+)
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
text: 1
|
||||
|
||||
181
src/Jackett.Common/Definitions/asgaard.yml
Normal file
181
src/Jackett.Common/Definitions/asgaard.yml
Normal file
@@ -0,0 +1,181 @@
|
||||
---
|
||||
site: asgaard
|
||||
name: Asgaard
|
||||
description: "Asgaard (AG) is a NORDIC Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://asgrd.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "Kidz"}
|
||||
- {id: 2, cat: Movies, desc: "Movies"}
|
||||
- {id: 3, cat: TV, desc: "TV"}
|
||||
- {id: 4, cat: Audio, desc: "Music"}
|
||||
- {id: 5, cat: PC, desc: "Apps"}
|
||||
- {id: 6, cat: PC/Games, desc: "Games"}
|
||||
- {id: 7, cat: Books, desc: "Books"}
|
||||
- {id: 8, cat: Movies, desc: "Kidz Movies"}
|
||||
- {id: 9, cat: TV, desc: "Kidz TV"}
|
||||
- {id: 10, cat: TV, desc: "Kidz Boxset"}
|
||||
- {id: 54, cat: Movies/SD, desc: "Movies SD"}
|
||||
- {id: 55, cat: Movies/DVD, desc: "Movies DVDR"}
|
||||
- {id: 14, cat: Movies/HD, desc: "Movies HD"}
|
||||
- {id: 15, cat: Movies/UHD, desc: "Movies 4K"}
|
||||
- {id: 17, cat: Movies/BluRay, desc: "Movies BD"}
|
||||
- {id: 73, cat: Movies, desc: "Movies Boxset"}
|
||||
- {id: 51, cat: Movies, desc: "Movies No Nordic Subs"}
|
||||
- {id: 52, cat: TV/SD, desc: "TV SD"}
|
||||
- {id: 58, cat: TV/SD, desc: "TV DVDR"}
|
||||
- {id: 18, cat: TV/HD, desc: "TV HD"}
|
||||
- {id: 19, cat: TV/UHD, desc: "TV 4K"}
|
||||
- {id: 60, cat: TV/HD, desc: "TV BD"}
|
||||
- {id: 20, cat: TV, desc: "TV Boxset"}
|
||||
- {id: 50, cat: TV, desc: "TV No Nordic Subs"}
|
||||
- {id: 49, cat: Audio/Video, desc: "Music Video"}
|
||||
- {id: 23, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: 61, cat: Audio/MP3, desc: "Music MP3 Boxset"}
|
||||
- {id: 24, cat: Audio/Lossless, desc: "Music Flac"}
|
||||
- {id: 62, cat: Audio/Lossless, desc: "Music Flac Boxset"}
|
||||
- {id: 28, cat: PC/Phone-Android, desc: "Apps Android"}
|
||||
- {id: 29, cat: PC/Phone-IOS, desc: "Apps iOS"}
|
||||
- {id: 25, cat: PC/0day, desc: "Apps Windows"}
|
||||
- {id: 26, cat: PC, desc: "Apps Linux"}
|
||||
- {id: 27, cat: PC/Mac, desc: "Apps MacOS"}
|
||||
- {id: 30, cat: PC/Games, desc: "Games Windows"}
|
||||
- {id: 31, cat: PC, desc: "Games Linux"}
|
||||
- {id: 32, cat: PC/Mac, desc: "Games MacOS"}
|
||||
- {id: 33, cat: PC/Phone-Android, desc: "Games Android"}
|
||||
- {id: 34, cat: PC/Phone-IOS, desc: "Games iOS"}
|
||||
- {id: 35, cat: Console/NDS, desc: "Games Nintendo"}
|
||||
- {id: 38, cat: Console/PSP, desc: "Games Playstation"}
|
||||
- {id: 39, cat: Console/Xbox, desc: "Games XBox"}
|
||||
- {id: 41, cat: Books/Ebook, desc: "Books E-Book"}
|
||||
- {id: 42, cat: Audio/Audiobook, desc: "Books Audiobook"}
|
||||
- {id: 43, cat: Books/Technical, desc: "Books Education"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: info
|
||||
type: info
|
||||
label: "About the Username field"
|
||||
default: "Enter your <b>Email address</b> in the username field."
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "2"
|
||||
options:
|
||||
"2": "created"
|
||||
"7": "seeders"
|
||||
"5": "size"
|
||||
"1": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: post
|
||||
form: form
|
||||
inputs:
|
||||
email: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
error:
|
||||
- selector: h2:contains("Error")
|
||||
message:
|
||||
selector: p
|
||||
test:
|
||||
path: /
|
||||
selector: a[href$="/logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://asgrd.org/browse.php?sns=&sna=&spf=&sr=&sg=&sys=&sye=&srs=&sre=&si=tt2401090&ss=&incldead=0&only_free=0&sort=4&type=desc
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cats[]={{.}}&{{end}}"
|
||||
sns: ""
|
||||
sna: "{{ if .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
spf: ""
|
||||
sr: ""
|
||||
sg: ""
|
||||
sys: ""
|
||||
sye: ""
|
||||
srs: ""
|
||||
sre: ""
|
||||
si: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{else}}{{end}}"
|
||||
ss: ""
|
||||
# 0 active 1 incldead 2 onlydead
|
||||
incldead: 0
|
||||
# 0 incl non-free 1 incl only-free
|
||||
only_free: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.table-striped > tbody > tr:has(a[href*="details.php?id="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
title:
|
||||
selector: div.torrent-name
|
||||
filters:
|
||||
# need to remove the tooltip text
|
||||
- name: regexp
|
||||
args: "(.+?)\\n"
|
||||
details:
|
||||
selector: a[href*="details.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href*="browse.php?"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: cats\[\]=(\d+)$
|
||||
banner:
|
||||
optional: true
|
||||
selector: img.tooltip-poster
|
||||
attribute: src
|
||||
download:
|
||||
selector: a[href*="download.php?torrent="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(2) > div > div:last-of-type
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2 Jan 2006 15:04:05"
|
||||
files:
|
||||
# remember #5754 advanced users have additional last TD so dont go using nth-last-child ;-)
|
||||
selector: td:nth-child(5)
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
leechers:
|
||||
selector: td:nth-child(10)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="./images/gold.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
175
src/Jackett.Common/Definitions/asiancinema.yml
Normal file
175
src/Jackett.Common/Definitions/asiancinema.yml
Normal file
@@ -0,0 +1,175 @@
|
||||
---
|
||||
site: asiancinema
|
||||
name: AsianCinema
|
||||
description: "Tracker Movies/TV/Music"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://asiancinema.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- 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: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
error:
|
||||
- selector: script[nonce]:contains("Error")
|
||||
message:
|
||||
selector: script[nonce]:contains("Error")
|
||||
test:
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: li:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sorting: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 100
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download_check/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/600x900", ""]
|
||||
comments:
|
||||
selector: a[href*="#comments"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese
|
||||
- name: re_replace
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди|前)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天)", " day"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand|个月)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
|
||||
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
|
||||
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-globe text-blue"]: 0 # Global Freeleech
|
||||
i[class*="fa-star text-gold"]: 0 # Freeleech
|
||||
i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
|
||||
i[class*="fa-globe text-green"]: 2 # Global Double Upload
|
||||
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
|
||||
"*": 1
|
||||
# UNIT3D 1.9.3
|
||||
@@ -1,112 +0,0 @@
|
||||
---
|
||||
site: asiandvdclub
|
||||
name: AsianDVDClub
|
||||
description: "AsianDVDClub is an ASIAN Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://asiandvdclub.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 19, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 12, cat: Movies/Foreign, desc: "China"}
|
||||
- {id: 15, cat: Movies/Foreign, desc: "Hong Kong"}
|
||||
- {id: 27, cat: Movies/Foreign, desc: "India"}
|
||||
- {id: 13, cat: Movies/Foreign, desc: "Japan"}
|
||||
- {id: 14, cat: Movies/Foreign, desc: "Korea"}
|
||||
- {id: 20, cat: Movies/Foreign, desc: "Music DVDs"}
|
||||
- {id: 18, cat: Movies/Foreign, desc: "Other Asian"}
|
||||
- {id: 25, cat: Movies/Foreign, desc: "Patches"}
|
||||
- {id: 24, cat: Movies/Foreign, desc: "Philippines"}
|
||||
- {id: 23, cat: Movies/Foreign, desc: "Pinku"}
|
||||
- {id: 21, cat: Audio, desc: "Soundtracks"}
|
||||
- {id: 26, cat: Movies/Foreign, desc: "Taiwan"}
|
||||
- {id: 17, cat: Movies/Foreign, desc: "Thailand"}
|
||||
- {id: 22, cat: TV, desc: "TV Series"}
|
||||
- {id: 16, cat: Movies/Foreign, desc: "Viet Nam"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
apple: "evil"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
keywordsfilters:
|
||||
- name: replace
|
||||
args: ["-", " "]
|
||||
- name: replace
|
||||
args: ["(", " "]
|
||||
- name: replace
|
||||
args: [")", " "]
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: "1"
|
||||
rows:
|
||||
selector: table.torrenttable > tbody > tr
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="/details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php", "download.php"]
|
||||
title:
|
||||
selector: td.torrentname > a
|
||||
details:
|
||||
selector: a[href^="/details.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td.cat_pic > a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: c(\d+)=1
|
||||
seeders:
|
||||
selector: td.seeders
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["-\xA0-\xA0-", "0"]
|
||||
leechers:
|
||||
selector: td.leechers
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["-\xA0-\xA0-", "0"]
|
||||
grabs:
|
||||
selector: td.dls
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["-\xA0-\xA0-", "0"]
|
||||
date:
|
||||
selector: td.time
|
||||
filters:
|
||||
- name: append
|
||||
args: " ago"
|
||||
size:
|
||||
selector: td.size
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[title="Free to download"]: "0"
|
||||
img[title="Download counts 50%"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
@@ -5,88 +5,98 @@
|
||||
language: en-us
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- http://audiobookbay.nl/
|
||||
legacylinks:
|
||||
- https://audiobookbay.la/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Children, cat: Audio/Audiobook, desc: "Children"}
|
||||
- {id: Teen, cat: Audio/Audiobook, desc: "Teen & Young Adult"}
|
||||
- {id: Adults, cat: Audio/Audiobook, desc: "Adults"}
|
||||
- {id: The, cat: Audio/Audiobook, desc: "The Undead"}
|
||||
- {id: "(Post)apocalyptic", cat: Audio/Audiobook, desc: "(Post)apocalyptic"}
|
||||
- {id: "True", cat: Audio/Audiobook, desc: "True Crime"}
|
||||
- {id: Action, cat: Audio/Audiobook, desc: "Action"}
|
||||
- {id: Adults, cat: Audio/Audiobook, desc: "Adults"}
|
||||
- {id: Adventure, cat: Audio/Audiobook, desc: "Adventure"}
|
||||
- {id: Anthology, cat: Audio/Audiobook, desc: "Anthology"}
|
||||
- {id: Art, cat: Audio/Audiobook, desc: "Art"}
|
||||
- {id: Autobiography, cat: Audio/Audiobook, desc: "Autobiography & Biographies"}
|
||||
- {id: Bestsellers, cat: Audio/Audiobook, desc: "Bestsellers"}
|
||||
- {id: Business, cat: Audio/Audiobook, desc: "Business"}
|
||||
- {id: Children, cat: Audio/Audiobook, desc: "Children"}
|
||||
- {id: Classic, cat: Audio/Audiobook, desc: "Classic"}
|
||||
- {id: Computer, cat: Audio/Audiobook, desc: "Computer"}
|
||||
- {id: Contemporary, cat: Audio/Audiobook, desc: "Contemporary"}
|
||||
- {id: Crime, cat: Audio/Audiobook, desc: "Crime"}
|
||||
- {id: Detective, cat: Audio/Audiobook, desc: "Detective"}
|
||||
- {id: Doctor, cat: Audio/Audiobook, desc: "Doctor Who"}
|
||||
- {id: Documentary, cat: Audio/Audiobook, desc: "Documentary"}
|
||||
- {id: Education, cat: Audio/Audiobook, desc: "Education"}
|
||||
- {id: Fantasy, cat: Audio/Audiobook, desc: "Fantasy"}
|
||||
- {id: Full, cat: Audio/Audiobook, desc: "Full Cast"}
|
||||
- {id: Gay, cat: Audio/Audiobook, desc: "Gay"}
|
||||
- {id: General, cat: Audio/Audiobook, desc: "General Fiction"}
|
||||
- {id: Historical, cat: Audio/Audiobook, desc: "Historical Fiction"}
|
||||
- {id: History, cat: Audio/Audiobook, desc: "History"}
|
||||
- {id: Horror, cat: Audio/Audiobook, desc: "Horror"}
|
||||
- {id: Humor, cat: Audio/Audiobook, desc: "Humor"}
|
||||
- {id: Lecture, cat: Audio/Audiobook, desc: "Lecture"}
|
||||
- {id: LGBT, cat: Audio/Audiobook, desc: "LGBT"}
|
||||
- {id: Literature, cat: Audio/Audiobook, desc: "Literature"}
|
||||
- {id: Lecture, cat: Audio/Audiobook, desc: "Lecture"}
|
||||
- {id: Lesbian, cat: Audio/Audiobook, desc: "Lesbian"}
|
||||
- {id: Libertarian, cat: Audio/Audiobook, desc: "Libertarian"}
|
||||
- {id: LitRPG, cat: Audio/Audiobook, desc: "LitRPG"}
|
||||
- {id: Literature, cat: Audio/Audiobook, desc: "Literature"}
|
||||
- {id: Military, cat: Audio/Audiobook, desc: "Military"}
|
||||
- {id: Misc., cat: Audio/Audiobook, desc: "Misc. Non-fiction"}
|
||||
- {id: Mystery, cat: Audio/Audiobook, desc: "Mystery"}
|
||||
- {id: Myth, cat: Audio/Audiobook, desc: "Myth Hunting"}
|
||||
- {id: Novel, cat: Audio/Audiobook, desc: "Novel"}
|
||||
- {id: Other, cat: Audio/Audiobook, desc: "Other"}
|
||||
- {id: Paranormal, cat: Audio/Audiobook, desc: "Paranormal"}
|
||||
- {id: Plays, cat: Audio/Audiobook, desc: "Plays & Theater"}
|
||||
- {id: Poetry, cat: Audio/Audiobook, desc: "Poetry"}
|
||||
- {id: Political, cat: Audio/Audiobook, desc: "Political"}
|
||||
- {id: Postapocalyptic, cat: Audio/Audiobook, desc: "Postapocalyptic"}
|
||||
- {id: Radio, cat: Audio/Audiobook, desc: "Radio Productions"}
|
||||
- {id: Romance, cat: Audio/Audiobook, desc: "Romance"}
|
||||
- {id: Sci-Fi, cat: Audio/Audiobook, desc: "Sci-Fi"}
|
||||
- {id: Science, cat: Audio/Audiobook, desc: "Science"}
|
||||
- {id: Self-help, cat: Audio/Audiobook, desc: "Self-help"}
|
||||
- {id: SHTF, cat: Audio/Audiobook, desc: "SHTF"}
|
||||
- {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: 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: Anthology, cat: Audio/Audiobook, desc: "Anthology"}
|
||||
- {id: Bestsellers, cat: Audio/Audiobook, desc: "Bestsellers"}
|
||||
- {id: Classic, cat: Audio/Audiobook, desc: "Classic"}
|
||||
- {id: Documentary, cat: Audio/Audiobook, desc: "Documentary"}
|
||||
- {id: Full, cat: Audio/Audiobook, desc: "Full Cast"}
|
||||
- {id: Libertarian, cat: Audio/Audiobook, desc: "Libertarian"}
|
||||
- {id: Military, cat: Audio/Audiobook, desc: "Military"}
|
||||
- {id: Novel, cat: Audio/Audiobook, desc: "Novel"}
|
||||
- {id: Short, cat: Audio/Audiobook, desc: "Short Story"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: https://audiobookbay.nl/member/login.php
|
||||
form: form[action="https://audiobookbay.nl/member/login.php"]
|
||||
form: form[action$="/member/login.php"]
|
||||
method: post
|
||||
form: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
login: "Login"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("Invalid"))
|
||||
- selector: div.warning
|
||||
test:
|
||||
path: /member/users/
|
||||
path: http://audiobookbay.nl/member/users/
|
||||
selector: a[href="/member/logout"]
|
||||
|
||||
download:
|
||||
selector: a[href^="/download?"]
|
||||
attribute: href
|
||||
method: get
|
||||
before:
|
||||
path: https://audiobookbay.nl/member/login.php
|
||||
method: "post"
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -107,8 +117,11 @@
|
||||
selector: div.postTitle h2 a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/audio-books/"]
|
||||
selector: a[href^="/dl-now?f="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["/dl-now?f=", "/download?f="]
|
||||
banner:
|
||||
optional: true
|
||||
selector: img
|
||||
@@ -130,3 +143,11 @@
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "File Size: (.+?)s"
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://abtorrents.me
|
||||
- https://abtorrents.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -43,8 +43,6 @@
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
@@ -59,11 +57,11 @@
|
||||
- selector: td.embedded:has(h2:contains("Oops"))
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
||||
319
src/Jackett.Common/Definitions/audionews.yml
Normal file
319
src/Jackett.Common/Definitions/audionews.yml
Normal file
@@ -0,0 +1,319 @@
|
||||
---
|
||||
site: audionews
|
||||
name: AudioNews
|
||||
description: "AudioNews (AN) is a Private Torrent Tracker for AUDIO SOFTWARE / SAMPLES / ETC"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://audionews.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 106, cat: PC/Phone-Other, desc: "Mobile Apps"}
|
||||
- {id: 161, cat: PC/Phone-IOS, desc: "Mobile Apps iOS"}
|
||||
- {id: 160, cat: PC/Phone-Android, desc: "Mobile Apps Android"}
|
||||
- {id: 12, cat: PC, desc: "AUDIOAPPS"}
|
||||
- {id: 32, cat: PC, desc: "AUDIOAPPS DAW Apps"}
|
||||
- {id: 175, cat: PC, desc: "AUDIOAPPS Ableton"}
|
||||
- {id: 177, cat: PC, desc: "AUDIOAPPS Cakewalk"}
|
||||
- {id: 176, cat: PC, desc: "AUDIOAPPS REAPER"}
|
||||
- {id: 174, cat: PC, desc: "AUDIOAPPS Steinberg"}
|
||||
- {id: 34, cat: PC, desc: "AUDIOAPPS Mastering &Audio Editor Apps"}
|
||||
- {id: 37, cat: PC, desc: "AUDIOAPPS DJ Apps"}
|
||||
- {id: 13, cat: Audio, desc: "SAMPLE LIBRARIES"}
|
||||
- {id: 62, cat: Audio, desc: "SAMPLE LIBRARIES AMG"}
|
||||
- {id: 117, cat: Audio, desc: "SAMPLE LIBRARIES Bela D Media"}
|
||||
- {id: 118, cat: Audio, desc: "SAMPLE LIBRARIES Beta Monkey Music"}
|
||||
- {id: 51, cat: Audio, desc: "SAMPLE LIBRARIES Best Service"}
|
||||
- {id: 46, cat: Audio, desc: "SAMPLE LIBRARIES Big Fish"}
|
||||
- {id: 66, cat: Audio, desc: "SAMPLE LIBRARIES Bigga Giggas"}
|
||||
- {id: 122, cat: Audio, desc: "SAMPLE LIBRARIES Bluezone Corporation"}
|
||||
- {id: 123, cat: Audio, desc: "SAMPLE LIBRARIES Bunker 8"}
|
||||
- {id: 126, cat: Audio, desc: "SAMPLE LIBRARIES Cinematique Instruments"}
|
||||
- {id: 127, cat: Audio, desc: "SAMPLE LIBRARIES CineSamples"}
|
||||
- {id: 128, cat: Audio, desc: "SAMPLE LIBRARIES ClusterSound"}
|
||||
- {id: 121, cat: Audio, desc: "SAMPLE LIBRARIES Dan Dean"}
|
||||
- {id: 195, cat: Audio, desc: "SAMPLE LIBRARIES Diginoiz"}
|
||||
- {id: 52, cat: Audio, desc: "SAMPLE LIBRARIES Digital Juice"}
|
||||
- {id: 134, cat: Audio, desc: "SAMPLE LIBRARIES Digital-Redux"}
|
||||
- {id: 65, cat: Audio, desc: "SAMPLE LIBRARIES Digital Vision"}
|
||||
- {id: 59, cat: Audio, desc: "SAMPLE LIBRARIES Discovery Firm"}
|
||||
- {id: 61, cat: Audio, desc: "SAMPLE LIBRARIES Drumdrops"}
|
||||
- {id: 40, cat: Audio, desc: "SAMPLE LIBRARIES East West"}
|
||||
- {id: 74, cat: Audio, desc: "SAMPLE LIBRARIES Electronisounds"}
|
||||
- {id: 80, cat: Audio, desc: "SAMPLE LIBRARIES EMU format"}
|
||||
- {id: 82, cat: Audio, desc: "SAMPLE LIBRARIES ENSONIQ format"}
|
||||
- {id: 111, cat: Audio, desc: "SAMPLE LIBRARIES Fatloud"}
|
||||
- {id: 135, cat: Audio, desc: "SAMPLE LIBRARIES Fox Samples"}
|
||||
- {id: 41, cat: Audio, desc: "SAMPLE LIBRARIES FxPansion"}
|
||||
- {id: 130, cat: Audio, desc: "SAMPLE LIBRARIES Goldbaby"}
|
||||
- {id: 54, cat: Audio, desc: "SAMPLE LIBRARIES Hollywood Edge"}
|
||||
- {id: 64, cat: Audio, desc: "SAMPLE LIBRARIES IK Multimedia"}
|
||||
- {id: 75, cat: Audio, desc: "SAMPLE LIBRARIES Ilio"}
|
||||
- {id: 108, cat: Audio, desc: "SAMPLE LIBRARIES Industrial Strength Records"}
|
||||
- {id: 81, cat: Audio, desc: "SAMPLE LIBRARIES KURZWEIL format"}
|
||||
- {id: 91, cat: Audio, desc: "SAMPLE LIBRARIES Loopmasters"}
|
||||
- {id: 92, cat: Audio, desc: "SAMPLE LIBRARIES Masterbits"}
|
||||
- {id: 58, cat: Audio, desc: "SAMPLE LIBRARIES M-Audio"}
|
||||
- {id: 112, cat: Audio, desc: "SAMPLE LIBRARIES Mutekki"}
|
||||
- {id: 137, cat: Audio, desc: "SAMPLE LIBRARIES Mystic Kingz"}
|
||||
- {id: 47, cat: Audio, desc: "SAMPLE LIBRARIES Native Instruments"}
|
||||
- {id: 60, cat: Audio, desc: "SAMPLE LIBRARIES Nine Volt Audio"}
|
||||
- {id: 129, cat: Audio, desc: "SAMPLE LIBRARIES OrangeTree"}
|
||||
- {id: 203, cat: Audio, desc: "SAMPLE LIBRARIES Origin Sound"}
|
||||
- {id: 154, cat: Audio, desc: "SAMPLE LIBRARIES P5Audio"}
|
||||
- {id: 133, cat: Audio, desc: "SAMPLE LIBRARIES Peace Love Productions"}
|
||||
- {id: 140, cat: Audio, desc: "SAMPLE LIBRARIES Pound Audio"}
|
||||
- {id: 110, cat: Audio, desc: "SAMPLE LIBRARIES Prime Loops"}
|
||||
- {id: 180, cat: Audio, desc: "SAMPLE LIBRARIES Producer Loops"}
|
||||
- {id: 50, cat: Audio, desc: "SAMPLE LIBRARIES Prominy"}
|
||||
- {id: 171, cat: Audio, desc: "SAMPLE LIBRARIES Pulsed Records"}
|
||||
- {id: 132, cat: Audio, desc: "SAMPLE LIBRARIES Puremagnetik"}
|
||||
- {id: 49, cat: Audio, desc: "SAMPLE LIBRARIES Refills"}
|
||||
- {id: 99, cat: Audio, desc: "SAMPLE LIBRARIES reFX Nexus"}
|
||||
- {id: 125, cat: Audio, desc: "SAMPLE LIBRARIES Realsamples"}
|
||||
- {id: 83, cat: Audio, desc: "SAMPLE LIBRARIES ROLAND format"}
|
||||
- {id: 109, cat: Audio, desc: "SAMPLE LIBRARIES Sample Magic"}
|
||||
- {id: 136, cat: Audio, desc: "SAMPLE LIBRARIES Samplephonics"}
|
||||
- {id: 43, cat: Audio, desc: "SAMPLE LIBRARIES Sampletekk"}
|
||||
- {id: 48, cat: Audio, desc: "SAMPLE LIBRARIES Scarbee"}
|
||||
- {id: 178, cat: Audio, desc: "SAMPLE LIBRARIES SFX (Sound FX libraries)"}
|
||||
- {id: 90, cat: Audio, desc: "SAMPLE LIBRARIES Smartsound"}
|
||||
- {id: 172, cat: Audio, desc: "SAMPLE LIBRARIES Sonart Audio"}
|
||||
- {id: 116, cat: Audio, desc: "SAMPLE LIBRARIES SonicCouture"}
|
||||
- {id: 42, cat: Audio, desc: "SAMPLE LIBRARIES Sonic Implants"}
|
||||
- {id: 115, cat: Audio, desc: "SAMPLE LIBRARIES Sonic Reality"}
|
||||
- {id: 53, cat: Audio, desc: "SAMPLE LIBRARIES Sound Ideas"}
|
||||
- {id: 56, cat: Audio, desc: "SAMPLE LIBRARIES Sony"}
|
||||
- {id: 139, cat: Audio, desc: "SAMPLE LIBRARIES Sounds To Sample"}
|
||||
- {id: 76, cat: Audio, desc: "SAMPLE LIBRARIES Spectrasonics"}
|
||||
- {id: 162, cat: Audio, desc: "SAMPLE LIBRARIES Spitfire Audio"}
|
||||
- {id: 193, cat: Audio, desc: "SAMPLE LIBRARIES studiolinked"}
|
||||
- {id: 68, cat: Audio, desc: "SAMPLE LIBRARIES Synthogy"}
|
||||
- {id: 179, cat: Audio, desc: "SAMPLE LIBRARIES The Loop Loft"}
|
||||
- {id: 96, cat: Audio, desc: "SAMPLE LIBRARIES Tonehammer, 8dio, SoundIron"}
|
||||
- {id: 67, cat: Audio, desc: "SAMPLE LIBRARIES Toontrack, Drumkit From Hell, DFHS"}
|
||||
- {id: 69, cat: Audio, desc: "SAMPLE LIBRARIES Ueberschall"}
|
||||
- {id: 157, cat: Audio, desc: "SAMPLE LIBRARIES USB Soundscan"}
|
||||
- {id: 120, cat: Audio, desc: "SAMPLE LIBRARIES Valentino Production"}
|
||||
- {id: 173, cat: Audio, desc: "SAMPLE LIBRARIES vandalism sounds"}
|
||||
- {id: 170, cat: Audio, desc: "SAMPLE LIBRARIES Vanilla Groove Studios"}
|
||||
- {id: 119, cat: Audio, desc: "SAMPLE LIBRARIES Vengeance Sound"}
|
||||
- {id: 114, cat: Audio, desc: "SAMPLE LIBRARIES Video Helper"}
|
||||
- {id: 44, cat: Audio, desc: "SAMPLE LIBRARIES Vienna"}
|
||||
- {id: 77, cat: Audio, desc: "SAMPLE LIBRARIES Vipzone"}
|
||||
- {id: 131, cat: Audio, desc: "SAMPLE LIBRARIES Wavesfactory"}
|
||||
- {id: 89, cat: Audio, desc: "SAMPLE LIBRARIES West one"}
|
||||
- {id: 113, cat: Audio, desc: "SAMPLE LIBRARIES Wusik.com"}
|
||||
- {id: 78, cat: Audio, desc: "SAMPLE LIBRARIES Yellowtools"}
|
||||
- {id: 138, cat: Audio, desc: "SAMPLE LIBRARIES YnK.Audio"}
|
||||
- {id: 100, cat: Audio, desc: "SAMPLE LIBRARIES Zenhiser"}
|
||||
- {id: 57, cat: Audio, desc: "SAMPLE LIBRARIES Zero-G"}
|
||||
- {id: 15, cat: PC, desc: "VSTi + FX"}
|
||||
- {id: 72, cat: PC, desc: "VSTi + FX FX"}
|
||||
- {id: 181, cat: PC, desc: "VSTi + FX VSTi"}
|
||||
- {id: 18, cat: PC/Mac, desc: "MAC"}
|
||||
- {id: 186, cat: PC/Mac, desc: "MAC Apps"}
|
||||
- {id: 188, cat: PC/Mac, desc: "MAC FX"}
|
||||
- {id: 189, cat: PC/Mac, desc: "MAC Instruments"}
|
||||
- {id: 190, cat: PC/Mac, desc: "MAC TUTORIAL"}
|
||||
- {id: 187, cat: PC/Mac, desc: "MAC Samples"}
|
||||
- {id: 19, cat: Other, desc: "MISC"}
|
||||
- {id: 185, cat: Other, desc: "MISC Utilities"}
|
||||
- {id: 84, cat: Books, desc: "SHEET MUSIC"}
|
||||
- {id: 87, cat: Books, desc: "SHEET MUSIC Full Score"}
|
||||
- {id: 86, cat: Books, desc: "SHEET MUSIC Guitar"}
|
||||
- {id: 88, cat: Books, desc: "SHEET MUSIC Other instruments"}
|
||||
- {id: 85, cat: Books, desc: "SHEET MUSIC Piano"}
|
||||
- {id: 20, cat: Books, desc: "LEARNING"}
|
||||
- {id: 197, cat: Books, desc: "LEARNING Academy.FM"}
|
||||
- {id: 183, cat: Books, desc: "LEARNING ADSR"}
|
||||
- {id: 141, cat: Books, desc: "LEARNING Alfred"}
|
||||
- {id: 142, cat: Books, desc: "LEARNING Ask Video"}
|
||||
- {id: 27, cat: Books, desc: "LEARNING Books"}
|
||||
- {id: 143, cat: Books, desc: "LEARNING FaderPro"}
|
||||
- {id: 144, cat: Books, desc: "LEARNING Groove3"}
|
||||
- {id: 145, cat: Books, desc: "LEARNING Hal Leonard"}
|
||||
- {id: 105, cat: Books, desc: "LEARNING Hardware manuals"}
|
||||
- {id: 196, cat: Books, desc: "LEARNING Jam Track Central"}
|
||||
- {id: 146, cat: Books, desc: "LEARNING Lick Library"}
|
||||
- {id: 147, cat: Books, desc: "LEARNING Lynda.com"}
|
||||
- {id: 148, cat: Books, desc: "LEARNING MacProVideo"}
|
||||
- {id: 101, cat: Books, desc: "LEARNING Magazines"}
|
||||
- {id: 93, cat: Books, desc: "LEARNING Music Video (Concerts, DVD, DVDrip)"}
|
||||
- {id: 199, cat: Books, desc: "LEARNING PUREMIX"}
|
||||
- {id: 149, cat: Books, desc: "LEARNING Riff Interactive"}
|
||||
- {id: 194, cat: Books, desc: "LEARNING SkillShare"}
|
||||
- {id: 150, cat: Books, desc: "LEARNING Sonic Academy"}
|
||||
- {id: 151, cat: Books, desc: "LEARNING Total training"}
|
||||
- {id: 152, cat: Books, desc: "LEARNING TrueFire"}
|
||||
- {id: 182, cat: Books, desc: "LEARNING Udemy"}
|
||||
- {id: 28, cat: Books, desc: "LEARNING Video"}
|
||||
- {id: 153, cat: Books, desc: "LEARNING VTC"}
|
||||
- {id: 29, cat: Audio/Other, desc: "PRESETS"}
|
||||
- {id: 167, cat: Audio/Other, desc: "PRESETS Ableton Live"}
|
||||
- {id: 184, cat: Audio/Other, desc: "PRESETS Impulse Responses"}
|
||||
- {id: 166, cat: Audio/Other, desc: "PRESETS Massive"}
|
||||
- {id: 163, cat: Audio/Other, desc: "PRESETS Nebula"}
|
||||
- {id: 200, cat: Audio/Other, desc: "PRESETS Omnisphere"}
|
||||
- {id: 165, cat: Audio/Other, desc: "PRESETS Reaktor"}
|
||||
- {id: 201, cat: Audio/Other, desc: "PRESETS Xfer Serum"}
|
||||
- {id: 164, cat: Audio/Other, desc: "PRESETS Sylenth"}
|
||||
- {id: 168, cat: Audio/Other, desc: "PRESETS Toontrack"}
|
||||
- {id: 21, cat: Other, desc: "UPDATE"}
|
||||
- {id: 222, cat: Other, desc: "GFXNEWS 3D"}
|
||||
- {id: 207, cat: Other, desc: "GFXNEWS APPS WIN"}
|
||||
- {id: 215, cat: Other, desc: "GFXNEWS APPS LINUX"}
|
||||
- {id: 214, cat: Other, desc: "GFXNEWS APPS MAC"}
|
||||
- {id: 211, cat: Other, desc: "GFXNEWS BOOKS"}
|
||||
- {id: 224, cat: Other, desc: "GFXNEWS CAD/CAM"}
|
||||
- {id: 212, cat: Other, desc: "GFXNEWS FONTS"}
|
||||
- {id: 213, cat: Other, desc: "GFXNEWS FOOTAGE"}
|
||||
- {id: 226, cat: Other, desc: "GFXNEWS MAGAZINE"}
|
||||
- {id: 216, cat: Other, desc: "GFXNEWS PHOTOSTOCK"}
|
||||
- {id: 220, cat: Other, desc: "GFXNEWS PHOTOGRAPHY - ART"}
|
||||
- {id: 227, cat: Other, desc: "GFXNEWS PHOTOSHOP"}
|
||||
- {id: 228, cat: Other, desc: "GFXNEWS PHOTOSHOP Actions, Pattern & Styles"}
|
||||
- {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: 225, cat: Other, desc: "GFXNEWS PLUGINS LINUX"}
|
||||
- {id: 223, cat: Other, desc: "GFXNEWS PLUGINS MAC"}
|
||||
- {id: 210, cat: Other, desc: "GFXNEWS PLUGINS WIN"}
|
||||
- {id: 217, cat: Other, desc: "GFXNEWS SCRIPTS - WEB PROGRAMMING"}
|
||||
- {id: 218, cat: Other, desc: "GFXNEWS TEMPLATES"}
|
||||
- {id: 232, cat: Other, desc: "GFXNEWS TEXTURES"}
|
||||
- {id: 219, cat: Other, desc: "GFXNEWS TUTORIALS"}
|
||||
- {id: 221, cat: Other, desc: "GFXNEWS VIDEO PRODUCTION"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "1"
|
||||
options:
|
||||
"1": "created"
|
||||
"10": "seeders"
|
||||
"7": "size"
|
||||
"2": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "2"
|
||||
options:
|
||||
"2": "desc"
|
||||
"1": "asc"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
"login_username": "{{ .Config.username }}"
|
||||
"login_password": "{{ .Config.password }}"
|
||||
autologin: 1
|
||||
login: "Log in"
|
||||
redirect: "/"
|
||||
error:
|
||||
- selector: table.error
|
||||
message:
|
||||
selector: table.error tr td div.msg
|
||||
test:
|
||||
path: /
|
||||
selector: li a[href^="./login.php?logout=1"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: tracker.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{ if .Categories }}{{ range .Categories }}f[]={{.}}&{{end}}{{else}}f[]=-1{{end}}"
|
||||
prev_allw: 1
|
||||
prev_a: 0
|
||||
prev_dla: 0
|
||||
prev_dlc: 0
|
||||
prev_dld: 0
|
||||
prev_dlw: 0
|
||||
prev_my: 0
|
||||
prev_new: 0
|
||||
prev_sd: 0
|
||||
prev_da: 1
|
||||
prev_dc: 0
|
||||
prev_df: 1
|
||||
prev_ds: 0
|
||||
pre_tor_type: 0
|
||||
prev_date_from: ""
|
||||
prev_date_to: ""
|
||||
prev_hide_rereg: 0
|
||||
o: "{{ .Config.sort }}"
|
||||
s: "{{ .Config.type }}"
|
||||
df: 1
|
||||
da: 1
|
||||
nm: "{{ .Keywords }}"
|
||||
pn: ""
|
||||
submit: "Search"
|
||||
|
||||
rows:
|
||||
selector: table.forumline > tbody > tr:has(a[href*="/dl.php?id="])
|
||||
dateheaders:
|
||||
selector: td[colspan="20"] > strong
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "01-02-2006"
|
||||
fields:
|
||||
title:
|
||||
selector: td a[href*="/viewtopic.php?t="]
|
||||
details:
|
||||
selector: td a[href*="/viewtopic.php?t="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: td a[href*="/dl.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td a[href*="/tracker.php?f="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: f
|
||||
size:
|
||||
text: "0 B"
|
||||
size:
|
||||
optional: true
|
||||
selector: td:contains(\00a0GB)
|
||||
size:
|
||||
optional: true
|
||||
selector: td:contains(\00a0MB)
|
||||
size:
|
||||
optional: true
|
||||
selector: td:contains(\00a0kB)
|
||||
size:
|
||||
optional: true
|
||||
selector: td:contains(\00a0B)
|
||||
seeders:
|
||||
text: "0"
|
||||
seeders:
|
||||
optional: true
|
||||
selector: td[title="Seeders"]
|
||||
leechers:
|
||||
text: "0"
|
||||
leechers:
|
||||
optional: true
|
||||
selector: td[title="Leechers"]
|
||||
grabs:
|
||||
text: "0"
|
||||
grabs:
|
||||
optional: true
|
||||
selector: td[title^="Replies:"]
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://awesome-hd.me
|
||||
- https://awesome-hd.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -14,29 +14,59 @@
|
||||
- {id: 2, cat: TV/HD, desc: "TV-Shows"}
|
||||
|
||||
modes:
|
||||
searchstr: [q]
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
- name: username
|
||||
type: text
|
||||
label: Cookie
|
||||
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- 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"
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
path: login.php
|
||||
method: form
|
||||
form: form#loginform
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
keeplogged: 1
|
||||
error:
|
||||
- selector: form#loginform .warning
|
||||
test:
|
||||
path: index.php
|
||||
path: torrents.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
|
||||
searchstr: "{{ .Query.Keywords }}"
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
searchstr: "{{ .Keywords }}"
|
||||
page: torrents
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr.group, tr.torrent, tr.group_torrent:not(.edition_info)
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="torrents.php?action=download&id="]
|
||||
@@ -49,8 +79,6 @@
|
||||
selector: td:nth-child(3) > a
|
||||
category:
|
||||
selector: td:nth-child(2)
|
||||
# files:
|
||||
# selector: td:nth-child(4)
|
||||
date:
|
||||
selector: td:nth-last-child(5)
|
||||
size:
|
||||
@@ -63,7 +91,7 @@
|
||||
selector: td:nth-last-child(1)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
"*": 1
|
||||
@@ -1,286 +0,0 @@
|
||||
---
|
||||
site: b2s-share
|
||||
name: B2S-Share
|
||||
description: "B2S-Share is a Brazilian Private site for TV / MOVIES / GENERAL"
|
||||
language: pt-br
|
||||
type: private
|
||||
encoding: iso-8859-1
|
||||
links:
|
||||
- http://www.b2s-share.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
#3D
|
||||
- {id: 141, cat: Movies/3D, desc: "3D Ação"}
|
||||
- {id: 142, cat: Movies/3D, desc: "3D Animação"}
|
||||
- {id: 143, cat: Movies/3D, desc: "3D Aventura"}
|
||||
- {id: 144, cat: Movies/3D, desc: "3D Clássico"}
|
||||
- {id: 145, cat: Movies/3D, desc: "3D Comédia"}
|
||||
- {id: 146, cat: Movies/3D, desc: "3D Documentário"}
|
||||
- {id: 147, cat: Movies/3D, desc: "3D Drama"}
|
||||
- {id: 149, cat: Movies/3D, desc: "3D Ficção"}
|
||||
- {id: 150, cat: Movies/3D, desc: "3D Guerra"}
|
||||
- {id: 151, cat: Movies/3D, desc: "3D Infantil"}
|
||||
- {id: 152, cat: Movies/3D, desc: "3D Musical"}
|
||||
- {id: 154, cat: Movies/3D, desc: "3D Outros"}
|
||||
- {id: 155, cat: Movies/3D, desc: "3D Policial"}
|
||||
- {id: 156, cat: Movies/3D, desc: "3D Religioso"}
|
||||
- {id: 157, cat: Movies/3D, desc: "3D Romance"}
|
||||
- {id: 158, cat: Movies/3D, desc: "3D Shows"}
|
||||
- {id: 159, cat: Movies/3D, desc: "3D Suspense"}
|
||||
- {id: 160, cat: Movies/3D, desc: "3D Terror"}
|
||||
- {id: 161, cat: Movies/3D, desc: "3D Thriller"}
|
||||
- {id: 162, cat: Movies/3D, desc: "3D Western"}
|
||||
|
||||
#4K
|
||||
- {id: 173, cat: Movies, desc: "4K Ação"}
|
||||
- {id: 191, cat: Movies, desc: "4K Animação"}
|
||||
- {id: 190, cat: Movies, desc: "4K Aventura"}
|
||||
- {id: 188, cat: Movies, desc: "4K Clássico"}
|
||||
- {id: 175, cat: Movies, desc: "4K Comédia"}
|
||||
- {id: 186, cat: Movies, desc: "4K Documentário"}
|
||||
- {id: 185, cat: Movies, desc: "4K Drama"}
|
||||
- {id: 177, cat: Movies, desc: "4K Ficção"}
|
||||
- {id: 178, cat: Movies, desc: "4K Guerra"}
|
||||
- {id: 179, cat: Movies, desc: "4K Infantil"}
|
||||
- {id: 180, cat: Movies, desc: "4K Musical"}
|
||||
- {id: 184, cat: Movies, desc: "4K Outros"}
|
||||
- {id: 176, cat: Movies, desc: "4K Policial"}
|
||||
- {id: 187, cat: Movies, desc: "4K Religioso"}
|
||||
- {id: 174, cat: Movies, desc: "4K Romance"}
|
||||
- {id: 181, cat: Movies, desc: "4K Shows"}
|
||||
- {id: 182, cat: Movies, desc: "4K Suspense"}
|
||||
- {id: 189, cat: Movies, desc: "4K Terror"}
|
||||
- {id: 183, cat: Movies, desc: "4K Thriller"}
|
||||
|
||||
#ANIME
|
||||
- {id: 11, cat: TV/Anime, desc: "Anime"}
|
||||
|
||||
#PC-APPS
|
||||
- {id: 2, cat: PC, desc: "PC APPS - Linux"}
|
||||
- {id: 3, cat: PC, desc: "PC APPS - Mac"}
|
||||
- {id: 33, cat: PC, desc: "PC APPS - Portateis"}
|
||||
- {id: 1, cat: PC, desc: "PC APPS - Windows"}
|
||||
|
||||
#BD-R
|
||||
- {id: 140, cat: Movies, desc: "BD-R Autorado"}
|
||||
- {id: 119, cat: Movies, desc: "BD-R"}
|
||||
|
||||
#MOBILE
|
||||
- {id: 163, cat: Other, desc: "Mobile App/Jogos-Android"}
|
||||
- {id: 164, cat: Other, desc: "Mobile App/Jogos-iPhone"}
|
||||
- {id: 93, cat: Other, desc: "Mobile App/Jogos-Java"}
|
||||
- {id: 169, cat: Other, desc: "Mobile App/Jogos-Outros"}
|
||||
- {id: 168, cat: Other, desc: "Mobile App/Jogos-Win"}
|
||||
- {id: 92, cat: Other, desc: "Mobile Filmes"}
|
||||
- {id: 118, cat: Other, desc: "Mobile Séries"}
|
||||
- {id: 94, cat: Other, desc: "Mobile Wallpapers"}
|
||||
|
||||
#CARTOON
|
||||
- {id: 172, cat: TV/Other, desc: "Desenho Animado"}
|
||||
|
||||
#OTHER
|
||||
- {id: 4, cat: Other, desc: "Apostilas/Cursos"}
|
||||
- {id: 12, cat: Books, desc: "Diversos"}
|
||||
- {id: 167, cat: Books, desc: "E-book/Livros"}
|
||||
- {id: 7, cat: PC/Games, desc: "Emuladores / Roms"}
|
||||
- {id: 166, cat: Books/Comics, desc: "HQ"}
|
||||
- {id: 165, cat: Books, desc: "Revistas"}
|
||||
|
||||
#DVD-R
|
||||
- {id: 41, cat: Movies/SD, desc: "DVD-R Autorado"}
|
||||
- {id: 32, cat: Movies/SD, desc: "DVD-R"}
|
||||
|
||||
#MOVIES
|
||||
- {id: 14, cat: Movies, desc: "Filmes Ação"}
|
||||
- {id: 99, cat: Movies, desc: "Filmes Animação"}
|
||||
- {id: 15, cat: Movies, desc: "Filmes Aventura"}
|
||||
- {id: 16, cat: Movies, desc: "Filmes Clássico"}
|
||||
- {id: 17, cat: Movies, desc: "Filmes Comédia"}
|
||||
- {id: 31, cat: Movies, desc: "Filmes Documentário"}
|
||||
- {id: 18, cat: Movies, desc: "Filmes Drama"}
|
||||
- {id: 19, cat: Movies, desc: "Filmes Ficção"}
|
||||
- {id: 20, cat: Movies, desc: "Filmes Guerra"}
|
||||
- {id: 126, cat: Movies, desc: "Filmes Infantil"}
|
||||
- {id: 96, cat: Movies, desc: "Filmes Musical"}
|
||||
- {id: 24, cat: Movies, desc: "Filmes Outros"}
|
||||
- {id: 40, cat: Movies, desc: "Filmes Policial"}
|
||||
- {id: 39, cat: Movies, desc: "Filmes Religioso"}
|
||||
- {id: 30, cat: Movies, desc: "Filmes Romance"}
|
||||
- {id: 22, cat: Movies, desc: "Filmes Suspense"}
|
||||
- {id: 23, cat: Movies, desc: "Filmes Terror"}
|
||||
- {id: 130, cat: Movies, desc: "Filmes Thriller"}
|
||||
- {id: 131, cat: Movies, desc: "Filmes Western"}
|
||||
- {id: 34, cat: Movies, desc: "Filmes x264"}
|
||||
|
||||
#HD-1080p
|
||||
- {id: 73, cat: Movies/HD, desc: "Filmes 1080p Ação"}
|
||||
- {id: 87, cat: Movies/HD, desc: "Filmes 1080p Animação"}
|
||||
- {id: 74, cat: Movies/HD, desc: "Filmes 1080p Aventura"}
|
||||
- {id: 75, cat: Movies/HD, desc: "Filmes 1080p Clássico"}
|
||||
- {id: 76, cat: Movies/HD, desc: "Filmes 1080p Comédia"}
|
||||
- {id: 77, cat: Movies/HD, desc: "Filmes 1080p Documentário"}
|
||||
- {id: 78, cat: Movies/HD, desc: "Filmes 1080p Drama"}
|
||||
- {id: 79, cat: Movies/HD, desc: "Filmes 1080p Ficção"}
|
||||
- {id: 80, cat: Movies/HD, desc: "Filmes 1080p Guerra"}
|
||||
- {id: 127, cat: Movies/HD, desc: "Filmes 1080p Infantil"}
|
||||
- {id: 97, cat: Movies/HD, desc: "Filmes 1080p Musical"}
|
||||
- {id: 63, cat: Movies/HD, desc: "Filmes 1080p Outros"}
|
||||
- {id: 82, cat: Movies/HD, desc: "Filmes 1080p Policial"}
|
||||
- {id: 83, cat: Movies/HD, desc: "Filmes 1080p Religioso"}
|
||||
- {id: 84, cat: Movies/HD, desc: "Filmes 1080p Romance"}
|
||||
- {id: 88, cat: Movies/HD, desc: "Filmes 1080p Shows"}
|
||||
- {id: 85, cat: Movies/HD, desc: "Filmes 1080p Suspense"}
|
||||
- {id: 86, cat: Movies/HD, desc: "Filmes 1080p Terror"}
|
||||
- {id: 132, cat: Movies/HD, desc: "Filmes 1080p Thriller"}
|
||||
- {id: 135, cat: Movies/HD, desc: "Filmes 1080p Western"}
|
||||
|
||||
#HD-720p
|
||||
- {id: 58, cat: Movies/HD, desc: "Filmes 720p Ação"}
|
||||
- {id: 89, cat: Movies/HD, desc: "Filmes 720p Animação"}
|
||||
- {id: 60, cat: Movies/HD, desc: "Filmes 720p Aventura"}
|
||||
- {id: 61, cat: Movies/HD, desc: "Filmes 720p Clássico"}
|
||||
- {id: 62, cat: Movies/HD, desc: "Filmes 720p Comédia"}
|
||||
- {id: 72, cat: Movies/HD, desc: "Filmes 720p Documentário"}
|
||||
- {id: 64, cat: Movies/HD, desc: "Filmes 720p Drama"}
|
||||
- {id: 65, cat: Movies/HD, desc: "Filmes 720p Ficção"}
|
||||
- {id: 66, cat: Movies/HD, desc: "Filmes 720p Guerra"}
|
||||
- {id: 129, cat: Movies/HD, desc: "Filmes 720p Infantil"}
|
||||
- {id: 98, cat: Movies/HD, desc: "Filmes 720p Musical"}
|
||||
- {id: 59, cat: Movies/HD, desc: "Filmes 720p Outros"}
|
||||
- {id: 70, cat: Movies/HD, desc: "Filmes 720p Policial"}
|
||||
- {id: 57, cat: Movies/HD, desc: "Filmes 720p Religioso"}
|
||||
- {id: 71, cat: Movies/HD, desc: "Filmes 720p Romance"}
|
||||
- {id: 90, cat: Movies/HD, desc: "Filmes 720p Shows"}
|
||||
- {id: 68, cat: Movies/HD, desc: "Filmes 720p Suspense"}
|
||||
- {id: 69, cat: Movies/HD, desc: "Filmes 720p Terror"}
|
||||
- {id: 134, cat: Movies/HD, desc: "Filmes 720p Thriller"}
|
||||
- {id: 137, cat: Movies/HD, desc: "Filmes 720p Western"}
|
||||
|
||||
#GAMES
|
||||
- {id: 6, cat: Console, desc: "Jogos Console"}
|
||||
- {id: 51, cat: PC/Games, desc: "Jogos Emuladores"}
|
||||
- {id: 44, cat: Console, desc: "Jogos Gamecube"}
|
||||
- {id: 43, cat: Console/NDS, desc: "Jogos Nintendo DS"}
|
||||
- {id: 52, cat: Console, desc: "Jogos Outros"}
|
||||
- {id: 5, cat: PC/Games, desc: "Jogos PC"}
|
||||
- {id: 47, cat: Console, desc: "Jogos PS2"}
|
||||
- {id: 48, cat: Console, desc: "Jogos PS3"}
|
||||
- {id: 170, cat: Console, desc: "Jogos PS4"}
|
||||
- {id: 46, cat: Console, desc: "Jogos PSP"}
|
||||
- {id: 45, cat: Console/Wii, desc: "Jogos Wii"}
|
||||
- {id: 49, cat: Console/Xbox, desc: "Jogos XBOX"}
|
||||
- {id: 50, cat: Console/Xbox 360, desc: "Jogos XBOX360"}
|
||||
- {id: 171, cat: Console, desc: "Jogos XBOXONE"}
|
||||
|
||||
#MUSIC
|
||||
- {id: 29, cat: Audio, desc: "Musica Discografia"}
|
||||
- {id: 28, cat: Audio, desc: "Musica Gospel"}
|
||||
- {id: 139, cat: Audio, desc: "Musica Infantil"}
|
||||
- {id: 27, cat: Audio, desc: "Musica Internacionais"}
|
||||
- {id: 26, cat: Audio, desc: "Musica Nacionais"}
|
||||
- {id: 91, cat: Audio, desc: "Musica Outros"}
|
||||
|
||||
#TV-SERIES
|
||||
- {id: 35, cat: TV/HD, desc: "Séries HD"}
|
||||
- {id: 8, cat: TV, desc: "Séries"}
|
||||
|
||||
#SHOWS
|
||||
- {id: 13, cat: Audio/Video, desc: "Show"}
|
||||
- {id: 56, cat: Audio/Video, desc: "Video Clipes"}
|
||||
|
||||
#TV
|
||||
- {id: 53, cat: TV, desc: "Entretenimento"}
|
||||
- {id: 54, cat: TV/Sport, desc: "Esportes"}
|
||||
- {id: 138, cat: TV, desc: "Infantil"}
|
||||
- {id: 55, cat: TV, desc: "Jornalismo"}
|
||||
|
||||
#XXX
|
||||
- {id: 36, cat: XXX/Other, desc: "Anime Hentai"}
|
||||
- {id: 10, cat: XXX, desc: "Filmes Adultos"}
|
||||
- {id: 37, cat: XXX/Other, desc: "XXX Fotos"}
|
||||
- {id: 95, cat: XXX/Other, desc: "XXX Revistas"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
test:
|
||||
path: torrents.php
|
||||
selector: div:has(a[href*="account-logout.php"])
|
||||
search:
|
||||
paths:
|
||||
- path: torrents-search.php
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[Ss][0-9]{2}[Ee][0-9]{2,3}", ""] # remove season and episode from search
|
||||
- name: re_replace
|
||||
args: ["[^a-zA-Z0-9]+", "%"]
|
||||
inputs:
|
||||
search: "{{ .Keywords }}"
|
||||
rows:
|
||||
selector: table[class^="ttable_headinner"] > tbody > tr:has(a[href^="torrents-details.php?id="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
is_anime:
|
||||
optional: true
|
||||
selector: a[href^="torrents.php?cat=11"]
|
||||
attribute: href
|
||||
title_anime:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(Ep[\\.]?[ ]?)|([S]\\d\\d[Ee])", "E"]
|
||||
title_normal:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^(.*)[ ]([Ss][0-9]{2}[Ee][0-9]{2,3}).*(?:(?:\\((.*?)\\)))(.*$)", "$3 $2 $4"] # Convert series title from "Translated Name SXXEXX (Original Name) [Other stuffs]" to "Original Name SXXEXX [Other stuffs]"
|
||||
- name: re_replace
|
||||
args: ["^(.*)[ ].*(?:(?:\\((.*?)\\)))(.*$)", "$2 $3"] # Convert movies title from "Translated Name (Original Name) [Other stuffs]" to "Original Name [Other stuffs]"
|
||||
title:
|
||||
text: "{{if .Result.is_anime }}{{ .Result.title_anime }}{{else}}{{ .Result.title_normal }}{{end}}"
|
||||
download:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["torrents-details.php", "download.php"]
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
date:
|
||||
selector: td:nth-child(2) > span
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["(", ""]
|
||||
- name: replace
|
||||
args: [")", ""]
|
||||
size:
|
||||
selector: td:nth-child(3)
|
||||
grabs:
|
||||
selector: td:nth-child(4) > font > b
|
||||
seeders:
|
||||
selector: td:nth-child(5) > b > font
|
||||
leechers:
|
||||
selector: td:nth-child(6) > font > b
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[alt=\"[free]\"]": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"img[alt=\"[+UP x2]\"]": "2"
|
||||
"*": "1"
|
||||
@@ -43,7 +43,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
|
||||
169
src/Jackett.Common/Definitions/baibako.yml
Normal file
169
src/Jackett.Common/Definitions/baibako.yml
Normal file
@@ -0,0 +1,169 @@
|
||||
---
|
||||
site: baibako
|
||||
name: BaibaKo
|
||||
description: "BaibaKo is a RUSSIAN Semi-Private Torrent Tracker for TV"
|
||||
language: ru-ru
|
||||
type: semi-private
|
||||
encoding: windows-1251
|
||||
links:
|
||||
- http://baibako.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: striprussian
|
||||
type: checkbox
|
||||
label: Strip Russian Letters
|
||||
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"
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.login2
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
search: "{{.Keywords }}"
|
||||
# 0 active 1 incldead 2 onlydead 3 gold 4 seedfree
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[s|S](\\d+)[e|E][\\d]+", "/s$1"]
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr:has(a[href^="details.php?id="])
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[\\/]+", ""]
|
||||
- name: replace
|
||||
args: [" (Золото)", ""]
|
||||
- name: replace
|
||||
args: ["-Rip", "Rip"]
|
||||
- name: replace
|
||||
args: ["WEB-DL", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["WEBRip", "WEBDL"]
|
||||
- name: re_replace
|
||||
args: ["WEBDLRip", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["HD720p", "HD 720p"]
|
||||
- name: replace
|
||||
args: ["HDR720p", "HD 720p"]
|
||||
- name: replace
|
||||
args: ["HD1080p", "HD 1080p"]
|
||||
- name: replace
|
||||
args: ["HDR1080p", "HD 1080p"]
|
||||
- name: re_replace
|
||||
args: ["(\\([А-Яа-яЁё\\W]+\\))|(^[А-Яа-яЁё\\W\\d]+\\/ )|([а-яА-ЯЁё \\-]+,+)|([а-яА-ЯЁё]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
|
||||
- name: append
|
||||
args: " - rus"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
text: 1
|
||||
banner:
|
||||
selector: img[src^="/posters/"]
|
||||
attribute: src
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: small
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Загружена: ", ""]
|
||||
- name: replace
|
||||
args: [" в ", " "]
|
||||
- name: replace
|
||||
args: ["января", "January"]
|
||||
- name: replace
|
||||
args: ["февраля", "February"]
|
||||
- name: replace
|
||||
args: ["марта ", "March"]
|
||||
- name: replace
|
||||
args: ["апреля", "April"]
|
||||
- name: replace
|
||||
args: ["мая", "May"]
|
||||
- name: replace
|
||||
args: ["июня", "June"]
|
||||
- name: replace
|
||||
args: ["июля", "July"]
|
||||
- name: replace
|
||||
args: ["августа", "August"]
|
||||
- name: replace
|
||||
args: ["сентября", "September"]
|
||||
- name: replace
|
||||
args: ["октября", "October"]
|
||||
- name: replace
|
||||
args: ["ноября", "November"]
|
||||
- name: replace
|
||||
args: ["декабря", "December"]
|
||||
- name: dateparse
|
||||
args: "2 January 2006 15:04:05"
|
||||
files:
|
||||
selector: td:nth-last-child(5)
|
||||
size:
|
||||
selector: td:nth-last-child(3)
|
||||
seeders:
|
||||
selector: td:nth-last-child(2)
|
||||
filters:
|
||||
- name: split
|
||||
args: ["|", 0]
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
filters:
|
||||
- name: split
|
||||
args: ["|", 1]
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"a[href^=\"details.php?id=\"]:contains(\"(Золото)\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
119
src/Jackett.Common/Definitions/beyond-hd-oneurl.yml
Normal file
119
src/Jackett.Common/Definitions/beyond-hd-oneurl.yml
Normal file
@@ -0,0 +1,119 @@
|
||||
---
|
||||
site: beyond-hd-oneurl
|
||||
name: Beyond-HD (OneURL)
|
||||
description: "Without BeyondHD, your HDTV is just a TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://beyond-hd.me/
|
||||
|
||||
settings:
|
||||
- name: oneurl
|
||||
type: text
|
||||
label: OneURL
|
||||
- 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"
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
method: oneurl
|
||||
inputs:
|
||||
oneurl: "{{ .Config.oneurl }}"
|
||||
test:
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tmdb: ""
|
||||
sorting: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 100
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
after: 1
|
||||
|
||||
fields:
|
||||
_category:
|
||||
selector: a[href*="/categories/"]
|
||||
optional: true
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
category:
|
||||
text: "{{if .Result._category}}{{.Result._category}}{{else}}1{{end}}"
|
||||
title:
|
||||
selector: a.torrent-name
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.torrent-name
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["/img/person.png", ""]
|
||||
date:
|
||||
selector: td:not(a[href$="/history"]) span.text-orange
|
||||
filters:
|
||||
- name: timeago
|
||||
size:
|
||||
selector: td span.text-blue
|
||||
seeders:
|
||||
selector: a[href$="/peers"] span.text-green
|
||||
leechers:
|
||||
selector: a[href$="/peers"] span.text-red
|
||||
grabs:
|
||||
selector: a[href$="/history"]
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[data-original-title="100% Free"]: 0
|
||||
i[data-original-title="100% Free (Limited UL)"]: 0
|
||||
i[data-original-title="25% Promo"]: 0.75
|
||||
i[data-original-title="50% Promo"]: 0.5
|
||||
i[data-original-title="75% Promo"]: 0.25
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
# UNIT3D
|
||||
131
src/Jackett.Common/Definitions/beyond-hd.yml
Normal file
131
src/Jackett.Common/Definitions/beyond-hd.yml
Normal file
@@ -0,0 +1,131 @@
|
||||
---
|
||||
site: beyond-hd
|
||||
name: Beyond-HD
|
||||
description: "Without BeyondHD, your HDTV is just a TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://beyond-hd.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- 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: login
|
||||
method: form
|
||||
captcha:
|
||||
type: text
|
||||
selector: div[style*="#999999;"]
|
||||
input: key
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
error:
|
||||
- selector: div.has-error
|
||||
test:
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tmdb: ""
|
||||
sorting: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 100
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
after: 1
|
||||
|
||||
fields:
|
||||
_category:
|
||||
selector: a[href*="/categories/"]
|
||||
optional: true
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
category:
|
||||
text: "{{if .Result._category}}{{.Result._category}}{{else}}1{{end}}"
|
||||
title:
|
||||
selector: a.torrent-name
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.torrent-name
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["/img/person.png", ""]
|
||||
date:
|
||||
selector: td:not(a[href$="/history"]) span.text-orange
|
||||
filters:
|
||||
- name: timeago
|
||||
size:
|
||||
selector: td span.text-blue
|
||||
seeders:
|
||||
selector: a[href$="/peers"] span.text-green
|
||||
leechers:
|
||||
selector: a[href$="/peers"] span.text-red
|
||||
grabs:
|
||||
selector: a[href$="/history"]
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[data-original-title="100% Free"]: 0
|
||||
i[data-original-title="100% Free (Limited UL)"]: 0
|
||||
i[data-original-title="25% Promo"]: 0.75
|
||||
i[data-original-title="50% Promo"]: 0.5
|
||||
i[data-original-title="75% Promo"]: 0.25
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
# UNIT3D
|
||||
204
src/Jackett.Common/Definitions/bigfangroup.yml
Normal file
204
src/Jackett.Common/Definitions/bigfangroup.yml
Normal file
@@ -0,0 +1,204 @@
|
||||
---
|
||||
site: bigfangroup
|
||||
name: BigFANGroup
|
||||
description: "BigFANGroup is a RUSSIAN Public Torrent Tracker for MOVIES / TV"
|
||||
language: ru-ru
|
||||
type: public
|
||||
encoding: windows-1251
|
||||
links:
|
||||
- https://bigfangroup.org/
|
||||
- https://www.freebfg.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Movies
|
||||
- {id: 13, cat: Movies, desc: "Боевик"}
|
||||
- {id: 18, cat: Movies, desc: "Катастрофа"}
|
||||
- {id: 19, cat: Movies, desc: "Мелодрама"}
|
||||
- {id: 21, cat: Movies, desc: "Драма"}
|
||||
- {id: 22, cat: Movies, desc: "Триллер"}
|
||||
- {id: 23, cat: Movies, desc: "Фантастика"}
|
||||
- {id: 24, cat: Movies, desc: "Комедия"}
|
||||
- {id: 26, cat: Movies, desc: "Ужасы"}
|
||||
- {id: 27, cat: Movies, desc: "Приключения"}
|
||||
- {id: 28, cat: Movies, desc: "Исторический"}
|
||||
- {id: 29, cat: Movies/Foreign, desc: "Наше кино"}
|
||||
- {id: 30, cat: Movies, desc: "Фэнтази"}
|
||||
- {id: 31, cat: Movies, desc: "Мистика"}
|
||||
- {id: 33, cat: Movies, desc: "Военный"}
|
||||
- {id: 36, cat: Movies, desc: "Криминал"}
|
||||
- {id: 39, cat: Movies, desc: "Детектив"}
|
||||
- {id: 47, cat: Movies, desc: "Сказки"}
|
||||
- {id: 48, cat: Movies, desc: "Вестерн"}
|
||||
- {id: 52, cat: Movies, desc: "Биография"}
|
||||
- {id: 53, cat: Movies, desc: "Классика"}
|
||||
- {id: 14, cat: Movies/HD, desc: "HDTV"}
|
||||
- {id: 15, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 51, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 20, cat: Movies, desc: "Мультфильм"}
|
||||
# Audio
|
||||
- {id: 35, cat: Audio/Audiobook, desc: "Аудио-книги"}
|
||||
- {id: 43, cat: Audio/Foreign, desc: "Русская музыка"}
|
||||
- {id: 44, cat: Audio, desc: "Зарубежная музыка"}
|
||||
- {id: 45, cat: Audio/Video, desc: "Видеоклипы"}
|
||||
- {id: 46, cat: Audio, desc: "Муз. сборники"}
|
||||
- {id: 54, cat: Audio, desc: "Классическая музыка"}
|
||||
- {id: 55, cat: Audio, desc: "Саундтрек"}
|
||||
# TV
|
||||
- {id: 11, cat: TV, desc: "Сериалы"}
|
||||
- {id: 25, cat: TV, desc: "ТВ-шоу"}
|
||||
- {id: 37, cat: TV/Sport, desc: "Спорт"}
|
||||
- {id: 50, cat: TV, desc: "Новости"}
|
||||
- {id: 49, cat: TV, desc: "Научно-популярное"}
|
||||
- {id: 32, cat: TV/Documentary, desc: "Документальный"}
|
||||
- {id: 12, cat: TV, desc: "Анимация"}
|
||||
# PC
|
||||
- {id: 1, cat: PC, desc: "Софт"}
|
||||
- {id: 5, cat: PC/Games, desc: "Игры"}
|
||||
# Other
|
||||
- {id: 38, cat: Books, desc: "Книги и журналы"}
|
||||
- {id: 42, cat: XXX, desc: "Эротика"}
|
||||
- {id: 9, cat: Other, desc: "Разное"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
# seems that site does not support season/episode searching
|
||||
# tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: striprussian
|
||||
type: checkbox
|
||||
label: Strip Russian Letters
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "added"
|
||||
options:
|
||||
"added": "created"
|
||||
"seed": "seeders"
|
||||
"size": "size"
|
||||
"name": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
search:
|
||||
# https://bigfangroup.org/browse.php?search=black+lightning&cat=0&incldead=0&year=0&format=0
|
||||
#
|
||||
paths:
|
||||
- path: browse.php
|
||||
# cant get season/episode search working on this site
|
||||
# keywordsfilters:
|
||||
# - name: diacritics
|
||||
# args: replace
|
||||
# - name: re_replace # S01 to Сезон 1
|
||||
# args: ["(?i)\\bS0*(\\d+)\\b", ", Сезон $1"]
|
||||
# - name: re_replace # S01E01 to Сезон 1 Серия 1
|
||||
# args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", ", Сезон $1, Серия $2"]
|
||||
inputs:
|
||||
# multi category filters not supported
|
||||
# $raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
cat: 0
|
||||
# 0 active 1 incldead 2 onlydead 3 gold 4 noseed 5 silver 7 BFG
|
||||
incldead: 1
|
||||
ajax: 1
|
||||
year: 0
|
||||
format: 0
|
||||
s: "{{ .Config.sort }}"
|
||||
d: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody#highlighted > tr:has(a[href^="browse.php?cat="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
filters:
|
||||
# normalize to SXXEYY format
|
||||
- name: re_replace
|
||||
args: ["[\\.\\,\\:\\-\\/\\|]", " "]
|
||||
- name: re_replace
|
||||
args: ["(.*)[CСcс]езон\\s+(\\d+).+[CСcс]ери[ия]\\s+(\\d+)\\s+(\\d+)\\s+из\\s+\\d+(.*)", "$1 S$2E$3-$4 rus $5"]
|
||||
- name: re_replace
|
||||
args: ["(.*)[CСcс]езон\\s+(\\d+).+[CСcс]ери[ия]\\s+(\\d+)\\s+из\\s+\\d+(.*)", "$1 S$2E$3 rus $4"]
|
||||
- name: re_replace
|
||||
args: ["(.*)[CСcс]езон\\s+(\\d+)(.*)", "$1 S$2 rus $3"]
|
||||
- name: re_replace
|
||||
args: ["(.*)[CСcс]]ери[ия]\\s+(\\d+)(.*)", "$1 E$2 rus $3"]
|
||||
- name: re_replace
|
||||
args: ["(\\([А-Яа-яЁё\\W]+\\))|(^[А-Яа-яЁё\\W\\d]+\\/ )|([а-яА-ЯЁё \\-]+,+)|([а-яА-ЯЁё]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
|
||||
- name: replace
|
||||
args: ["WEBRip", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["WEB DL", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["WEB DLRip", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["HDTVRip", "HDTV"]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details", "download"]
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
date:
|
||||
selector: img[src="pic/time.png"]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" в ", " "]
|
||||
- name: replace
|
||||
args: ["января", "January"]
|
||||
- name: replace
|
||||
args: ["февраля", "February"]
|
||||
- name: replace
|
||||
args: ["марта ", "March"]
|
||||
- name: replace
|
||||
args: ["апреля", "April"]
|
||||
- name: replace
|
||||
args: ["мая", "May"]
|
||||
- name: replace
|
||||
args: ["июня", "June"]
|
||||
- name: replace
|
||||
args: ["июля", "July"]
|
||||
- name: replace
|
||||
args: ["августа", "August"]
|
||||
- name: replace
|
||||
args: ["сентября", "September"]
|
||||
- name: replace
|
||||
args: ["октября", "October"]
|
||||
- name: replace
|
||||
args: ["ноября", "November"]
|
||||
- name: replace
|
||||
args: ["декабря", "December"]
|
||||
- name: dateparse
|
||||
args: "2 January 2006 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/freedownload.gif"]: 0
|
||||
img[src="pic/silverdown.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
site: bigtorrent
|
||||
name: BIGTorrent
|
||||
description: "ratio-free Hungarian tracker"
|
||||
description: "BIGTorrent is a HUNGARIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: hu
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -41,7 +41,7 @@
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -49,7 +49,7 @@
|
||||
sent: "yes"
|
||||
returnto: "/"
|
||||
error:
|
||||
- selector: table:contains("Login failed!")
|
||||
- selector: div.error
|
||||
test:
|
||||
path: index.php
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
search: "{{if .Keywords}}{{ .Keywords }}{{else}} {{end}}"
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr:has(a[href^="browse.php?cat="])
|
||||
fields:
|
||||
|
||||
@@ -12,63 +12,31 @@
|
||||
categorymappings:
|
||||
|
||||
# Movies
|
||||
- {id: 91, cat: Movies/HD, desc: "DSS"}
|
||||
- {id: 92, cat: Movies/HD, desc: "DSS 3D"}
|
||||
- {id: 14, cat: Movies, desc: "Screener"}
|
||||
- {id: 15, cat: Movies/SD, desc: "DVDRip"}
|
||||
- {id: 16, cat: Movies/HD, desc: "BDRip"}
|
||||
- {id: 17, cat: Movies/HD, desc: "HD 720p"}
|
||||
- {id: 18, cat: Movies/HD, desc: "HD 1080p"}
|
||||
- {id: 19, cat: Movies/HD, desc: "HD 3D"}
|
||||
- {id: 83, cat: Movies/HD, desc: "4K (Ultra HD)"}
|
||||
- {id: 89, cat: Movies/DVD, desc: "DVD 5"}
|
||||
- {id: 90, cat: Movies/DVD, desc: "DVD 9"}
|
||||
- {id: 37, cat: Movies, desc: "MP4"}
|
||||
- {id: 61, cat: TV, desc: "TV Show"}
|
||||
- {id: 78, cat: TV, desc: "Serie TV"}
|
||||
- {id: 96, cat: TV/HD, desc: "Serie TV 720p"}
|
||||
- {id: 97, cat: TV/HD, desc: "Serie TV 1080p"}
|
||||
- {id: 98, cat: TV, desc: "Serie TV MP4"}
|
||||
- {id: 24, cat: TV/Anime, desc: "Cartoni"}
|
||||
- {id: 66, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 71, cat: TV, desc: "SUB iTA"}
|
||||
- {id: 75, cat: TV/Documentary, desc: "Documentari"}
|
||||
- {id: 72, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 11, cat: Movies/HD, desc: "DSS"}
|
||||
- {id: 1, cat: Movies, desc: "Screener"}
|
||||
- {id: 2, cat: Movies, desc: "DVDRip & BDRip"}
|
||||
- {id: 3, cat: Movies/BluRay, desc: "Bluray 1080p & 720p"}
|
||||
- {id: 5, cat: Movies/UHD, desc: "Ultra HD 4K"}
|
||||
- {id: 6, cat: TV, desc: "Serie TV"}
|
||||
- {id: 4, cat: TV/Anime, desc: "Cartoni"}
|
||||
|
||||
# GAMES
|
||||
- {id: 28, cat: PC/Games, desc: "PC Games"}
|
||||
- {id: 63, cat: Console/Xbox 360, desc: "XBOX 360"}
|
||||
- {id: 64, cat: Console/PS3, desc: "PS3"}
|
||||
- {id: 33, cat: Console/Wii, desc: "WII"}
|
||||
- {id: 76, cat: Console/Other, desc: "PS2"}
|
||||
- {id: 81, cat: Console/Xbox One, desc: "XBOX ONE"}
|
||||
- {id: 84, cat: Console/PS4, desc: "PS4"}
|
||||
- {id: 7, cat: PC/Games, desc: "Giochi"}
|
||||
|
||||
# MUSIC
|
||||
- {id: 35, cat: Audio, desc: "MP3"}
|
||||
- {id: 67, cat: Audio, desc: "FLAC"}
|
||||
- {id: 8, cat: Audio, desc: "Musica"}
|
||||
|
||||
# SOFTWARE
|
||||
- {id: 52, cat: PC/ISO, desc: "Windows"}
|
||||
- {id: 54, cat: PC/ISO, desc: "Mac"}
|
||||
- {id: 69, cat: PC/ISO, desc: "Linux"}
|
||||
- {id: 9, cat: PC/0day, desc: "Software"}
|
||||
|
||||
# PHONE
|
||||
- {id: 40, cat: PC/Phone-IOS, desc: "Android"}
|
||||
- {id: 41, cat: PC/Phone-Android, desc: "Iphone"}
|
||||
- {id: 12, cat: PC/Phone-Other, desc: "Applicazioni"}
|
||||
|
||||
# OTHER
|
||||
- {id: 44, cat: Other, desc: "Varie"}
|
||||
- {id: 82, cat: Other, desc: "Music Video"}
|
||||
- {id: 86, cat: Other, desc: "Navigatori"}
|
||||
- {id: 95, cat: Other, desc: "Immagini"}
|
||||
- {id: 99, cat: Other, desc: "AudioLibri"}
|
||||
- {id: 14, cat: Other, desc: "Varie & Altro"}
|
||||
|
||||
# EBOOK
|
||||
- {id: 46, cat: Books, desc: "Ebook"}
|
||||
- {id: 73, cat: Books/Comics, desc: "Fumetti"}
|
||||
- {id: 74, cat: Books/Comics, desc: "Manga"}
|
||||
- {id: 87, cat: Books, desc: "Giornali"}
|
||||
- {id: 13, cat: Books, desc: "Libri & Edicola"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -140,21 +108,21 @@
|
||||
size:
|
||||
selector: td:nth-last-child(2)
|
||||
date:
|
||||
selector: td:nth-last-child(7)
|
||||
selector: td:nth-last-child(8)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00"
|
||||
- name: dateparse
|
||||
args: "02/01/2006 -07:00"
|
||||
grabs:
|
||||
selector: td:nth-last-child(4)
|
||||
selector: td:nth-last-child(5)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["---", "0"]
|
||||
seeders:
|
||||
selector: td:nth-last-child(6)
|
||||
selector: td:nth-last-child(7)
|
||||
leechers:
|
||||
selector: td:nth-last-child(5)
|
||||
selector: td:nth-last-child(6)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[alt="Gold 100% Free"]: "0"
|
||||
|
||||
231
src/Jackett.Common/Definitions/bit-titan.yml
Normal file
231
src/Jackett.Common/Definitions/bit-titan.yml
Normal file
@@ -0,0 +1,231 @@
|
||||
---
|
||||
site: bit-titan
|
||||
name: BiT-TiTAN
|
||||
description: "BiT-TiTAN is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-de
|
||||
type: private
|
||||
encoding: iso-8859-1
|
||||
links:
|
||||
- https://bit-titan.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1010, cat: Movies/UHD, desc: "Movies 2160p"}
|
||||
- {id: 1020, cat: Movies/HD, desc: "Movies 1080p"}
|
||||
- {id: 1030, cat: Movies/HD, desc: "Movies 720p"}
|
||||
- {id: 1040, cat: Movies/HD, desc: "Movies x264"}
|
||||
- {id: 1050, cat: Movies/HD, desc: "Movies x265"}
|
||||
- {id: 1060, cat: Movies/SD, desc: "Movies XviD"}
|
||||
- {id: 1070, cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: 1080, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: 1090, cat: Movies/BluRay, desc: "Movies BluRay"}
|
||||
- {id: 1100, cat: Movies/DVD, desc: "Movies HD2DVD"}
|
||||
- {id: 1110, cat: Movies/Foreign, desc: "Movies nternational"}
|
||||
- {id: 1120, cat: Movies/HD, desc: "Movies HD Packs"}
|
||||
- {id: 1130, cat: Movies/SD, desc: "Movies SD Packs"}
|
||||
- {id: 2010, cat: TV/UHD, desc: "TV 2160p"}
|
||||
- {id: 2020, cat: TV/HD, desc: "TV 1080p"}
|
||||
- {id: 2030, cat: TV/HD, desc: "TV 720p"}
|
||||
- {id: 2040, cat: TV/HD, desc: "TV x264"}
|
||||
- {id: 2050, cat: TV/HD, desc: "TV x265"}
|
||||
- {id: 2060, cat: TV/SD, desc: "TV XviD"}
|
||||
- {id: 2070, cat: TV/HD, desc: "TV HD Packs"}
|
||||
- {id: 2080, cat: TV/SD, desc: "TV SD Packs"}
|
||||
- {id: 2090, cat: TV/FOREIGN, desc: "TV International"}
|
||||
- {id: 3010, cat: TV/Documentary, desc: "Docu 2160p"}
|
||||
- {id: 3020, cat: TV/Documentary, desc: "Docu 1080p"}
|
||||
- {id: 3030, cat: TV/Documentary, desc: "Docu 720p"}
|
||||
- {id: 3040, cat: TV/Documentary, desc: "Docu x264"}
|
||||
- {id: 3050, cat: TV/Documentary, desc: "Docu x265"}
|
||||
- {id: 3060, cat: TV/Documentary, desc: "Docu XviD"}
|
||||
- {id: 3070, cat: TV/Documentary, desc: "Docu HD Packs"}
|
||||
- {id: 3080, cat: TV/Documentary, desc: "Docu SD Packs"}
|
||||
- {id: 3090, cat: TV/Documentary, desc: "Docu International"}
|
||||
- {id: 4010, cat: TV/Sport, desc: "Sport 2160p"}
|
||||
- {id: 4020, cat: TV/Sport, desc: "Sport 1080p"}
|
||||
- {id: 4030, cat: TV/Sport, desc: "Sport 720p"}
|
||||
- {id: 4040, cat: TV/Sport, desc: "Sport SD Sport"}
|
||||
- {id: 4050, cat: TV/Sport, desc: "Sport HD Packs"}
|
||||
- {id: 4060, cat: TV/Sport, desc: "Sport SD Packs"}
|
||||
- {id: 5010, cat: XXX, desc: "XXX 2160p"}
|
||||
- {id: 5020, cat: XXX, desc: "XXX 1080p"}
|
||||
- {id: 5030, cat: XXX, desc: "XXX 720p"}
|
||||
- {id: 5040, cat: XXX, desc: "XXX x264"}
|
||||
- {id: 5050, cat: XXX, desc: "XXX x265"}
|
||||
- {id: 5060, cat: XXX, desc: "XXX XviD"}
|
||||
- {id: 5070, cat: XXX, desc: "XXX HD Packs"}
|
||||
- {id: 5080, cat: XXX, desc: "XXX SD Packs"}
|
||||
- {id: 6010, cat: PC/Games, desc: "Games Windows"}
|
||||
- {id: 6020, cat: Console, desc: "Games Linux"}
|
||||
- {id: 6030, cat: PC/Mac, desc: "Games MacOS"}
|
||||
- {id: 6040, cat: PC/Phone-Android, desc: "Games Android"}
|
||||
- {id: 6050, cat: Console/Xbox, desc: "Games Xbox"}
|
||||
- {id: 6060, cat: Console/PSP, desc: "Games PlayStation"}
|
||||
- {id: 6070, cat: Console/NDS, desc: "Games Nintendo"}
|
||||
- {id: 6080, cat: Console, desc: "Games Sonstige"}
|
||||
- {id: 7010, cat: PC/0day, desc: "Software Windows"}
|
||||
- {id: 7020, cat: PC, desc: "Software Linux"}
|
||||
- {id: 7030, cat: PC/Mac, desc: "Software MacOS"}
|
||||
- {id: 7040, cat: PC/Phone-Android, desc: "Software Android"}
|
||||
- {id: 8010, cat: Audio/MP3, desc: "Music MP3-Album"}
|
||||
- {id: 8020, cat: Audio/MP3, desc: "Music MP3-Charts"}
|
||||
- {id: 8030, cat: Audio/MP3, desc: "Music MP3-Sampler"}
|
||||
- {id: 8040, cat: Audio/MP3, desc: "Music MP3-Single"}
|
||||
- {id: 8050, cat: Audio/Lossless, desc: "Music FLAC-Album"}
|
||||
- {id: 8060, cat: Audio/Lossless, desc: "Music FLAC-Charts"}
|
||||
- {id: 8070, cat: Audio/Lossless, desc: "Music FLAC-Sampler"}
|
||||
- {id: 8080, cat: Audio/Lossless, desc: "Music FLAC-Single"}
|
||||
- {id: 8090, cat: Audio/Video, desc: "Music Video"}
|
||||
- {id: 9010, cat: Audio/Audiobook, desc: "Books A-Book"}
|
||||
- {id: 9020, cat: Books/Ebook, desc: "Books E-Book"}
|
||||
- {id: 9030, cat: Books, desc: "Books E-Paper"}
|
||||
- {id: 9040, cat: Books, desc: "Books E-Learning"}
|
||||
- {id: 9050, cat: TV, desc: "TV Kids"}
|
||||
- {id: 9060, cat: TV/Anime, desc: "Anime HD"}
|
||||
- {id: 9070, cat: TV/Anime, desc: "Anime SD"}
|
||||
- {id: 9080, cat: TV/Anime, desc: "Anime Pack"}
|
||||
- {id: 9999, cat: Other, desc: "unsort"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "added"
|
||||
options:
|
||||
"added": "created"
|
||||
"seeds": "seeders"
|
||||
"size": "size"
|
||||
"name": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
cookies: ["JAVA=OK"] # avoid jscheck redirect
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[src^="cap/captcha_math.php"]
|
||||
input: stringCaptcha
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div#login_error
|
||||
test:
|
||||
path: browse.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
ratio:
|
||||
path: browse.php
|
||||
selector: div#tom-b-t8
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# seachin 0=name 1=descr 2=both
|
||||
blah: 0
|
||||
# include dead 0=active 1=all 2=dead
|
||||
incldead: 1
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
showsearch: 0
|
||||
|
||||
rows:
|
||||
selector: table.tableinborder[border="0"][cellspacing="0"][cellpadding="0"] tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td.tableb a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: div a.tor-name
|
||||
details:
|
||||
selector: div a.tor-name
|
||||
attribute: href
|
||||
download:
|
||||
selector: div a.tor-name
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
banner:
|
||||
selector: div[id^="details-"] img
|
||||
attribute: src
|
||||
seeders:
|
||||
selector: div.tor-sl b
|
||||
leechers:
|
||||
selector: div.tor-sl b:last-of-type
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.tor-date:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
# 30.02.2018 23:12:50
|
||||
selector: div.tor-date:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\u00a0", " "]
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05"
|
||||
size:
|
||||
selector: div.tor-size
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
grabs:
|
||||
selector: div.tor-take
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/new_details/25k.png"]: 0.25
|
||||
img[src="pic/new_details/50k.png"]: 0.5
|
||||
img[src="pic/new_details/75k.png"]: 0.75
|
||||
img[src="pic/ou_new.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="pic/sc-dark/multi2.jpg"]: 2
|
||||
img[src="pic/sc-dark/multi5.jpg"]: 5
|
||||
img[src="pic/sc-dark/multi10.jpg"]: 10
|
||||
"*": 1
|
||||
@@ -53,48 +53,51 @@
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker in 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<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
|
||||
- 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"
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: tr[class^="browse"]
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
title:
|
||||
selector: a[href^="torrent.php?id="]
|
||||
attribute: title
|
||||
banner:
|
||||
optional: true
|
||||
selector: a[href^="torrent.php?id="][onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ", '(.*)'"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[title="Ingyenes letöltés"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
selector: span:contains("Feltöltési szorzó")
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Feltöltési szorzó × ", ""]
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
@@ -102,9 +105,22 @@
|
||||
- name: querystring
|
||||
args: cat
|
||||
- name: trim # some torrents have an extra space
|
||||
title:
|
||||
selector: a[href^="torrent.php?id="]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href^="torrent.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: a[href^="torrent.php?id="][onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ", '(.*)'"
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
grabs:
|
||||
@@ -115,3 +131,12 @@
|
||||
selector: td:nth-child(7)
|
||||
date:
|
||||
selector: "a[style=\"font-size: 8pt;cursor: pointer;\"][title]"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[title="Ingyenes letöltés"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
selector: span:contains("Feltöltési szorzó")
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Feltöltési szorzó × ", ""]
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
imdb:
|
||||
selector: a[href^="http://anonym.to/?http://www.imdb.com/title/"]
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
banner:
|
||||
selector: a[onmouseover^="bithumen.UI.images.coverShow"]
|
||||
@@ -135,13 +135,24 @@
|
||||
- name: replace
|
||||
args: ["×", ""]
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
selector: td:nth-child(5):contains('.')
|
||||
optional: true
|
||||
remove: font
|
||||
filters:
|
||||
- name: replace
|
||||
args: [". ", " "]
|
||||
- name: prepend
|
||||
args: "2019."
|
||||
- name: re_replace
|
||||
args: ["([0-9]{4}).([0-9]+).([0-9]+) (.*)", "$2.$3.$1 $4"]
|
||||
date:
|
||||
selector: td:nth-child(5):contains('ma'), td:nth-child(5):contains("tegnap"), td:nth-child(5):contains('-')
|
||||
optional: true
|
||||
remove: font
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["ma", "today"]
|
||||
- name: replace
|
||||
args: ["tegnap", "yesterday"]
|
||||
|
||||
description:
|
||||
selector: td:nth-child(2) > div
|
||||
|
||||
@@ -1,128 +0,0 @@
|
||||
---
|
||||
site: bitme
|
||||
name: BitMe
|
||||
description: "BitMe.ORG is an E-Learning torrent tracker"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: windows-1252
|
||||
links:
|
||||
- http://www.bitme.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 20, cat: Books, desc: "3D"}
|
||||
- {id: 1, cat: Books, desc: "AppDev"}
|
||||
- {id: 14, cat: Books, desc: "Art"}
|
||||
- {id: 2, cat: Audio/Audiobook, desc: "Audio"}
|
||||
- {id: 3, cat: Books, desc: "CBT"}
|
||||
- {id: 21, cat: Books, desc: "Dating"}
|
||||
- {id: 29, cat: Books, desc: "Do It Yourself"}
|
||||
- {id: 5, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 6, cat: Books, desc: "e-Books"}
|
||||
- {id: 7, cat: Books, desc: "Keystone"}
|
||||
- {id: 8, cat: Books, desc: "Languages"}
|
||||
- {id: 9, cat: Books, desc: "LearnKey"}
|
||||
- {id: 10, cat: Books, desc: "Lynda.com"}
|
||||
- {id: 19, cat: Books, desc: "Magic"}
|
||||
- {id: 30, cat: Books, desc: "MATH"}
|
||||
- {id: 18, cat: Books, desc: "Medical"}
|
||||
- {id: 11, cat: Books, desc: "Misc"}
|
||||
- {id: 12, cat: Books, desc: "Misc E-Learning"}
|
||||
- {id: 22, cat: Books, desc: "Music Learning"}
|
||||
- {id: 28, cat: Books, desc: "Photography"}
|
||||
- {id: 23, cat: Books, desc: "Political"}
|
||||
- {id: 24, cat: Books, desc: "Religion"}
|
||||
- {id: 25, cat: Books, desc: "Self Improvement"}
|
||||
- {id: 16, cat: Audio/Other, desc: "SFX"}
|
||||
- {id: 26, cat: Books, desc: "Sports"}
|
||||
- {id: 17, cat: Other, desc: "Stock Photography"}
|
||||
- {id: 13, cat: Books, desc: "Total Training"}
|
||||
- {id: 4, cat: Books, desc: "TTC"}
|
||||
- {id: 27, cat: Other, desc: "Video Stock"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
method: form
|
||||
path: login.php
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[src="visual.php"]
|
||||
input: secimage
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
logout: "no"
|
||||
error:
|
||||
- selector: table:contains("Login failed!")
|
||||
- selector: table:contains("Wrong Code!")
|
||||
test:
|
||||
path: /browse.php
|
||||
|
||||
search:
|
||||
path: /browse.php
|
||||
method: get
|
||||
inputs:
|
||||
search: "{{ .Query.Keywords }}"
|
||||
incldead: 1
|
||||
rows:
|
||||
selector: table[cellpadding="5"] > tbody > tr:has(td.latest)
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php/"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["<br>", ""]
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["<br>", ""]
|
||||
- name: replace
|
||||
args: ["times", ""]
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
leechers:
|
||||
selector: td:nth-child(10)
|
||||
date:
|
||||
selector: font[color="999999"]
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["at", ""]
|
||||
- name: replace
|
||||
args: [",", ""]
|
||||
- name: replace
|
||||
args: ["st", ""]
|
||||
- name: replace
|
||||
args: ["nd", ""]
|
||||
- name: replace
|
||||
args: ["rd", ""]
|
||||
- name: replace
|
||||
args: ["th", ""]
|
||||
- dateparse:
|
||||
args: "Monday January 2 2006 15:04:05 PM"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
|
||||
|
||||
156
src/Jackett.Common/Definitions/bitru.yml
Normal file
156
src/Jackett.Common/Definitions/bitru.yml
Normal file
@@ -0,0 +1,156 @@
|
||||
---
|
||||
site: bitru
|
||||
name: BitRu
|
||||
description: "BitRu is a RUSSIAN Public Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: ru-ru
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://bitru.org/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"movie": Movies
|
||||
"serial": TV
|
||||
"music": Audio
|
||||
"game": PC/Games
|
||||
"soft": PC
|
||||
"literature": Books
|
||||
"audiobook": Audio/Audiobook
|
||||
"video": Movies
|
||||
"image": Other
|
||||
"xxx": XXX
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: adverts
|
||||
type: select
|
||||
label: Include Advertising
|
||||
default: "yes"
|
||||
options:
|
||||
"yes": "yes"
|
||||
"no": "no"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "_"
|
||||
options:
|
||||
"_": "created"
|
||||
"seeders": "seeders"
|
||||
"size": "size"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
s: "{{ .Keywords }}"
|
||||
rek: "{{ .Config.adverts }}"
|
||||
sort: "{{ re_replace .Config.sort \"_\" \"\"}}"
|
||||
|
||||
rows:
|
||||
selector: table.browse-list > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
selector: td:nth-child(1) a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: tmp
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details", "download"]
|
||||
description:
|
||||
selector: img[src="styles/images/adwarn.png"]
|
||||
optional: true
|
||||
attribute: title
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Присутствует реклама", "Contains Adverts"]
|
||||
banner:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
date:
|
||||
# Сегодня в 09:09 от
|
||||
# Вчера в 22:47 от
|
||||
selector: td:nth-child(2) div.b-info div span:nth-child(2):contains("Сегодня"), td:nth-child(2) div.b-info div span:nth-child(2):contains("Вчера")
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(.*?) от "
|
||||
- name: replace
|
||||
args: ["Сегодня в", "Today"]
|
||||
- name: replace
|
||||
args: ["Вчера в", "Yesterday"]
|
||||
date:
|
||||
# 08 ноября 2019 в 23:53 от
|
||||
selector: td:nth-child(2) div.b-info div span:nth-child(2):not(:contains("Сегодня")):not(:contains("Вчера"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(.*?) от "
|
||||
- name: replace
|
||||
args: [" в ", " "]
|
||||
- name: replace
|
||||
args: ["января", "January"]
|
||||
- name: replace
|
||||
args: ["февраля", "February"]
|
||||
- name: replace
|
||||
args: ["марта ", "March"]
|
||||
- name: replace
|
||||
args: ["апреля", "April"]
|
||||
- name: replace
|
||||
args: ["мая", "May"]
|
||||
- name: replace
|
||||
args: ["июня", "June"]
|
||||
- name: replace
|
||||
args: ["июля", "July"]
|
||||
- name: replace
|
||||
args: ["августа", "August"]
|
||||
- name: replace
|
||||
args: ["сентября", "September"]
|
||||
- name: replace
|
||||
args: ["октября", "October"]
|
||||
- name: replace
|
||||
args: ["ноября", "November"]
|
||||
- name: replace
|
||||
args: ["декабря", "December"]
|
||||
- name: dateparse
|
||||
args: "02 January 2006 15:04"
|
||||
size:
|
||||
selector: td:nth-child(3)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["ТБ", "TB"]
|
||||
- name: replace
|
||||
args: ["ГБ", "GB"]
|
||||
- name: replace
|
||||
args: ["МБ", "MB"]
|
||||
- name: replace
|
||||
args: ["КБ", "KB"]
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["?", "1"]
|
||||
leechers:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["?", "0"]
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
@@ -21,7 +21,7 @@
|
||||
- {id: 63, cat: Books, desc: "College"}
|
||||
- {id: 53, cat: Books, desc: "Cooking"}
|
||||
- {id: 42, cat: Books, desc: "Documentary"}
|
||||
- {id: 37, cat: Books, desc: "e-Books"}
|
||||
- {id: 37, cat: Books/Ebook, desc: "e-Books"}
|
||||
- {id: 65, cat: Books, desc: "Engineering"}
|
||||
- {id: 54, cat: Books, desc: "Health-Fitness"}
|
||||
- {id: 64, cat: Books, desc: "Kids"}
|
||||
@@ -29,27 +29,26 @@
|
||||
- {id: 49, cat: Books, desc: "Linux CBTs"}
|
||||
- {id: 43, cat: Books, desc: "Lynda.com"}
|
||||
- {id: 57, cat: Books/Magazines, desc: "Magazines"}
|
||||
- {id: 71, cat: Books, desc: "Magic"}
|
||||
- {id: 71, cat: Books, desc: "Pluralsight"}
|
||||
- {id: 60, cat: Books, desc: "Medical"}
|
||||
- {id: 44, cat: Books, desc: "Misc Learning"}
|
||||
- {id: 51, cat: Books, desc: "Music Learning"}
|
||||
- {id: 41, cat: Books, desc: "Others"}
|
||||
- {id: 52, cat: Books, desc: "Photography"}
|
||||
- {id: 35, cat: Books, desc: "PPT 'n Docs"}
|
||||
- {id: 38, cat: Books, desc: "Religion"}
|
||||
- {id: 35, cat: Books, desc: "Developer"}
|
||||
- {id: 38, cat: Books, desc: "Udemy"}
|
||||
- {id: 68, cat: Books, desc: "Self Growth"}
|
||||
- {id: 72, cat: Books, desc: "Templates"}
|
||||
- {id: 58, cat: Books, desc: "Total Training"}
|
||||
- {id: 45, cat: Books, desc: "Trainsignal"}
|
||||
- {id: 59, cat: Books, desc: "VTC"}
|
||||
- {id: 58, cat: Books, desc: "Packt"}
|
||||
- {id: 45, cat: Books, desc: "Ethical hacking"}
|
||||
- {id: 59, cat: Books, desc: "WEB | SocialMedia"}
|
||||
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: processid.php
|
||||
path: processf.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -57,15 +56,18 @@
|
||||
error:
|
||||
- selector: td.msg_info > font > b
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
method: post
|
||||
inputs:
|
||||
search: "{{ .Query.Keywords }}"
|
||||
incldead: "1"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active 1 incldead 2 onlydead
|
||||
incldead: 1
|
||||
# 0 title 1 default
|
||||
scope: 1
|
||||
rows:
|
||||
selector: table > tbody > tr[class]
|
||||
filters:
|
||||
|
||||
81
src/Jackett.Common/Definitions/bittorrentam.yml
Normal file
81
src/Jackett.Common/Definitions/bittorrentam.yml
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
site: bittorrentam
|
||||
name: Bittorrent.AM
|
||||
description: "Bittorrent.AM is a Public torrent index"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.bittorrent.am/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 0, cat: XXX, desc: "Adult"}
|
||||
- {id: 1, cat: TV/Anime, desc: "Anime / Hentai"}
|
||||
- {id: 2, cat: PC, desc: "Apps"}
|
||||
- {id: 3, cat: Console, desc: "Games"}
|
||||
- {id: 4, cat: Movies, desc: "Movies"}
|
||||
- {id: 5, cat: Audio, desc: "Music"}
|
||||
- {id: 6, cat: Other, desc: "Other"}
|
||||
- {id: 7, cat: TV, desc: "Series / TV Shows"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "pdd"
|
||||
options:
|
||||
"pdd": "created desc"
|
||||
"pd": "created asc"
|
||||
"sdsd": "seeders desc"
|
||||
"sds": "seeders asc"
|
||||
"szd": "size desc"
|
||||
"sz": "size asc"
|
||||
"td": "title desc"
|
||||
"t": "title asc"
|
||||
|
||||
download:
|
||||
selector: a[ href^="magnet:?xt="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}search.php?kwds={{ .Keywords}}&ord={{ .Config.sort }}&cat=100{{else}}/{{end}}"
|
||||
rows:
|
||||
selector: table.torrentsTable:has(tr.r) tbody tr.r
|
||||
fields:
|
||||
category:
|
||||
text: 6
|
||||
title:
|
||||
selector: td:nth-child(3) a
|
||||
details:
|
||||
selector: td:nth-child(3) a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(3) a
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(1)
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "02 Jan 2006"
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
seeders:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["-", "1"]
|
||||
leechers:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["-", "0"]
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
183
src/Jackett.Common/Definitions/bitturk.yml
Normal file
183
src/Jackett.Common/Definitions/bitturk.yml
Normal file
@@ -0,0 +1,183 @@
|
||||
---
|
||||
site: bitturk
|
||||
name: BitTurk
|
||||
description: "BitTurk is a Turkish Private Torrent Tracker for HD MOVIES / TV / GENERAL. This Indexer is for English only."
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.bitturk.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 69, cat: Movies, desc: "BiTTuRK Altın"}
|
||||
- {id: 56, cat: Movies, desc: "BTRG"}
|
||||
- {id: 57, cat: Movies, desc: "Yerli Dizi"}
|
||||
- {id: 62, cat: Movies, desc: "Yab@ncı Dizi"}
|
||||
- {id: 63, cat: Movies, desc: "Türkçe Film"}
|
||||
- {id: 64, cat: Movies, desc: "Türk Filmi"}
|
||||
- {id: 66, cat: Movies/HD, desc: "x265"}
|
||||
- {id: 67, cat: XXX, desc: "XxX"}
|
||||
- {id: 68, cat: Movies, desc: "Dual (TR-~)"}
|
||||
- {id: 58, cat: Movies, desc: "Film"}
|
||||
- {id: 60, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 45, cat: Movies, desc: "Eğitim / Prog "}
|
||||
- {id: 1, cat: Movies, desc: "Filmler"}
|
||||
- {id: 14, cat: Movies/3D, desc: "3D Film"}
|
||||
- {id: 16, cat: Movies, desc: "Animasyon"}
|
||||
- {id: 17, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 31, cat: Movies, desc: "Belgesel"}
|
||||
- {id: 32, cat: Movies/BluRay, desc: "Bluray"}
|
||||
- {id: 33, cat: Movies/BluRay, desc: "BRRiP"}
|
||||
- {id: 34, cat: Movies, desc: "Çizgi Film"}
|
||||
- {id: 35, cat: Movies, desc: "D-Z0N3"}
|
||||
- {id: 36, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 37, cat: Movies, desc: "MP4"}
|
||||
- {id: 38, cat: Movies, desc: "Türk Filmi"}
|
||||
- {id: 39, cat: Movies, desc: "Türkçe BoX"}
|
||||
- {id: 40, cat: Movies, desc: "Türkçe Film"}
|
||||
- {id: 41, cat: Movies, desc: "ViP"}
|
||||
- {id: 42, cat: Movies/SD, desc: "XviD"}
|
||||
- {id: 43, cat: Movies/SD, desc: "XviD BoX"}
|
||||
- {id: 55, cat: Movies/WEBDL, desc: "WEB-DL"}
|
||||
- {id: 7, cat: Audio, desc: "Müzik"}
|
||||
- {id: 20, cat: Audio, desc: "Türkçe MüziK"}
|
||||
- {id: 46, cat: Audio, desc: "Yab@ncı MüziK"}
|
||||
- {id: 21, cat: Audio/Video, desc: "Video Klipler"}
|
||||
- {id: 2, cat: Console, desc: "Oyun"}
|
||||
- {id: 6, cat: PC, desc: "Program / Misc "}
|
||||
- {id: 47, cat: Other, desc: "Resimler"}
|
||||
- {id: 48, cat: TV, desc: "Televizyon"}
|
||||
- {id: 49, cat: TV/HD, desc: "Tv HD"}
|
||||
- {id: 50, cat: TV, desc: "Yab@ncı Dizi"}
|
||||
- {id: 51, cat: TV, desc: "Yerli Dizi"}
|
||||
- {id: 44, cat: Books, desc: "E-BooK"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info
|
||||
type: info
|
||||
label: Layout
|
||||
default: "<ol><li>Only the English Classic profile is supported.<li>Make sure to set the <b>Torrent Listing (Listeleme Biçimi)</b> option in your profile to <b>Classic (Klasik)</b><li>And set the <b>Language (Dil)</b> to <b>English</b><li>Using the <i>Modern</i> theme will prevent results, and using <i>Turkish</i> will prevent upload dates.</ol>"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "added"
|
||||
options:
|
||||
"added": "created"
|
||||
"seeders": "seeders"
|
||||
"size": "size"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
login:
|
||||
path: ?p=home&pid=1
|
||||
method: form
|
||||
form: form#loginbox_form
|
||||
submitpath: ajax/login.php
|
||||
inputs:
|
||||
action: "login"
|
||||
loginbox_membername: "{{ .Config.username }}"
|
||||
loginbox_password: "{{ .Config.password }}"
|
||||
loginbox_remember: 1
|
||||
selectorinputs:
|
||||
securitytoken:
|
||||
selector: "script:contains(\"stKey: \")"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "stKey: \"(.+?)\","
|
||||
error:
|
||||
- selector: ":contains(\"-ERROR-\")"
|
||||
test:
|
||||
path: ?p=home&pid=1
|
||||
selector: a[href*="/?p=logout&"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[^a-zA-Z0-9]+", "%25"]
|
||||
inputs:
|
||||
p: torrents
|
||||
pid: 32
|
||||
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
|
||||
keywords: "{{ .Keywords }}"
|
||||
search_type: name
|
||||
searchin: title
|
||||
"sortOptions[sortBy]": "{{ .Config.sort }}"
|
||||
"sortOptions[sortOrder]": "{{ .Config.type }}"
|
||||
error:
|
||||
- selector: div.error:not(:contains("Gösterilecek sonuç bulunamadı."))
|
||||
rows:
|
||||
selector: table#torrents_table_classic tr:has(td.torrent_name)
|
||||
fields:
|
||||
title:
|
||||
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||
category:
|
||||
selector: div.category_image > a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cid
|
||||
details:
|
||||
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="?p=torrents&pid=10&action=download"]
|
||||
attribute: href
|
||||
date:
|
||||
optional: true
|
||||
# Uploaded 30-01-2019 15:02 by
|
||||
selector: td.torrent_name:not(:contains(" at "))
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04"
|
||||
date:
|
||||
optional: true
|
||||
# Uploaded Friday at 05:11 by
|
||||
# Uploaded Today at 00:48 by
|
||||
# Uploaded Yesterday at 23:57 by
|
||||
selector: td.torrent_name:contains(" at ")
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: replace
|
||||
args: [" at ", " "]
|
||||
size:
|
||||
selector: a[rel="torrent_size"]
|
||||
seeders:
|
||||
selector: a[rel="torrent_seeders"]
|
||||
leechers:
|
||||
selector: a[rel="torrent_leechers"]
|
||||
grabs:
|
||||
selector: a[rel="times_completed"]
|
||||
banner:
|
||||
selector: a[rel="fancybox"]
|
||||
optional: true
|
||||
attribute: href
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/torrent_free.png\"]": 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/torrent_multiple_upload.png\"]": 2
|
||||
"*": 1
|
||||
@@ -24,7 +24,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -32,11 +32,11 @@
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
site: blutopia
|
||||
name: Blutopia
|
||||
description: "HD Tracker Movies/TV/FANRES"
|
||||
description: "Blutopia (BLU) is a Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -19,40 +19,80 @@
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- 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: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
- selector: script[nonce]:contains("Error")
|
||||
message:
|
||||
selector: script[nonce]:contains("Error")
|
||||
test:
|
||||
path: /torrents
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: li:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: torrents/filter
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sorting: created_at
|
||||
direction: desc
|
||||
igdb: ""
|
||||
sorting: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 100
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
args: "/categories/(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
@@ -61,50 +101,73 @@
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/600x900", ""]
|
||||
comments:
|
||||
selector: a[href*="#comments"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
selector: td:nth-last-child(1)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
args: (\d+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese
|
||||
- name: re_replace
|
||||
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди|前)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天)", " day"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand|个月)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"*": "1"
|
||||
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
|
||||
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
|
||||
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-globe text-blue"]: 0 # Global Freeleech
|
||||
i[class*="fa-star text-gold"]: 0 # Freeleech
|
||||
i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
|
||||
i[class*="fa-globe text-green"]: 2 # Global Double Upload
|
||||
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
|
||||
"*": 1
|
||||
# UNIT3D 2.2.7
|
||||
|
||||
98
src/Jackett.Common/Definitions/booktracker.yml
Normal file
98
src/Jackett.Common/Definitions/booktracker.yml
Normal file
@@ -0,0 +1,98 @@
|
||||
---
|
||||
site: booktracker
|
||||
name: BookTracker
|
||||
description: "BookTracker is a RUSSIAN Semi-Private Torrent Tracker for EBOOKS"
|
||||
language: ru-ru
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://booktracker.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Books/Ebook, desc: "Ebooks"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "1"
|
||||
options:
|
||||
"1": "created"
|
||||
"10": "seeders"
|
||||
"7": "size"
|
||||
"2": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action$="/login.php"]
|
||||
inputs:
|
||||
login_username: "{{ .Config.username }}"
|
||||
login_password: "{{ .Config.password }}"
|
||||
redirect: "index.php"
|
||||
autologin: 1
|
||||
selectorinputs:
|
||||
cookie_test:
|
||||
selector: input[name="cookie_test"]
|
||||
attribute: value
|
||||
error:
|
||||
- selector: h4.warnColor1
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="./login.php?logout=1"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: tracker.php
|
||||
inputs:
|
||||
nm: "{{ .Keywords }}"
|
||||
o: "{{ .Config.sort }}"
|
||||
s: "{{ .Config.type }}"
|
||||
tm: -1
|
||||
sns: -1
|
||||
|
||||
rows:
|
||||
selector: tr[id^="tor_"]:has(a[href^="./download.php?id="])
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a.tLink
|
||||
details:
|
||||
selector: a.tLink
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="./download.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
text: 1
|
||||
size:
|
||||
selector: td:nth-child(6) > u
|
||||
seeders:
|
||||
selector: td.seedmed > b
|
||||
leechers:
|
||||
selector: td.leechmed > b
|
||||
grabs:
|
||||
selector: td:nth-child(9)
|
||||
date:
|
||||
selector: td:last-child > u
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
@@ -1,63 +0,0 @@
|
||||
---
|
||||
site: btbit
|
||||
name: btbit
|
||||
description: "btbit is a public magnet search engine for MOVIES / GENERAL. This definition is for the English site."
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://en.btbit.org/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"Movie": Movies
|
||||
"Package": PC/0day
|
||||
"Other": Other
|
||||
"Software": PC
|
||||
"Mirror": PC/ISO
|
||||
"Music": Audio
|
||||
"Picture": Other/Misc
|
||||
"Document": Books
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/1-1-0.html"
|
||||
rows:
|
||||
selector: .rs
|
||||
fields:
|
||||
title:
|
||||
selector: .title
|
||||
category:
|
||||
selector: .sbar span[class^="cpill"]
|
||||
details:
|
||||
selector: .title h3 a
|
||||
attribute: href
|
||||
download:
|
||||
selector: .sbar a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: .sbar span:nth-of-type(3) b
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2006-01-02"
|
||||
size:
|
||||
selector: .sbar span:nth-of-type(4) b
|
||||
files:
|
||||
selector: .sbar span:nth-of-type(5) b
|
||||
grabs:
|
||||
selector: .sbar span:nth-of-type(6) b
|
||||
seeders:
|
||||
text: "1"
|
||||
leechers:
|
||||
text: "1"
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
@@ -1,14 +1,16 @@
|
||||
---
|
||||
site: btdb
|
||||
name: BTDB
|
||||
description: "BTDB is a Public BitTorrent DHT search engine. Torrents can be downloaded via magnet links"
|
||||
description: "BTDB is a Public BitTorrent DHT search engine."
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btdb.unblocked.app/
|
||||
- https://btdb.io/
|
||||
legacylinks:
|
||||
- https://btdb.to/
|
||||
- https://btdb.unblocked.app/
|
||||
- https://btdb.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -24,34 +26,30 @@
|
||||
type: info
|
||||
label: Category for Sonarr and Radarr
|
||||
default: BTDB does not use categories. In your Sonarr or Radarr Torznab Indexer settings, set the category to 100001.
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "time"
|
||||
options:
|
||||
"time": "created"
|
||||
"length": "size"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}q/{{ .Keywords}}/?sort=time{{else}}q/test/{{end}}"
|
||||
- path: "{{if .Keywords}}q/{{ .Keywords}}/2?sort=time{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}q/{{ .Keywords}}/3?sort=time{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}q/{{ .Keywords}}/4?sort=time{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}q/{{ .Keywords}}/5?sort=time{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}q/{{ .Keywords}}/6?sort=time{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}q/{{ .Keywords}}/7?sort=time{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}q/{{ .Keywords}}/8?sort=time{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}q/{{ .Keywords}}/9?sort=time{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}q/{{ .Keywords}}/10?sort=time{{else}}{{end}}"
|
||||
- path: "{{ if .Keywords }}?s={{ .Keywords }}&sort={{ .Config.sort }}{{else}}recent?sort={{ .Config.sort }}{{end}}"
|
||||
rows:
|
||||
selector: li[class$="item"]
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
title:
|
||||
selector: h2[class$="title"] a[href^="/torrent/"]
|
||||
selector: h2[class$="title"] a[href*="/torrent/"]
|
||||
attribute: title
|
||||
category:
|
||||
text: "1"
|
||||
text: 1
|
||||
details:
|
||||
selector: h2[class$="title"] a[href^="/torrent/"]
|
||||
selector: h2[class$="title"] a[href*="/torrent/"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: div[class$="info"] a[href^="magnet:"]
|
||||
selector: div[class$="info"] a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: div[class$="info"] span:nth-of-type(1)
|
||||
@@ -60,15 +58,14 @@
|
||||
date:
|
||||
selector: div[class$="info"] span:nth-of-type(3)
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05"
|
||||
- name: timeago
|
||||
grabs:
|
||||
selector: div[class$="info"] span:nth-of-type(4)
|
||||
seeders:
|
||||
selector: div[class$="info"] span:nth-of-type(4)
|
||||
text: 1
|
||||
leechers:
|
||||
selector: div[class$="info"] span:nth-of-type(4)
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
text: 1
|
||||
|
||||
77
src/Jackett.Common/Definitions/btdigg.yml
Normal file
77
src/Jackett.Common/Definitions/btdigg.yml
Normal file
@@ -0,0 +1,77 @@
|
||||
---
|
||||
site: btdigg
|
||||
name: BTDigg
|
||||
description: "BTDigg is a Public BitTorrent DHT search engine."
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btdig.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
1: Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info
|
||||
type: info
|
||||
default: BTDigg does not use categories. In your software Indexer settings, set the category to 100001.
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "2"
|
||||
options:
|
||||
"2": "created"
|
||||
"3": "size"
|
||||
|
||||
search:
|
||||
# https://btdig.com/search?q=test&order=2
|
||||
# only 10 results per page
|
||||
paths:
|
||||
- path: search
|
||||
inputs:
|
||||
q: "{{ if .Keywords }}{{ .Keywords }}{{else}}test{{end}}"
|
||||
# 0 relevance 2 age 3 size 4 files
|
||||
order: "{{ .Config.sort }}"
|
||||
|
||||
rows:
|
||||
selector: div.one_result
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: div.torrent_name a
|
||||
category:
|
||||
text: 1
|
||||
details:
|
||||
selector: div.torrent_name a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: span.torrent_age
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["found ", ""]
|
||||
files:
|
||||
text: 1
|
||||
files:
|
||||
selector: span.torrent_files
|
||||
optional: true
|
||||
size:
|
||||
selector: span.torrent_size
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
78
src/Jackett.Common/Definitions/btetree.yml
Normal file
78
src/Jackett.Common/Definitions/btetree.yml
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
site: btetree
|
||||
name: BT.etree
|
||||
description: "BT.etree is a Public Tracker dedicated to Bootleg FLAC MUSIC"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://bt.etree.org/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"Music": Audio/Lossless
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
music-search: [q, album, artist, label, year]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "added"
|
||||
options:
|
||||
"added": "created"
|
||||
"seeders": "seeders"
|
||||
"name": "title"
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://bt.etree.org/?searchzzzz=&cat=0
|
||||
- path: /
|
||||
inputs:
|
||||
searchzzzz: "{{ if .Query.Artist }}{{ .Query.Artist }}{{else}}{{ .Keywords }}{{end}}"
|
||||
cat: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
|
||||
rows:
|
||||
selector: table[bgcolor="#CCCCCC"] tbody tr:has(a[href^="download.php"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: "Music"
|
||||
title:
|
||||
selector: a.details_link
|
||||
details:
|
||||
selector: a.details_link
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-child(4)
|
||||
comments:
|
||||
selector: td:nth-child(5) a
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "01/02 15:04"
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
leechers:
|
||||
selector: td:nth-child(10)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
@@ -39,21 +39,21 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /takelogin__akcja.php
|
||||
path: takelogin_action.php
|
||||
method: post
|
||||
inputs:
|
||||
username_dupa: "{{ .Config.username }}"
|
||||
password__dupa: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
- selector: td.embedded:has(h2:contains("Error"))aD
|
||||
- selector: td.embedded:has(h2:contains("Error"))
|
||||
test:
|
||||
selector: a[href^="logout.php"]
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
@@ -86,10 +86,10 @@
|
||||
- name: append
|
||||
args: "Language: polish\n<br>"
|
||||
- name: prepend
|
||||
args: {{ .Result.description }}
|
||||
args: "{{ .Result.description }}"
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href^="http://www.imdb.com/title/tt"]
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
@@ -114,4 +114,4 @@
|
||||
"img[src=\"pic/ico_disk2.png\"]": 1
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
text: "1"
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /?p=home&pid=1
|
||||
path: ?p=home&pid=1
|
||||
method: form
|
||||
form: form#loginbox_form
|
||||
submitpath: /ajax/login.php
|
||||
@@ -95,7 +95,7 @@
|
||||
action: "login"
|
||||
loginbox_membername: "{{ .Config.username }}"
|
||||
loginbox_password: "{{ .Config.password }}"
|
||||
loginbox_remember: "true"
|
||||
loginbox_remember: 1
|
||||
selectorinputs:
|
||||
securitytoken:
|
||||
selector: "script:contains(\"stKey: \")"
|
||||
@@ -105,7 +105,7 @@
|
||||
error:
|
||||
- selector: ":contains(\"-ERROR-\")"
|
||||
test:
|
||||
path: /?p=torrents&pid=32
|
||||
path: ?p=torrents&pid=32
|
||||
selector: a#logout
|
||||
|
||||
search:
|
||||
|
||||
117
src/Jackett.Common/Definitions/btschool.yml
Normal file
117
src/Jackett.Common/Definitions/btschool.yml
Normal file
@@ -0,0 +1,117 @@
|
||||
---
|
||||
site: btschool
|
||||
name: BTSCHOOL
|
||||
description: "BTSCHOOL is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-cn
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://pt.btschool.club/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 405, cat: Movies, desc: "电影/Movies"}
|
||||
- {id: 406, cat: TV, desc: "连续剧/TV-Series"}
|
||||
- {id: 407, cat: TV/Anime, desc: "动漫/Anime"}
|
||||
- {id: 408, cat: TV/Documentary, desc: "纪录片/Documentary"}
|
||||
- {id: 412, cat: TV, desc: "综艺/TV-Show"}
|
||||
- {id: 404, cat: PC, desc: "软件/Software"}
|
||||
- {id: 402, cat: TV, desc: "资料/Education"}
|
||||
- {id: 411, cat: PC/Games, desc: "游戏/Game"}
|
||||
- {id: 409, cat: Audio, desc: "音乐/Music"}
|
||||
- {id: 410, cat: TV/Sport, desc: "体育/Sports"}
|
||||
- {id: 415, cat: Other, desc: "其他/Other"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
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"]
|
||||
|
||||
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 justdead
|
||||
incldead: 0
|
||||
# promotion: 0 all 1 normal 2 free 3 2x 4 2xfree 5 50% 6 2x 50% 7 30%
|
||||
spstate: 0
|
||||
# 0 all 1 bookmarked 2 not
|
||||
inclbookmarked: 0
|
||||
# 0 title 1 descr 3 uploaded 4 imdb
|
||||
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
|
||||
# 0 and 1 or 2 exact
|
||||
search_mode: 0
|
||||
sort: 4
|
||||
type: desc
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00"
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
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"
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, img
|
||||
# NexusPHP
|
||||
54
src/Jackett.Common/Definitions/btsow.yml
Normal file
54
src/Jackett.Common/Definitions/btsow.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
site: btsow
|
||||
name: BTSOW
|
||||
description: "BTSOW is a Public torrent indexer"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btos.pw/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"other": Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selector: a#magnetOpen
|
||||
search:
|
||||
paths:
|
||||
- path: "search/{{if .Keywords}}{{ .Keywords}}{{else}}2019{{end}}"
|
||||
rows:
|
||||
selector: div.row:has(a[href*="/detail/hash/"])
|
||||
fields:
|
||||
category:
|
||||
text: other
|
||||
title:
|
||||
selector: a[href*="/detail/hash/"]
|
||||
details:
|
||||
selector: a[href*="/detail/hash/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/detail/hash/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: div.date
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2006-01-02"
|
||||
size:
|
||||
selector: div.size
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
@@ -1,78 +0,0 @@
|
||||
---
|
||||
site: btstornet
|
||||
name: BTstor.net
|
||||
description: "BTstor.net is a Public BT-Scene clone for MOVIES / TV / GENERAL"
|
||||
language: us-en
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btstor.net/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"anime": TV/Anime
|
||||
"books": Books
|
||||
"games": PC/Games
|
||||
"movies": Movies
|
||||
"music": Audio
|
||||
"other": Other
|
||||
"shows": TV
|
||||
"software": PC
|
||||
"video": Movies
|
||||
"xxx": XXX
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selector: "#dlt_"
|
||||
|
||||
search:
|
||||
# https://btstor.net/
|
||||
# https://btstor.net/q/midnight+texas+s01e10/date/
|
||||
keywordsfilters:
|
||||
# replace space between keywords with +
|
||||
- name: re_replace
|
||||
args: [" ", "+"]
|
||||
paths:
|
||||
- path: "q/{{ if .Keywords }}{{ .Keywords }}{{else}}test{{end}}/date/"
|
||||
rows:
|
||||
selector: table.tor > tbody > tr[class$="_tr"]
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
title:
|
||||
selector: td.tname_index > a
|
||||
details:
|
||||
selector: td.tname_index > a
|
||||
attribute: href
|
||||
category:
|
||||
# src="https://btstor.net/templates/btscene/images/shows.png"
|
||||
selector: td.tname_index > img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".png", ""]
|
||||
- name: split
|
||||
args: ["/", 6]
|
||||
download:
|
||||
selector: td.tname_index > a
|
||||
attribute: href
|
||||
size:
|
||||
selector: td.tsize_index
|
||||
seeders:
|
||||
selector: td.tseeds_index
|
||||
leechers:
|
||||
selector: td.tpeers_index
|
||||
date:
|
||||
selector: td.tupd_index
|
||||
filters:
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
@@ -1,109 +0,0 @@
|
||||
---
|
||||
site: btxpress
|
||||
name: BTXpress
|
||||
description: "HD Tracker Movies/TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btxpress.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: table.main:contains("Login Failed!")
|
||||
test:
|
||||
path: /torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sorting: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
|
||||
- name: re_replace
|
||||
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
148
src/Jackett.Common/Definitions/cartoonchaos.yml
Normal file
148
src/Jackett.Common/Definitions/cartoonchaos.yml
Normal file
@@ -0,0 +1,148 @@
|
||||
---
|
||||
site: cartoonchaos
|
||||
name: CartoonChaos
|
||||
description: "CartoonChaos (CC) is a Private Torrent Tracker for ANIMATED MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.cartoonchaos.org/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info_results
|
||||
type: info
|
||||
label: "Search results"
|
||||
default: "Only the <b>xBtit_Default</b> style is supported with this indexer.<br />For best results, increase the torrents number in your profile to 100.<br />Default is 15."
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "3"
|
||||
options:
|
||||
"3": "created"
|
||||
"5": "seeders"
|
||||
"4": "size"
|
||||
"2": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "2"
|
||||
options:
|
||||
"2": "desc"
|
||||
"1": "asc"
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 30, cat: TV, desc: "Complete Sets"}
|
||||
- {id: 15, cat: TV, desc: "Educational"}
|
||||
- {id: 16, cat: TV, desc: "Kids"}
|
||||
- {id: 17, cat: TV, desc: "Mature Cartoons"}
|
||||
- {id: 41, cat: TV, desc: "Shorts"}
|
||||
- {id: 20, cat: TV/Anime, desc: "Anime Movies"}
|
||||
- {id: 21, cat: TV/Anime, desc: "Anime Series"}
|
||||
- {id: 26, cat: Movies, desc: "Animated Movies"}
|
||||
- {id: 23, cat: Audio, desc: "Sound Tracks"}
|
||||
- {id: 24, cat: Audio, desc: "Theme Tunes"}
|
||||
- {id: 43, cat: Audio/Other, desc: "Misc Audio"}
|
||||
- {id: 14, cat: TV, desc: "Banned"}
|
||||
- {id: 29, cat: TV, desc: "Public Domain"}
|
||||
- {id: 42, cat: TV/FOREIGN, desc: "Foreign Language"}
|
||||
- {id: 28, cat: TV, desc: "Animated Adverts"}
|
||||
- {id: 45, cat: TV/Documentary, desc: "Documentaries"}
|
||||
|
||||
modes:
|
||||
search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: form
|
||||
form: form[action^="index.php?page=login"]
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: tr td span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://www.cartoonchaos.org/index.php?page=torrents&search=transformers&category=30;21;20;26;15;16;17&options=0&active=0
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: torrents
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{else}}0{{end}}"
|
||||
# options: 0=title, 1=title&descr, 2=descr
|
||||
options: "{{ if .Query.IMDBID }}1{{else}}0{{end}}"
|
||||
active: 0
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.lista tr td table.lista tr:has(a[href^="index.php?page=torrent-details"])
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
details:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
download:
|
||||
selector: td a[href^="download.php"]
|
||||
attribute: href
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
filters:
|
||||
# http://anonym.to?javascript:popdetails('http://www.imdb.com/title/tt0086817');
|
||||
- name: replace
|
||||
args: [" http://anonym.to?javascript:popdetails('", ""]
|
||||
- name: replace
|
||||
args: ["');", ""]
|
||||
size:
|
||||
selector: td:nth-child(10)
|
||||
# two flavours of dates
|
||||
date:
|
||||
# Yesterday at 10:03:30 PM
|
||||
selector: td:nth-child(5):contains("day")
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[ ]at|[\\s+]|[//\xa0],\\/g", " "]
|
||||
date:
|
||||
# February 09, 2019, 06:35:08 AM
|
||||
selector: td:nth-child(5):not(:contains("day"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[,]|[\\s+]|[//\xa0],\\/g", " "]
|
||||
- name: dateparse
|
||||
args: "January 02 2006 03:04:05 PM"
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="gold/gold.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
170
src/Jackett.Common/Definitions/casatorrent.yml
Normal file
170
src/Jackett.Common/Definitions/casatorrent.yml
Normal file
@@ -0,0 +1,170 @@
|
||||
---
|
||||
site: casatorrent
|
||||
name: Casa-Torrent
|
||||
description: "Casa-Torrent is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: fr-fr
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://teamctgame.xyz/
|
||||
legacylinks:
|
||||
- https://teamctgame.co/
|
||||
- http://teamctgame.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 65, cat: Movies/HD, desc: "BD: BD"}
|
||||
- {id: 68, cat: Books/Magazines, desc: "Ebooks: Presse"}
|
||||
- {id: 90, cat: Audio/Audiobook, desc: "Ebooks: Audio books"}
|
||||
- {id: 56, cat: Books/Ebook, desc: "Ebooks: Ebooks"}
|
||||
- {id: 95, cat: Books/Comics, desc: "Ebooks: Mangas"}
|
||||
- {id: 84, cat: XXX, desc: "Ebooks: XXX"}
|
||||
- {id: 54, cat: Movies/3D, desc: "Films: 3D"}
|
||||
- {id: 53, cat: Movies/HD, desc: "Films: 4K"}
|
||||
- {id: 77, cat: Movies/UHD, desc: "Films: 4K-HDR"}
|
||||
- {id: 82, cat: Movies/UHD, desc: "Films: 4K-light"}
|
||||
- {id: 50, cat: Movies/UHD, desc: "Films: 4K-Remux"}
|
||||
- {id: 61, cat: Movies, desc: "Films: Animation"}
|
||||
- {id: 48, cat: Movies/BluRay, desc: "Films: BDRip / BRRip"}
|
||||
- {id: 78, cat: Movies/DVD, desc: "Films: DVD-R"}
|
||||
- {id: 47, cat: Movies/DVD, desc: "Films: DVDRip"}
|
||||
- {id: 71, cat: Movies/BluRay, desc: "Films: Full Bluray"}
|
||||
- {id: 63, cat: Movies/HD, desc: "Films: HD TV"}
|
||||
- {id: 52, cat: Movies/HD, desc: "Films: HD.1080p"}
|
||||
- {id: 51, cat: Movies/HD, desc: "Films: HD.720p"}
|
||||
- {id: 80, cat: Movies/HD, desc: "Films: HDLiGHT / M-HD"}
|
||||
- {id: 87, cat: Movies/HD, desc: "Films: HDRiP"}
|
||||
- {id: 60, cat: Movies, desc: "Films: Pack"}
|
||||
- {id: 96, cat: Movies, desc: "Films: Remux"}
|
||||
- {id: 75, cat: TV, desc: "Films: TVRiP"}
|
||||
- {id: 98, cat: Movies, desc: "Films: VFSTFR"}
|
||||
- {id: 89, cat: Movies, desc: "Films: VO"}
|
||||
- {id: 55, cat: Movies, desc: "Films: VOSTFR"}
|
||||
- {id: 58, cat: Movies/WEBDL, desc: "Films: Web - DL"}
|
||||
- {id: 57, cat: Movies/WEBDL, desc: "Films: WebRip"}
|
||||
- {id: 72, cat: Movies/HD, desc: "Films: x265"}
|
||||
- {id: 1, cat: XXX, desc: "Films: XXX"}
|
||||
- {id: 97, cat: Console, desc: "Jeux : Android"}
|
||||
- {id: 81, cat: Console, desc: "Jeux : Consoles"}
|
||||
- {id: 66, cat: PC/Games, desc: "Jeux: PC"}
|
||||
- {id: 62, cat: PC/0day, desc: "Logiciels: Windows"}
|
||||
- {id: 99, cat: Other, desc: "Logiciels: Graph / Wallpaper"}
|
||||
- {id: 94, cat: TV/HD, desc: "Series: 4K HDR"}
|
||||
- {id: 93, cat: TV/Anime, desc: "Series: Animés"}
|
||||
- {id: 86, cat: TV/HD, desc: "Series: Episode HD"}
|
||||
- {id: 101, cat: TV/HD, desc: "Series: Episode HD Vostfr"}
|
||||
- {id: 85, cat: TV/SD, desc: "Series: Episode SD"}
|
||||
- {id: 102, cat: TV/SD, desc: "Series: Episode SD Vostfr"}
|
||||
- {id: 100, cat: TV/HD, desc: "Series: Tv - Pack HD"}
|
||||
- {id: 103, cat: TV/HD, desc: "Series: Tv - Pack HD Vostfr"}
|
||||
- {id: 59, cat: TV/SD, desc: "Series: Tv - Pack SD"}
|
||||
- {id: 104, cat: TV/SD, desc: "Series: Tv - Pack SD Vostfr"}
|
||||
- {id: 88, cat: TV, desc: "Spectacles: Tous"}
|
||||
- {id: 83, cat: TV, desc: "TV: Emissions"}
|
||||
- {id: 73, cat: TV/Documentary, desc: "TV: Documentaires"}
|
||||
- {id: 74, cat: TV/Sport, desc: "TV: Sports"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "id"
|
||||
options:
|
||||
"id": "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: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: p#msgError
|
||||
test:
|
||||
path: torrents-search.php
|
||||
selector: a[href="account-logout.php"]
|
||||
|
||||
ratio:
|
||||
path: torrents-search.php
|
||||
selector: div#infobar b
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
freeleech: 0
|
||||
lang: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner > tbody > tr.t-row
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="] b
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
banner:
|
||||
selector: img[src*="/uploads/images/"]
|
||||
attribute: src
|
||||
grabs:
|
||||
selector: a[onmouseover][href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Snatched: </b>(\\d+)<br"
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
date:
|
||||
selector: a[onmouseover][href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "le: </b>(.*?)<br"
|
||||
- name: dateparse
|
||||
args: "02-01-2006"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/free.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
364
src/Jackett.Common/Definitions/casstudiotv.yml
Normal file
364
src/Jackett.Common/Definitions/casstudiotv.yml
Normal file
@@ -0,0 +1,364 @@
|
||||
---
|
||||
site: casstudiotv
|
||||
name: CasStudioTV
|
||||
description: "CasStudioTV is a RUSSIAN Semi-Private Torrent Tracker for TV"
|
||||
language: ru
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://casstudio.tk/
|
||||
legacylinks:
|
||||
- https://casstudio.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 259, cat: TV, desc: "Сериалы"}
|
||||
- {id: 372, cat: TV, desc: "Австралийские сериалы"}
|
||||
- {id: 375, cat: TV, desc: "Американские сериалы"}
|
||||
- {id: 343, cat: TV, desc: "A&E"}
|
||||
- {id: 126, cat: TV, desc: "Мотель Бейтс / Bates Motel"}
|
||||
- {id: 317, cat: TV, desc: "ABC"}
|
||||
- {id: 72, cat: TV, desc: "Агент Картер / Agent Carter"}
|
||||
- {id: 120, cat: TV, desc: "Агенты Щ.И.Т. / Agents of S.H.I.E.L.D."}
|
||||
- {id: 110, cat: TV, desc: "Американская семейка / Modern Family"}
|
||||
- {id: 70, cat: TV, desc: "Анатомия страсти / Анатомия Грей / Grey's Anatomy"}
|
||||
- {id: 210, cat: TV, desc: "База Куантико / Quantico"}
|
||||
- {id: 65, cat: TV, desc: "Возмездие / Revenge"}
|
||||
- {id: 119, cat: TV, desc: "Бывает и хуже / The Middle"}
|
||||
- {id: 145, cat: TV, desc: "Город Хищниц / Cougar Town"}
|
||||
- {id: 75, cat: TV, desc: "Как избежать наказания за убийство / How to Get Away with Murder"}
|
||||
- {id: 63, cat: TV, desc: "Касл / Castle"}
|
||||
- {id: 222, cat: TV, desc: "Клуб жен астронавтов / The Astronaut Wives Club"}
|
||||
- {id: 147, cat: TV, desc: "Копы-новобранцы / Rookie Blue"}
|
||||
- {id: 276, cat: TV, desc: "Любовницы / Mistresses US"}
|
||||
- {id: 308, cat: TV, desc: "Хороший доктор / The Good Doctor"}
|
||||
- {id: 189, cat: TV, desc: "Шёпот / The Whispers"}
|
||||
- {id: 164, cat: TV, desc: "Нэшвилл / Nashville"}
|
||||
- {id: 303, cat: TV, desc: "Одаренные / The Gifted"}
|
||||
- {id: 92, cat: TV, desc: "Однажды в сказке / Once Upon A Time"}
|
||||
- {id: 163, cat: TV, desc: "Отчаянные домохозяйки / Desperate Housewives"}
|
||||
- {id: 287, cat: TV, desc: "Приговор / Conviction"}
|
||||
- {id: 135, cat: TV, desc: "ПригорАД / Suburgatory"}
|
||||
- {id: 267, cat: TV, desc: "Семья / The Family"}
|
||||
- {id: 64, cat: TV, desc: "Скандал / Scandal"}
|
||||
- {id: 106, cat: TV, desc: "Шпионка / Alias"}
|
||||
- {id: 358, cat: TV, desc: "Adult Swim"}
|
||||
- {id: 323, cat: TV, desc: "Amazon"}
|
||||
- {id: 232, cat: TV, desc: "Десница Божья / Hand of God"}
|
||||
- {id: 231, cat: TV, desc: "Моцарт в джунглях / Mozart in the Jungle"}
|
||||
- {id: 280, cat: TV, desc: "Тик / The Tick"}
|
||||
- {id: 328, cat: TV, desc: "AMC"}
|
||||
- {id: 103, cat: TV, desc: "Ад На Колёсах / Hell On Wheels"}
|
||||
- {id: 122, cat: TV, desc: "Безумцы / Mad Men"}
|
||||
- {id: 208, cat: TV, desc: "Бойтесь ходячих мертвецов / Fear the Walking Dead"}
|
||||
- {id: 219, cat: TV, desc: "В пустыне смерти / Into the Badlands"}
|
||||
- {id: 198, cat: TV, desc: "Люди / Humans"}
|
||||
- {id: 274, cat: TV, desc: "Проповедник / Preacher"}
|
||||
- {id: 95, cat: TV, desc: "Убийство / The Killing"}
|
||||
- {id: 59, cat: TV, desc: "Ходячие мертвецы / The Walking Dead"}
|
||||
- {id: 356, cat: TV, desc: "Audience"}
|
||||
- {id: 320, cat: TV, desc: "CBS"}
|
||||
- {id: 87, cat: TV, desc: "В поле зрения / Person of Interest"}
|
||||
- {id: 293, cat: TV, desc: "Голубая кровь / Blue Bloods"}
|
||||
- {id: 108, cat: TV, desc: "Две девицы на мели / 2 Broke Girls"}
|
||||
- {id: 201, cat: TV, desc: "За пределами / Выжившая / Род человеческий / Extant"}
|
||||
- {id: 314, cat: TV, desc: "Звёздный путь / Star Trek"}
|
||||
- {id: 141, cat: TV, desc: "Как Я Встретил Вашу Маму / How I Met Your Mother"}
|
||||
- {id: 127, cat: TV, desc: "Майк и Молли / Mike & Molly"}
|
||||
- {id: 313, cat: TV, desc: "МакГайвер / MacGyver"}
|
||||
- {id: 180, cat: TV, desc: "Миллеры в разводе / The Millers"}
|
||||
- {id: 76, cat: TV, desc: "Мыслить как преступник / Criminal Minds"}
|
||||
- {id: 144, cat: TV, desc: "Полиция Гавайев / Hawaii Five-0"}
|
||||
- {id: 99, cat: TV, desc: "Под куполом / Under The Dome"}
|
||||
- {id: 78, cat: TV, desc: "Помнить все / Незабываемое / Unforgettable"}
|
||||
- {id: 107, cat: TV, desc: "Теория Большого Взрыва / The Big Bang Theory"}
|
||||
- {id: 105, cat: TV, desc: "Элементарно / Elementary"}
|
||||
- {id: 318, cat: TV, desc: "CW"}
|
||||
- {id: 307, cat: TV, desc: "Династия / Dynasty"}
|
||||
- {id: 102, cat: TV, desc: "Дневники вампира / The Vampire Diaries"}
|
||||
- {id: 104, cat: TV, desc: "Древние / The Originals"}
|
||||
- {id: 277, cat: TV, desc: "Карантин / Containment"}
|
||||
- {id: 193, cat: TV, desc: "Красавица и чудовище / Beauty and the Beast"}
|
||||
- {id: 238, cat: TV, desc: "Легенды завтрашнего дня / Legends of Tomorrow"}
|
||||
- {id: 290, cat: TV, desc: "Радиоволна / Frequency"}
|
||||
- {id: 111, cat: TV, desc: "Сверхъестественное / Supernatural"}
|
||||
- {id: 109, cat: TV, desc: "Сотня / 100 / The Hundred"}
|
||||
- {id: 131, cat: TV, desc: "Стрела / Arrow"}
|
||||
- {id: 190, cat: TV, desc: "Супергёрл / Supergirl"}
|
||||
- {id: 142, cat: TV, desc: "Флэш / Flash"}
|
||||
- {id: 124, cat: TV, desc: "Царство / Reign"}
|
||||
- {id: 270, cat: TV, desc: "яЗомби / iZombie"}
|
||||
- {id: 336, cat: TV, desc: "DC"}
|
||||
- {id: 316, cat: TV, desc: "FOX"}
|
||||
- {id: 310, cat: TV, desc: "9-1-1"}
|
||||
- {id: 61, cat: TV, desc: "Готэм / Gotham"}
|
||||
- {id: 182, cat: TV, desc: "Задержка в развитии / Arrested Development"}
|
||||
- {id: 74, cat: TV, desc: "Империя / Empire"}
|
||||
- {id: 247, cat: TV, desc: "Люцифер / Lucifer"}
|
||||
- {id: 157, cat: TV, desc: "Секретные материалы / X-Files"}
|
||||
- {id: 286, cat: TV, desc: "Смертельное Оружие / Lethal Weapon"}
|
||||
- {id: 304, cat: TV, desc: "Орвилл / The Orville"}
|
||||
- {id: 162, cat: TV, desc: "Последователи / The Following"}
|
||||
- {id: 187, cat: TV, desc: "Уэйуорд Пайнс / Wayward Pines"}
|
||||
- {id: 288, cat: TV, desc: "Экзорцист / The Exorcist"}
|
||||
- {id: 327, cat: TV, desc: "FX"}
|
||||
- {id: 62, cat: TV, desc: "Американцы / The Americans"}
|
||||
- {id: 239, cat: TV, desc: "Баскетс / Baskets"}
|
||||
- {id: 300, cat: TV, desc: "Легион / Legion"}
|
||||
- {id: 85, cat: TV, desc: "Штамм / The Strain"}
|
||||
- {id: 82, cat: TV, desc: "Сыны Анархии / Sons of Anarchy"}
|
||||
- {id: 98, cat: TV, desc: "Уилфред / Wilfred"}
|
||||
- {id: 337, cat: TV, desc: "History"}
|
||||
- {id: 91, cat: TV, desc: "Викинги / Vikings"}
|
||||
- {id: 324, cat: TV, desc: "HULU"}
|
||||
- {id: 246, cat: TV, desc: "11.22.63"}
|
||||
- {id: 305, cat: TV, desc: "Беглецы / Runaways"}
|
||||
- {id: 345, cat: TV, desc: "MTV, Sprike"}
|
||||
- {id: 137, cat: TV, desc: "Оборотень / Teen Wolf"}
|
||||
- {id: 237, cat: TV, desc: "Хроники Шаннары / The Shannara Chronicles"}
|
||||
- {id: 319, cat: TV, desc: "NBC"}
|
||||
- {id: 192, cat: TV, desc: "Водолей / Aquarius"}
|
||||
- {id: 166, cat: TV, desc: "Ганнибал / Hannibal"}
|
||||
- {id: 211, cat: TV, desc: "Герои: Возрождение / Heroes Reborn"}
|
||||
- {id: 117, cat: TV, desc: "Гримм / Grimm"}
|
||||
- {id: 285, cat: TV, desc: "Квантовый скачок / Quantum Leap"}
|
||||
- {id: 245, cat: TV, desc: "Медики Чикаго / Chicago Med"}
|
||||
- {id: 234, cat: TV, desc: "Мистер Робинсон / Mr. Robinson"}
|
||||
- {id: 80, cat: TV, desc: "Пересекающиеся линии / Пересекая черту / Crossing Lines"}
|
||||
- {id: 90, cat: TV, desc: "Пожарные Чикаго / Chicago Fire"}
|
||||
- {id: 77, cat: TV, desc: "Полиция Чикаго / Chicago PD"}
|
||||
- {id: 112, cat: TV, desc: "Революция / Revolution"}
|
||||
- {id: 213, cat: TV, desc: "Слепое пятно / Blindspot"}
|
||||
- {id: 93, cat: TV, desc: "Сообщество / Community"}
|
||||
- {id: 273, cat: TV, desc: "Тайны Лауры / The Mysteries of Laura"}
|
||||
- {id: 177, cat: TV, desc: "Черный список / The Blacklist"}
|
||||
- {id: 321, cat: TV, desc: "NETFLIX"}
|
||||
- {id: 281, cat: TV, desc: "Барыги / Narcos"}
|
||||
- {id: 309, cat: TV, desc: "Видоизмененный углерод / Altered Carbon"}
|
||||
- {id: 229, cat: TV, desc: "Джессика Джонс / Jessica Jones"}
|
||||
- {id: 278, cat: TV, desc: "Загадочные события / Stranger Things"}
|
||||
- {id: 301, cat: TV, desc: "Защитники / The Defenders"}
|
||||
- {id: 306, cat: TV, desc: "Каратель / The Punisher"}
|
||||
- {id: 174, cat: TV, desc: "Карточный домик / House of Cards"}
|
||||
- {id: 130, cat: TV, desc: "Лиллехаммер / Lilyhammer"}
|
||||
- {id: 294, cat: TV, desc: "Лемони Сникет: 33 несчастья / A Series of Unfortunate Events"}
|
||||
- {id: 275, cat: TV, desc: "Оранжевый - хит сезона / Orange is the New Black"}
|
||||
- {id: 194, cat: TV, desc: "Сорвиголова / Daredevil"}
|
||||
- {id: 115, cat: TV, desc: "Чёрное зеркало / Black Mirror"}
|
||||
- {id: 333, cat: TV, desc: "Showtime"}
|
||||
- {id: 154, cat: TV, desc: "Блудливая Калифорния / Californication"}
|
||||
- {id: 118, cat: TV, desc: "Веб терапия / Web Therapy"}
|
||||
- {id: 176, cat: TV, desc: "Декстер / Dexter"}
|
||||
- {id: 282, cat: TV, desc: "Дорожная команда / Roadies"}
|
||||
- {id: 203, cat: TV, desc: "Как бы счастье / Happyish"}
|
||||
- {id: 156, cat: TV, desc: "Мастера Секса / Masters of Sex"}
|
||||
- {id: 244, cat: TV, desc: "Миллиарды / Billions"}
|
||||
- {id: 58, cat: TV, desc: "Обитель лжи / House of Lies"}
|
||||
- {id: 83, cat: TV, desc: "Родина / Homeland"}
|
||||
- {id: 128, cat: TV, desc: "Рэй Донован / Ray Donovan"}
|
||||
- {id: 191, cat: TV, desc: "Страшные сказки / Penny Dreadful"}
|
||||
- {id: 330, cat: TV, desc: "STARZ"}
|
||||
- {id: 204, cat: TV, desc: "Власть в ночном городе / Power"}
|
||||
- {id: 271, cat: TV, desc: "Девушка по вызову / The Girlfriend Experience"}
|
||||
- {id: 218, cat: TV, desc: "Плоть и кости / Flesh and Bone"}
|
||||
- {id: 217, cat: TV, desc: "Эш против Зловещих мертвецов / Ash vs Evil Dead"}
|
||||
- {id: 153, cat: TV, desc: "Спартак / Spartacus"}
|
||||
- {id: 73, cat: TV, desc: "Черные Паруса / Black Sails"}
|
||||
- {id: 326, cat: TV, desc: "SyFy"}
|
||||
- {id: 86, cat: TV, desc: "12 Обезьян / 12 Monkeys"}
|
||||
- {id: 228, cat: TV, desc: "Волшебники / The Magicians"}
|
||||
- {id: 195, cat: TV, desc: "Киллджойс / Killjoys"}
|
||||
- {id: 233, cat: TV, desc: "Конец детства / Childhood's End"}
|
||||
- {id: 235, cat: TV, desc: "Пространство / The Expanse"}
|
||||
- {id: 196, cat: TV, desc: "Тёмная материя / Dark Matter"}
|
||||
- {id: 143, cat: TV, desc: "Хранилище 13 / Warehouse 13"}
|
||||
- {id: 94, cat: TV, desc: "Хэйвен / Haven"}
|
||||
- {id: 351, cat: TV, desc: "TBS"}
|
||||
- {id: 334, cat: TV, desc: "TNT"}
|
||||
- {id: 243, cat: TV, desc: "Библиотекари / The Librarians"}
|
||||
- {id: 220, cat: TV, desc: "Восприятие / Perception"}
|
||||
- {id: 136, cat: TV, desc: "Риццоли и Айлc / Rizzoli & Isles"}
|
||||
- {id: 160, cat: TV, desc: "Рухнувшие Небеса / Falling Skies"}
|
||||
- {id: 341, cat: TV, desc: "TV Land"}
|
||||
- {id: 146, cat: TV, desc: "Красотки в Кливленде / Hot in Cleveland"}
|
||||
- {id: 325, cat: TV, desc: "USA"}
|
||||
- {id: 158, cat: TV, desc: "4400 / The 4400"}
|
||||
- {id: 134, cat: TV, desc: "Белый воротничок / White Collar"}
|
||||
- {id: 230, cat: TV, desc: "Колония / Colony"}
|
||||
- {id: 291, cat: TV, desc: "Королева Юга / Queen of the South"}
|
||||
- {id: 200, cat: TV, desc: "Мистер робот / Mr. Robot"}
|
||||
- {id: 236, cat: TV, desc: "Полицейские на велосипедах / Pacific Blue"}
|
||||
- {id: 168, cat: TV, desc: "Форс-мажоры / Костюмы / Suits"}
|
||||
- {id: 352, cat: TV, desc: "YouTube"}
|
||||
- {id: 370, cat: TV, desc: "Британские сериалы"}
|
||||
- {id: 69, cat: TV, desc: "Мушкетеры / The Musketeers"}
|
||||
- {id: 139, cat: TV, desc: "Острые козырьки / Peaky Blinders"}
|
||||
- {id: 165, cat: TV, desc: "Лютер / Luther"}
|
||||
- {id: 272, cat: TV, desc: "Поворот / TURN"}
|
||||
- {id: 373, cat: TV, desc: "Датские и Шведские сериалы"}
|
||||
- {id: 381, cat: TV, desc: "Ирландские сериалы"}
|
||||
- {id: 367, cat: TV, desc: "Испанские сериалы"}
|
||||
- {id: 380, cat: TV, desc: "Итальянские сериалы"}
|
||||
- {id: 371, cat: TV, desc: "Канадские сериалы"}
|
||||
- {id: 368, cat: TV, desc: "Немецкие сериалы"}
|
||||
- {id: 376, cat: TV, desc: "Нидерландские сериалы"}
|
||||
- {id: 379, cat: TV, desc: "Норвежские сериалы"}
|
||||
- {id: 377, cat: TV, desc: "Российские сериалы"}
|
||||
- {id: 369, cat: TV, desc: "Французкие сериалы"}
|
||||
- {id: 374, cat: TV, desc: "Швейцарские сериалы"}
|
||||
- {id: 382, cat: TV, desc: "Японские сериалы"}
|
||||
- {id: 357, cat: TV, desc: "Сериалы только с субтитрами"}
|
||||
- {id: 378, cat: TV, desc: "Сериалы производства нескольких стран"}
|
||||
- {id: 88, cat: TV, desc: "Мультсериалы"}
|
||||
- {id: 101, cat: TV, desc: "Южный Парк / South Park"}
|
||||
- {id: 89, cat: TV, desc: "Спецагент Арчер / Archer"}
|
||||
- {id: 225, cat: TV, desc: "Стендап / Stand Up"}
|
||||
- {id: 54, cat: TV, desc: "Особый раздел"}
|
||||
- {id: 100, cat: TV, desc: "Короткометражки"}
|
||||
- {id: 60, cat: TV, desc: "Документальные и научно-популярные передачи"}
|
||||
- {id: 159, cat: TV, desc: "Разное"}
|
||||
- {id: 261, cat: TV, desc: "Спорт"}
|
||||
- {id: 262, cat: TV, desc: "Автомотоспорт"}
|
||||
- {id: 263, cat: TV, desc: "Формула 1 / Formula 1"}
|
||||
- {id: 264, cat: TV, desc: "MotoGP / SBK"}
|
||||
- {id: 265, cat: TV, desc: "V8 supercars"}
|
||||
- {id: 31, cat: TV, desc: "Пользователи"}
|
||||
- {id: 188, cat: TV, desc: "Поздравления"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "t"
|
||||
options:
|
||||
"t": "created"
|
||||
"ts": "seeders"
|
||||
"sz": "size"
|
||||
"i": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "d"
|
||||
options:
|
||||
"d": "desc"
|
||||
"a": "asc"
|
||||
|
||||
login:
|
||||
path: ucp.php?mode=login
|
||||
method: form
|
||||
form: form#login
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: fieldset:has(div.error)
|
||||
test:
|
||||
path: /
|
||||
selector: :has(a[href^="./ucp.php?mode=logout&sid="])
|
||||
|
||||
# download:
|
||||
# selector: a[href^="./download/file.php?id="]:not(img)
|
||||
|
||||
search:
|
||||
paths:
|
||||
#https://casstudio.tv/search.php?tracker_search=torrent&keywords=star&terms=all&author=&sc=1&sf=titleonly&sr=topics&sk=t&sd=d&st=0&ch=300&t=0&submit=Search
|
||||
- path: search.php
|
||||
inputs:
|
||||
tracker_search: torrent
|
||||
keywords: "{{ if .Keywords }}{{ .Keywords }}{{else}}2019{{end}}"
|
||||
terms: all
|
||||
author: ""
|
||||
sc: 1
|
||||
sf: titleonly
|
||||
sr: topics
|
||||
sk: "{{ .Config.sort }}"
|
||||
sd: "{{ .Config.type }}"
|
||||
st: 0
|
||||
ch: 300
|
||||
t: 0
|
||||
submit: Search
|
||||
|
||||
rows:
|
||||
selector: tr.row
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a.topictitle
|
||||
details:
|
||||
selector: a.topictitle
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="./viewforum.php?f="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: f
|
||||
download:
|
||||
selector: a[href^="./download/file.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: a[href^="./viewforum.php?f="] + b
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["ТБ", "TB"]
|
||||
- name: replace
|
||||
args: ["ГБ", "GB"]
|
||||
- name: replace
|
||||
args: ["МБ", "MB"]
|
||||
- name: replace
|
||||
args: ["КБ", "KB"]
|
||||
seeders:
|
||||
selector: td.forumtopics span.seed
|
||||
leechers:
|
||||
selector: td.forumtopics span.leech
|
||||
grabs:
|
||||
selector: td.forumposts span.complet
|
||||
date:
|
||||
# 12 янв 2019, 11:26
|
||||
selector: td.forumdetails span.forum-descriptions
|
||||
filters:
|
||||
# extract the date
|
||||
- name: regexp
|
||||
args: "(\\d{2} \\D{3} \\d{4}, \\d{2}:\\d{2})"
|
||||
# replace month abbreviations
|
||||
- name: replace
|
||||
args: ["янв", "Jan"]
|
||||
- name: replace
|
||||
args: ["фев", "Feb"]
|
||||
- name: replace
|
||||
args: ["мар", "Mar"]
|
||||
- name: replace
|
||||
args: ["апр", "Apr"]
|
||||
- name: replace
|
||||
args: ["май", "May"]
|
||||
- name: replace
|
||||
args: ["июн", "Jun"]
|
||||
- name: replace
|
||||
args: ["июл", "Jul"]
|
||||
- name: replace
|
||||
args: ["авг", "Aug"]
|
||||
- name: replace
|
||||
args: ["сен", "Sep"]
|
||||
- name: replace
|
||||
args: ["окт", "Oct"]
|
||||
- name: replace
|
||||
args: ["ноя", "Nov"]
|
||||
- name: replace
|
||||
args: ["дек", "Dec"]
|
||||
- name: dateparse
|
||||
args: "02 Jan 06, 15:04"
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
@@ -47,29 +47,30 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("登录失败"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
method: get
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: "1"
|
||||
d: DESC
|
||||
incldead: 1
|
||||
sort: added
|
||||
d: DESC
|
||||
|
||||
rows:
|
||||
selector: table[border="1"][cellpadding="5"] > tbody > tr:has(a[href^="details.php?id="])
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
@@ -91,7 +92,7 @@
|
||||
attribute: href
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href^="http://www.imdb.com/title/"]
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: a[href$="&filelist=1"]
|
||||
@@ -116,12 +117,12 @@
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"font[color=\"#C20603\"]:contains(\"免费\")": "0"
|
||||
"font:has([src=\"/pic/arrowdown1.gif\"]):contains(\"0.5x\")": "0.5"
|
||||
"*": "1"
|
||||
"font[color=\"#C20603\"]:contains(\"免费\")": 0
|
||||
"font:has([src=\"/pic/arrowdown1.gif\"]):contains(\"0.5x\")": 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
"*": 1
|
||||
description:
|
||||
selector: td:nth-child(2) > table > tbody > tr:nth-child(2)
|
||||
remove: a, img
|
||||
|
||||
172
src/Jackett.Common/Definitions/channelx.yml
Normal file
172
src/Jackett.Common/Definitions/channelx.yml
Normal file
@@ -0,0 +1,172 @@
|
||||
---
|
||||
site: Channelx
|
||||
name: ChannelX
|
||||
description: "ChannelX is a Private Torrent Tracker for High Quality Optimized HD MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://channelx.online/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Audiotracks"}
|
||||
- {id: 4, cat: TV/Sport, desc: "Sports"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- 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: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
error:
|
||||
- selector: script[nonce]:contains("Error")
|
||||
message:
|
||||
selector: script[nonce]:contains("Error")
|
||||
test:
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: li:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents/filter
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
igdb: ""
|
||||
sorting: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 100
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/600x900", ""]
|
||||
comments:
|
||||
selector: a[href*="#comments"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese
|
||||
- name: re_replace
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди|前)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天)", " day"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand|个月)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
|
||||
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
|
||||
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-globe text-blue"]: 0 # Global Freeleech
|
||||
i[class*="fa-star text-gold"]: 0 # Freeleech
|
||||
i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
|
||||
i[class*="fa-globe text-green"]: 2 # Global Double Upload
|
||||
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
|
||||
"*": 1
|
||||
# UNIT3D 2.2.5
|
||||
@@ -1,12 +1,12 @@
|
||||
---
|
||||
site: chdbits
|
||||
name: CHDBits
|
||||
description: "A general tracker"
|
||||
description: "CHDBits is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-cn
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://chdbits.co
|
||||
- https://chdbits.co/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -25,7 +25,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -33,10 +33,10 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
|
||||
ratio:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
selector: table#info_block
|
||||
filters:
|
||||
- name: regexp
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents.php
|
||||
- path: torrents.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.cinematik.net
|
||||
- https://www.cinematik.net/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
search: "{{if .Keywords}}\"{{.Keywords}}\"{{else}}{{end}}"
|
||||
rows:
|
||||
selector: table > tbody > tr:has(a[href^="torrents.php?cat="])
|
||||
fields:
|
||||
|
||||
82
src/Jackett.Common/Definitions/concen.yml
Normal file
82
src/Jackett.Common/Definitions/concen.yml
Normal file
@@ -0,0 +1,82 @@
|
||||
---
|
||||
site: concen
|
||||
name: ConCen
|
||||
description: "ConCen (Conspiracy Central) is a Public conspiracy related torrent index"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://concen.org/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
1: Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "created"
|
||||
options:
|
||||
"created": "created"
|
||||
"seeds": "seeders"
|
||||
"size": "size"
|
||||
"title": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://concen.org/torrents?title_op=allwords&title=cbc+national&title_1_op=not&title_1=&seeds=1
|
||||
- path: torrents
|
||||
inputs:
|
||||
title_op: allwords
|
||||
title: "{{ .Keywords }}"
|
||||
title_1_op: not
|
||||
title_1: ""
|
||||
seeds: All
|
||||
order: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr:has(td.views-field-title)
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: td.views-field-title a
|
||||
category:
|
||||
text: 1
|
||||
details:
|
||||
selector: td.views-field-title a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td.views-field-field-torrent a
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: td.views-field-name a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "magnet:"
|
||||
date:
|
||||
selector: td.views-field-created
|
||||
size:
|
||||
selector: td.views-field-size
|
||||
seeders:
|
||||
selector: td.views-field-seeds
|
||||
leechers:
|
||||
selector: td.views-field-peers
|
||||
grabs:
|
||||
selector: td.views-field-completed
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
124
src/Jackett.Common/Definitions/concertos.yml
Normal file
124
src/Jackett.Common/Definitions/concertos.yml
Normal file
@@ -0,0 +1,124 @@
|
||||
---
|
||||
site: concertos
|
||||
name: Concertos
|
||||
description: "Concertos - Private site for Live Concerts with Strict Quality Control"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://concertos.live/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "Live Concert"}
|
||||
- {id: 2, cat: Audio/Video, desc: "Music Video"}
|
||||
- {id: 4, cat: TV, desc: "Music Documentary"}
|
||||
- {id: 5, cat: Audio/Lossless, desc: "Pure Audio"}
|
||||
- {id: 7, cat: TV, desc: "Opera"}
|
||||
- {id: 8, cat: TV, desc: "Musical"}
|
||||
- {id: 9, cat: Audio, desc: "Podcast"}
|
||||
|
||||
modes:
|
||||
search: [q, imdbid]
|
||||
tv-search: [q, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "created_at"
|
||||
options:
|
||||
"created_at": "created"
|
||||
"seeders": "seeders"
|
||||
"size": "size"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
error:
|
||||
- selector: form[action$="/login"] .text-red
|
||||
test:
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
ratio:
|
||||
path: /
|
||||
selector: span:has(i.fa-percent)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
title: "{{ if .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="?category_"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "category_(\\d+)"
|
||||
title:
|
||||
selector: a[href*="/torrent/"]
|
||||
details:
|
||||
selector: a[href*="/torrent/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/torrent/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: append
|
||||
args: "/download"
|
||||
size:
|
||||
selector: td.torrents__size
|
||||
date:
|
||||
selector: td.torrents__age
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i.fa-star: 0 # Freeleech
|
||||
i.fa-certificate: 0 # Featured
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
i.fa-certificate: 2 # Featured
|
||||
i.fa-gem: 2 # Double Upload
|
||||
"*": 1
|
||||
# UNIT3D
|
||||
@@ -7,16 +7,14 @@
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.cpasbien.blue/
|
||||
- https://vww.cpasbien-fr.fr/
|
||||
legacylinks:
|
||||
- http://www.cpasbiens.cc/
|
||||
- http://www.cpabien.cm/
|
||||
- http://cpabien.cm/
|
||||
- http://cpasbiens1.com/
|
||||
- http://cpabien.mx/
|
||||
- https://www.cpabien.bz/
|
||||
- http://www.cpabien.bz/
|
||||
- http://www.cpabien.cx/
|
||||
- http://cpabien.org/
|
||||
- http://cpabien.cc/
|
||||
- http://cpabien.co/
|
||||
@@ -26,30 +24,49 @@
|
||||
- https://ww1.cpabien.io/
|
||||
- https://wvw.cpabien.cm/
|
||||
- https://www.cpabien.io/
|
||||
- https://www.cpabien.cx/
|
||||
- https://www.cpabien9.net/
|
||||
- https://wwv.cpabien.cm/
|
||||
- http://www.cpabien.cx/
|
||||
- https://www.cpasbien.blue/
|
||||
- https://www.cpabien.cx/
|
||||
- https://www.cpasbien.re/
|
||||
- http://www.cpasbien.io/
|
||||
- https://www.cpabien.bz/
|
||||
- https://www.cpabien.link/
|
||||
- https://www.cpasbiens.cz/
|
||||
- https://www.cpasbiens.bz/
|
||||
- https://www.cpasbien.vg/
|
||||
- https://www.cpasbien.lol/
|
||||
- https://www.gktorrent.biz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: films, cat: Movies, desc: "Movies"}
|
||||
- {id: series, cat: TV, desc: "TV"}
|
||||
- {id: other, cat: Other, desc: "Other"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selector: div.btn-download a
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{else}}derniers/{{end}}"
|
||||
# https://vww.cpasbien-fr.fr/index.php?do=search&subaction=search&story=dickinson%20s01e10
|
||||
- path: "{{ if .Keywords }}index.php?do=search&subaction=search&story={{ .Keywords }}{{else}}{{end}}"
|
||||
|
||||
rows:
|
||||
selector: table.table-corps tbody tr td
|
||||
selector: div#gauche > table > tbody > tr:has(a)
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: other
|
||||
site_date:
|
||||
selector: a
|
||||
filters:
|
||||
@@ -61,7 +78,9 @@
|
||||
filters:
|
||||
# now we put the date at the right place according scene naming rules using .Result.site_date
|
||||
- name: replace
|
||||
args: ["FRENCH", "{{ .Result.site_date }} FRENCH"]
|
||||
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
|
||||
- name: replace
|
||||
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
|
||||
- name: replace
|
||||
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
|
||||
- name: replace
|
||||
@@ -77,27 +96,8 @@
|
||||
attribute: href
|
||||
size:
|
||||
selector: div.poid
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) Ko", "$1X00"]
|
||||
- name: re_replace
|
||||
args: [ " Ko", "000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) Mo", "$1X00000"]
|
||||
- name: re_replace
|
||||
args: [ " Mo", "000000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) Go", "$1X00000000"]
|
||||
- name: re_replace
|
||||
args: [ " Go", "000000000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) To", "$1X00000000000"]
|
||||
- name: re_replace
|
||||
args: [ " To", "000000000000"]
|
||||
- name: replace
|
||||
args: [ "X", "" ]
|
||||
date:
|
||||
text: "now"
|
||||
text: now
|
||||
seeders:
|
||||
text: 0
|
||||
seeders:
|
||||
@@ -109,6 +109,6 @@
|
||||
selector: div.down
|
||||
optional: true
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
text: 1
|
||||
|
||||
122
src/Jackett.Common/Definitions/cpasbienclone.yml
Normal file
122
src/Jackett.Common/Definitions/cpasbienclone.yml
Normal file
@@ -0,0 +1,122 @@
|
||||
---
|
||||
site: cpasbienclone
|
||||
name: cpasbien clone
|
||||
description: "cpasbien clone is a FRENCH Public site for TV / MOVIES / GENERAL"
|
||||
language: fr-fr
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www1.cpasbiens.cm/
|
||||
legacylinks:
|
||||
- https://www1.cpasbiens.ws/
|
||||
- https://www2.cpasbiens.ws/
|
||||
- https://cpasbiens.cm/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: films, cat: Movies, desc: "Movies"}
|
||||
- {id: series, cat: TV, desc: "TV"}
|
||||
- {id: other, cat: Other, desc: "Other"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site (Only works for searches with Keywords)
|
||||
default: "?trie-date-d"
|
||||
options:
|
||||
"?trie-date-d": "created desc"
|
||||
"?trie-date-a": "created asc"
|
||||
"?trie-seeds-d": "seeders desc"
|
||||
"?trie-seeds-a": "seeders asc"
|
||||
"?trie-poid-d": "size desc"
|
||||
"?trie-poid-a": "size asc"
|
||||
"?trie-nom-d": "title desc"
|
||||
"?trie-nom-a": "title asc"
|
||||
|
||||
download:
|
||||
selector: a[href^="magnet:"]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ .Config.sort }}{{else}}{{end}}"
|
||||
|
||||
rows:
|
||||
selector: table.table-corps > tbody > tr:has(a)
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: other
|
||||
site_date:
|
||||
selector: a
|
||||
filters:
|
||||
# date is at the end of the title, so we get it and name it site_date
|
||||
- name: regexp
|
||||
args: "(\\w+)$"
|
||||
title:
|
||||
selector: a
|
||||
filters:
|
||||
# now we put the date at the right place according scene naming rules using .Result.site_date
|
||||
- name: replace
|
||||
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
|
||||
- name: replace
|
||||
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
|
||||
- name: replace
|
||||
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
|
||||
- name: replace
|
||||
args: ["VOSTFR", "{{ .Result.site_date }} VOSTFR"]
|
||||
# and we delete it at the end
|
||||
- name: re_replace
|
||||
args: ["(\\w+)$", ""]
|
||||
details:
|
||||
selector: a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a
|
||||
attribute: href
|
||||
size:
|
||||
selector: div.poid
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d)Ko", "$1X00"]
|
||||
- name: re_replace
|
||||
args: [ "Ko", "000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d)Mo", "$1X00000"]
|
||||
- name: re_replace
|
||||
args: [ "Mo", "000000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d)Go", "$1X00000000"]
|
||||
- name: re_replace
|
||||
args: [ "Go", "000000000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d)To", "$1X00000000000"]
|
||||
- name: re_replace
|
||||
args: [ "To", "000000000000"]
|
||||
- name: replace
|
||||
args: [ "X", "" ]
|
||||
# this is for the search with keywords which returns sizes nnnnn.n without unit indicator.
|
||||
- name: re_replace
|
||||
args: [ "(\\d+)\\.\\d", "$1 MB"]
|
||||
date:
|
||||
text: now
|
||||
seeders:
|
||||
text: 0
|
||||
seeders:
|
||||
selector: div.up
|
||||
optional: true
|
||||
leechers:
|
||||
text: 0
|
||||
leechers:
|
||||
selector: div.down
|
||||
optional: true
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
201
src/Jackett.Common/Definitions/crazyhd.yml
Normal file
201
src/Jackett.Common/Definitions/crazyhd.yml
Normal file
@@ -0,0 +1,201 @@
|
||||
---
|
||||
site: crazyhd
|
||||
name: CrazyHD
|
||||
description: "CrazyHD is a BANGLADESHI Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.crazyhd.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Movies
|
||||
- {id: 16, cat: Movies/BluRay, desc: "Movies English Bluray"}
|
||||
- {id: 11, cat: Movies/DVD, desc: "Movies English DVD-RIP"}
|
||||
- {id: 14, cat: Movies, desc: "Movies English CAM"}
|
||||
- {id: 60, cat: Movies/WEBDL, desc: "Movies English HD/WEBRIP"}
|
||||
- {id: 19, cat: Movies/DVD, desc: "Movies Hindi DVDRIP"}
|
||||
- {id: 52, cat: Movies/BluRay, desc: "Movies Hindi Blu Ray"}
|
||||
- {id: 18, cat: Movies/DVD, desc: "Movies Hindi PreDVD"}
|
||||
- {id: 17, cat: Movies, desc: "Movies Hindi CAM"}
|
||||
- {id: 42, cat: Movies, desc: "Movies Tamil"}
|
||||
- {id: 65, cat: Movies/WEBDL, desc: "Movies Hindi Webrip/HDrip"}
|
||||
- {id: 24, cat: Movies, desc: "Movies UNRATED"}
|
||||
- {id: 53, cat: Movies/Foreign, desc: "Movies Other Foreign"}
|
||||
- {id: 64, cat: Movies, desc: "Movies Animated"}
|
||||
- {id: 45, cat: Movies, desc: "Movies Trailers"}
|
||||
- {id: 93, cat: Movies, desc: "Movies Dual Movies"}
|
||||
- {id: 59, cat: Movies, desc: "Movies Pack"}
|
||||
- {id: 94, cat: Movies/UHD, desc: "Movies 4k"}
|
||||
- {id: 62, cat: Movies/3D, desc: "Movies 3D"}
|
||||
# TV
|
||||
- {id: 34, cat: TV, desc: "TV English Series"}
|
||||
- {id: 57, cat: TV, desc: "TV Bangla series"}
|
||||
- {id: 58, cat: TV, desc: "TV Hindi series"}
|
||||
- {id: 28, cat: TV/Sport, desc: "TV Sports"}
|
||||
- {id: 29, cat: TV/Documentary, desc: "TV Documentary"}
|
||||
- {id: 95, cat: TV, desc: "TV Other Language"}
|
||||
# Games
|
||||
- {id: 3, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: 75, cat: PC/Phone-Android, desc: "Games Android"}
|
||||
- {id: 77, cat: PC/Phone-IOS, desc: "Games Ipad/Iphone"}
|
||||
- {id: 79, cat: PC/Phone-Other, desc: "Games Other Platforms"}
|
||||
- {id: 61, cat: PC/Games, desc: "Games trailer"}
|
||||
- {id: 90, cat: Console/PS4, desc: "Games Ps4"}
|
||||
- {id: 86, cat: Console/PS3, desc: "Games xbox / ps3"}
|
||||
- {id: 92, cat: PC/Games, desc: "Games nrated"}
|
||||
# Software
|
||||
- {id: 7, cat: PC/0day, desc: "Software Windows"}
|
||||
- {id: 20, cat: PC/Phone-Android, desc: "Software Android Apps"}
|
||||
- {id: 83, cat: PC/Phone-IOS, desc: "Software Iphone Apps"}
|
||||
- {id: 39, cat: PC, desc: "Software Tutorials"}
|
||||
- {id: 63, cat: PC, desc: "Software Linux"}
|
||||
- {id: 89, cat: PC/Mac, desc: "Software MAC OSX"}
|
||||
#Bangla
|
||||
- {id: 56, cat: Movies, desc: "Movies Bangla"}
|
||||
- {id: 35, cat: Movies, desc: "Movies Bangla Natok"}
|
||||
- {id: 47, cat: Movies, desc: "Movies Indian Bangla"}
|
||||
- {id: 46, cat: Movies, desc: "Movies Eid Natok"}
|
||||
- {id: 67, cat: Audio, desc: "Radio program"}
|
||||
# Anime Anime
|
||||
- {id: 36, cat: TV/Anime, desc: "Anime Cartoons"}
|
||||
- {id: 40, cat: TV/Anime, desc: "Anime Subbed"}
|
||||
- {id: 51, cat: TV/Anime, desc: "Anime Dubbed"}
|
||||
- {id: 69, cat: TV/Anime, desc: "Anime Dual Audio"}
|
||||
# Music
|
||||
- {id: 25, cat: Audio/MP3, desc: "MP3 English"}
|
||||
- {id: 26, cat: Audio/MP3, desc: "MP3 Bangla"}
|
||||
- {id: 27, cat: Audio/MP3, desc: "MP3 Hindi"}
|
||||
# Music Video
|
||||
- {id: 48, cat: Audio/Video, desc: "MusicVideo English"}
|
||||
- {id: 49, cat: Audio/Video, desc: "MusicVideo Bangla"}
|
||||
- {id: 50, cat: Audio/Video, desc: "MusicVideo Hindi"}
|
||||
# ETC
|
||||
- {id: 6, cat: Books, desc: "Books"}
|
||||
- {id: 4, cat: Other, desc: "Other"}
|
||||
- {id: 44, cat: Other, desc: "Food & Recipes"}
|
||||
- {id: 38, cat: Other, desc: "Pictures"}
|
||||
- {id: 54, cat: Books/Magazines, desc: "Magazine"}
|
||||
- {id: 88, cat: Books/Comics, desc: "Comics"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "3"
|
||||
options:
|
||||
"3": "created"
|
||||
"5": "seeders"
|
||||
"4": "size"
|
||||
"2": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "2"
|
||||
options:
|
||||
"2": "desc"
|
||||
"1": "asc"
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: form
|
||||
form: form[action^="index.php?page=login"]
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: tr td span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
ratio:
|
||||
path: index.php
|
||||
selector: span:contains("Ratio ")
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Ratio ", ""]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: index.php?page=searchlist
|
||||
method: post
|
||||
inputs:
|
||||
page: searchlist
|
||||
pages: 1
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
# 0=mixed 1=no free 2=50%free 3=100%free 4=50%&100%free
|
||||
gold: 0
|
||||
# 0=filename 1=file&descr 2=descr 3=uploader
|
||||
options: 0
|
||||
# 0=all 1=onlyactive 2=onlydead
|
||||
active: 0
|
||||
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{else}}0{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
||||
rows:
|
||||
selector: div.inf-table-row
|
||||
fields:
|
||||
title:
|
||||
selector: div.list-name a.tlink
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: [" [\\(\\=\\!]+(50|100).*?[\\!\\=\\)]+", ""]
|
||||
details:
|
||||
selector: div.list-name a.tlink
|
||||
attribute: href
|
||||
category:
|
||||
selector: div.torrent-cat small a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
banner:
|
||||
selector: div.list-name a.tlink
|
||||
optional: true
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) width="
|
||||
download:
|
||||
selector: div.list-name a.tlink
|
||||
attribute: tfid
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "download.php?id="
|
||||
- name: append
|
||||
args: "&f={{ .Result.title }}.torrent"
|
||||
size:
|
||||
selector: div.torrent-size
|
||||
date:
|
||||
selector: div.torrent-time
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "02/01/2006"
|
||||
seeders:
|
||||
selector: div.torrent-seeder
|
||||
leechers:
|
||||
selector: div.torrent-peer
|
||||
grabs:
|
||||
selector: div.torrent-completed
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="gold/gold.gif"]: 0
|
||||
img[src="gold/silver.gif"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
184
src/Jackett.Common/Definitions/crazyscorner.yml
Normal file
184
src/Jackett.Common/Definitions/crazyscorner.yml
Normal file
@@ -0,0 +1,184 @@
|
||||
---
|
||||
site: crazyscorner
|
||||
name: Crazy's Corner
|
||||
description: "Crazy's Corner is a Private Torrent Tracker"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://crazys-corner.info/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 34, cat: Movies/3D, desc: "MOVIES 3D"}
|
||||
- {id: 52, cat: Movies/HD, desc: "MOVIES High Def Mkv/Mp4"}
|
||||
- {id: 70, cat: Movies, desc: "MOVIES Animation"}
|
||||
- {id: 97, cat: Movies, desc: "MOVIES DISNEY"}
|
||||
- {id: 112, cat: Movies, desc: "MOVIES itunes"}
|
||||
- {id: 78, cat: TV, desc: "MISC POD CASTS"}
|
||||
- {id: 99, cat: Movies, desc: "MOVIES Cam Ratio Free"}
|
||||
- {id: 11, cat: Movies/DVD, desc: "MOVIES DVD-R"}
|
||||
- {id: 35, cat: Movies/BluRay, desc: "MOVIES Blu-Ray"}
|
||||
- {id: 95, cat: Movies, desc: "MOVIES Classic picks"}
|
||||
- {id: 100, cat: Movies/SD, desc: "MOVIES XVD"}
|
||||
- {id: 105, cat: Movies/HD, desc: "MOVIES HD RIPS"}
|
||||
- {id: 108, cat: Movies, desc: "MOVIES Musical"}
|
||||
- {id: 107, cat: Movies, desc: "MOVIES Packs"}
|
||||
- {id: 36, cat: Movies/DVD, desc: "MOVIES DvD-Rips"}
|
||||
- {id: 37, cat: Movies, desc: "MOVIES Classic"}
|
||||
- {id: 38, cat: Movies, desc: "MOVIES Classic-Kids"}
|
||||
- {id: 47, cat: Movies/WEBDL, desc: "MOVIES Webrip/WEB-DL"}
|
||||
- {id: 39, cat: Movies, desc: "MOVIES Packs"}
|
||||
- {id: 5, cat: Movies, desc: "MOVIES Anime"}
|
||||
- {id: 32, cat: XXX, desc: "MOVIES Adult"}
|
||||
- {id: 33, cat: Movies/UHD, desc: "MOVIES 4K Ratio Free"}
|
||||
- {id: 4, cat: Movies, desc: "MOVIES Misc"}
|
||||
- {id: 79, cat: Audio/Audiobook, desc: "MISC AUDIO BOOKS"}
|
||||
- {id: 81, cat: Audio/Other, desc: "MISC RADIO SHOWS"}
|
||||
- {id: 43, cat: TV, desc: "TV Kids"}
|
||||
- {id: 48, cat: Movies, desc: "SPORTS Misc"}
|
||||
- {id: 110, cat: TV/Sport, desc: "MOVIES Christmas"}
|
||||
- {id: 44, cat: PC/ISO, desc: "GAMES Pc-Iso"}
|
||||
- {id: 45, cat: Console, desc: "GAMES All Console"}
|
||||
- {id: 41, cat: TV, desc: "TV Episodes"}
|
||||
- {id: 101, cat: TV, desc: "TV Soaps"}
|
||||
- {id: 104, cat: TV, desc: "TV MISC"}
|
||||
- {id: 103, cat: Audio, desc: "karaoke Misc"}
|
||||
- {id: 111, cat: Audio, desc: "MUSIC Christmas"}
|
||||
- {id: 42, cat: TV, desc: "VIP TV Packs"}
|
||||
- {id: 84, cat: PC, desc: "APPS MISC"}
|
||||
- {id: 2, cat: Audio, desc: "Music"}
|
||||
- {id: 30, cat: Audio, desc: "Music Packs"}
|
||||
- {id: 31, cat: Audio, desc: "Music Albums"}
|
||||
- {id: 3, cat: PC/Games, desc: "Games Misc"}
|
||||
- {id: 40, cat: TV, desc: "TV Single Seasons"}
|
||||
- {id: 7, cat: PC/0day, desc: "Apps Win"}
|
||||
- {id: 8, cat: PC, desc: "Apps Linux"}
|
||||
- {id: 9, cat: PC/Mac, desc: "Apps Mac"}
|
||||
- {id: 51, cat: Books/Ebook, desc: "E Books Food/Cook-Books"}
|
||||
- {id: 64, cat: Books/Ebook, desc: "E Books Book Packs"}
|
||||
- {id: 26, cat: Books/Ebook, desc: "E Books Magazines"}
|
||||
- {id: 29, cat: Books/Ebook, desc: "E Books Misc Books"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "3"
|
||||
options:
|
||||
"3": "created"
|
||||
"5": "seeders"
|
||||
"4": "size"
|
||||
"2": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: tr td span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://crazys-corner.info/index.php?page=torrents&search=captain&category=0&uploader=0&options=0&active=0&gold=0
|
||||
- path: index.php
|
||||
inputs:
|
||||
search: "{{ .Keywords }}"
|
||||
page: torrents
|
||||
category: "{{ range .Categories }}{{.}};{{end}}"
|
||||
uploader: 0
|
||||
# 0 filename 1 file&descr 2 descr
|
||||
options: 0
|
||||
# 0 all 1 active 2 deadonly
|
||||
active: 0
|
||||
# 0 all 1 classic 2 silver 3 gold 4 silver&gold
|
||||
gold: 0
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.lista tr:has(a[onmouseover][href^="index.php?page=torrent-details&id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
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^="download.php?id="]
|
||||
attribute: href
|
||||
banner:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) width"
|
||||
size:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Size: (.+?)<"
|
||||
date:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Added:(.+?)<"
|
||||
- name: timeago
|
||||
seeders:
|
||||
selector: a[title][href^="index.php?page=torrent-details&id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Seeders: (\\d+)<"
|
||||
leechers:
|
||||
selector: a[title][href^="index.php?page=torrent-details&id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Leechers: (\\d+)<"
|
||||
grabs:
|
||||
selector: a[title][href^="index.php?page=torrent-details&id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Done: (\\d+)<"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/freeleech.gif"]: 0
|
||||
img[src="gold/gold.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
210
src/Jackett.Common/Definitions/crazyspirits.yml
Normal file
210
src/Jackett.Common/Definitions/crazyspirits.yml
Normal file
@@ -0,0 +1,210 @@
|
||||
---
|
||||
site: crazyspirits
|
||||
name: CrazySpirits
|
||||
description: "Crazy Spirits is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: fr-fr
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.crazyspirits.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Documentaire
|
||||
- {id: 96, cat: TV/Documentary, desc: "Docus TV"}
|
||||
# Films
|
||||
- {id: 49, cat: Movies/3D, desc: "Films 3D"}
|
||||
- {id: 1, cat: XXX, desc: "3X"}
|
||||
- {id: 48, cat: XXX, desc: "3X HD1080p"}
|
||||
- {id: 47, cat: XXX, desc: "3X HD720p"}
|
||||
- {id: 50, cat: Movies/UHD, desc: "Films 4K"}
|
||||
- {id: 51, cat: Movies/UHD, desc: "Films 4K UHDTV"}
|
||||
- {id: 57, cat: Movies/BluRay, desc: "Films BDRip"}
|
||||
- {id: 56, cat: Movies/BluRay, desc: "Films Blu-Ray"}
|
||||
- {id: 58, cat: Movies/BluRay, desc: "Films BRRip"}
|
||||
- {id: 66, cat: Movies, desc: "Films CamTS"}
|
||||
- {id: 59, cat: Movies/DVD, desc: "Films DVDR"}
|
||||
- {id: 60, cat: Movies/DVD, desc: "Films DVDRip"}
|
||||
- {id: 98, cat: Movies, desc: "Films Film Animées"}
|
||||
- {id: 65, cat: Movies, desc: "Films FSCR"}
|
||||
- {id: 52, cat: Movies/HD, desc: "Films HD 720p"}
|
||||
- {id: 53, cat: Movies/HD, desc: "Films HD1080p"}
|
||||
- {id: 61, cat: Movies/HD, desc: "Films HDRip"}
|
||||
- {id: 63, cat: Movies/HD, desc: "Films MHD"}
|
||||
- {id: 67, cat: Movies, desc: "Films Pack Films"}
|
||||
- {id: 64, cat: Movies, desc: "Films R5"}
|
||||
- {id: 99, cat: Movies, desc: "Films Remux"}
|
||||
- {id: 69, cat: Movies, desc: "Films VO"}
|
||||
- {id: 68, cat: Movies, desc: "Films VostFR"}
|
||||
- {id: 72, cat: Movies/WEBDL, desc: "Films WEB DL"}
|
||||
- {id: 122, cat: Movies/WEBDL, desc: "Films Web-DL 1080P"}
|
||||
- {id: 123, cat: Movies/WEBDL, desc: "Films WEB-DL 720p"}
|
||||
- {id: 73, cat: Movies/WEBDL, desc: "Films Webrip"}
|
||||
- {id: 70, cat: Movies/WEBDL, desc: "Films WebRip 1080p"}
|
||||
- {id: 71, cat: Movies/WEBDL, desc: "Films WebRip 720p"}
|
||||
# Jeux
|
||||
- {id: 114, cat: PC/Games, desc: "Jeux PC"}
|
||||
- {id: 115, cat: Console/PS3, desc: "Jeux PS3"}
|
||||
- {id: 116, cat: Console/PSP, desc: "Jeux PSP- PSX"}
|
||||
- {id: 117, cat: Console, desc: "Jeux Roms"}
|
||||
- {id: 118, cat: Console, desc: "Jeux Switch"}
|
||||
- {id: 119, cat: Console/Wii, desc: "Jeux Wii"}
|
||||
- {id: 120, cat: Console/WiiU, desc: "Jeux WiiU"}
|
||||
- {id: 121, cat: Console/Xbox, desc: "Jeux Xbox"}
|
||||
# Livre
|
||||
- {id: 100, cat: Audio/Audiobook, desc: "Livre Audio"}
|
||||
- {id: 101, cat: Books/Ebook, desc: "Livre Epub"}
|
||||
- {id: 102, cat: Books, desc: "Livre Mangas"}
|
||||
- {id: 103, cat: Books, desc: "Livres BD"}
|
||||
- {id: 104, cat: Books/Comics, desc: "Livres Comics"}
|
||||
- {id: 105, cat: Books/Magazines, desc: "Livres Press"}
|
||||
- {id: 106, cat: Books, desc: "Livres Romans"}
|
||||
# Logiciel
|
||||
- {id: 113, cat: PC/Phone-IOS, desc: "Logiciel Apple"}
|
||||
- {id: 111, cat: PC, desc: "Logiciel Linux"}
|
||||
- {id: 112, cat: PC/Phone-Other, desc: "Logiciel Smart Phone"}
|
||||
- {id: 110, cat: PC/0day, desc: "Logiciel Windows"}
|
||||
# Musiques
|
||||
- {id: 108, cat: Audio/Lossless, desc: "Musiques FLAC"}
|
||||
- {id: 107, cat: Audio/MP3, desc: "Musiques MP3"}
|
||||
- {id: 109, cat: Audio, desc: "Musiques WMA"}
|
||||
# Séries
|
||||
- {id: 78, cat: TV/HD, desc: "Series 1080p"}
|
||||
- {id: 79, cat: TV/HD, desc: "Series 720p"}
|
||||
- {id: 97, cat: TV/Anime, desc: "Series Animée"}
|
||||
- {id: 76, cat: TV/HD, desc: "Series Blu-Ray"}
|
||||
- {id: 80, cat: TV/SD, desc: "Series DvDR"}
|
||||
- {id: 81, cat: TV/SD, desc: "Series DVDrip"}
|
||||
- {id: 77, cat: TV/HD, desc: "Series HDTV"}
|
||||
- {id: 82, cat: TV/HD, desc: "Series MHD"}
|
||||
- {id: 88, cat: TV, desc: "Series Pack"}
|
||||
- {id: 87, cat: TV, desc: "Series VO"}
|
||||
- {id: 86, cat: TV, desc: "Series VosFR"}
|
||||
- {id: 89, cat: TV, desc: "Series VOSTA"}
|
||||
- {id: 85, cat: TV/WEB-DL, desc: "Series WEB"}
|
||||
- {id: 83, cat: TV/WEB-DL, desc: "Series WebDL1080p"}
|
||||
- {id: 84, cat: TV/WEB-DL, desc: "Series WebDL720p"}
|
||||
# Spéctacle
|
||||
- {id: 90, cat: TV/Other, desc: "Spectacle 1080p"}
|
||||
- {id: 91, cat: TV/Other, desc: "Spectacle 720p"}
|
||||
# Télévision
|
||||
- {id: 94, cat: TV, desc: "TV Animation"}
|
||||
- {id: 93, cat: TV/Documentary, desc: "TV Documentaires"}
|
||||
- {id: 92, cat: TV/Other, desc: "TV Spectacles"}
|
||||
- {id: 95, cat: TV/Sport, desc: "TV Sports"}
|
||||
- {id: 74, cat: TV/HD, desc: "TV TVHD"}
|
||||
- {id: 75, cat: TV, desc: "TV TVRip"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker in 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<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "id"
|
||||
options:
|
||||
"id": "created"
|
||||
"seeders": "seeders"
|
||||
"size": "size"
|
||||
"name": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: torrents-search.php
|
||||
selector: a[href="account-logout.php"]
|
||||
|
||||
download:
|
||||
before:
|
||||
path: thanks.php
|
||||
method: "get"
|
||||
inputs:
|
||||
id: "{{ .DownloadUri.Query.id }}"
|
||||
to: "give"
|
||||
torrent: "{{ .DownloadUri.Query.id }}"
|
||||
selector: a:contains("Télécharger ce torrent")
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://crazyspirits.com/torrents-search.php?c101=1&c102=1&c103=1&c104=1&c105=1&c106=1&search=&cat=0&incldead=0&freeleech=0&lang=0
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
freeleech: 0
|
||||
lang: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.border_table > tbody > tr.t-row
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="] b
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
banner:
|
||||
selector: a[onmouseover][href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?)><"
|
||||
grabs:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
size:
|
||||
selector: a[onmouseover][href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Taille : </b>(.*?)<br"
|
||||
date:
|
||||
selector: a[onmouseover][href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: " Le : </b>(.*?)<br"
|
||||
- name: dateparse
|
||||
args: "02-01-2006"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/Torrents/free.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
# TT3.0
|
||||
165
src/Jackett.Common/Definitions/crnaberza.yml
Normal file
165
src/Jackett.Common/Definitions/crnaberza.yml
Normal file
@@ -0,0 +1,165 @@
|
||||
---
|
||||
site: crnaberza
|
||||
name: CrnaBerza
|
||||
description: "Crna Berza is a BALKAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: sr-sp
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.crnaberza.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 65, cat: Movies/3D, desc: "3D Film"}
|
||||
- {id: 37, cat: Movies, desc: "Deca"}
|
||||
- {id: 43, cat: TV/Documentary, desc: "Dokumentarci"}
|
||||
- {id: 52, cat: Movies/DVD, desc: "Film/DVD Domaće"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "Film/DVD Strano"}
|
||||
- {id: 73, cat: Movies/HD, desc: "Film/HD Domaće"}
|
||||
- {id: 48, cat: Movies/HD, desc: "Film/HD Strano"}
|
||||
- {id: 29, cat: Movies/SD, desc: "Film/SD Domaće"}
|
||||
- {id: 54, cat: Movies/SD, desc: "Film/SD Strano"}
|
||||
- {id: 64, cat: Movies/HD, desc: "HD Boxset"}
|
||||
- {id: 61, cat: Movies/HD, desc: "HD Mesano"}
|
||||
- {id: 50, cat: PC/Games, desc: "Igre"}
|
||||
- {id: 44, cat: Books, desc: "Knjige"}
|
||||
- {id: 46, cat: Audio, desc: "Koncerti"}
|
||||
- {id: 58, cat: Audio/Lossless, desc: "Lossless/Domaće"}
|
||||
- {id: 59, cat: Audio/Lossless, desc: "Lossless/Strano"}
|
||||
- {id: 5, cat: Audio/MP3, desc: "MP3/Domaće"}
|
||||
- {id: 57, cat: Audio/MP3, desc: "MP3/Strano"}
|
||||
- {id: 49, cat: PC, desc: "Programi"}
|
||||
- {id: 28, cat: Other, desc: "Razno"}
|
||||
- {id: 62, cat: TV/SD, desc: "SD Boxset"}
|
||||
- {id: 38, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 39, cat: Audio/Video, desc: "Spotovi DVD"}
|
||||
- {id: 45, cat: Books/Comics, desc: "Stripovi"}
|
||||
- {id: 75, cat: TV/HD, desc: "TV/HD Domaće"}
|
||||
- {id: 77, cat: TV/HD, desc: "TV/HD Strano"}
|
||||
- {id: 78, cat: TV/Other, desc: "TV/ostalo"}
|
||||
- {id: 30, cat: TV/SD, desc: "TV/SD Domaće"}
|
||||
- {id: 34, cat: TV/SD, desc: "TV/SD Strano"}
|
||||
- {id: 60, cat: XXX, desc: "XXX/Domace"}
|
||||
- {id: 63, cat: XXX, desc: "XXX/Strano"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the 'Torrents per page' setting to 100 on your 'Personal Options' from the 'Personal' menu on the Crna Berza webpage.
|
||||
- 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"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: h2
|
||||
message:
|
||||
selector: table tr td.text
|
||||
test:
|
||||
path: browse.php
|
||||
selector: a[href$="/logout.php"]
|
||||
|
||||
ratio:
|
||||
path: browse.php
|
||||
selector: div div font:contains("Ratio:")
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio:\\s(.*?)\\s\\s"
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://www.crnaberza.com/browse.php?c52=1&c20=1&c34=1&incldead=1&search=star+trek
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
searchin: title
|
||||
# 0 active 1 incldead 2 onlydead
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: tr:has(td.trowtorrent)
|
||||
fields:
|
||||
category:
|
||||
selector: td:nth-of-type(1) a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "[-](\\d{1,2})$"
|
||||
title:
|
||||
selector: td:nth-of-type(2) a
|
||||
details:
|
||||
selector: td:nth-of-type(2) a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-of-type(3) a
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-of-type(4)
|
||||
date:
|
||||
# Danas<br>08:10 AM
|
||||
# Juče<br>06:44 PM
|
||||
optional: true
|
||||
selector: td:nth-of-type(6):contains("Danas"), td:nth-of-type(6):contains("Juče")
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Danas", "Today"]
|
||||
- name: replace
|
||||
args: ["Juče", "Yesterday"]
|
||||
date:
|
||||
# Feb 14 2019<br>10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-of-type(6):not(:contains("Juče")):not(:contains("Danas"))
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM"
|
||||
size:
|
||||
selector: td:nth-of-type(7)
|
||||
grabs:
|
||||
selector: td:nth-of-type(8) a
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d]+)
|
||||
seeders:
|
||||
selector: td:nth-of-type(9)
|
||||
leechers:
|
||||
selector: td:nth-of-type(10)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/pic/freedownload.gif\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
@@ -9,13 +9,12 @@
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Filmy"}
|
||||
- {id: 25, cat: TV, desc: "Seriály"}
|
||||
- {id: 23, cat: TV/Documentary, desc: "Filmy - dokument"}
|
||||
- {id: 22, cat: PC, desc: "Aplikace"}
|
||||
- {id: 1, cat: Movies, desc: "Filmy"}
|
||||
- {id: 36, cat: Movies/3D, desc: "Filmy - 3D"}
|
||||
- {id: 35, cat: Movies/Other, desc: "Filmy - anime"}
|
||||
- {id: 37, cat: Movies/BluRay, desc: "Filmy - Blu-ray"}
|
||||
- {id: 33, cat: TV/Documentary, desc: "Filmy - dokument"}
|
||||
- {id: 11, cat: Movies/DVD, desc: "Filmy - DVD"}
|
||||
- {id: 30, cat: Movies/DVD, desc: "Filmy - DVD full"}
|
||||
- {id: 5, cat: Movies, desc: "Filmy - kreslené"}
|
||||
@@ -29,6 +28,7 @@
|
||||
- {id: 32, cat: Audio, desc: "Mluvené slovo"}
|
||||
- {id: 16, cat: PC/Phone-Other, desc: "Mobil, PDA"}
|
||||
- {id: 4, cat: Other, desc: "Ostatní"}
|
||||
- {id: 25, cat: TV, desc: "Seriály"}
|
||||
- {id: 29, cat: Audio, desc: "Soundtrack"}
|
||||
- {id: 19, cat: Audio/Video, desc: "Videoklipy"}
|
||||
- {id: 24, cat: XXX, desc: "xXx"}
|
||||
@@ -39,26 +39,47 @@
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
- name: username
|
||||
type: text
|
||||
label: Cookie
|
||||
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "7"
|
||||
options:
|
||||
"7": "created"
|
||||
"2": "seeders"
|
||||
"6": "size"
|
||||
"5": "title"
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
path: login-page
|
||||
method: form
|
||||
form: form[action="/login?url=%2F"]
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
persistent_login: 1
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents
|
||||
- path: torrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
s: "{{ .Keywords }}"
|
||||
t: "1"
|
||||
t: 1
|
||||
o: "{{ .Config.sort }}"
|
||||
|
||||
rows:
|
||||
selector: tr.torr_hover
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: td.detaily a
|
||||
@@ -84,11 +105,11 @@
|
||||
- name: re_replace
|
||||
args: ["(\\d{1})\\.", "S0$1"]
|
||||
category:
|
||||
selector: td:nth-child(2)
|
||||
selector: td.categorie
|
||||
case:
|
||||
":contains(\"Filmy\")": 1
|
||||
":contains(\"Seriály\")": 25
|
||||
":contains(\"Filmy - dokument\")": 23
|
||||
":contains(\"Filmy - dokument\")": 33
|
||||
":contains(\"Aplikace\")": 22
|
||||
":contains(\"Filmy - 3D\")": 36
|
||||
":contains(\"Filmy - anime\")": 35
|
||||
@@ -119,20 +140,16 @@
|
||||
selector: td.detaily
|
||||
filters:
|
||||
- name: split
|
||||
args: [ "|", 0 ]
|
||||
- name: regexp
|
||||
args: "Velikost: (.+?) ?$"
|
||||
args: [ "|", 1 ]
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
selector: td.detaily
|
||||
filters:
|
||||
- name: split
|
||||
args: [ "|", 1 ]
|
||||
- name: regexp
|
||||
args: "Přidán: (.+?) ?$"
|
||||
args: [ "|", 2 ]
|
||||
- name: append
|
||||
args: " +02:00"
|
||||
- name: dateparse
|
||||
args: "2.1.2006 15:04 -07:00"
|
||||
args: "2.1.2006 15:04 -07:00"
|
||||
seeders:
|
||||
selector: td:nth-child(7) span
|
||||
leechers:
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
- {id: 2, cat: Other, desc: "MiSC"}
|
||||
- {id: 5, cat: PC/Phone-Other, desc: "Mobile"}
|
||||
- {id: 27, cat: Movies, desc: "Movies | Pack"}
|
||||
- {id: 63, cat: Movies, desc: "Movies | Pack-Ro"}
|
||||
- {id: 46, cat: Movies/3D, desc: "Movies | 3D"}
|
||||
- {id: 26, cat: Movies/SD, desc: "Movies | Cam"}
|
||||
- {id: 25, cat: Movies, desc: "Movies | Documentary"}
|
||||
@@ -30,24 +31,33 @@
|
||||
- {id: 23, cat: Movies/HD, desc: "Movies | HD"}
|
||||
- {id: 31, cat: Movies/HD, desc: "Movies | HD-Ro"}
|
||||
- {id: 34, cat: Movies/Foreign, desc: "Movies | Hindi"}
|
||||
- {id: 30, cat: Movies/SD, desc: "Movies | Xvid"}
|
||||
- {id: 36, cat: Movies/SD, desc: "Movies | Xvid-Ro"}
|
||||
- {id: 30, cat: Movies/SD, desc: "Movies | SD"}
|
||||
- {id: 36, cat: Movies/SD, desc: "Movies | SD-Ro"}
|
||||
- {id: 50, cat: Movies/BluRay, desc: "Movies | Blu-Ray"}
|
||||
- {id: 51, cat: Movies/BluRay, desc: "Movies | Blu-Ray-Ro"}
|
||||
- {id: 55, cat: Movies/UHD, desc: "Movies | 4K"}
|
||||
- {id: 59, cat: Movies/UHD, desc: "Movies | 4K-Ro"}
|
||||
- {id: 21, cat: Audio/Video, desc: "Music | Video"}
|
||||
- {id: 19, cat: Audio , desc: "Music | Mp3/Flac"}
|
||||
- {id: 18, cat: Other, desc: "Other"}
|
||||
- {id: 42, cat: Other, desc: "Premiera | DsT"}
|
||||
- {id: 14, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 47, cat: TV/SD, desc: "Tv | Episodes"}
|
||||
- {id: 28, cat: TV/HD, desc: "Tv-HD | Episodes"}
|
||||
- {id: 47, cat: TV/HD, desc: "Tv | HD"}
|
||||
- {id: 57, cat: TV/HD, desc: "Tv | HD-Ro"}
|
||||
- {id: 28, cat: TV/SD, desc: "Tv | SD"}
|
||||
- {id: 58, cat: TV/SD, desc: "Tv | SD-Ro"}
|
||||
- {id: 54, cat: TV, desc: "Tv | Pack"}
|
||||
- {id: 61, cat: TV, desc: "Tv | Pack-Ro"}
|
||||
- {id: 13, cat: Other, desc: "Tutoriale"}
|
||||
- {id: 12, cat: XXX, desc: "XxX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
movie-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -55,32 +65,37 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
ratio:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
selector: font:contains("Ratio:") > span
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
rows:
|
||||
selector: div.ncls > table > tbody > tr:has(a.tname)
|
||||
fields:
|
||||
title-attribute:
|
||||
selector: a.tname
|
||||
attribute: title
|
||||
title-text:
|
||||
selector: a.tname
|
||||
title:
|
||||
text: "{{if .Result.title-attribute }}{{ .Result.title-attribute }}{{else}}{{ .Result.title-text }}{{end}}"
|
||||
selector: a.tname
|
||||
details:
|
||||
selector: a.tname
|
||||
attribute: href
|
||||
banner:
|
||||
selector: a.tname
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=([^\s]+)
|
||||
imdb:
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
optional: true
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
@@ -90,39 +105,26 @@
|
||||
download:
|
||||
selector: a[href^="/download.php/"], a[href^="/downloadd.php/"] # some releases use a download link with two d's
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:contains("Added:") a#added-btn
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Added: ", ""]
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
selector: td:nth-last-child(4)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
date:
|
||||
selector: td:nth-child(2) > right > div:has(font:contains("Uploaded"))
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Uploaded: ", ""]
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-child(10)
|
||||
banner:
|
||||
selector: a.tname
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=([^\s]+)
|
||||
imdb:
|
||||
selector: a[href^="http://www.imdb.com/title/"]
|
||||
optional: true
|
||||
attribute: href
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src=\"pic/free.png\"]": "0"
|
||||
"a#free-btn": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
description:
|
||||
selector: td:nth-child(2) > right
|
||||
remove: div
|
||||
|
||||
@@ -10,25 +10,49 @@
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 11, cat: Audio, desc: "Music"}
|
||||
- {id: 6, cat: Movies, desc: "Movies"}
|
||||
- {id: 5, cat: Movies/DVD, desc: "Movies DVDR"}
|
||||
- {id: 8, cat: TV, desc: "TV shows"}
|
||||
- {id: 12, cat: Movies/HD, desc: "HD Movies"}
|
||||
- {id: 12, cat: TV/HD, desc: "HD TV"}
|
||||
- {id: 9, cat: TV/Documentary, desc: "TV - Documentaries"}
|
||||
- {id: 9, cat: Movies/Other, desc: "Movie - Documentaries"}
|
||||
- {id: 2, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 7, cat: Movies/Other, desc: "Cartoons"}
|
||||
- {id: 14, cat: PC, desc: "Windows"}
|
||||
- {id: 3, cat: PC/Mac, desc: "Mac"}
|
||||
- {id: 10, cat: PC/Games, desc: "Games"}
|
||||
- {id: 4, cat: XXX, desc: "XXX"}
|
||||
- {id: 15, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 1, cat: Other, desc: "Other"}
|
||||
- {id: 5, cat: Movies/DVD, desc: "Movies DVDR"}
|
||||
- {id: 9, cat: TV/Documentary, desc: "TV - Documentaries"}
|
||||
- {id: 12, cat: TV/HD, desc: "TV HD"}
|
||||
- {id: 2, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 6, cat: Movies, desc: "Movies"}
|
||||
- {id: 10, cat: PC/Games, desc: "Games"}
|
||||
- {id: 3, cat: PC/Mac, desc: "Mac"}
|
||||
- {id: 7, cat: Movies/Other, desc: "Cartoons"}
|
||||
- {id: 11, cat: Audio, desc: "Music"}
|
||||
- {id: 14, cat: PC, desc: "Windows"}
|
||||
- {id: 4, cat: XXX, desc: "XXX"}
|
||||
- {id: 8, cat: TV, desc: "TV shows"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "added"
|
||||
options:
|
||||
"added": "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: takelogin.php
|
||||
@@ -37,7 +61,6 @@
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
keeplogged: 1
|
||||
|
||||
test:
|
||||
path: my.php
|
||||
|
||||
@@ -45,29 +68,33 @@
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
incldead: "1"
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table[class="torrentlist"] > tbody > tr:has(a[href*="details.php?id="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
args: 55
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="download.php"]
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: td:nth-child(2)
|
||||
# category:
|
||||
# selector: a[href^="browse.php?cat="]
|
||||
# attribute: href
|
||||
# filters:
|
||||
# - name: querystring
|
||||
# args: cat
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
files:
|
||||
@@ -87,8 +114,6 @@
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
text: 1
|
||||
|
||||
348
src/Jackett.Common/Definitions/demonoid.yml
Normal file
348
src/Jackett.Common/Definitions/demonoid.yml
Normal file
@@ -0,0 +1,348 @@
|
||||
---
|
||||
site: demonoid
|
||||
name: Demonoid
|
||||
description: "Demonoid is a Public torrent site for MOVIES / TV / GENERAL"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.demonoid.is/
|
||||
legacylinks:
|
||||
- https://www.dnoid.to/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Applications
|
||||
- {id: 1, cat: PC/Phone-Android, desc: "Applications Android"}
|
||||
- {id: 2, cat: PC/Phone-IOS, desc: "Applications Iphone / Ipod touch"}
|
||||
- {id: 3, cat: PC, desc: "Applications Linux"}
|
||||
- {id: 4, cat: PC/Mac, desc: "Applications Mac"}
|
||||
- {id: 5, cat: PC/Phone-Other, desc: "Applications Mobile phone"}
|
||||
- {id: 6, cat: PC, desc: "Applications PocketPC"}
|
||||
- {id: 7, cat: PC/0day, desc: "Applications Windows"}
|
||||
# Audio Books
|
||||
- {id: 8, cat: Audio/Audiobook, desc: "Audio Books Action"}
|
||||
- {id: 9, cat: Audio/Audiobook, desc: "Audio Books Adventure"}
|
||||
- {id: 10, cat: Audio/Audiobook, desc: "Audio Books Biography"}
|
||||
- {id: 11, cat: Audio/Audiobook, desc: "Audio Books Childrens"}
|
||||
- {id: 12, cat: Audio/Audiobook, desc: "Audio Books Computers and Technology"}
|
||||
- {id: 13, cat: Audio/Audiobook, desc: "Audio Books Contemporary"}
|
||||
- {id: 14, cat: Audio/Audiobook, desc: "Audio Books Cooking"}
|
||||
- {id: 15, cat: Audio/Audiobook, desc: "Audio Books Crafts and Hobbies"}
|
||||
- {id: 16, cat: Audio/Audiobook, desc: "Audio Books Educational"}
|
||||
- {id: 17, cat: Audio/Audiobook, desc: "Audio Books Fantasy"}
|
||||
- {id: 18, cat: Audio/Audiobook, desc: "Audio Books Fiction"}
|
||||
- {id: 19, cat: Audio/Audiobook, desc: "Audio Books General"}
|
||||
- {id: 20, cat: Audio/Audiobook, desc: "Audio Books History"}
|
||||
- {id: 21, cat: Audio/Audiobook, desc: "Audio Books Horror"}
|
||||
- {id: 22, cat: Audio/Audiobook, desc: "Audio Books Humor"}
|
||||
- {id: 23, cat: Audio/Audiobook, desc: "Audio Books Literary"}
|
||||
- {id: 24, cat: Audio/Audiobook, desc: "Audio Books Magazine"}
|
||||
- {id: 25, cat: Audio/Audiobook, desc: "Audio Books Mainstream"}
|
||||
- {id: 26, cat: Audio/Audiobook, desc: "Audio Books Medicine and Health"}
|
||||
- {id: 27, cat: Audio/Audiobook, desc: "Audio Books Mystery and Suspense"}
|
||||
- {id: 28, cat: Audio/Audiobook, desc: "Audio Books Newspaper"}
|
||||
- {id: 29, cat: Audio/Audiobook, desc: "Audio Books Nonfiction"}
|
||||
- {id: 30, cat: Audio/Audiobook, desc: "Audio Books Other"}
|
||||
- {id: 31, cat: Audio/Audiobook, desc: "Audio Books Paranormal"}
|
||||
- {id: 32, cat: Audio/Audiobook, desc: "Audio Books Religion"}
|
||||
- {id: 33, cat: Audio/Audiobook, desc: "Audio Books Romance"}
|
||||
- {id: 34, cat: Audio/Audiobook, desc: "Audio Books RPG"}
|
||||
- {id: 35, cat: Audio/Audiobook, desc: "Audio Books Sci-Fi"}
|
||||
- {id: 36, cat: Audio/Audiobook, desc: "Audio Books Self-help"}
|
||||
- {id: 37, cat: Audio/Audiobook, desc: "Audio Books Suspense"}
|
||||
- {id: 38, cat: Audio/Audiobook, desc: "Audio Books Textbook"}
|
||||
- {id: 39, cat: Audio/Audiobook, desc: "Audio Books Thriller"}
|
||||
- {id: 40, cat: Audio/Audiobook, desc: "Audio Books Western"}
|
||||
- {id: 41, cat: Audio/Audiobook, desc: "Audio Books Young Adult"}
|
||||
# Books
|
||||
- {id: 42, cat: Books/Ebook, desc: "Books Action and Adventure"}
|
||||
- {id: 43, cat: Books/Ebook, desc: "Books Biography"}
|
||||
- {id: 44, cat: Books/Ebook, desc: "Books Childrens"}
|
||||
- {id: 45, cat: Books/Ebook, desc: "Books Computers and Technology"}
|
||||
- {id: 46, cat: Books/Ebook, desc: "Books Contemporary"}
|
||||
- {id: 47, cat: Books/Ebook, desc: "Books Cooking"}
|
||||
- {id: 48, cat: Books/Ebook, desc: "Books Crafts and Hobbies"}
|
||||
- {id: 49, cat: Books/Ebook, desc: "Books Educational"}
|
||||
- {id: 50, cat: Books/Ebook, desc: "Books Fantasy"}
|
||||
- {id: 51, cat: Books/Ebook, desc: "Books Fiction"}
|
||||
- {id: 52, cat: Books/Ebook, desc: "Books General"}
|
||||
- {id: 53, cat: Books/Ebook, desc: "Books History"}
|
||||
- {id: 54, cat: Books/Ebook, desc: "Books Horror"}
|
||||
- {id: 55, cat: Books/Ebook, desc: "Books Humor"}
|
||||
- {id: 56, cat: Books/Ebook, desc: "Books Literary"}
|
||||
- {id: 57, cat: Books/Magazines, desc: "Books Magazine"}
|
||||
- {id: 58, cat: Books/Ebook, desc: "Books Mainstream"}
|
||||
- {id: 59, cat: Books/Ebook, desc: "Books Medicine and Health"}
|
||||
- {id: 60, cat: Books/Ebook, desc: "Books Mystery and Suspense"}
|
||||
- {id: 61, cat: Books/Ebook, desc: "Books Newspaper"}
|
||||
- {id: 62, cat: Books/Ebook, desc: "Books Nonfiction"}
|
||||
- {id: 63, cat: Books/Ebook, desc: "Books Other"}
|
||||
- {id: 64, cat: Books/Ebook, desc: "Books Paranormal"}
|
||||
- {id: 65, cat: Books/Ebook, desc: "Books Religion"}
|
||||
- {id: 66, cat: Books/Ebook, desc: "Books Romance"}
|
||||
- {id: 67, cat: Books/Ebook, desc: "Books RPG"}
|
||||
- {id: 68, cat: Books/Ebook, desc: "Books Sci-Fi"}
|
||||
- {id: 69, cat: Books/Ebook, desc: "Books Self-help"}
|
||||
- {id: 70, cat: Books/Ebook, desc: "Books Suspense"}
|
||||
- {id: 71, cat: Books/Ebook, desc: "Books Textbook"}
|
||||
- {id: 72, cat: Books/Ebook, desc: "Books Thriller"}
|
||||
- {id: 73, cat: Books/Ebook, desc: "Books Western"}
|
||||
- {id: 74, cat: Books/Ebook, desc: "Books Young Adult"}
|
||||
# Comics
|
||||
- {id: 75, cat: Books/Comics, desc: "Comics Action / Adventure"}
|
||||
- {id: 76, cat: Books/Comics, desc: "Comics Crime"}
|
||||
- {id: 77, cat: Books/Comics, desc: "Comics Drama"}
|
||||
- {id: 78, cat: Books/Comics, desc: "Comics Fantasy"}
|
||||
- {id: 79, cat: Books/Comics, desc: "Comics Historical fiction"}
|
||||
- {id: 80, cat: Books/Comics, desc: "Comics Horror"}
|
||||
- {id: 81, cat: Books/Comics, desc: "Comics Illustrated novel"}
|
||||
- {id: 82, cat: Books/Comics, desc: "Comics Manga"}
|
||||
- {id: 83, cat: Books/Comics, desc: "Comics Other"}
|
||||
- {id: 84, cat: Books/Comics, desc: "Comics Real-Life"}
|
||||
- {id: 85, cat: Books/Comics, desc: "Comics Sci-Fi"}
|
||||
- {id: 86, cat: Books/Comics, desc: "Comics Super Hero"}
|
||||
# Games
|
||||
- {id: 87, cat: PC, desc: "Games DOS"}
|
||||
- {id: 88, cat: Console/Other, desc: "Games Dreamcast"}
|
||||
- {id: 89, cat: Console/Other, desc: "Games Emulators"}
|
||||
- {id: 90, cat: Console/Other, desc: "Games GameBoy"}
|
||||
- {id: 91, cat: Console/Other, desc: "Games GameCube"}
|
||||
- {id: 92, cat: PC, desc: "Games Linux"}
|
||||
- {id: 93, cat: PC/Mac, desc: "Games Mac"}
|
||||
- {id: 94, cat: PC/Phone-Other, desc: "Games Mobile phone"}
|
||||
- {id: 95, cat: Console/NDS, desc: "Games Nintendo DS"}
|
||||
- {id: 96, cat: Console/Other, desc: "Games Palm"}
|
||||
- {id: 97, cat: Console/PS3, desc: "Games Playstation"}
|
||||
- {id: 98, cat: Console/Other, desc: "Games PocketPC"}
|
||||
- {id: 99, cat: Console/PSP, desc: "Games PSP"}
|
||||
- {id: 100, cat: Console/Wii, desc: "Games Wii / Wii U"}
|
||||
- {id: 101, cat: PC/Games, desc: "Games Windows"}
|
||||
- {id: 102, cat: Console/Xbox, desc: "Games XBox"}
|
||||
# Anime
|
||||
- {id: 158, cat: TV/Anime, desc: "Anime Sci-Fi"}
|
||||
- {id: 103, cat: TV/Anime, desc: "Anime Action"}
|
||||
- {id: 104, cat: TV/Anime, desc: "Anime Adventure"}
|
||||
- {id: 105, cat: TV/Anime, desc: "Anime Comedy"}
|
||||
- {id: 106, cat: TV/Anime, desc: "Anime Drama"}
|
||||
- {id: 107, cat: TV/Anime, desc: "Anime Fantasy"}
|
||||
- {id: 108, cat: TV/Anime, desc: "Anime Horror"}
|
||||
- {id: 109, cat: TV/Anime, desc: "Anime Other"}
|
||||
- {id: 157, cat: TV/Anime, desc: "Anime Romance"}
|
||||
# Movies
|
||||
- {id: 151, cat: Movies, desc: "Movies Action"}
|
||||
- {id: 110, cat: Movies, desc: "Movies Adventure"}
|
||||
- {id: 236, cat: Movies, desc: "Movies Animation"}
|
||||
- {id: 111, cat: Movies, desc: "Movies Biography"}
|
||||
- {id: 152, cat: Movies, desc: "Movies Comedy"}
|
||||
- {id: 112, cat: Movies, desc: "Movies Concerts"}
|
||||
- {id: 113, cat: Movies, desc: "Movies Crime"}
|
||||
- {id: 114, cat: Movies, desc: "Movies Documentary"}
|
||||
- {id: 115, cat: Movies, desc: "Movies Drama"}
|
||||
- {id: 116, cat: Movies, desc: "Movies Family"}
|
||||
- {id: 153, cat: Movies, desc: "Movies Fantasy"}
|
||||
- {id: 117, cat: Movies, desc: "Movies Horror"}
|
||||
- {id: 118, cat: Movies, desc: "Movies Musical"}
|
||||
- {id: 119, cat: Movies, desc: "Movies Mystery"}
|
||||
- {id: 120, cat: Movies, desc: "Movies Other"}
|
||||
- {id: 121, cat: Movies, desc: "Movies Romance"}
|
||||
- {id: 154, cat: Movies, desc: "Movies Sci-Fi"}
|
||||
- {id: 159, cat: Movies, desc: "Movies Short-Film"}
|
||||
- {id: 160, cat: Movies, desc: "Movies Sports"}
|
||||
- {id: 161, cat: Movies, desc: "Movies Thriller"}
|
||||
- {id: 162, cat: Movies, desc: "Movies Trailers"}
|
||||
- {id: 163, cat: Movies, desc: "Movies War"}
|
||||
- {id: 164, cat: Movies, desc: "Movies Western"}
|
||||
# Music
|
||||
- {id: 122, cat: Audio, desc: "Music Alternative"}
|
||||
- {id: 123, cat: Audio, desc: "Music Bluegrass"}
|
||||
- {id: 124, cat: Audio, desc: "Music Blues"}
|
||||
- {id: 125, cat: Audio, desc: "Music Childrens"}
|
||||
- {id: 126, cat: Audio, desc: "Music Christian"}
|
||||
- {id: 127, cat: Audio, desc: "Music Classical"}
|
||||
- {id: 128, cat: Audio, desc: "Music Comedy"}
|
||||
- {id: 129, cat: Audio, desc: "Music Contemporary African"}
|
||||
- {id: 130, cat: Audio, desc: "Music Country"}
|
||||
- {id: 131, cat: Audio, desc: "Music Dance / Disco"}
|
||||
- {id: 132, cat: Audio, desc: "Music Drum and Bass"}
|
||||
- {id: 133, cat: Audio, desc: "Music Electro / Techno"}
|
||||
- {id: 134, cat: Audio, desc: "Music Folk"}
|
||||
- {id: 165, cat: Audio, desc: "Music Gospel"}
|
||||
- {id: 166, cat: Audio, desc: "Music Grunge"}
|
||||
- {id: 167, cat: Audio, desc: "Music Hip-Hop / Rap"}
|
||||
- {id: 168, cat: Audio, desc: "Music Indie"}
|
||||
- {id: 169, cat: Audio, desc: "Music Industrial"}
|
||||
- {id: 170, cat: Audio, desc: "Music J-Pop"}
|
||||
- {id: 171, cat: Audio, desc: "Music Jazz"}
|
||||
- {id: 172, cat: Audio, desc: "Music Latin American"}
|
||||
- {id: 173, cat: Audio, desc: "Music Melodic"}
|
||||
- {id: 174, cat: Audio, desc: "Music Metal"}
|
||||
- {id: 175, cat: Audio, desc: "Music Other"}
|
||||
- {id: 176, cat: Audio, desc: "Music Pop"}
|
||||
- {id: 177, cat: Audio, desc: "Music Punk"}
|
||||
- {id: 178, cat: Audio, desc: "Music Radio Show"}
|
||||
- {id: 179, cat: Audio, desc: "Music Reggae"}
|
||||
- {id: 180, cat: Audio, desc: "Music Rhythm and blues"}
|
||||
- {id: 181, cat: Audio, desc: "Music Rock"}
|
||||
- {id: 182, cat: Audio, desc: "Music Soul"}
|
||||
- {id: 183, cat: Audio, desc: "Music Soundtrack"}
|
||||
- {id: 184, cat: Audio, desc: "Music Trance"}
|
||||
- {id: 185, cat: Audio, desc: "Music Trip Hop"}
|
||||
# Music Videos
|
||||
- {id: 135, cat: Audio/Video, desc: "Music Videos Alternative"}
|
||||
- {id: 136, cat: Audio/Video, desc: "Music Videos Bluegrass"}
|
||||
- {id: 137, cat: Audio/Video, desc: "Music Videos Blues"}
|
||||
- {id: 138, cat: Audio/Video, desc: "Music Videos Childrens"}
|
||||
- {id: 139, cat: Audio/Video, desc: "Music Videos Christian"}
|
||||
- {id: 186, cat: Audio/Video, desc: "Music Videos Classical"}
|
||||
- {id: 187, cat: Audio/Video, desc: "Music Videos Comedy"}
|
||||
- {id: 188, cat: Audio/Video, desc: "Music Videos Contemporary African"}
|
||||
- {id: 189, cat: Audio/Video, desc: "Music Videos Country"}
|
||||
- {id: 190, cat: Audio/Video, desc: "Music Videos Dance / Disco"}
|
||||
- {id: 191, cat: Audio/Video, desc: "Music Videos Drum and Bass"}
|
||||
- {id: 192, cat: Audio/Video, desc: "Music Videos Electro / Techno"}
|
||||
- {id: 193, cat: Audio/Video, desc: "Music Videos Folk"}
|
||||
- {id: 194, cat: Audio/Video, desc: "Music Videos Gospel"}
|
||||
- {id: 195, cat: Audio/Video, desc: "Music Videos Grunge"}
|
||||
- {id: 196, cat: Audio/Video, desc: "Music Videos Hip-Hop / Rap"}
|
||||
- {id: 197, cat: Audio/Video, desc: "Music Videos Indie"}
|
||||
- {id: 198, cat: Audio/Video, desc: "Music Videos Industrial"}
|
||||
- {id: 199, cat: Audio/Video, desc: "Music Videos J-Pop"}
|
||||
- {id: 200, cat: Audio/Video, desc: "Music Videos Jazz"}
|
||||
- {id: 201, cat: Audio/Video, desc: "Music Videos Latin American"}
|
||||
- {id: 202, cat: Audio/Video, desc: "Music Videos Melodic"}
|
||||
- {id: 203, cat: Audio/Video, desc: "Music Videos Metal"}
|
||||
- {id: 204, cat: Audio/Video, desc: "Music Videos Other"}
|
||||
- {id: 205, cat: Audio/Video, desc: "Music Videos Pop"}
|
||||
- {id: 206, cat: Audio/Video, desc: "Music Videos Punk"}
|
||||
- {id: 207, cat: Audio/Video, desc: "Music Videos Radio Show"}
|
||||
- {id: 208, cat: Audio/Video, desc: "Music Videos Reggae"}
|
||||
- {id: 209, cat: Audio/Video, desc: "Music Videos Rhythm and blues"}
|
||||
- {id: 210, cat: Audio/Video, desc: "Music Videos Rock"}
|
||||
- {id: 211, cat: Audio/Video, desc: "Music Videos Soul"}
|
||||
- {id: 212, cat: Audio/Video, desc: "Music Videos Soundtrack"}
|
||||
- {id: 213, cat: Audio/Video, desc: "Music Videos Trance"}
|
||||
- {id: 214, cat: Audio/Video, desc: "Music Videos Trip Hop"}
|
||||
# Pictures
|
||||
- {id: 140, cat: Other, desc: "Pictures Art"}
|
||||
- {id: 141, cat: Other, desc: "Pictures Commercial"}
|
||||
- {id: 142, cat: Other, desc: "Pictures Glamour"}
|
||||
- {id: 215, cat: Other, desc: "Pictures Other"}
|
||||
- {id: 216, cat: Other, desc: "Pictures Photojournalism"}
|
||||
- {id: 217, cat: Other, desc: "Pictures Snapshots"}
|
||||
- {id: 218, cat: Other, desc: "Pictures Sports"}
|
||||
- {id: 219, cat: Other, desc: "Pictures Wildlife"}
|
||||
# TV
|
||||
- {id: 155, cat: TV, desc: "TV Action"}
|
||||
- {id: 143, cat: TV, desc: "TV Adventure"}
|
||||
- {id: 144, cat: TV, desc: "TV Biography"}
|
||||
- {id: 145, cat: TV, desc: "TV Cartoons"}
|
||||
- {id: 146, cat: TV, desc: "TV Comedy"}
|
||||
- {id: 147, cat: TV, desc: "TV Concerts"}
|
||||
- {id: 148, cat: TV, desc: "TV Crime"}
|
||||
- {id: 149, cat: TV, desc: "TV Documentary"}
|
||||
- {id: 156, cat: TV, desc: "TV Drama"}
|
||||
- {id: 220, cat: TV, desc: "TV Family"}
|
||||
- {id: 221, cat: TV, desc: "TV Fantasy"}
|
||||
- {id: 222, cat: TV, desc: "TV Horror"}
|
||||
- {id: 223, cat: TV, desc: "TV Musical"}
|
||||
- {id: 224, cat: TV, desc: "TV Mystery"}
|
||||
- {id: 225, cat: TV, desc: "TV Other"}
|
||||
- {id: 226, cat: TV, desc: "TV Reality"}
|
||||
- {id: 227, cat: TV, desc: "TV Romance"}
|
||||
- {id: 228, cat: TV, desc: "TV Sci-Fi"}
|
||||
- {id: 229, cat: TV, desc: "TV Short film"}
|
||||
- {id: 230, cat: TV, desc: "TV Sports"}
|
||||
- {id: 231, cat: TV, desc: "TV Talk show"}
|
||||
- {id: 232, cat: TV, desc: "TV Thriller"}
|
||||
- {id: 233, cat: TV, desc: "TV Trailers"}
|
||||
- {id: 234, cat: TV, desc: "TV War"}
|
||||
- {id: 235, cat: TV, desc: "TV Western"}
|
||||
# cat misc has no subcats
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "added"
|
||||
options:
|
||||
"added": "created"
|
||||
"seeders": "seeders"
|
||||
"size": "size"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "desc"
|
||||
options:
|
||||
"desc": "desc"
|
||||
"asc": "asc"
|
||||
|
||||
download:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.demonoid.is/files/?c154&language=0&quality=0&seeded=2&query=world&to=on&sort=
|
||||
# https://www.demonoid.is/files/?seeded=2&language=0&quality=0&to=on&query=world
|
||||
- path: files/
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}&{{end}}"
|
||||
# 0 seeded 1 unseeded 2 both
|
||||
seeded: 2
|
||||
# 0 all 1 English etc
|
||||
language: 0
|
||||
# 0 all
|
||||
quality: 0
|
||||
# search in titles only
|
||||
to: on
|
||||
query: "{{ .Keywords }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.font_12px tr:has(td[class^="tone_1"])
|
||||
after: 1
|
||||
dateheaders:
|
||||
selector: tr td.added_today:not(:contains("Sponsored links"))
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Added ", ""]
|
||||
- name: replace
|
||||
args: ["on ", ""]
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="/files/details/"]
|
||||
attribute: title
|
||||
category:
|
||||
selector: a[href*="&subcategory="]
|
||||
attribute: href
|
||||
optional: true
|
||||
filters:
|
||||
- name: querystring
|
||||
args: subcategory
|
||||
details:
|
||||
selector: a[href^="/files/details/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/files/details/"]
|
||||
attribute: href
|
||||
description:
|
||||
selector: td:nth-last-child(9)
|
||||
size:
|
||||
selector: td:nth-last-child(6)
|
||||
grabs:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
175
src/Jackett.Common/Definitions/desireleasers.yml
Normal file
175
src/Jackett.Common/Definitions/desireleasers.yml
Normal file
@@ -0,0 +1,175 @@
|
||||
---
|
||||
site: desireleasers
|
||||
name: DesiReleasers
|
||||
description: "DesiReleasers is an INDIAN Private Torrent Tracker for INDIAN MOVIES"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://desireleasers.be/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 5, cat: Console, desc: "Game"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- 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: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
error:
|
||||
- selector: script[nonce]:contains("Error")
|
||||
message:
|
||||
selector: script[nonce]:contains("Error")
|
||||
test:
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: li:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents/filter
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
igdb: ""
|
||||
sorting: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 50
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/600x900", ""]
|
||||
comments:
|
||||
selector: a[href*="#comments"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese
|
||||
- name: re_replace
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди|前)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天)", " day"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand|个月)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
|
||||
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
|
||||
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-globe text-blue"]: 0 # Global Freeleech
|
||||
i[class*="fa-star text-gold"]: 0 # Freeleech
|
||||
i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
|
||||
i[class*="fa-globe text-green"]: 2 # Global Double Upload
|
||||
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
|
||||
"*": 1
|
||||
# UNIT3D 2.2.7
|
||||
146
src/Jackett.Common/Definitions/desitorrents.yml
Normal file
146
src/Jackett.Common/Definitions/desitorrents.yml
Normal file
@@ -0,0 +1,146 @@
|
||||
---
|
||||
site: desitorrents
|
||||
name: DesiTorrents
|
||||
description: "Desitorrents is a Private Torrent Tracker for BOLLYWOOD / TOLLYWOOD / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://desitorrents.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# movies
|
||||
- {id: 47, cat: Movies, desc: "Movies/Bollywood"}
|
||||
- {id: 48, cat: Movies, desc: "Movies/Bengali"}
|
||||
- {id: 49, cat: Movies, desc: "Movies/Tamil"}
|
||||
- {id: 51, cat: Movies, desc: "Movies/Punjabi"}
|
||||
- {id: 52, cat: Movies, desc: "Movies/Marathi"}
|
||||
- {id: 53, cat: Movies, desc: "Movies/Malayalam"}
|
||||
- {id: 54, cat: Movies, desc: "Movies/Kannada"}
|
||||
- {id: 55, cat: Movies, desc: "Movies/Gujarati"}
|
||||
- {id: 56, cat: Movies, desc: "Movies/Foreign"}
|
||||
- {id: 57, cat: Movies, desc: "Movies/Lollywood"}
|
||||
- {id: 58, cat: Movies, desc: "Movies/Hollywood"}
|
||||
- {id: 103, cat: Movies, desc: "Movies/Telugu"}
|
||||
- {id: 104, cat: Movies, desc: "Movies/South Dubbed"}
|
||||
- {id: 110, cat: Movies, desc: "Movies/Documentary"}
|
||||
- {id: 117, cat: Movies, desc: "Movies/Bhojpuri"}
|
||||
- {id: 124, cat: Movies, desc: "Movies/Movie Packs"}
|
||||
- {id: 128, cat: Movies, desc: "Movies/Dubbed Audio"}
|
||||
- {id: 129, cat: Movies, desc: "Movies/Animated"}
|
||||
# tv shows
|
||||
- {id: 59, cat: TV, desc: "TV/Colors"}
|
||||
- {id: 60, cat: TV, desc: "TV/Sony"}
|
||||
- {id: 61, cat: TV, desc: "TV/& TV"}
|
||||
- {id: 62, cat: TV, desc: "TV/Starplus"}
|
||||
- {id: 63, cat: TV, desc: "TV/ZeeTV"}
|
||||
- {id: 97, cat: TV, desc: "TV/Life Ok"}
|
||||
- {id: 98, cat: TV, desc: "TV/Docu"}
|
||||
- {id: 101, cat: TV/Sport, desc: "TV/Sports"}
|
||||
- {id: 102, cat: TV/Other, desc: "TV/Others"}
|
||||
- {id: 113, cat: TV, desc: "TV/Pak Drama"}
|
||||
- {id: 125, cat: TV, desc: "TV/TV Packs"}
|
||||
- {id: 130, cat: TV, desc: "TV/Star Bharat"}
|
||||
- {id: 132, cat: TV, desc: "TV/SAB TV"}
|
||||
# music
|
||||
- {id: 67, cat: Audio/Video, desc: "Music Video"}
|
||||
- {id: 68, cat: Audio, desc: "Hindi Soundtrack"}
|
||||
- {id: 70, cat: Audio, desc: "Remix"}
|
||||
- {id: 71, cat: Audio, desc: "Ghazal"}
|
||||
- {id: 72, cat: Audio, desc: "Instrumental"}
|
||||
- {id: 105, cat: Audio, desc: "Telugu Music"}
|
||||
- {id: 106, cat: Audio, desc: "Tmil Music"}
|
||||
- {id: 107, cat: Audio, desc: "Punjabi Music"}
|
||||
- {id: 108, cat: Audio, desc: "Gujarati Music"}
|
||||
- {id: 109, cat: Audio, desc: "Compilations"}
|
||||
- {id: 118, cat: Audio, desc: "Kannada Music"}
|
||||
- {id: 126, cat: Audio, desc: "Marathi"}
|
||||
- {id: 127, cat: Audio, desc: "Lollywood"}
|
||||
- {id: 131, cat: Audio, desc: "Classical"}
|
||||
# games
|
||||
- {id: 78, cat: PC/Games, desc: "PC"}
|
||||
- {id: 79, cat: PC/Games, desc: "Mac"}
|
||||
- {id: 80, cat: PC/Games, desc: "IOS"}
|
||||
- {id: 81, cat: PC/Games, desc: "Android"}
|
||||
- {id: 83, cat: PC/Games, desc: "XBOX"}
|
||||
- {id: 86, cat: PC/Games, desc: "Playstation"}
|
||||
# XXX
|
||||
- {id: 89, cat: XXX, desc: "Adult Videos"}
|
||||
- {id: 90, cat: XXX, desc: "Adult Pics"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: login.php?from=index1
|
||||
method: post
|
||||
inputs:
|
||||
action: "login"
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: ":contains(\"-WARNING-\")"
|
||||
test:
|
||||
path: ajax.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: ajax.php?action=search_torrent_cats
|
||||
method: post
|
||||
inputs:
|
||||
search_string: "{{ .Keywords }}"
|
||||
selected_sorting: "relevance"
|
||||
selected_group: ""
|
||||
search_username: ""
|
||||
selected_sub[]: "{{join .Categories \",\"}}"
|
||||
error:
|
||||
- selector: ":contains(\"Something was wrong with your request\")"
|
||||
preprocessingfilters:
|
||||
- name: replace
|
||||
args: ["{\"torrent_html\":\"", ""]
|
||||
- name: replace
|
||||
args: ["\\", ""]
|
||||
- name: re_replace
|
||||
args: ["\",\"paging.*", ""]
|
||||
- name: prepend
|
||||
args: "<table>"
|
||||
- name: append
|
||||
args: "</table>"
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
title:
|
||||
selector: th:nth-child(2) > a[href]
|
||||
details:
|
||||
selector: th:nth-child(2) > a[href]
|
||||
attribute: href
|
||||
files:
|
||||
selector: th:nth-child(8)
|
||||
# no standard for categories yet :(
|
||||
download:
|
||||
selector: th:nth-child(5) > a[href]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Config.sitelink }}"
|
||||
grabs:
|
||||
selector: th:nth-child(11)
|
||||
size:
|
||||
selector: th:nth-child(7)
|
||||
seeders:
|
||||
selector: th:nth-child(9)
|
||||
leechers:
|
||||
selector: th:nth-child(10)
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
@@ -125,7 +125,7 @@
|
||||
args: src='(.*?)'
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href^="http://www.imdb.com/title/"]
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
description:
|
||||
selector: div.torrent_row_magyarcim
|
||||
|
||||
152
src/Jackett.Common/Definitions/divteam.yml
Normal file
152
src/Jackett.Common/Definitions/divteam.yml
Normal file
@@ -0,0 +1,152 @@
|
||||
---
|
||||
site: divteam
|
||||
name: DivTeam
|
||||
description: "DivTeam is a SPANISH Private Torrent Tracker for MOVIES / GENERAL"
|
||||
language: es-es
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://divteam.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 60, cat: Movies/HD, desc: "MicroHD 720p"}
|
||||
- {id: 77, cat: Movies/HD, desc: "MicroHD 1080p"}
|
||||
- {id: 78, cat: Movies/HD, desc: "MicroHD 4k"}
|
||||
- {id: 64, cat: TV/HD, desc: "Pack Series"}
|
||||
- {id: 65, cat: TV/HD, desc: "Pack Series VOSE"}
|
||||
- {id: 80, cat: Movies/BluRay, desc: "BDRip X265 1080p"}
|
||||
- {id: 81, cat: Movies/UHD, desc: "UHDRip x265 4K"}
|
||||
- {id: 82, cat: Movies/WEBDL, desc: "Pelis Web-DL 1080"}
|
||||
- {id: 83, cat: Movies/WEBDL, desc: "Pelis Web-DL 720"}
|
||||
- {id: 84, cat: Movies/UHD, desc: "UHD Remux x265"}
|
||||
- {id: 23, cat: TV/Sport, desc: "Deportes"}
|
||||
- {id: 20, cat: TV/HD, desc: "Series"}
|
||||
- {id: 31, cat: TV/HD, desc: "Series VOSE"}
|
||||
- {id: 69, cat: Movies, desc: "Ciclo Cine Clasico"}
|
||||
- {id: 70, cat: Movies, desc: "Ciclo Clint Eastwood"}
|
||||
- {id: 71, cat: Movies, desc: "Ciclo Studio Ghibli"}
|
||||
- {id: 72, cat: Movies, desc: "Ciclo George A. Romero"}
|
||||
- {id: 73, cat: Movies, desc: "Saga Fast And Furious"}
|
||||
- {id: 74, cat: Movies, desc: "Saga Crepúsculo"}
|
||||
- {id: 75, cat: Movies, desc: "Saga The Purge"}
|
||||
- {id: 79, cat: Movies, desc: "Saga Star Wars"}
|
||||
- {id: 18, cat: Movies/BluRay, desc: "Video Full & Remux"}
|
||||
- {id: 76, cat: Movies, desc: "x-men saga"}
|
||||
- {id: 6, cat: Books/Ebook, desc: "EBooks"}
|
||||
- {id: 58, cat: Books/Ebook, desc: "Kiosko"}
|
||||
- {id: 24, cat: TV/Documentary, desc: "Documentales"}
|
||||
- {id: 32, cat: TV/Documentary, desc: "Documentales VOSE"}
|
||||
- {id: 49, cat: Books/Ebook, desc: "eLearning"}
|
||||
- {id: 68, cat: TV, desc: "eLearning Multimedia"}
|
||||
- {id: 16, cat: Movies/DVD, desc: "DVD-Rip"}
|
||||
- {id: 48, cat: Movies/BluRay, desc: "BR-Rip/HD-Rip"}
|
||||
- {id: 17, cat: Movies/BluRay, desc: "BD-Rip"}
|
||||
- {id: 5, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 34, cat: PC/Games, desc: "Juegos Pc"}
|
||||
- {id: 7, cat: PC/0day, desc: "Software Pc"}
|
||||
- {id: 35, cat: Console, desc: "Juegos Sony"}
|
||||
- {id: 36, cat: PC/Games, desc: "Juegos Microsoft"}
|
||||
- {id: 37, cat: Console/NDS, desc: "Juegos Nintendo"}
|
||||
- {id: 45, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: 44, cat: Audio/Lossless, desc: "Music flac"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker in 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<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: "3"
|
||||
options:
|
||||
"3": "created"
|
||||
"5": "seeders"
|
||||
"4": "size"
|
||||
"2": "title"
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: "2"
|
||||
options:
|
||||
"2": "desc"
|
||||
"1": "asc"
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://divteam.com/index.php?page=torrents&search=daredevil&category=20;23;31;65;64;60;63;69;70;71;72;73;74;75;76;77;78;80;81;82;83;84&active=1
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: "torrents"
|
||||
category: "{{ range .Categories }}{{.}};{{end}}"
|
||||
search: "{{ if .Keywords }}{{ .Keywords }}{{else}}{{end}}"
|
||||
active: 0
|
||||
options: 0
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.table.table-bordered > tbody > tr:has(a[href^="download.php?id="])
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
title:
|
||||
selector: a[href^="index.php?page=torrent-details"]
|
||||
banner:
|
||||
selector: a[onmouseover][href^="index.php?page=torrent-details"]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
category:
|
||||
selector: a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
details:
|
||||
selector: a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
date:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "02/01/2006"
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
grabs:
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/gold.png"]: 0
|
||||
img[src="images/silver.png"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="images/2x.png"]: 2
|
||||
img[src="images/3x.png"]: 3
|
||||
img[src="images/4x.png"]: 4
|
||||
img[src="images/5x.png"]: 5
|
||||
"*": 1
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user