mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-11 06:12:14 +02:00
Compare commits
576 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c95b34953d | ||
![]() |
8f2d24a4fd | ||
![]() |
7572fb10db | ||
![]() |
ffdedd4d03 | ||
![]() |
788e512443 | ||
![]() |
e1a8d33465 | ||
![]() |
fee79f5997 | ||
![]() |
d90b339f9c | ||
![]() |
678145d372 | ||
![]() |
8b15b76941 | ||
![]() |
40da709e0a | ||
![]() |
dc7ce8fd3e | ||
![]() |
f295f75c2b | ||
![]() |
88d401fcc8 | ||
![]() |
a968966938 | ||
![]() |
cd0e959351 | ||
![]() |
2e1c50ec92 | ||
![]() |
471618a6b9 | ||
![]() |
1df455826a | ||
![]() |
f3048ad71c | ||
![]() |
a211ae9af8 | ||
![]() |
434d574867 | ||
![]() |
627864111f | ||
![]() |
2bf3526033 | ||
![]() |
d8a48b2e50 | ||
![]() |
3cd1b44896 | ||
![]() |
21850bf6a1 | ||
![]() |
82eeb1e4d3 | ||
![]() |
1766de2a76 | ||
![]() |
d1b14e45ff | ||
![]() |
27d88b4f49 | ||
![]() |
6d3903235a | ||
![]() |
905f751a6f | ||
![]() |
bad0076248 | ||
![]() |
cbea57b22a | ||
![]() |
3b00646ac9 | ||
![]() |
f61a2b4740 | ||
![]() |
f890ddd119 | ||
![]() |
f87430d9e7 | ||
![]() |
d10ea528e2 | ||
![]() |
d7baa2554a | ||
![]() |
e6f7b3e0f7 | ||
![]() |
293036008e | ||
![]() |
29caa4f134 | ||
![]() |
7b29ed0182 | ||
![]() |
c3620780e6 | ||
![]() |
d20110d9f9 | ||
![]() |
e3d317fca8 | ||
![]() |
c55a3bf27d | ||
![]() |
584345480b | ||
![]() |
9c18d2595f | ||
![]() |
30c37d6050 | ||
![]() |
eb61795422 | ||
![]() |
fa45924421 | ||
![]() |
30e56fa7a5 | ||
![]() |
80628f5956 | ||
![]() |
40ef0ca0e5 | ||
![]() |
bff6d17d0e | ||
![]() |
41d76d8325 | ||
![]() |
f712af9533 | ||
![]() |
0be8639e7a | ||
![]() |
fbb1f15d70 | ||
![]() |
6fc7c62305 | ||
![]() |
41b4742ca6 | ||
![]() |
7ec2ac514e | ||
![]() |
565530169d | ||
![]() |
14a7ad37cb | ||
![]() |
ab1f2116ff | ||
![]() |
24deb9de7a | ||
![]() |
a478ca1a36 | ||
![]() |
bb95857584 | ||
![]() |
68a838459b | ||
![]() |
eb3b6d351f | ||
![]() |
f00aedb542 | ||
![]() |
258f7fba1f | ||
![]() |
91325fd720 | ||
![]() |
d5b53dc897 | ||
![]() |
03fe6cbe79 | ||
![]() |
f794785866 | ||
![]() |
c758aa723d | ||
![]() |
eb21038e18 | ||
![]() |
2e25572fcb | ||
![]() |
f3dfeba082 | ||
![]() |
dde4263061 | ||
![]() |
3e468e1318 | ||
![]() |
bfb76df312 | ||
![]() |
8ebf088de5 | ||
![]() |
07cc2940fa | ||
![]() |
9d46a01f04 | ||
![]() |
eea67b1e35 | ||
![]() |
ab584ebb47 | ||
![]() |
e09a9d275c | ||
![]() |
e346b0cf8f | ||
![]() |
025baf450b | ||
![]() |
4e591e80a9 | ||
![]() |
fbd4882304 | ||
![]() |
78a843bb2f | ||
![]() |
c04acc03e2 | ||
![]() |
16400045ec | ||
![]() |
bffa21c951 | ||
![]() |
9cd87f926b | ||
![]() |
60ebcf00fd | ||
![]() |
d6263eba44 | ||
![]() |
1c4d05467f | ||
![]() |
06ebe86e30 | ||
![]() |
e1cf0f033a | ||
![]() |
6c61104307 | ||
![]() |
a3cb7ac5fc | ||
![]() |
faa9d1b814 | ||
![]() |
209f9d511a | ||
![]() |
d8dccfcc47 | ||
![]() |
de57149f74 | ||
![]() |
bb2fcd3302 | ||
![]() |
605967d212 | ||
![]() |
f2c9c616f0 | ||
![]() |
51ce6a23b7 | ||
![]() |
441c1c6305 | ||
![]() |
a469179f7e | ||
![]() |
da5c93930e | ||
![]() |
5431d72db5 | ||
![]() |
aecc9f75d5 | ||
![]() |
ce795166a6 | ||
![]() |
e8d6fd58bb | ||
![]() |
b51a7ebc72 | ||
![]() |
ae6294efcd | ||
![]() |
19948b34ed | ||
![]() |
2f26e55721 | ||
![]() |
812f35fb65 | ||
![]() |
5c1515f433 | ||
![]() |
a7f19b2336 | ||
![]() |
2f0db09826 | ||
![]() |
99d2e3931f | ||
![]() |
e56c4ab103 | ||
![]() |
7c36fdbf8f | ||
![]() |
79553c08f6 | ||
![]() |
3c27ed82cf | ||
![]() |
ccfe3c41c4 | ||
![]() |
747920f501 | ||
![]() |
e2dd35a2c4 | ||
![]() |
d15560099b | ||
![]() |
b664abdab6 | ||
![]() |
856e6d0954 | ||
![]() |
b72d4f3ab2 | ||
![]() |
04ddc20d2a | ||
![]() |
33523003d2 | ||
![]() |
7133c99dde | ||
![]() |
c7a5041294 | ||
![]() |
f355ef26b6 | ||
![]() |
ee59fc0c5c | ||
![]() |
1df4ec64f5 | ||
![]() |
c6fc22dde3 | ||
![]() |
f7f35c6458 | ||
![]() |
e6533be431 | ||
![]() |
b6b37e2378 | ||
![]() |
2ec26ac987 | ||
![]() |
e305d5828d | ||
![]() |
7e00f22bf9 | ||
![]() |
1541d112e0 | ||
![]() |
d0e3b30a27 | ||
![]() |
209b9392de | ||
![]() |
215dc12f4d | ||
![]() |
e124029bda | ||
![]() |
5cddc0576a | ||
![]() |
ad06a669a6 | ||
![]() |
bced4b14f9 | ||
![]() |
30b30e8861 | ||
![]() |
cf1db13b8d | ||
![]() |
a0a922a390 | ||
![]() |
987c68260b | ||
![]() |
607c3f6b0b | ||
![]() |
b71d856695 | ||
![]() |
dd9a4b075c | ||
![]() |
b7faddf39f | ||
![]() |
9bd5622921 | ||
![]() |
5b6a855ed5 | ||
![]() |
6ba887ef57 | ||
![]() |
03c9e3036c | ||
![]() |
f08db1adc2 | ||
![]() |
1f591f3c44 | ||
![]() |
b7bfa2baad | ||
![]() |
2b1f138d6f | ||
![]() |
cc749530de | ||
![]() |
64a78c4965 | ||
![]() |
39403eb39c | ||
![]() |
b492c24647 | ||
![]() |
dd76673e12 | ||
![]() |
e289b81875 | ||
![]() |
a25a8746d8 | ||
![]() |
9768f5881d | ||
![]() |
bdbd406236 | ||
![]() |
bdaa180eb8 | ||
![]() |
ce75ba4a92 | ||
![]() |
9ba0e271fa | ||
![]() |
b830cb135b | ||
![]() |
55a6166922 | ||
![]() |
6c5c96e356 | ||
![]() |
e07a231cb3 | ||
![]() |
1a9a78aeda | ||
![]() |
db5ee7d012 | ||
![]() |
6a6b943d83 | ||
![]() |
ff21baf468 | ||
![]() |
da7f0f1f1c | ||
![]() |
3261a3910c | ||
![]() |
632fea3bce | ||
![]() |
861b710346 | ||
![]() |
f018470d69 | ||
![]() |
be33903ca8 | ||
![]() |
4c3a041f1d | ||
![]() |
08103e5854 | ||
![]() |
50cbfcb64e | ||
![]() |
da6bbba151 | ||
![]() |
a02ad0b6e6 | ||
![]() |
25b882a748 | ||
![]() |
36e370adaf | ||
![]() |
d77e111804 | ||
![]() |
cc1758e788 | ||
![]() |
6bc9a80cb1 | ||
![]() |
0a36300885 | ||
![]() |
95a3b2b4c8 | ||
![]() |
259d98c140 | ||
![]() |
0a3b5d2fed | ||
![]() |
83c4731982 | ||
![]() |
32880fcbd6 | ||
![]() |
560333495f | ||
![]() |
f640f66e83 | ||
![]() |
30009cfe48 | ||
![]() |
6ee1b3f935 | ||
![]() |
890071c418 | ||
![]() |
6048d887f6 | ||
![]() |
a9feb22e6d | ||
![]() |
a0659f1ca6 | ||
![]() |
d9199c74c8 | ||
![]() |
de3f6cf944 | ||
![]() |
fb0e9d664d | ||
![]() |
722391fda3 | ||
![]() |
d7742b64bf | ||
![]() |
9147549e2f | ||
![]() |
6b3238e2dd | ||
![]() |
8ab2ae9539 | ||
![]() |
873ec1f854 | ||
![]() |
a8c1af2d50 | ||
![]() |
12be94c4a5 | ||
![]() |
56ceb08ed5 | ||
![]() |
abc6554e32 | ||
![]() |
397887f81b | ||
![]() |
8ff3021197 | ||
![]() |
18d791c08c | ||
![]() |
9013676bae | ||
![]() |
db6c35bd53 | ||
![]() |
9299599d6b | ||
![]() |
46966e4045 | ||
![]() |
3240a6926b | ||
![]() |
db695e5dc0 | ||
![]() |
e654066d6a | ||
![]() |
5a129b5268 | ||
![]() |
dca43dcc6e | ||
![]() |
0457010be7 | ||
![]() |
b312cf0b72 | ||
![]() |
18369d80f9 | ||
![]() |
faa8a90d04 | ||
![]() |
c567f47ad1 | ||
![]() |
d034213ea1 | ||
![]() |
1710d0f04b | ||
![]() |
4f91793a84 | ||
![]() |
b789549fd1 | ||
![]() |
5d5a87ddd9 | ||
![]() |
9444c3c948 | ||
![]() |
44e872ed3b | ||
![]() |
da2f1119f7 | ||
![]() |
b7247ec944 | ||
![]() |
7b0155cc68 | ||
![]() |
257327da4a | ||
![]() |
9da7c9b178 | ||
![]() |
eda424d3f9 | ||
![]() |
b9728592a9 | ||
![]() |
f541109f39 | ||
![]() |
4b86e0e60b | ||
![]() |
930aab4a61 | ||
![]() |
e4443414bd | ||
![]() |
1c599ed3ff | ||
![]() |
b7577ef3ed | ||
![]() |
64121e4630 | ||
![]() |
9135bff4f6 | ||
![]() |
b4e4cc6edd | ||
![]() |
fe381cc983 | ||
![]() |
d92272a203 | ||
![]() |
41820e96e4 | ||
![]() |
cece6cf024 | ||
![]() |
b3f4e41c72 | ||
![]() |
53424cd043 | ||
![]() |
8026960496 | ||
![]() |
dfff696b32 | ||
![]() |
ae1f175920 | ||
![]() |
eef7b27ad1 | ||
![]() |
886aa946cc | ||
![]() |
3fa9329a38 | ||
![]() |
f101f2b4da | ||
![]() |
63024a39db | ||
![]() |
d2afdaefc1 | ||
![]() |
cd8d6e716a | ||
![]() |
db68caea4d | ||
![]() |
2f1b268011 | ||
![]() |
ffeca78ca8 | ||
![]() |
14ca275971 | ||
![]() |
337b39459d | ||
![]() |
e88f68ee9b | ||
![]() |
714ae1e0bf | ||
![]() |
05d36af83f | ||
![]() |
b05afcc598 | ||
![]() |
007bc0835a | ||
![]() |
70c46dcc36 | ||
![]() |
a3204d802b | ||
![]() |
a735f3cc0c | ||
![]() |
5d83d5c62a | ||
![]() |
c269401175 | ||
![]() |
550cc54836 | ||
![]() |
3ca7f6bbbe | ||
![]() |
0942fc15e1 | ||
![]() |
b2dabee8d7 | ||
![]() |
02058dd3ff | ||
![]() |
8583438b4b | ||
![]() |
4400ddc97e | ||
![]() |
dc7a8fcd4c | ||
![]() |
2c5369ee49 | ||
![]() |
5822194133 | ||
![]() |
5d00fda03e | ||
![]() |
a605a2935a | ||
![]() |
14ffab1f9e | ||
![]() |
2816a5d35a | ||
![]() |
0c9b3af94b | ||
![]() |
b8436e9f95 | ||
![]() |
16ed6dc7f7 | ||
![]() |
f90daafd3f | ||
![]() |
a48115ca0c | ||
![]() |
08a2f85281 | ||
![]() |
cdc1832057 | ||
![]() |
75f642d97a | ||
![]() |
15d28af54f | ||
![]() |
ef224a5293 | ||
![]() |
b502a7bcbb | ||
![]() |
2bcfc7e076 | ||
![]() |
6c2a365ecb | ||
![]() |
0bfe84ac9b | ||
![]() |
a0fd72c9e9 | ||
![]() |
97c86ced96 | ||
![]() |
b8e2dd378b | ||
![]() |
664dfb090b | ||
![]() |
8562f19a30 | ||
![]() |
a01c42c79f | ||
![]() |
7e5488e0e8 | ||
![]() |
aee0f2b5e3 | ||
![]() |
f45c399618 | ||
![]() |
0273ba1b59 | ||
![]() |
52e867a53a | ||
![]() |
5ce380135d | ||
![]() |
afbc915920 | ||
![]() |
b5608f8c73 | ||
![]() |
1301bed0ab | ||
![]() |
715a14ed30 | ||
![]() |
69eb2a1a4c | ||
![]() |
deccccecf8 | ||
![]() |
40e7a7e4ce | ||
![]() |
4573a1124a | ||
![]() |
58f2a61fa7 | ||
![]() |
ca534b6f7c | ||
![]() |
22231c6e9f | ||
![]() |
6ce4124549 | ||
![]() |
f05f61e9e5 | ||
![]() |
22053cd156 | ||
![]() |
8e0463c899 | ||
![]() |
849067b27f | ||
![]() |
360d7479fd | ||
![]() |
fb00c67d6c | ||
![]() |
3460648578 | ||
![]() |
cb55cb2f77 | ||
![]() |
5f63670f2d | ||
![]() |
af49a91938 | ||
![]() |
0a81c50d1a | ||
![]() |
d7c843effa | ||
![]() |
8126a439d8 | ||
![]() |
18862155bc | ||
![]() |
cb6d732347 | ||
![]() |
0e726306ec | ||
![]() |
4d13c14f1d | ||
![]() |
8af73f1bc4 | ||
![]() |
c378c2605c | ||
![]() |
6cd7aceedc | ||
![]() |
a890a142cc | ||
![]() |
36607f2c78 | ||
![]() |
9babd96062 | ||
![]() |
307f3c1ab1 | ||
![]() |
964574f3a4 | ||
![]() |
a64ebeeca8 | ||
![]() |
d74759ca3c | ||
![]() |
e6365ec776 | ||
![]() |
f5802306fa | ||
![]() |
10e0115ee7 | ||
![]() |
4294418153 | ||
![]() |
719436abf6 | ||
![]() |
2f6284d72e | ||
![]() |
35dafa796d | ||
![]() |
8b2233095d | ||
![]() |
01094a6312 | ||
![]() |
baac47e4bd | ||
![]() |
1b58ba4fdc | ||
![]() |
34ba730b70 | ||
![]() |
a20e6f4e03 | ||
![]() |
d078fc7d42 | ||
![]() |
ee92aa6888 | ||
![]() |
f2680bc9c8 | ||
![]() |
f09a529c3c | ||
![]() |
4926b8db6c | ||
![]() |
e90f719dfd | ||
![]() |
0958c3b50a | ||
![]() |
1d84887622 | ||
![]() |
b11d2649f0 | ||
![]() |
54bda83eae | ||
![]() |
d57a3c2d4a | ||
![]() |
df4d051c8f | ||
![]() |
6ab438e0d6 | ||
![]() |
ea6738c494 | ||
![]() |
acd3d005f6 | ||
![]() |
0f8f31bae6 | ||
![]() |
c8a3502f10 | ||
![]() |
e9bc740cb6 | ||
![]() |
d0240167b9 | ||
![]() |
bb3697598d | ||
![]() |
5c23091d56 | ||
![]() |
036b829d88 | ||
![]() |
4613f5ee71 | ||
![]() |
46309a0c70 | ||
![]() |
ab9f7bbb98 | ||
![]() |
1ed49b509c | ||
![]() |
8ffe2e9020 | ||
![]() |
0534f920e7 | ||
![]() |
e189bb5669 | ||
![]() |
138c622c5d | ||
![]() |
1774bf7c18 | ||
![]() |
7b072967b3 | ||
![]() |
d8efe489f4 | ||
![]() |
6bc65d81a1 | ||
![]() |
bf81033c27 | ||
![]() |
7c653c66f9 | ||
![]() |
c75097fb70 | ||
![]() |
9d1f8bb387 | ||
![]() |
4ae0511f50 | ||
![]() |
5851178381 | ||
![]() |
18a876395d | ||
![]() |
275974eb76 | ||
![]() |
0d234a5074 | ||
![]() |
dcaa23e871 | ||
![]() |
69b69ce0a3 | ||
![]() |
2e5ef30a96 | ||
![]() |
99fd3a117b | ||
![]() |
d22043d1e5 | ||
![]() |
89d6f44d6f | ||
![]() |
382d0dfe19 | ||
![]() |
2f3e41ed55 | ||
![]() |
e912567024 | ||
![]() |
df676719c4 | ||
![]() |
85c4c4f170 | ||
![]() |
9df84d76e7 | ||
![]() |
88ab9db461 | ||
![]() |
a3b2ad054c | ||
![]() |
e818441c0c | ||
![]() |
7f81339c83 | ||
![]() |
0bd93f8f4e | ||
![]() |
12ce27da7f | ||
![]() |
d09a9417d1 | ||
![]() |
2b0abb37ad | ||
![]() |
762e999109 | ||
![]() |
4d2292f052 | ||
![]() |
938f50317a | ||
![]() |
afedb3f11c | ||
![]() |
0b280ff101 | ||
![]() |
8e9a6f7d79 | ||
![]() |
477562ca55 | ||
![]() |
0356dd7fae | ||
![]() |
ef1d3061fc | ||
![]() |
f27675aa92 | ||
![]() |
fda93cd83e | ||
![]() |
d4ac91f5ad | ||
![]() |
09c1c97052 | ||
![]() |
ccd960bd02 | ||
![]() |
199142c0c0 | ||
![]() |
d29557b870 | ||
![]() |
8c6318ef16 | ||
![]() |
81e8b8b369 | ||
![]() |
cbd514cbc0 | ||
![]() |
6f427ab035 | ||
![]() |
48595ac8cd | ||
![]() |
4aab248b5b | ||
![]() |
bd896d8096 | ||
![]() |
0867906cf9 | ||
![]() |
4d6f6cebb4 | ||
![]() |
b3cc7080a8 | ||
![]() |
5be1264ab7 | ||
![]() |
02367a8a6f | ||
![]() |
bc23cee852 | ||
![]() |
6c97d186a6 | ||
![]() |
d8224a2a40 | ||
![]() |
0ef8f372a3 | ||
![]() |
39c6f8ca16 | ||
![]() |
29aff7a980 | ||
![]() |
6ea73fa117 | ||
![]() |
8cd2fdb2e0 | ||
![]() |
f3f0647d7e | ||
![]() |
6301e9482e | ||
![]() |
c51a3b2ac1 | ||
![]() |
7235638310 | ||
![]() |
5fa9664097 | ||
![]() |
0b59cd670f | ||
![]() |
cc10275037 | ||
![]() |
41ef4d1f55 | ||
![]() |
4d6368de4e | ||
![]() |
480a5d0bf0 | ||
![]() |
653dd73d47 | ||
![]() |
7b09f07c6c | ||
![]() |
bd8c0bfafe | ||
![]() |
795ca74df7 | ||
![]() |
9489bf4437 | ||
![]() |
331d7b0f65 | ||
![]() |
673123d4a1 | ||
![]() |
e51ee147db | ||
![]() |
c1ed6c768b | ||
![]() |
d8c475cd90 | ||
![]() |
b217a060e4 | ||
![]() |
d2e4779e05 | ||
![]() |
5ed7098fba | ||
![]() |
eeffff224c | ||
![]() |
4bd3d7e102 | ||
![]() |
da12938163 | ||
![]() |
0a6b34c590 | ||
![]() |
026c9d745c | ||
![]() |
46e7d041b1 | ||
![]() |
5b0f70d9f6 | ||
![]() |
cd2b2749ce | ||
![]() |
98ce2811a8 | ||
![]() |
4861a8c41e | ||
![]() |
575dd58844 | ||
![]() |
22c617da20 | ||
![]() |
be18ff69cb | ||
![]() |
b69be5b3d6 | ||
![]() |
59b2a4d2a6 | ||
![]() |
45ac83de18 | ||
![]() |
c8a5736f65 | ||
![]() |
210db91e40 | ||
![]() |
f956acdbbf | ||
![]() |
fa47f5a8e7 | ||
![]() |
619cd44513 | ||
![]() |
eb8689f67b | ||
![]() |
13b34b4328 | ||
![]() |
9fa1f77ee5 | ||
![]() |
156f8804fe | ||
![]() |
9bb0d1bab9 | ||
![]() |
b1eeba22b8 | ||
![]() |
dffa83bb1b | ||
![]() |
c334b491ad | ||
![]() |
28923b7c6a | ||
![]() |
2d6c420431 | ||
![]() |
ab4d1836a9 | ||
![]() |
7ed6ce618b | ||
![]() |
cbda838dde | ||
![]() |
47b7d6a588 | ||
![]() |
5c6402eac6 | ||
![]() |
d123e77e88 | ||
![]() |
e3b87467e6 | ||
![]() |
2be13fbc36 | ||
![]() |
f0ec800841 | ||
![]() |
3bcc5672d6 | ||
![]() |
87e3f3b998 | ||
![]() |
f8aa313b95 | ||
![]() |
01e054775d | ||
![]() |
53f0d90976 | ||
![]() |
8d19c2f38b | ||
![]() |
d708b8e546 |
19
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
19
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -25,14 +25,17 @@ body:
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Environment
|
||||
description: Please provide the details of the system Jackett is running on.
|
||||
value: |
|
||||
- OS:
|
||||
- .Net Runtime: [.Net-Core/.Net-Framework/Mono]
|
||||
- .Net Version:
|
||||
- Jackett Version:
|
||||
- Last Working Jackett Version:
|
||||
- Are you using a proxy or VPN? [yes/no]
|
||||
description: Please provide the details of the system Jackett is running on. The best way to do this is to restart Jackett, access the dashboard, view the log, and copy/paste replacing the example below with the last 10 Info lines at the bottom of the log.
|
||||
placeholder: |
|
||||
Using HTTP Client: HttpWebClient/HttpWebClient2
|
||||
Using FlareSolverr: Disabled or a url
|
||||
Using proxy: Disabled or HTTP/SOCKS4/SOCKS5
|
||||
App config/log directory: folder path
|
||||
Running in Docker: No/Yes
|
||||
Jackett variant: CoreWindows/FullFrameworkWindows/CoreMacOs/CoreLinuxAmdx64/CoreLinuxArm32/CoreLinuxArm64/Mono
|
||||
OS version: platform n.nn (32bit/64bit)
|
||||
Environment version: n.n.nn (folder path)
|
||||
Starting Jackett vn.nn.nn
|
||||
render: markdown
|
||||
validations:
|
||||
required: true
|
||||
|
89
.github/workflows/codeql-analysis.yml
vendored
Normal file
89
.github/workflows/codeql-analysis.yml
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths:
|
||||
- src/**/*.cs
|
||||
- src/**/*.js
|
||||
- '!src/Jackett.Common/Indexers/**'
|
||||
- '!src/Jackett.IntegrationTests/**'
|
||||
- '!src/Jackett.Test/**'
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ master ]
|
||||
paths:
|
||||
- src/**/*.cs
|
||||
- src/**/*.js
|
||||
- '!src/Jackett.Common/Indexers/**'
|
||||
- '!src/Jackett.IntegrationTests/**'
|
||||
- '!src/Jackett.Test/**'
|
||||
schedule:
|
||||
- cron: '00 00 * * 5'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: windows-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'csharp', 'javascript' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
- name: Set up dotnet
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '6.0.*'
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@@ -198,3 +198,6 @@ FakesAssemblies/
|
||||
*.DS_Store
|
||||
.idea/
|
||||
launchSettings.json
|
||||
|
||||
# JetBrains Rider
|
||||
/src/.run
|
||||
|
210
README.md
210
README.md
@@ -5,13 +5,14 @@
|
||||
[](https://dev.azure.com/jackett/jackett/_build/latest?definitionId=1&branchName=master)
|
||||
[](https://github.com/Jackett/Jackett/releases/latest)
|
||||
[](https://hub.docker.com/r/linuxserver/jackett/)
|
||||
[](https://discord.gg/J865QuA)
|
||||
|
||||
_Our [](https://discord.gg/J865QuA) server is no longer maintained. If you have a problem, request, or question then please open a new issue here._
|
||||
|
||||
This project is a new fork and is recruiting development help. If you are able to help out please [contact us](https://github.com/Jackett/Jackett/issues/8180).
|
||||
|
||||
Please see our [troubleshooting and contributing guidelines](CONTRIBUTING.md) before submitting any issues or pull requests
|
||||
|
||||
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/), [Mylar3](https://github.com/mylar3/mylar3), [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.
|
||||
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/), [Mylar3](https://github.com/mylar3/mylar3), [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 or json response, and 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 hybrid [nZEDb](https://github.com/nZEDb/nZEDb/blob/b485fa326a0ff1f47ce144164eb1f070e406b555/resources/db/schema/data/10-categories.tsv)/[Newznab](https://newznab.readthedocs.io/en/latest/misc/api/#predefined-categories) [category numbering](https://github.com/Jackett/Jackett/wiki/Jackett-Categories)) and [TorrentPotato](https://github.com/RuudBurger/CouchPotatoServer/wiki/Couchpotato-torrent-provider) APIs.
|
||||
|
||||
@@ -19,12 +20,14 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
|
||||
#### Supported Systems
|
||||
* Windows 7 SP1 or greater
|
||||
* Linux [supported operating systems here](https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0-supported-os.md#linux)
|
||||
* Linux [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/6.0/supported-os.md#linux)
|
||||
* macOS 10.13 or greater
|
||||
|
||||
<details> <summary> <b> Supported Public Trackers </b> </summary>
|
||||
|
||||
* ØMagnet
|
||||
* 1337x
|
||||
* 24rolika
|
||||
* 7torrents
|
||||
* ACG.RIP
|
||||
* ACGsou (36DM)
|
||||
@@ -37,6 +40,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* AniSource
|
||||
* AudioBook Bay (ABB)
|
||||
* Badass Torrents
|
||||
* Bangumi Moe
|
||||
* BigFANGroup
|
||||
* BitRu
|
||||
* BitSearch
|
||||
@@ -58,11 +62,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Erai-Raws
|
||||
* ETTV
|
||||
* EXT Torrents
|
||||
* ExtraTorrent.cd
|
||||
* ExtraTorrent.st
|
||||
* EZTV
|
||||
* Filebase
|
||||
* FileListing
|
||||
* FireBit
|
||||
* freshMeat
|
||||
* Frozen Layer
|
||||
* GamesTorrents
|
||||
* GkTorrent
|
||||
@@ -78,27 +82,31 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* iTorrent
|
||||
* kickasstorrents.ws
|
||||
* kickasstorrents.to
|
||||
* KissSub
|
||||
* Legit Torrents
|
||||
* LePorno.info
|
||||
* LimeTorrents
|
||||
* LimeTorrents clone
|
||||
* LinuxTracker
|
||||
* MacTorrents
|
||||
* Mac Torrents Download
|
||||
* MegaPeer
|
||||
* MejorTorrent
|
||||
* Mikan
|
||||
* MixTapeTorrent
|
||||
* Montorrent
|
||||
* MoviesDVDR
|
||||
* MovieTorrent
|
||||
* MyPornClub
|
||||
* NewPCT (aka: tvsinpagar, descargas2020, torrentlocura, torrentrapid, tumejortorrent, pctnew, etc)
|
||||
* NewPCT.me
|
||||
* Newstudio
|
||||
* Nipponsei
|
||||
* Nitro
|
||||
* NNTT
|
||||
* NoNaMe Club (NNM-Club)
|
||||
* Nyaa-Pantsu
|
||||
* Nyaa.si
|
||||
* OnceSearch
|
||||
* OneJAV
|
||||
* OpenSharing
|
||||
* OxTorrent
|
||||
* ParnuXi
|
||||
* PC-torrent
|
||||
@@ -110,6 +118,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* PornoRip
|
||||
* PornosLab
|
||||
* PornoTor
|
||||
* PornoTorrent
|
||||
* Portugas
|
||||
* ProPorn
|
||||
* ProStyleX
|
||||
@@ -121,23 +130,23 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* RuTor
|
||||
* RuTracker.RU
|
||||
* seleZen
|
||||
* Sexxi
|
||||
* Sexy-Pics
|
||||
* ShizaProject
|
||||
* shokweb
|
||||
* ShowRSS
|
||||
* Solid Torrents
|
||||
* sosulki
|
||||
* SubsPlease
|
||||
* sukebei-Pantsu
|
||||
* sukebei.Nyaa.si
|
||||
* The Pirate Bay (TPB)
|
||||
* TNTfork
|
||||
* Tokyo Tosho
|
||||
* Torlock
|
||||
* Torlook
|
||||
* TOROS
|
||||
* Torrent Downloads (TD)
|
||||
* Torrent Oyun indir
|
||||
* Torrent Paradise (ML)
|
||||
* torrent.by
|
||||
* torrent-pirat
|
||||
* Torrent9
|
||||
* Torrent9 clone
|
||||
@@ -174,6 +183,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
|
||||
* AniDUB
|
||||
* Anime-Free
|
||||
* AnimeLayer
|
||||
* ArenaBG
|
||||
* BaibaKo
|
||||
* BookTracker
|
||||
@@ -215,6 +225,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Sharewood
|
||||
* SkTorrent
|
||||
* SkTorrent-org
|
||||
* SoundPark
|
||||
* themixingbowl (TMB)
|
||||
* Toloka.to
|
||||
* Torrent-Explosiv
|
||||
@@ -222,6 +233,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TribalMixes
|
||||
* Union Fansub
|
||||
* YggTorrent (YGG)
|
||||
* ZOMB
|
||||
* Ztracker
|
||||
</details>
|
||||
|
||||
@@ -237,7 +249,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* 720pier
|
||||
* Abnormal
|
||||
* ABtorrents (ABT + RNS)
|
||||
* Acid Lounge (A-L) [![(invite needed)][inviteneeded]](#)
|
||||
* Acid Lounge (A-L)
|
||||
* AcrossTheTasman [![(invite needed)][inviteneeded]](#)
|
||||
* Aftershock
|
||||
* Aidoru!Online
|
||||
@@ -246,94 +258,95 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* AmigosShareClub
|
||||
* anasch.cc
|
||||
* AnimeBytes (AB)
|
||||
* AnimeTorrents (AnT)
|
||||
* AnimeTorrents (AnT) [![(invite needed)][inviteneeded]](#)
|
||||
* AnimeWorld [![(invite needed)][inviteneeded]](#)
|
||||
* Anthelion
|
||||
* Araba Fenice (Phoenix) [![(invite needed)][inviteneeded]](#)
|
||||
* ArabP2P
|
||||
* AsianCinema
|
||||
* AsianDVDClub
|
||||
* AudioNews (AN)
|
||||
* Aussierul.es [![(invite needed)][inviteneeded]](#)
|
||||
* AvistaZ (AsiaTorrents)
|
||||
* Back-ups
|
||||
* bB
|
||||
* Back-ups [![(invite needed)][inviteneeded]](#)
|
||||
* bB [![(invite needed)][inviteneeded]](#)
|
||||
* BakaBT
|
||||
* BeiTai
|
||||
* Best-Core
|
||||
* BeyondHD (BHD)
|
||||
* Bibliotik
|
||||
* BIGTorrent
|
||||
* Bit-Bázis
|
||||
* Bit-City Reloaded [![(invite needed)][inviteneeded]](#)
|
||||
* BIT-HDTV
|
||||
* BiT-TiTAN
|
||||
* Bitded
|
||||
* Bithorlo (BHO)
|
||||
* BitHUmen
|
||||
* BitHUmen [![(invite needed)][inviteneeded]](#)
|
||||
* BitSexy
|
||||
* Bitspyder
|
||||
* BitTorrentFiles
|
||||
* BiTTuRK
|
||||
* BJ-Share (BJ)
|
||||
* BlueBird [![(invite needed)][inviteneeded]](#)
|
||||
* Blues-Brothers
|
||||
* Blutopia (BLU)
|
||||
* Borgzelle
|
||||
* Borgzelle [![(invite needed)][inviteneeded]](#)
|
||||
* Boxing Torrents
|
||||
* Brasil Tracker
|
||||
* BroadcasTheNet (BTN)
|
||||
* BroadCity
|
||||
* BrokenStones [![(invite needed)][inviteneeded]](#)
|
||||
* BrSociety
|
||||
* BTNext (BTNT)
|
||||
* BTNext (BTNT) [![(invite needed)][inviteneeded]](#)
|
||||
* BTSCHOOL
|
||||
* BWTorrents
|
||||
* BYRBT
|
||||
* Carp-Hunter
|
||||
* Carpathians
|
||||
* CartoonChaos (CC)
|
||||
* CasaTorrent [![(invite needed)][inviteneeded]](#)
|
||||
* Cathode-Ray.Tube (CRT)
|
||||
* CCFBits
|
||||
* CCFBits [![(invite needed)][inviteneeded]](#)
|
||||
* CeskeForum
|
||||
* CGPeers
|
||||
* CHDBits
|
||||
* CGPeers [![(invite needed)][inviteneeded]](#)
|
||||
* CHDBits [![(invite needed)][inviteneeded]](#)
|
||||
* ChileBT
|
||||
* Cinecalidad
|
||||
* CinemaMovieS_ZT
|
||||
* CinemaZ (EuTorrents)
|
||||
* Cinemageddon
|
||||
* Cinematik
|
||||
* Classix
|
||||
* Cinemageddon [![(invite needed)][inviteneeded]](#)
|
||||
* Cinematik [![(invite needed)][inviteneeded]](#)
|
||||
* Classix [![(invite needed)][inviteneeded]](#)
|
||||
* Coastal-Crew
|
||||
* Concertos
|
||||
* CrazyHD
|
||||
* CrazySpirits
|
||||
* CrnaBerza
|
||||
* CrypticHaven Comedy Club (CCC)
|
||||
* DANISH BYTES
|
||||
* Darius Tracker
|
||||
* Dark-Shadow
|
||||
* Dark Tracker
|
||||
* Das Unerwartete [![(invite needed)][inviteneeded]](#)
|
||||
* DataScene (DS)
|
||||
* DataTalli
|
||||
* DesiReleasers
|
||||
* DesiTorrents
|
||||
* Diablo Torrent
|
||||
* DICMusic
|
||||
* Diablo Torrent [![(invite needed)][inviteneeded]](#)
|
||||
* DigitalCore
|
||||
* DiscFan
|
||||
* DivTeam
|
||||
* DocsPedia
|
||||
* Dragonworld Reloaded [![(invite needed)][inviteneeded]](#)
|
||||
* EbookParadijs
|
||||
* Ebooks-Shares
|
||||
* EfectoDoppler
|
||||
* Empornium (EMP) [![(invite needed)][inviteneeded]](#)
|
||||
* eShareNet
|
||||
* eStone (XiDER, BeLoad)
|
||||
* eStone (XiDER, BeLoad, BigTorrent)
|
||||
* ExoticaZ (YourExotic)
|
||||
* ExtremeBits
|
||||
* ExtremeTorrents [![(invite needed)][inviteneeded]](#)
|
||||
* Falkon Vision Team
|
||||
* FANO.IN
|
||||
* Fantastic Heaven
|
||||
* Fantastiko
|
||||
* FANO.IN [![(invite needed)][inviteneeded]](#)
|
||||
* Fantastic Heaven [![(invite needed)][inviteneeded]](#)
|
||||
* Fantastiko [![(invite needed)][inviteneeded]](#)
|
||||
* Femdomcult
|
||||
* FileList (FL)
|
||||
* Film-Paleis
|
||||
@@ -342,13 +355,13 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* FunFile (FF)
|
||||
* FunkyTorrents (FT)
|
||||
* Fuzer (FZ)
|
||||
* Gay-Torrents.org [![(invite needed)][inviteneeded]](#)
|
||||
* Gay-Torrents.org
|
||||
* GAYtorrent.ru
|
||||
* GazelleGames (GGn) [![(invite needed)][inviteneeded]](#)
|
||||
* Generation-Free
|
||||
* Generation-Free [![(invite needed)][inviteneeded]](#)
|
||||
* GFXPeers
|
||||
* GigaTorrents
|
||||
* GimmePeers (formerly ILT)
|
||||
* GimmePeers (formerly ILT) [![(invite needed)][inviteneeded]](#)
|
||||
* GiroTorrent
|
||||
* GreekDiamond
|
||||
* Greek Team
|
||||
@@ -356,87 +369,96 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Haitang
|
||||
* HappyFappy
|
||||
* HD Dolby
|
||||
* HD-Bits.com
|
||||
* HD-Bits.com [![(invite needed)][inviteneeded]](#)
|
||||
* HD-Forever (HDF)
|
||||
* HD-Olimpo
|
||||
* HD-Only (HDO)
|
||||
* HD-Only (HDO) [![(invite needed)][inviteneeded]](#)
|
||||
* HD-Space (HDS)
|
||||
* HD-Spain [![(invite needed)][inviteneeded]](#)
|
||||
* HD-Torrents (HDT)
|
||||
* HD4FANS [![(invite needed)][inviteneeded]](#)
|
||||
* HDAI
|
||||
* HDArea (HDA)
|
||||
* HDAtmos
|
||||
* HDBits
|
||||
* HDC (HDCiTY)
|
||||
* HDBits [![(invite needed)][inviteneeded]](#)
|
||||
* HDC (HDCiTY) [![(invite needed)][inviteneeded]](#)
|
||||
* HDCenter [![(invite needed)][inviteneeded]](#)
|
||||
* HDChina (HDWing)
|
||||
* HDCity
|
||||
* HDHome (HDBigger)
|
||||
* HDChina (HDWing) [![(invite needed)][inviteneeded]](#)
|
||||
* HDCity [![(invite needed)][inviteneeded]](#)
|
||||
* HDHome (HDBigger) [![(invite needed)][inviteneeded]](#)
|
||||
* HDME
|
||||
* HDMonkey
|
||||
* HDRoute [![(invite needed)][inviteneeded]](#)
|
||||
* HDSky
|
||||
* HDSky [![(invite needed)][inviteneeded]](#)
|
||||
* HDTime
|
||||
* HDTorrents.it
|
||||
* HDTorrents.it [![(invite needed)][inviteneeded]](#)
|
||||
* HDTurk
|
||||
* HDU
|
||||
* HDZone
|
||||
* Hebits
|
||||
* HellasTZ
|
||||
* HQSource (HQS)
|
||||
* HuSh [![(invite needed)][inviteneeded]](#)
|
||||
* Il Corsaro Verde
|
||||
* Indietorrents [![(invite needed)][inviteneeded]](#)
|
||||
* IPTorrents (IPT)
|
||||
* ImmortalSeed (iS)
|
||||
* Immortuos
|
||||
* ImmortalSeed (iS) [![(invite needed)][inviteneeded]](#)
|
||||
* Immortuos [![(invite needed)][inviteneeded]](#)
|
||||
* Insane Tracker
|
||||
* IPTorrents (IPT)
|
||||
* JPopsuki
|
||||
* JPopsuki [![(invite needed)][inviteneeded]](#)
|
||||
* JPTV
|
||||
* Karagarga
|
||||
* Keep Friends
|
||||
* Keep Friends [![(invite needed)][inviteneeded]](#)
|
||||
* KrazyZone
|
||||
* LastFiles
|
||||
* Lat-Team [![(invite needed)][inviteneeded]](#)
|
||||
* Le Saloon
|
||||
* LearnBits
|
||||
* LearnFlakes
|
||||
* LearnBits [![(invite needed)][inviteneeded]](#)
|
||||
* LearnFlakes [![(invite needed)][inviteneeded]](#)
|
||||
* leech24
|
||||
* LegacyHD (HD4Free)
|
||||
* LemonHD
|
||||
* Libble
|
||||
* Libble [![(invite needed)][inviteneeded]](#)
|
||||
* LibraNet (LN)
|
||||
* LinkoManija
|
||||
* LosslessClub
|
||||
* M-Team TP (MTTP)
|
||||
* LinkoManija [![(invite needed)][inviteneeded]](#)
|
||||
* LosslessClub [![(invite needed)][inviteneeded]](#)
|
||||
* M-Team TP (MTTP) [![(invite needed)][inviteneeded]](#)
|
||||
* MaDs Revolution [![(invite needed)][inviteneeded]](#)
|
||||
* magic-heaven
|
||||
* Magico (Trellas)
|
||||
* Magico (Trellas) [![(invite needed)][inviteneeded]](#)
|
||||
* Majomparádé (TurkDepo)
|
||||
* MediaMaatjes
|
||||
* MegamixTracker
|
||||
* MeseVilág (Fairytale World)
|
||||
* MicroBit (µBit)
|
||||
* Milkie
|
||||
* MIRcrew
|
||||
* MMA-Torrents
|
||||
* MMA-Torrents [![(invite needed)][inviteneeded]](#)
|
||||
* MNV (Max-New-Vision)
|
||||
* Mononoké-BT [![(invite needed)][inviteneeded]](#)
|
||||
* MoreThanTV (MTV)
|
||||
* MouseBits
|
||||
* Movie-Torrentz
|
||||
* Moviesite
|
||||
* MyAnonamouse (MAM)
|
||||
* MySpleen [![(invite needed)][inviteneeded]](#)
|
||||
* NBTorrents [![(invite needed)][inviteneeded]](#)
|
||||
* Nbytez
|
||||
* NCore
|
||||
* Nebulance (NBL) (TransmiTheNet)
|
||||
* NetCosmo
|
||||
* NetLab
|
||||
* NorBits
|
||||
* Oasis
|
||||
* oMg[WtF]trackr
|
||||
* OpenCD
|
||||
* OpenCD [![(invite needed)][inviteneeded]](#)
|
||||
* Oppaitime [![(invite needed)][inviteneeded]](#)
|
||||
* Orpheus
|
||||
* OshenPT
|
||||
* Ourbits (HDPter)
|
||||
* Ourbits (HDPter) [![(invite needed)][inviteneeded]](#)
|
||||
* P2PBG
|
||||
* P2PElite
|
||||
* Partis [![(invite needed)][inviteneeded]](#)
|
||||
* PassThePopcorn (PTP)
|
||||
* Peeratiko
|
||||
* PeerJunkies
|
||||
* Peers.FM
|
||||
* Pirata Digital
|
||||
@@ -453,12 +475,14 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* ProAudioTorrents (PAT)
|
||||
* PTerClub
|
||||
* PTFiles (PTF)
|
||||
* PThome
|
||||
* PThome [![(invite needed)][inviteneeded]](#)
|
||||
* PTMSG
|
||||
* PTSBAO
|
||||
* PTtime
|
||||
* Punk's Horror Tracker
|
||||
* PuntoTorrent
|
||||
* PuroVicio
|
||||
* PuTao
|
||||
* Puur-Hollands
|
||||
* PWTorrents (PWT)
|
||||
* R3V WTF! [![(invite needed)][inviteneeded]](#)
|
||||
@@ -466,34 +490,36 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* RacingForMe (RFM)
|
||||
* RedBits
|
||||
* Red Star Torrent (RST) [![(invite needed)][inviteneeded]](#)
|
||||
* Redacted (PassTheHeadphones)
|
||||
* Renegade
|
||||
* Redacted (PassTheHeadphones) [![(invite needed)][inviteneeded]](#)
|
||||
* Resurrect The Net
|
||||
* RetroFlix
|
||||
* RevolutionTT
|
||||
* Romanian Metal Torrents (RMT) [![(invite needed)][inviteneeded]](#)
|
||||
* RPTorrents
|
||||
* SceneHD
|
||||
* SceneHD [![(invite needed)][inviteneeded]](#)
|
||||
* ScenePalace (SP)
|
||||
* SceneRush
|
||||
* SceneTime
|
||||
* SDBits [![(invite needed)][inviteneeded]](#)
|
||||
* Seals
|
||||
* Secret Cinema
|
||||
* SeedFile (SF)
|
||||
* ShareFiles
|
||||
* Shareisland
|
||||
* Shazbat
|
||||
* Shazbat [![(invite needed)][inviteneeded]](#)
|
||||
* SiamBIT
|
||||
* SkipTheCommercials
|
||||
* slosoul
|
||||
* SnowPT (SSPT)
|
||||
* SoulVoice
|
||||
* SpeedApp (SceneFZ, XtreMeZone / MYXZ, ICE Torrent)
|
||||
* SpeedCD
|
||||
* Speedmaster HD
|
||||
* SpeedTorrent Reloaded
|
||||
* Speedmaster HD [![(invite needed)][inviteneeded]](#)
|
||||
* SpeedTorrent Reloaded [![(invite needed)][inviteneeded]](#)
|
||||
* SpiderTK
|
||||
* Spirit of Revolution [![(invite needed)][inviteneeded]](#)
|
||||
* SportHD [![(invite needed)][inviteneeded]](#)
|
||||
* SportsCult
|
||||
* SpringSunday
|
||||
* SpringSunday [![(invite needed)][inviteneeded]](#)
|
||||
* SugoiMusic
|
||||
* Superbits (SBS)
|
||||
* Swarmazon
|
||||
@@ -504,14 +530,15 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TEKNO3D [![(invite needed)][inviteneeded]](#)
|
||||
* TellyTorrent
|
||||
* teracod (Movie Zone)
|
||||
* The Falling Angels (TFA)
|
||||
* The-Devils-Lounge
|
||||
* The Falling Angels (TFA) [![(invite needed)][inviteneeded]](#)
|
||||
* The Geeks
|
||||
* The Horror Charnel (THC)
|
||||
* The New Retro
|
||||
* The Occult [![(invite needed)][inviteneeded]](#)
|
||||
* The Place [![(invite needed)][inviteneeded]](#)
|
||||
* The Shinning (TsH)
|
||||
* The Show [![(invite needed)][inviteneeded]](#)
|
||||
* The Show
|
||||
* The Vault [![(invite needed)][inviteneeded]](#)
|
||||
* TheAudioScene
|
||||
* TheEmpire (TE)
|
||||
@@ -519,7 +546,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TheScenePlace (TSP)
|
||||
* TJUPT
|
||||
* TLFBits [![(invite needed)][inviteneeded]](#)
|
||||
* ToTheGlory (TTG)
|
||||
* ToTheGlory (TTG) [![(invite needed)][inviteneeded]](#)
|
||||
* Torrent Network (TN)
|
||||
* Torrent Sector Crew (TSC)
|
||||
* Torrent Surf
|
||||
@@ -533,21 +560,21 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TorrentDB
|
||||
* Torrentech (TTH)
|
||||
* TorrentHeaven [![(invite needed)][inviteneeded]](#)
|
||||
* TorrentHR
|
||||
* TorrentHR [![(invite needed)][inviteneeded]](#)
|
||||
* Torrenting (TT) [![(invite needed)][inviteneeded]](#)
|
||||
* TotallyKids (TK)
|
||||
* Torrentland
|
||||
* TorrentLeech (TL)
|
||||
* TorrentLeech.pl
|
||||
* TorrentMasters
|
||||
* TorrentSeeds (TS)
|
||||
* Trackeros
|
||||
* TranceTraffic [![(invite needed)][inviteneeded]](#)
|
||||
* Trezzor
|
||||
* TTsWEB
|
||||
* Trezzor [![(invite needed)][inviteneeded]](#)
|
||||
* TurkSeed
|
||||
* TurkTorrent (TT)
|
||||
* TV Chaos UK (TVCUK)
|
||||
* TV-Vault
|
||||
* TvRoad
|
||||
* TVstore
|
||||
* Twilight Torrents
|
||||
* Twilights Zoom
|
||||
@@ -557,9 +584,10 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* UnlimitZ
|
||||
* Vizuk
|
||||
* WDT (Wrestling Desires Torrents / Ultimate Wrestling Torrents)
|
||||
* White Angel
|
||||
* wOOt [![(invite needed)][inviteneeded]](#)
|
||||
* World-In-HD [![(invite needed)][inviteneeded]](#)
|
||||
* x-ite.me (XM) [![(invite needed)][inviteneeded]](#)
|
||||
* x-ite.me (XM)
|
||||
* xBytesV2
|
||||
* XSpeeds (XS)
|
||||
* XWT-Classics
|
||||
@@ -620,7 +648,7 @@ We recommend you install Jackett as a Windows service using the supplied install
|
||||
|
||||
To get started with using the installer for Jackett, follow the steps below:
|
||||
|
||||
1. Check if you need any .NET prerequisites installed, see https://docs.microsoft.com/en-us/dotnet/core/install/windows?tabs=net50#dependencies
|
||||
1. Check if you need any .NET prerequisites installed, see https://docs.microsoft.com/en-us/dotnet/core/install/windows?tabs=net60#dependencies
|
||||
2. Download the latest version of the Windows installer, "Jackett.Installer.Windows.exe" from the [releases](https://github.com/Jackett/Jackett/releases/latest) page.
|
||||
3. When prompted if you would like this app to make changes to your computer, select "yes".
|
||||
4. If you would like to install Jackett as a Windows Service, make sure the "Install as Windows Service" checkbox is filled.
|
||||
@@ -690,7 +718,7 @@ On an Ubuntu 16 system: [chrisjohnson00.jackett](https://galaxy.ansible.com/chri
|
||||
macOS 10.13 or greater
|
||||
|
||||
### Install as service
|
||||
1. Download and extract the latest `Jackett.Binaries.macOS.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
|
||||
1. Download and extract the latest `Jackett.Binaries.macOS.tar.gz` or `Jackett.Binaries.macOSARM64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
|
||||
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.
|
||||
|
||||
@@ -698,7 +726,7 @@ 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.macOS.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`.
|
||||
Download and extract the latest `Jackett.Binaries.macOS.tar.gz` or `Jackett.Binaries.macOSARM64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`.
|
||||
|
||||
|
||||
## Installation using Docker
|
||||
@@ -706,7 +734,7 @@ Detailed instructions are available at [LinuxServer.io Jackett Docker](https://h
|
||||
|
||||
|
||||
## Installation on Synology
|
||||
Jackett is available as a beta package from [SynoCommunity](https://synocommunity.com/)
|
||||
Jackett is available as a [beta package](https://synocommunity.com/package/jackett) from [SynoCommunity](https://synocommunity.com/)
|
||||
|
||||
|
||||
## Running Jackett behind a reverse proxy
|
||||
@@ -782,8 +810,6 @@ To use it, please just request a free API key on [OMDb](http://www.omdbapi.com/a
|
||||
|
||||
- `-p, --Port` Web server port
|
||||
|
||||
- `-m, --MigrateSettings` Migrate settings manually (Must be an admin on Windows)
|
||||
|
||||
- `-n, --IgnoreSslErrors` [true/false] Ignores invalid SSL certificates
|
||||
|
||||
- `-d, --DataFolder` Specify the location of the data folder (Must be an admin on Windows)
|
||||
@@ -826,21 +852,21 @@ git clone https://github.com/Jackett/Jackett.git
|
||||
cd Jackett/src
|
||||
|
||||
# dotnet core version
|
||||
dotnet publish Jackett.Server -f net5.0 --self-contained -r osx-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net5.0/osx-x64/jackett # run jackett
|
||||
dotnet publish Jackett.Server -f net6.0 --self-contained -r osx-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net6.0/osx-x64/jackett # run jackett
|
||||
```
|
||||
|
||||
### Linux
|
||||
|
||||
|
||||
```bash
|
||||
sudo apt install nuget msbuild dotnet-sdk-5.0 # install build tools (Debian/ubuntu)
|
||||
sudo apt install nuget msbuild dotnet-sdk-6.0 # install build tools (Debian/ubuntu)
|
||||
git clone https://github.com/Jackett/Jackett.git
|
||||
cd Jackett/src
|
||||
|
||||
# dotnet core version
|
||||
dotnet publish Jackett.Server -f net5.0 --self-contained -r linux-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net5.0/linux-x64/jackett # run jackett
|
||||
dotnet publish Jackett.Server -f net6.0 --self-contained -r linux-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net6.0/linux-x64/jackett # run jackett
|
||||
```
|
||||
|
||||
## Screenshots
|
||||
|
@@ -2,12 +2,12 @@
|
||||
name: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
variables:
|
||||
majorVersion: 0
|
||||
minorVersion: 18
|
||||
minorVersion: 20
|
||||
patchVersion: $[counter(variables['minorVersion'], 1)] # this will reset when we bump minor
|
||||
jackettVersion: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
buildConfiguration: Release
|
||||
netCoreFramework: net5.0
|
||||
netCoreSdkVersion: 5.0.x
|
||||
netCoreFramework: net6.0
|
||||
netCoreSdkVersion: 6.0.x
|
||||
# system.debug: true
|
||||
|
||||
trigger:
|
||||
@@ -31,42 +31,49 @@ stages:
|
||||
matrix:
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-latest
|
||||
imageName: ubuntu-20.04
|
||||
framework: net461
|
||||
runtime: linux-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.Mono.tar.gz
|
||||
Windows:
|
||||
buildDescription: Windows
|
||||
imageName: windows-latest
|
||||
imageName: windows-2019
|
||||
framework: $(netCoreFramework)
|
||||
runtime: win-x86
|
||||
archiveType: zip
|
||||
artifactName: Jackett.Binaries.Windows.zip
|
||||
macOS:
|
||||
buildDescription: macOS
|
||||
imageName: macOS-latest
|
||||
imageName: macOS-10.15
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.macOS.tar.gz
|
||||
macOSARM64:
|
||||
buildDescription: macOS ARM64
|
||||
imageName: macOS-10.15
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-arm64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.macOSARM64.tar.gz
|
||||
LinuxAMDx64:
|
||||
buildDescription: Linux AMD x64
|
||||
imageName: ubuntu-latest
|
||||
imageName: ubuntu-20.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxAMDx64.tar.gz
|
||||
LinuxARM32:
|
||||
buildDescription: Linux ARM32
|
||||
imageName: ubuntu-latest
|
||||
imageName: ubuntu-20.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-arm
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxARM32.tar.gz
|
||||
LinuxARM64:
|
||||
buildDescription: Linux ARM64
|
||||
imageName: ubuntu-latest
|
||||
imageName: ubuntu-20.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-arm64
|
||||
archiveType: tar
|
||||
@@ -91,7 +98,7 @@ stages:
|
||||
projects: 'src/Jackett.Server/Jackett.Server.csproj'
|
||||
publishWebProjects: false
|
||||
zipAfterPublish: false
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework) --output $(Build.BinariesDirectory) /p:AssemblyVersion=$(jackettVersion) /p:FileVersion=$(jackettVersion) /p:InformationalVersion=$(jackettVersion) /p:Version=$(jackettVersion)'
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework) --self-contained --output $(Build.BinariesDirectory) /p:AssemblyVersion=$(jackettVersion) /p:FileVersion=$(jackettVersion) /p:InformationalVersion=$(jackettVersion) /p:Version=$(jackettVersion)'
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Build Jackett Updater
|
||||
@@ -100,7 +107,7 @@ stages:
|
||||
projects: 'src/Jackett.Updater/Jackett.Updater.csproj'
|
||||
publishWebProjects: false
|
||||
zipAfterPublish: false
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework) --output $(Build.BinariesDirectory) /p:AssemblyVersion=$(jackettVersion) /p:FileVersion=$(jackettVersion) /p:InformationalVersion=$(jackettVersion) /p:Version=$(jackettVersion)'
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework) --self-contained --output $(Build.BinariesDirectory) /p:AssemblyVersion=$(jackettVersion) /p:FileVersion=$(jackettVersion) /p:InformationalVersion=$(jackettVersion) /p:Version=$(jackettVersion)'
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Build Jackett Tray (Windows only)
|
||||
@@ -110,7 +117,7 @@ stages:
|
||||
projects: 'src/Jackett.Tray/Jackett.Tray.csproj'
|
||||
publishWebProjects: false
|
||||
zipAfterPublish: false
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework)-windows --output $(Build.BinariesDirectory) /p:AssemblyVersion=$(jackettVersion) /p:FileVersion=$(jackettVersion) /p:InformationalVersion=$(jackettVersion) /p:Version=$(jackettVersion)'
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework)-windows --self-contained --output $(Build.BinariesDirectory) /p:AssemblyVersion=$(jackettVersion) /p:FileVersion=$(jackettVersion) /p:InformationalVersion=$(jackettVersion) /p:Version=$(jackettVersion)'
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Build Jackett Service (Windows only)
|
||||
@@ -120,7 +127,7 @@ stages:
|
||||
projects: 'src/Jackett.Service/Jackett.Service.csproj'
|
||||
publishWebProjects: false
|
||||
zipAfterPublish: false
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework)-windows --output $(Build.BinariesDirectory) /p:AssemblyVersion=$(jackettVersion) /p:FileVersion=$(jackettVersion) /p:InformationalVersion=$(jackettVersion) /p:Version=$(jackettVersion)'
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework)-windows --self-contained --output $(Build.BinariesDirectory) /p:AssemblyVersion=$(jackettVersion) /p:FileVersion=$(jackettVersion) /p:InformationalVersion=$(jackettVersion) /p:Version=$(jackettVersion)'
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy Jackett Server
|
||||
@@ -274,7 +281,7 @@ stages:
|
||||
- job: Linting_Dotnet
|
||||
displayName: Linting Dotnet
|
||||
pool:
|
||||
vmImage: ubuntu-latest
|
||||
vmImage: ubuntu-20.04
|
||||
workspace:
|
||||
clean: all
|
||||
steps:
|
||||
@@ -307,7 +314,7 @@ stages:
|
||||
- job: Linting_YAML
|
||||
displayName: Linting YAML
|
||||
pool:
|
||||
vmImage: ubuntu-latest
|
||||
vmImage: ubuntu-20.04
|
||||
workspace:
|
||||
clean: all
|
||||
steps:
|
||||
@@ -335,29 +342,24 @@ stages:
|
||||
matrix:
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-latest
|
||||
imageName: ubuntu-20.04
|
||||
framework: net461
|
||||
runtime: linux-x64
|
||||
Windows:
|
||||
buildDescription: Windows
|
||||
imageName: windows-latest
|
||||
imageName: windows-2019
|
||||
framework: $(netCoreFramework)
|
||||
runtime: win-x86
|
||||
macOS:
|
||||
buildDescription: macOS
|
||||
imageName: macOS-latest
|
||||
imageName: macOS-10.15
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-x64
|
||||
LinuxAMDx64:
|
||||
buildDescription: Linux AMD x64
|
||||
imageName: ubuntu-latest
|
||||
imageName: ubuntu-20.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
LinuxARM:
|
||||
buildDescription: Linux ARM
|
||||
imageName: ubuntu-latest
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-arm
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
displayName: ${{ variables.buildDescription }}
|
||||
@@ -380,20 +382,13 @@ stages:
|
||||
projects: '**/*.Test*/*.csproj'
|
||||
includeNuGetOrg: true
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Build Test Project
|
||||
inputs:
|
||||
command: build
|
||||
projects: '**/*.Test*/*.csproj'
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework)'
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Unit Tests (Mono, Linux and macOS)
|
||||
condition: and(succeeded(), not(startsWith(variables['runtime'], 'win')))
|
||||
inputs:
|
||||
command: test
|
||||
projects: '**/*.Test*/*.csproj'
|
||||
arguments: '--configuration $(buildConfiguration) --framework $(framework) --runtime $(runtime)'
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework)'
|
||||
testRunTitle: 'Unit - $(buildDescription) - $(Build.BuildId)'
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
@@ -427,33 +422,41 @@ stages:
|
||||
codeCoverageTool: Cobertura
|
||||
summaryFileLocation: $(Build.SourcesDirectory)/coverlet/reports/Cobertura.xml
|
||||
|
||||
- stage: Integration
|
||||
- stage: IntegrationTestJackett
|
||||
displayName: Integration Tests
|
||||
dependsOn:
|
||||
- BuildJackett
|
||||
- CodeStyle
|
||||
jobs:
|
||||
- job: Selenium
|
||||
- job: IntegrationTest
|
||||
workspace:
|
||||
clean: all
|
||||
strategy:
|
||||
matrix:
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-latest
|
||||
imageName: ubuntu-20.04
|
||||
artifactName: Jackett.Binaries.Mono.tar.gz
|
||||
framework: net461
|
||||
runtime: linux-x64
|
||||
Windows:
|
||||
buildDescription: Windows
|
||||
imageName: windows-latest
|
||||
imageName: windows-2019
|
||||
artifactName: Jackett.Binaries.Windows.zip
|
||||
framework: $(netCoreFramework)
|
||||
runtime: win-x86
|
||||
macOS:
|
||||
buildDescription: macOS
|
||||
imageName: macOS-latest
|
||||
imageName: macOS-10.15
|
||||
artifactName: Jackett.Binaries.macOS.tar.gz
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-x64
|
||||
LinuxAMDx64:
|
||||
buildDescription: Linux AMD x64
|
||||
imageName: ubuntu-latest
|
||||
imageName: ubuntu-20.04
|
||||
artifactName: Jackett.Binaries.LinuxAMDx64.tar.gz
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
displayName: ${{ variables.buildDescription }}
|
||||
@@ -495,23 +498,45 @@ stages:
|
||||
version: $(netCoreSdkVersion)
|
||||
installationPath: $(Agent.ToolsDirectory)/dotnet
|
||||
|
||||
# this task is a workaround to fix a bug in Azure (not required under normal circumstances)
|
||||
# https://developercommunity.visualstudio.com/content/problem/983843/dotnet-build-task-does-not-use-nugetorg-for-one-pr.html
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Run Integration Tests
|
||||
displayName: Restore IntegrationTest Project
|
||||
inputs:
|
||||
command: restore
|
||||
projects: '**/*IntegrationTest*/*.csproj'
|
||||
includeNuGetOrg: true
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Integration Tests (Mono, Linux and macOS)
|
||||
condition: and(succeeded(), not(startsWith(variables['runtime'], 'win')))
|
||||
inputs:
|
||||
command: test
|
||||
projects: '**/*IntegrationTest*/*.csproj'
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework)'
|
||||
testRunTitle: 'Integration - $(buildDescription) - $(Build.BuildId)'
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Integration Tests (Windows only)
|
||||
condition: and(succeeded(), startsWith(variables['runtime'], 'win'))
|
||||
inputs:
|
||||
command: test
|
||||
projects: '**/*IntegrationTest*/*.csproj'
|
||||
arguments: '--configuration $(buildConfiguration) --framework $(framework)'
|
||||
testRunTitle: 'Integration - $(buildDescription) - $(Build.BuildId)'
|
||||
|
||||
- stage: PublishGithub
|
||||
displayName: Publish to Github
|
||||
dependsOn:
|
||||
- UnitTestJackett
|
||||
- Integration
|
||||
- IntegrationTestJackett
|
||||
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
|
||||
jobs:
|
||||
- job: Publish
|
||||
workspace:
|
||||
clean: all
|
||||
pool:
|
||||
vmImage: ubuntu-20.04
|
||||
steps:
|
||||
- checkout: self
|
||||
|
||||
@@ -553,6 +578,6 @@ stages:
|
||||
$successCount = (Select-String "Uploaded file successfully:" -InputObject $logInspect -AllMatches).Matches.Count
|
||||
$failureCount = (Select-String "Duplicate asset found:" -InputObject $logInspect -AllMatches).Matches.Count
|
||||
Write-Output "Success count is: $successCount and failure count is: $failureCount"
|
||||
if (($successCount -ne 7) -or ($failureCount -ne 0)) { Write-Host "##vso[task.complete result=Failed;]DONE" }
|
||||
if (($successCount -ne 8) -or ($failureCount -ne 0)) { Write-Host "##vso[task.complete result=Failed;]DONE" }
|
||||
}
|
||||
}
|
||||
|
@@ -197,7 +197,7 @@ function reloadIndexers() {
|
||||
configuredTags = configuredIndexers.map(i => i.tags).reduce((a, g) => a.concat(g), []).filter((v, i, a) => a.indexOf(v) === i);
|
||||
|
||||
configureFilters(configuredIndexers);
|
||||
|
||||
|
||||
displayFilteredIndexersList(configuredIndexers, currentFilter);
|
||||
|
||||
$('#indexers div.dataTables_filter input').focusWithoutScrolling();
|
||||
@@ -970,8 +970,9 @@ function updateReleasesRow(row) {
|
||||
|
||||
labels.empty();
|
||||
|
||||
if (IMDBId) {
|
||||
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 (IMDBId) {
|
||||
var imdbLen = (IMDBId.toString().length > 7) ? 8 : 7;
|
||||
labels.append('\n<a href="https://www.imdb.com/title/tt' + ("00000000" + IMDBId).slice(-imdbLen) + '/" target="_blank" class="label label-imdb" alt="IMDB" title="IMDB">IMDB</a>');
|
||||
}
|
||||
|
||||
if (!isNaN(DownloadVolumeFactor)) {
|
||||
@@ -1124,7 +1125,7 @@ function showSearch(selectedFilter, selectedIndexer, query, category) {
|
||||
var searchTracker = releaseDialog.find("#searchTracker");
|
||||
var searchCategory = releaseDialog.find('#searchCategory');
|
||||
var searchFilter = releaseDialog.find('#searchFilter');
|
||||
|
||||
|
||||
searchFilter.multiselect({
|
||||
maxHeight: 400,
|
||||
enableFiltering: true,
|
||||
|
@@ -732,6 +732,6 @@
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="../libs/api.js?changed=2017083001"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=PR12300"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=2021103101"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
72
src/Jackett.Common/Definitions/0magnet.yml
Normal file
72
src/Jackett.Common/Definitions/0magnet.yml
Normal file
@@ -0,0 +1,72 @@
|
||||
---
|
||||
id: 0magnet
|
||||
name: 0Magnet
|
||||
description: "ØMagnet is a CHINESE Public tracker for Asian 3X (JAV)"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://0magnet.com/
|
||||
- https://9mag.net/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
XXX: XXX
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
infohash:
|
||||
hash:
|
||||
selector: a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
title:
|
||||
selector: a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "&dn=(.+?)&"
|
||||
- name: validfilename
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: search
|
||||
inputs:
|
||||
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr:has(td)
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: XXX
|
||||
title:
|
||||
selector: a
|
||||
remove: p
|
||||
details:
|
||||
selector: a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a
|
||||
attribute: href
|
||||
date:
|
||||
text: now
|
||||
size:
|
||||
selector: td.td-size
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
@@ -13,8 +13,8 @@ links:
|
||||
- https://x1337x.ws/
|
||||
- https://x1337x.eu/
|
||||
- https://x1337x.se/
|
||||
- https://1337x.unblockit.ws/
|
||||
- https://1337x.nocensor.work/
|
||||
- https://1337x.unblockit.tv/
|
||||
- https://1337x.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://1337x.unblocked.earth/
|
||||
- https://1337x.unblockit.pro/
|
||||
@@ -49,6 +49,10 @@ legacylinks:
|
||||
- https://1337x.is/
|
||||
- https://1337x.unblockit.ch/
|
||||
- https://1337x.nocensor.space/
|
||||
- https://1337x.unblockit.ws/
|
||||
- https://1337x.nocensor.work/
|
||||
- https://1337x.unblockit.kim/
|
||||
- https://1337x.unblockit.bz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -197,10 +201,10 @@ search:
|
||||
selector: tr:has(a[href^="/torrent/"])
|
||||
|
||||
fields:
|
||||
title_text:
|
||||
title_default:
|
||||
# the movies, tv and music pages abbreviate the title
|
||||
selector: td[class^="coll-1"] a[href^="/torrent/"]
|
||||
title_href:
|
||||
title_optional:
|
||||
# the movies, tv and music pages abbreviate the title so we process the href instead. #8137
|
||||
selector: td[class^="coll-1"] a[href^="/torrent/"]
|
||||
attribute: href
|
||||
@@ -209,8 +213,8 @@ search:
|
||||
- name: split
|
||||
args: ["/", 3]
|
||||
title:
|
||||
# title_href can be empty so use the title_text instead #8586
|
||||
text: "{{ if .Result.title_href }}{{ .Result.title_href }}{{ else }}{{ .Result.title_text }}{{ end }}"
|
||||
# title_optional can be empty so use the title_default instead #8586
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["-", " "]
|
||||
@@ -235,9 +239,7 @@ search:
|
||||
args: ["(?i)WEB\\sDL", "WEB-DL"]
|
||||
- name: re_replace
|
||||
args: ["(?i)HDTVRIP", "HDTV"]
|
||||
category:
|
||||
text: 40
|
||||
category|noappend:
|
||||
category_sub:
|
||||
optional: true
|
||||
selector: td[class^="coll-1"] a[href^="/sub/"]
|
||||
attribute: href
|
||||
@@ -245,6 +247,8 @@ search:
|
||||
# extract the third part
|
||||
- name: split
|
||||
args: ["/", 2]
|
||||
category:
|
||||
text: "{{ if .Result.category_sub }}{{ .Result.category_sub }}{{ else }}40{{ end }}"
|
||||
details:
|
||||
selector: td[class^="coll-1"] a[href^="/torrent/"]
|
||||
attribute: href
|
||||
@@ -253,7 +257,7 @@ search:
|
||||
selector: td[class^="coll-1"] a[href^="/torrent/"]
|
||||
attribute: href
|
||||
# dates come in three flavours:
|
||||
date:
|
||||
date_year:
|
||||
# (within this year) 7am Sep. 14th
|
||||
optional: true
|
||||
selector: td[class^="coll-date"]:not(:contains(":")):not(:contains("'"))
|
||||
@@ -262,7 +266,7 @@ search:
|
||||
args: ["st|nd|rd|th", ""]
|
||||
- name: dateparse
|
||||
args: "3pm Jan. 2"
|
||||
date:
|
||||
date_years:
|
||||
# (more than a year ago) Apr. 18th '11
|
||||
optional: true
|
||||
selector: td[class^="coll-date"]:contains("'")
|
||||
@@ -273,12 +277,14 @@ search:
|
||||
args: ["st|nd|rd|th", ""]
|
||||
- name: dateparse
|
||||
args: "Jan. 2 06"
|
||||
date:
|
||||
date_today:
|
||||
# (today) 12:25am
|
||||
optional: true
|
||||
selector: td[class^="coll-date"]:contains(":")
|
||||
filters:
|
||||
- name: fuzzytime
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_years .Result.date_today }}{{ or .Result.date_year .Result.date_years .Result.date_today }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td[class^="coll-4"]
|
||||
seeders:
|
||||
|
@@ -96,22 +96,24 @@ search:
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
title_optional:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-last-of-type(7) > span[title]
|
||||
attribute: title
|
||||
@@ -121,7 +123,7 @@ search:
|
||||
args: " +08:00"
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date:
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-last-of-type(7):not(:has(span))
|
||||
optional: true
|
||||
@@ -130,6 +132,8 @@ search:
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-last-of-type(6)
|
||||
seeders:
|
||||
|
138
src/Jackett.Common/Definitions/24rolika.yml
Normal file
138
src/Jackett.Common/Definitions/24rolika.yml
Normal file
@@ -0,0 +1,138 @@
|
||||
---
|
||||
id: 24rolika
|
||||
name: 24rolika
|
||||
description: "24rolika is a RUSSIAN Public Torrent Tracker for 3X"
|
||||
language: ru-RU
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://24rolika.ru/ # does not support https
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# only subcategories of Порно фильмы (Movies) have torrents
|
||||
- {id: 94, cat: XXX, desc: "4K порно фильмы", default: true}
|
||||
- {id: 76, cat: XXX, desc: "Японские порно фильмы", default: true}
|
||||
- {id: 81, cat: XXX, desc: "Бразильские порно фильмы", default: true}
|
||||
- {id: 41, cat: XXX, desc: "Итальянские порно фильмы", default: true}
|
||||
- {id: 42, cat: XXX, desc: "Американские порно фильмы", default: true}
|
||||
- {id: 43, cat: XXX, desc: "Немецкие порно фильмы", default: true}
|
||||
- {id: 44, cat: XXX, desc: "Французские порно фильмы", default: true}
|
||||
- {id: 45, cat: XXX, desc: "Русские порно фильмы", default: true}
|
||||
- {id: 47, cat: XXX, desc: "Порно фильмы 2018 года", default: true}
|
||||
- {id: 75, cat: XXX, desc: "Порно фильмы 2019 года", default: true}
|
||||
- {id: 92, cat: XXX, desc: "Порно фильмы 2020 года", default: true}
|
||||
- {id: 93, cat: XXX, desc: "Порно фильмы 2021 года", default: true}
|
||||
- {id: 48, cat: XXX, desc: "Ретро / Классика", default: true}
|
||||
- {id: 49, cat: XXX, desc: "С русским переводом", default: true}
|
||||
- {id: 82, cat: XXX, desc: "С сюжетом", default: true}
|
||||
- {id: 91, cat: XXX, desc: "Пародии", default: true}
|
||||
- {id: 51, cat: XXX, desc: "Brazzers", default: true}
|
||||
- {id: 52, cat: XXX, desc: "BangBros", default: true}
|
||||
- {id: 53, cat: XXX, desc: "Marc Dorcel", default: true}
|
||||
- {id: 54, cat: XXX, desc: "Evil Angel", default: true}
|
||||
- {id: 55, cat: XXX, desc: "Tushy", default: true}
|
||||
- {id: 56, cat: XXX, desc: "Blacked", default: true}
|
||||
- {id: 57, cat: XXX, desc: "Evil Playgrounds", default: true}
|
||||
- {id: 58, cat: XXX, desc: "Reality Kings", default: true}
|
||||
- {id: 59, cat: XXX, desc: "New Sensations", default: true}
|
||||
- {id: 60, cat: XXX, desc: "Wicked Pictures", default: true}
|
||||
- {id: 61, cat: XXX, desc: "21Sextury", default: true}
|
||||
- {id: 62, cat: XXX, desc: "PornPros", default: true}
|
||||
- {id: 63, cat: XXX, desc: "Private", default: true}
|
||||
- {id: 64, cat: XXX, desc: "DD Busty", default: true}
|
||||
- {id: 65, cat: XXX, desc: "Naughty America", default: true}
|
||||
- {id: 66, cat: XXX, desc: "Third Degree Films", default: true}
|
||||
- {id: 67, cat: XXX, desc: "Hustler", default: true}
|
||||
- {id: 68, cat: XXX, desc: "Blacks on Blondes", default: true}
|
||||
- {id: 69, cat: XXX, desc: "Team Skeet", default: true}
|
||||
- {id: 70, cat: XXX, desc: "Mofos", default: true}
|
||||
- {id: 71, cat: XXX, desc: "Vixen", default: true}
|
||||
- {id: 72, cat: XXX, desc: "Jules Jordan", default: true}
|
||||
- {id: 73, cat: XXX, desc: "Nubile Films", default: true}
|
||||
- {id: 74, cat: XXX, desc: "Digital Playground", default: true}
|
||||
- {id: 83, cat: XXX, desc: "Zero Tolerance", default: true}
|
||||
- {id: 84, cat: XXX, desc: "Pure Taboo", default: true}
|
||||
- {id: 85, cat: XXX, desc: "Devil's Film", default: true}
|
||||
- {id: 86, cat: XXX, desc: "Sweet Sinner", default: true}
|
||||
- {id: 87, cat: XXX, desc: "Penthouse", default: true}
|
||||
- {id: 88, cat: XXX, desc: "Elegant Angel", default: true}
|
||||
- {id: 89, cat: XXX, desc: "Digital Sin", default: true}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: date
|
||||
options:
|
||||
date: created
|
||||
title: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href*="index.php?do=download&id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: index.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}catlist[]={{.}}&{{end}}"
|
||||
do: search
|
||||
subaction: search
|
||||
search_start: 0
|
||||
full_search: 1
|
||||
result_from: 1
|
||||
story: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
# 0 in article 1 in comments 2 in static pages 3 in article titles
|
||||
titleonly: 3
|
||||
sortby: "{{ .Config.sort }}"
|
||||
resorder: "{{ .Config.type }}"
|
||||
showposts: 0
|
||||
|
||||
headers:
|
||||
Referer: ["{{ .Config.sitelink }}"]
|
||||
|
||||
rows:
|
||||
selector: article.shortstory
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: 94
|
||||
title:
|
||||
selector: h2.short_title a
|
||||
details:
|
||||
selector: h2.short_title a
|
||||
attribute: href
|
||||
download:
|
||||
selector: h2.short_title a
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img
|
||||
attribute: src
|
||||
date:
|
||||
text: now
|
||||
size:
|
||||
text: "512 MB"
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
description:
|
||||
selector: div.video_time
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# DataLife
|
@@ -111,19 +111,21 @@ search:
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
title_optional:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
date:
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
@@ -133,7 +135,7 @@ search:
|
||||
args: " +07:00" # ICT
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date:
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
@@ -142,6 +144,8 @@ search:
|
||||
args: " +07:00" # ICT
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
|
@@ -93,12 +93,14 @@ search:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
title_optional:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
@@ -111,10 +113,10 @@ search:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: div.imdb_100 > a
|
||||
attribute: href
|
||||
date:
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
@@ -124,7 +126,7 @@ search:
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date:
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
@@ -133,6 +135,8 @@ search:
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
|
@@ -172,30 +172,30 @@ search:
|
||||
download:
|
||||
selector: a[href^="/download.php"]
|
||||
attribute: href
|
||||
grabs:
|
||||
text: 0
|
||||
grabs:
|
||||
grabs_optional:
|
||||
selector: a[title="Snatcher"]
|
||||
optional: true
|
||||
files:
|
||||
text: 0
|
||||
files:
|
||||
grabs:
|
||||
text: "{{ if .Result.grabs_optional }}{{ .Result.grabs_optional }}{{ else }}0{{ end }}"
|
||||
files_optional:
|
||||
selector: a[title="Files"]
|
||||
optional: true
|
||||
files:
|
||||
text: "{{ if .Result.files_optional }}{{ .Result.files_optional }}{{ else }}0{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
text: 0
|
||||
seeders:
|
||||
seeders_optional:
|
||||
selector: a[title="Seeder"]
|
||||
optional: true
|
||||
leechers:
|
||||
text: 0
|
||||
leechers:
|
||||
seeders:
|
||||
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
|
||||
leechers_optional:
|
||||
selector: a[title="Leecher"]
|
||||
optional: true
|
||||
leechers:
|
||||
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
date_day:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: td:nth-child(10):contains("Heute"), td:nth-child(10):contains("Gestern")
|
||||
@@ -209,7 +209,7 @@ search:
|
||||
args: ["Gestern", "Yesterday"]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
date:
|
||||
date_year:
|
||||
# 30.02.2018 23:12:50
|
||||
selector: td:nth-child(10):contains("."):contains(":")
|
||||
optional: true
|
||||
@@ -220,6 +220,8 @@ search:
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[alt="OU"]: 0
|
||||
|
@@ -1,125 +0,0 @@
|
||||
---
|
||||
id: 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/XBox 360, desc: "Games/Xbox360"}
|
||||
- {id: 116, cat: PC/Games, desc: "Linux/Spiele"}
|
||||
- {id: 53, cat: PC/Mobile-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/Mags, desc: "Zeitschriften/Zeitungen"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: pin
|
||||
type: text
|
||||
label: Pin
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
pin: "{{ .Config.pin }}"
|
||||
error:
|
||||
- selector: .tablea:contains("Benutzername, Passwort oder Pin ungültig")
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .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)
|
||||
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:
|
||||
text: 1
|
||||
# engine tbd
|
@@ -137,7 +137,7 @@ search:
|
||||
attribute: src
|
||||
files:
|
||||
selector: td:nth-last-child(8)
|
||||
date:
|
||||
date_yday:
|
||||
# Yesterday<br/>6:00 AM
|
||||
selector: td:nth-last-child(7):contains("day")
|
||||
optional: true
|
||||
@@ -145,7 +145,7 @@ search:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: fuzzytime
|
||||
date:
|
||||
date_year:
|
||||
# Aug 6 2021<br/>7:25 PM
|
||||
selector: td:nth-last-child(7):not(:contains("day"))
|
||||
optional: true
|
||||
@@ -154,6 +154,8 @@ search:
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 3:04 PM -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_yday .Result.date_year }}{{ or .Result.date_yday .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-last-child(6)
|
||||
grabs:
|
||||
|
@@ -79,21 +79,15 @@ search:
|
||||
download:
|
||||
selector: td:nth-child(3) a
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(1):contains("昨天")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["昨天", "Yesterday"]
|
||||
date:
|
||||
selector: td:nth-child(1):contains(":"):not(:contains("昨天"))
|
||||
date_year:
|
||||
selector: td:nth-child(1):contains(":")
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "01/02 15:04 -07:00"
|
||||
date:
|
||||
date_years:
|
||||
selector: td:nth-child(1):not(:contains(":"))
|
||||
optional: true
|
||||
filters:
|
||||
@@ -101,6 +95,8 @@ search:
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006/01/02 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_years }}{{ or .Result.date_year .Result.date_years }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
seeders:
|
||||
|
@@ -18,9 +18,9 @@ caps:
|
||||
- {id: 32, cat: PC, desc: "Appz/PC"}
|
||||
- {id: 48, cat: Audio/Audiobook, desc: "Audio/Books"}
|
||||
- {id: 84, cat: Other, desc: "Damaged Torrent"}
|
||||
- {id: 14, cat: Books, desc: "eBooks"}
|
||||
- {id: 82, cat: Books, desc: "eBooks/Comics"}
|
||||
- {id: 81, cat: Books, desc: "eBooks/Mags"}
|
||||
- {id: 14, cat: Books/EBook, desc: "eBooks"}
|
||||
- {id: 82, cat: Books/Comics, desc: "eBooks/Comics"}
|
||||
- {id: 81, cat: Books/Mags, desc: "eBooks/Mags"}
|
||||
- {id: 60, cat: PC/Mac, desc: "Games/Mac"}
|
||||
- {id: 54, cat: Console/NDS, desc: "Games/NDS"}
|
||||
- {id: 4, cat: PC/Games, desc: "Games/PC"}
|
||||
@@ -52,7 +52,9 @@ caps:
|
||||
- {id: 75, cat: TV/HD, desc: "TV/Boxsets HD"}
|
||||
- {id: 76, cat: TV/SD, desc: "TV/Boxsets SD"}
|
||||
- {id: 37, cat: XXX, desc: "XXX"}
|
||||
- {id: 68, cat: XXX, desc: "XXX/0-Day"}
|
||||
- {id: 78, cat: XXX, desc: "XXX/3D"}
|
||||
- {id: 67, cat: XXX/ImageSet, desc: "XXX/Imagesets"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -61,6 +63,33 @@ caps:
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: dateAdded
|
||||
options:
|
||||
dateAdded: 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: Main/?act=Login
|
||||
method: form
|
||||
@@ -81,50 +110,39 @@ search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
|
||||
$raw: "{{ range .Categories }}cat[]={{.}}&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# alive, aliveanddead, nobot, dead, free, nuked
|
||||
status: "{{ if .Config.freeleech }}free{{ else }}aliveanddead{{ end }}"
|
||||
# title, desc, both
|
||||
search_type: title
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table#browse_torrents_table > tbody > tr[id^="torrent_row_"]
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a.torrent_name
|
||||
attribute: title
|
||||
description:
|
||||
selector: span.torrent_small_desc
|
||||
category:
|
||||
selector: td.torrent_table_type > a
|
||||
selector: a[href^="browse.php?cat[]="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat[]
|
||||
title:
|
||||
selector: a.torrent_name
|
||||
attribute: title
|
||||
details:
|
||||
selector: a.torrent_name
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td.torrent_table_size
|
||||
description:
|
||||
optional: true
|
||||
selector: span.torrent_small_desc
|
||||
files:
|
||||
selector: td.torrent_table_files
|
||||
seeders:
|
||||
selector: td.torrent_table_seeders
|
||||
leechers:
|
||||
selector: td.torrent_table_leechers
|
||||
grabs:
|
||||
selector: td.torrent_table_snatched
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
":root div#notice_ratioBoostingMadness": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
date:
|
||||
selector: td.torrent_table_dateAdded
|
||||
filters:
|
||||
@@ -132,4 +150,27 @@ search:
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
# engine tbd
|
||||
size:
|
||||
selector: td.torrent_table_size
|
||||
grabs:
|
||||
selector: td.torrent_table_snatched
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
seeders:
|
||||
selector: td.torrent_table_seeders
|
||||
leechers:
|
||||
selector: td.torrent_table_leechers
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
":root div#notice_ratioBoostingMadness": 0
|
||||
img[src$="images/freedownload.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 5 day (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000 # 3 days for torrents under 20GB
|
||||
# engine n/a
|
||||
|
@@ -143,7 +143,7 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) width="
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
files:
|
||||
|
@@ -64,8 +64,6 @@ login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="account-logout.php"]
|
||||
|
139
src/Jackett.Common/Definitions/aither-api.yml
Normal file
139
src/Jackett.Common/Definitions/aither-api.yml
Normal file
@@ -0,0 +1,139 @@
|
||||
---
|
||||
id: aither-api
|
||||
name: Aither (API)
|
||||
description: "Aither is a Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://aither.cc/
|
||||
|
||||
caps:
|
||||
# dont forget to update the case block in the search fields category
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movie"}
|
||||
- {id: 9, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: Console, desc: "Games"}
|
||||
- {id: 10, cat: PC, desc: "Software & Apps"}
|
||||
- {id: 11, cat: Books, desc: "Ebooks & Magazines"}
|
||||
- {id: 14, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 15, cat: Other, desc: "Education"}
|
||||
- {id: 6, cat: XXX, desc: "XXX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://aither.cc/\" target =_blank>Aither</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category
|
||||
case:
|
||||
"Movie": 1
|
||||
"Sport": 9
|
||||
"TV": 2
|
||||
"Music": 3
|
||||
"Games": 4
|
||||
"Software & Apps": 10
|
||||
"Ebooks & Magazines": 11
|
||||
"Audiobooks": 14
|
||||
"Education": 15
|
||||
"XXX": 6
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/400x600", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
selector: created_at
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
# global MR is 0.4 but torrents must be seeded for 3 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 5.3.0
|
@@ -292,9 +292,7 @@ search:
|
||||
"[src$=\"/Scripts.png\"]": 128
|
||||
"[src$=\"/Vetores.png\"]": 124
|
||||
"[src$=\"/outros2.png\"]": 130
|
||||
date:
|
||||
text: now
|
||||
date:
|
||||
date_optional:
|
||||
selector: p:contains("Lançado:")
|
||||
optional: true
|
||||
filters:
|
||||
@@ -306,6 +304,8 @@ search:
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02/01/06 15:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if .Result.date_optional }}{{ .Result.date_optional }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: div.list-group-item-content p.m-0 span.badge-info
|
||||
seeders:
|
||||
|
@@ -104,7 +104,7 @@ search:
|
||||
download:
|
||||
selector: td a[href^="download.php"]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href^="index.php?page=torrent-details"]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
|
85
src/Jackett.Common/Definitions/anilibria.yml
Normal file
85
src/Jackett.Common/Definitions/anilibria.yml
Normal file
@@ -0,0 +1,85 @@
|
||||
---
|
||||
id: anilibria
|
||||
name: AniLibria
|
||||
description: "AniLibria is a Public torrent tracker for anime, voiced on russian by AniLibria team"
|
||||
language: ru-RU
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.anilibria.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV/Anime, desc: Anime}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://github.com/anilibria/docs/blob/master/api_v2.md
|
||||
- path: "https://api.anilibria.tv/v2/{{ if .Keywords }}searchTitles?filter=names,poster.url,code,torrents.list,season.year&limit=100&search={{ .Keywords }}{{ else }}getUpdates?filter=names,poster.url,code,torrents.list,season.year&limit=100{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: torrents.list
|
||||
multiple: true
|
||||
|
||||
keywordsfilters:
|
||||
# strip season and ep
|
||||
- name: re_replace
|
||||
args: ["(?i)(?:[SE]?\\d{1,4}){1,2}$", ""]
|
||||
|
||||
rows:
|
||||
selector: $
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: 1
|
||||
title_ru:
|
||||
selector: ..names.ru
|
||||
title_en:
|
||||
selector: ..names.en
|
||||
title_alternative:
|
||||
selector: ..names.alternative
|
||||
optional: true
|
||||
year:
|
||||
selector: ..season.year
|
||||
quality:
|
||||
selector: quality.string
|
||||
series:
|
||||
selector: series.string
|
||||
title:
|
||||
text: "{{ .Result.title_ru }} / {{ .Result.title_en }}{{ if .Result.title_alternative }} / {{ .Result.title_alternative }}{{ else }}{{ end }} [{{ .Result.quality }}] - {{ .Result.series }}"
|
||||
code:
|
||||
selector: ..code
|
||||
details:
|
||||
text: "{{ .Config.sitelink }}release/{{ .Result.code }}.html"
|
||||
download:
|
||||
selector: url
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Config.sitelink }}"
|
||||
poster:
|
||||
selector: ..poster.url
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "https://static.anilibria.tv/"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: downloads
|
||||
date:
|
||||
# unix
|
||||
selector: uploaded_timestamp
|
||||
size:
|
||||
selector: total_size
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# json api v2
|
@@ -87,9 +87,7 @@ search:
|
||||
selector: article
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: 54
|
||||
category|noappend:
|
||||
category_optional:
|
||||
optional: true
|
||||
selector: a[href*="category="]
|
||||
attribute: href
|
||||
@@ -111,6 +109,8 @@ search:
|
||||
a[href$="original_hentai"]: 48
|
||||
a[href$="rus-game"]: 57
|
||||
a[href$="uncensored"]: 45
|
||||
category:
|
||||
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}54{{ end }}"
|
||||
title:
|
||||
selector: h2.title a
|
||||
details:
|
||||
@@ -134,11 +134,11 @@ search:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
size:
|
||||
text: "0 B"
|
||||
size:
|
||||
size_optional:
|
||||
optional: true
|
||||
selector: b.file_size
|
||||
size:
|
||||
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
201
src/Jackett.Common/Definitions/animelayer.yml
Normal file
201
src/Jackett.Common/Definitions/animelayer.yml
Normal file
@@ -0,0 +1,201 @@
|
||||
---
|
||||
id: animelayer
|
||||
name: AnimeLayer
|
||||
description: "AnimeLayer is a RUSSIAN Semi-Private Torrent Tracker for ANIME"
|
||||
language: ru-RU
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.animelayer.ru/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: аниме, cat: TV/Anime, desc: Аниме}
|
||||
- {id: музыка, cat: Audio, desc: Музыка}
|
||||
- {id: манга, cat: Books, desc: Манга}
|
||||
- {id: дорама, cat: TV, desc: Дорама}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: category-id
|
||||
type: select
|
||||
label: Category
|
||||
default: anime
|
||||
options:
|
||||
anime: Аниме
|
||||
music: Музыка
|
||||
manga: Манга
|
||||
dorama: Дорама
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form#loginForm
|
||||
inputs:
|
||||
login: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: /
|
||||
selector: a[href^="/auth/logout/"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "torrents/{{ .Config.category-id }}/"
|
||||
inputs:
|
||||
q: "{{ .Keywords }}"
|
||||
|
||||
rows:
|
||||
selector: ul.torrents-list li.torrent-item:has(a[href^="/torrent/"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: label.category
|
||||
resolution:
|
||||
selector: div.description
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Разрешение:\\s+\\d{3,4}\\D(\\d{3,4})"
|
||||
title:
|
||||
selector: img
|
||||
attribute: alt
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if .Result.resolution }} [{{ .Result.resolution }}p]{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: append
|
||||
args: download/
|
||||
poster:
|
||||
selector: img
|
||||
attribute: data-original
|
||||
size:
|
||||
selector: div.info
|
||||
filters:
|
||||
- name: split
|
||||
args: ["|", 2]
|
||||
date_noyear:
|
||||
# <span class="gray">Добавлен:</span> 18 августа в 21:39
|
||||
selector: div.info
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "н:\\s(\\d{1,2} \\D{3,8} в\\s\\d{1,2}:\\d{2})"
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: replace
|
||||
args: ["Обновлён:", ""]
|
||||
- name: replace
|
||||
args: ["Добавлен:", ""]
|
||||
- name: replace
|
||||
args: [" в ", " "]
|
||||
- name: replace
|
||||
args: ["января", "January {{ .Today.Year }}"]
|
||||
- name: replace
|
||||
args: ["февраля", "February {{ .Today.Year }}"]
|
||||
- name: replace
|
||||
args: ["марта", "March {{ .Today.Year }}"]
|
||||
- name: replace
|
||||
args: ["апреля", "April {{ .Today.Year }}"]
|
||||
- name: replace
|
||||
args: ["мая", "May {{ .Today.Year }}"]
|
||||
- name: replace
|
||||
args: ["июня", "June {{ .Today.Year }}"]
|
||||
- name: replace
|
||||
args: ["июля", "July {{ .Today.Year }}"]
|
||||
- name: replace
|
||||
args: ["августа", "August {{ .Today.Year }}"]
|
||||
- name: replace
|
||||
args: ["сентября", "September {{ .Today.Year }}"]
|
||||
- name: replace
|
||||
args: ["октября", "October {{ .Today.Year }}"]
|
||||
- name: replace
|
||||
args: ["ноября", "November {{ .Today.Year }}"]
|
||||
- name: replace
|
||||
args: ["декабря", "December {{ .Today.Year }}"]
|
||||
- name: re_replace
|
||||
args: ["\\s(\\d\\:)", " 0$1"]
|
||||
date_year:
|
||||
# <span class="gray">Обновлён:</span> 3 октября 2019 в 6:02
|
||||
selector: div.info
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "н:\\s(\\d{1,2} \\D{3,8} \\d{4} в\\s\\d{1,2}:\\d{2})"
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: replace
|
||||
args: ["Обновлён:", ""]
|
||||
- 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: re_replace
|
||||
args: ["\\s(\\d\\:)", " 0$1"]
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_noyear }}{{ or .Result.date_year .Result.date_noyear }}{{ else }}now{{ end }}"
|
||||
seeders:
|
||||
selector: div.info
|
||||
filters:
|
||||
- name: split
|
||||
args: ["|", 0]
|
||||
leechers:
|
||||
selector: div.info
|
||||
filters:
|
||||
- name: split
|
||||
args: ["|", 1]
|
||||
subtitles:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Субтитры:(.+?)\\n"
|
||||
language:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Язык:(.+?)\\n"
|
||||
description:
|
||||
text: "{{ if .Result.subtitles }}Субтитры: {{ .Result.subtitles }}{{ else }}{{ end }} - {{ if .Result.language }}Язык: {{ .Result.language }}{{ else }}{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
140
src/Jackett.Common/Definitions/animeworld-api.yml
Normal file
140
src/Jackett.Common/Definitions/animeworld-api.yml
Normal file
@@ -0,0 +1,140 @@
|
||||
---
|
||||
id: animeworld-api
|
||||
name: AnimeWorld (API)
|
||||
description: "AnimeWorld (AW) is a GERMAN Private site for ANIME / MANGA / HENTAI"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://animeworld.cx/
|
||||
|
||||
caps:
|
||||
# dont forget to update the case block in the search fields category
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies/Other, desc: "Anime Movie"}
|
||||
- {id: 2, cat: TV/Anime, desc: "Anime Serie"}
|
||||
- {id: 3, cat: Audio, desc: "Anime Musik/OST"}
|
||||
- {id: 4, cat: PC/Games, desc: "Anime Spiele"}
|
||||
- {id: 5, cat: XXX, desc: "Hentai"}
|
||||
- {id: 6, cat: PC, desc: "Spiele Linux"}
|
||||
- {id: 7, cat: Other, desc: "Sonstiges"}
|
||||
- {id: 8, cat: Movies, desc: "Filme"}
|
||||
- {id: 9, cat: TV, desc: "Serien"}
|
||||
- {id: 10, cat: PC/Games, desc: "Spiele"}
|
||||
- {id: 11, cat: Audio, desc: "Musik"}
|
||||
- {id: 12, cat: Books, desc: "Mangas"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://animeworld.cx/\" target =_blank>AnimeWorld</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category
|
||||
case:
|
||||
"Anime Movie": 1
|
||||
"Anime Serie": 2
|
||||
"Anime Musik/OST": 3
|
||||
"Anime Spiele": 4
|
||||
"Hentai": 5
|
||||
"Spiele Linux": 6
|
||||
"Sonstiges": 7
|
||||
"Filme": 8
|
||||
"Serien": 9
|
||||
"Spiele": 10
|
||||
"Musik": 11
|
||||
"Mangas": 12
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/400x600", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
selector: created_at
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 5.3.0
|
@@ -122,7 +122,7 @@ search:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
|
@@ -1,125 +0,0 @@
|
||||
---
|
||||
id: asiandvdclub
|
||||
name: AsianDVDClub
|
||||
description: "AsianDVDClub (ADC) is a Private Torrent Tracker for Asian DVD and BluRay"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://asiandvdclub.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 3, cat: Movies, desc: "Japan"}
|
||||
- {id: 5, cat: Movies, desc: "China"}
|
||||
- {id: 4, cat: Movies, desc: "Korea"}
|
||||
- {id: 2, cat: Movies, desc: "Hong Kong"}
|
||||
- {id: 6, cat: Movies, desc: "Philippines"}
|
||||
- {id: 7, cat: Movies, desc: "Taiwan"}
|
||||
- {id: 8, cat: Movies, desc: "Thailand"}
|
||||
- {id: 9, cat: Movies, desc: "Vietnam"}
|
||||
- {id: 10, cat: Movies, desc: "Malaysia"}
|
||||
- {id: 11, cat: Movies, desc: "Other Asian"}
|
||||
- {id: 12, cat: Other, desc: "Miscellaneous"}
|
||||
|
||||
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: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: post
|
||||
inputs:
|
||||
apple: evil
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: p:contains("Error")
|
||||
test:
|
||||
path: index
|
||||
selector: a[href="/logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents/
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}countries[]={{.}}&{{end}}"
|
||||
searchbox: "{{ .Keywords }}"
|
||||
search: Search
|
||||
golden: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table.torrenttable_helper > tbody > tr:has(img)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: img[class^="cat-"]
|
||||
attribute: class
|
||||
case:
|
||||
img.cat-anime: 1
|
||||
img.cat-hk: 2
|
||||
img.cat-japan: 3
|
||||
img.cat-korea: 4
|
||||
img.cat-china: 5
|
||||
img.cat-phil: 6
|
||||
img.cat-taiwan: 7
|
||||
img.cat-thai: 8
|
||||
img.cat-viet: 9
|
||||
img.cat-malaysia: 10
|
||||
img.cat-rest: 11
|
||||
img.cat-misc: 12 # unconfirmed as there are currently no torrents for cat[12]
|
||||
title:
|
||||
selector: a[href^="/torrent/"]
|
||||
details:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["torrent", "download"]
|
||||
size:
|
||||
selector: td:nth-last-child(6)
|
||||
seeders:
|
||||
selector: td:nth-last-child(5)
|
||||
leechers:
|
||||
selector: td:nth-last-child(4)
|
||||
date:
|
||||
selector: td:nth-last-child(3)
|
||||
remove: p
|
||||
filters:
|
||||
- name: timeago
|
||||
grabs:
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="../images/golden.gif"]: 0
|
||||
img[src="../images/silver.gif"]: 0.5 # unconfirmed as there are currently no silver torrents
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.5
|
||||
minimumseedtime:
|
||||
# 45 days (as seconds = 45 x 24 x 60 x 60)
|
||||
text: 3888000
|
||||
# Engine n/a
|
@@ -7,9 +7,9 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://audiobookbay.nl/ # site forces http, does not support https
|
||||
- http://audiobookbay.net/
|
||||
- http://audiobookbay.ws/
|
||||
- http://audiobookbayabb.com/
|
||||
- https://audiobookbay.unblockit.ws/
|
||||
- https://audiobookbay.unblockit.tv/
|
||||
legacylinks:
|
||||
- https://audiobookbay.la/
|
||||
- https://audiobookbay.unblockit.lat/
|
||||
@@ -23,6 +23,10 @@ legacylinks:
|
||||
- https://audiobookbay.unblockit.li/
|
||||
- https://audiobookbay.unblockit.uno/
|
||||
- https://audiobookbay.unblockit.ch/
|
||||
- https://audiobookbay.unblockit.ws/
|
||||
- http://audiobookbay.net/
|
||||
- https://audiobookbay.unblockit.kim/
|
||||
- https://audiobookbay.unblockit.bz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -135,7 +139,7 @@ search:
|
||||
poster:
|
||||
selector: img
|
||||
attribute: src
|
||||
_date:
|
||||
date_optional:
|
||||
selector: div.postContent
|
||||
filters:
|
||||
- name: regexp
|
||||
@@ -143,8 +147,8 @@ search:
|
||||
- name: dateparse
|
||||
args: "2 Jan 2006"
|
||||
date:
|
||||
text: "{{ if .Result._date }}{{ .Result._date }}{{ else }}now{{ end }}"
|
||||
_size:
|
||||
text: "{{ if .Result.date_optional }}{{ .Result.date_optional }}{{ else }}now{{ end }}"
|
||||
size_optional:
|
||||
selector: div.postContent
|
||||
filters:
|
||||
- name: regexp
|
||||
@@ -156,7 +160,7 @@ search:
|
||||
- name: replace
|
||||
args: ["KBs", "KB"]
|
||||
size:
|
||||
text: "{{ if .Result._size }}{{ .Result._size }}{{ else }}0 B{{ end }}"
|
||||
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
|
@@ -295,35 +295,26 @@ search:
|
||||
filters:
|
||||
- name: querystring
|
||||
args: f
|
||||
size:
|
||||
text: "0 B"
|
||||
size:
|
||||
size_optional:
|
||||
optional: true
|
||||
selector: td:contains(\00a0GB)
|
||||
selector: td:contains(\00a0GB), td:contains(\00a0MB), td:contains(\00a0kB), td:contains(\00a0B)
|
||||
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:
|
||||
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
|
||||
seeders_optional:
|
||||
optional: true
|
||||
selector: td[title="Seeders"]
|
||||
leechers:
|
||||
text: 0
|
||||
leechers:
|
||||
seeders:
|
||||
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
|
||||
leechers_optional:
|
||||
optional: true
|
||||
selector: td[title="Leechers"]
|
||||
grabs:
|
||||
text: 0
|
||||
grabs:
|
||||
leechers:
|
||||
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
|
||||
grabs_optional:
|
||||
optional: true
|
||||
selector: td[title^="Replies:"]
|
||||
grabs:
|
||||
text: "{{ if .Result.grabs_optional }}{{ .Result.grabs_optional }}{{ else }}0{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
|
@@ -84,11 +84,13 @@ search:
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href*="/details.php?id="]
|
||||
title:
|
||||
title_optional:
|
||||
optional: true
|
||||
selector: div.tooltip-content > div
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
@@ -115,7 +117,6 @@ search:
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04 -07:00"
|
||||
poster:
|
||||
optional: true
|
||||
selector: div.tooltip-content > img
|
||||
attribute: src
|
||||
downloadvolumefactor:
|
||||
|
@@ -7,6 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://badasstorrents.com/
|
||||
- https://badasstorrents.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://badasstorrents.nocensor.work/
|
||||
|
||||
caps:
|
||||
@@ -79,6 +81,8 @@ search:
|
||||
|
||||
rows:
|
||||
selector: table.table-hover > tbody > tr:has(a[href*="/torrent/"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
79
src/Jackett.Common/Definitions/bangumi-moe.yml
Normal file
79
src/Jackett.Common/Definitions/bangumi-moe.yml
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
id: bangumi-moe
|
||||
name: Bangumi Moe
|
||||
description: "Bangumi Moe is a Public torrent site for ANIME"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bangumi.moe/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 549ef207fe682f7549f1ea90, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 54967e14ff43b99e284d0bf7, cat: TV/Anime, desc: "Anime Pack"}
|
||||
- {id: 549cc9369310bc7d04cddf9f, cat: Movies, desc: "Anime Movie"}
|
||||
- {id: 549eef6ffe682f7549f1ea8b, cat: Audio, desc: "Music"}
|
||||
- {id: 549eefebfe682f7549f1ea8c, cat: Books/Comics, desc: "Comic"}
|
||||
- {id: 549ef015fe682f7549f1ea8d, cat: Console, desc: "Game"}
|
||||
- {id: 549ef250fe682f7549f1ea91, cat: Other, desc: "Other"}
|
||||
- {id: 549ff1db30bcfc225bf9e607, cat: Console, desc: "Dorama"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://bangumi.moe/api/torrent/latest
|
||||
# https://bangumi.moe/api/v2/torrent/search
|
||||
- path: "{{ if .Keywords }}api/v2/torrent/search{{ else }}api/torrent/latest{{ end }}"
|
||||
method: "{{ if .Keywords }}post{{ else }}get{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
# $raw: "{{ if .Keywords }}query={{ .Keywords }}{{ else }}{{ end }}"
|
||||
query: "{{ .Keywords }}"
|
||||
|
||||
rows:
|
||||
selector: torrents
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_tag_id
|
||||
title:
|
||||
selector: title
|
||||
details:
|
||||
text: "{{ .Config.sitelink }}"
|
||||
infohash:
|
||||
selector: infoHash
|
||||
poster:
|
||||
selector: introduction
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=\\\"(.+?)\\\""
|
||||
description:
|
||||
selector: category_tag.locale.en
|
||||
optional: true
|
||||
date:
|
||||
# 2021-10-19T06:10:15.772Z
|
||||
selector: publish_time
|
||||
size:
|
||||
selector: size
|
||||
grabs:
|
||||
selector: downloads
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# json api v2
|
@@ -95,12 +95,14 @@ search:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
title_optional:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
@@ -113,10 +115,10 @@ search:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: div.imdb_100 > a
|
||||
attribute: href
|
||||
date:
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
@@ -126,7 +128,7 @@ search:
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date:
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
@@ -135,6 +137,8 @@ search:
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
|
197
src/Jackett.Common/Definitions/bestcore.yml
Normal file
197
src/Jackett.Common/Definitions/bestcore.yml
Normal file
@@ -0,0 +1,197 @@
|
||||
---
|
||||
id: bestcore
|
||||
name: Best-Core
|
||||
description: "Best-Core is a HUNGARIAN Private Tracker for MOVIES / TV"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: ISO-8859-2
|
||||
links:
|
||||
- https://best-core.info/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 81, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 83, cat: Movies/UHD, desc: "4K/UHD"}
|
||||
- {id: 80, cat: Movies/Other, desc: "Best-Core"}
|
||||
- {id: 51, cat: Books/EBook, desc: "E-book"}
|
||||
- {id: 88, cat: Audio/Audiobook, desc: "E-book/Hangoskönyv"}
|
||||
- {id: 77, cat: Movies/HD, desc: "Film/BDRip/Eng"}
|
||||
- {id: 86, cat: Movies/HD, desc: "Film/BDRip/Ger"}
|
||||
- {id: 76, cat: Movies/HD, desc: "Film/BDRip/Hun"}
|
||||
- {id: 75, cat: Movies/BluRay, desc: "Film/Blu-ray/Eng"}
|
||||
- {id: 74, cat: Movies/BluRay, desc: "Film/Blu-ray/Hun"}
|
||||
- {id: 25, cat: Movies/DVD, desc: "Film/DVD/Eng"}
|
||||
- {id: 24, cat: Movies/DVD, desc: "Film/DVD/Hun"}
|
||||
- {id: 85, cat: Movies/DVD, desc: "Film/DVD9"}
|
||||
- {id: 21, cat: Movies/HD, desc: "Film/HD/Eng"}
|
||||
- {id: 53, cat: Movies/HD, desc: "Film/HD/Hun"}
|
||||
- {id: 20, cat: Movies/SD, desc: "Film/XviD/Eng"}
|
||||
- {id: 34, cat: Movies/SD, desc: "Film/XviD/Hun"}
|
||||
- {id: 90, cat: Movies/SD, desc: "Film/XviD/Pack"}
|
||||
- {id: 26, cat: PC/Games, desc: "Játék/ISO"}
|
||||
- {id: 52, cat: PC/Games, desc: "Játék/Rip"}
|
||||
- {id: 89, cat: Movies/SD, desc: "Kamerás/Eng"}
|
||||
- {id: 82, cat: Movies/SD, desc: "Kamerás/Hun"}
|
||||
- {id: 38, cat: Other, desc: "Képek"}
|
||||
- {id: 43, cat: Console/PS3, desc: "Konzol/PS"}
|
||||
- {id: 45, cat: Console/PSP, desc: "Konzol/PSP"}
|
||||
- {id: 44, cat: Console/XBox, desc: "Konzol/Xbox"}
|
||||
- {id: 73, cat: TV/Anime, desc: "Mese/Eng"}
|
||||
- {id: 70, cat: TV/Anime, desc: "Mese/Hun"}
|
||||
- {id: 37, cat: PC/Mobile-Other, desc: "Mobil"}
|
||||
- {id: 1, cat: PC/ISO, desc: "Program/ISO"}
|
||||
- {id: 22, cat: PC/0day, desc: "Program/Rip"}
|
||||
- {id: 54, cat: TV/SD, desc: "Sorozat/DVD/Eng"}
|
||||
- {id: 55, cat: TV/SD, desc: "Sorozat/DVD/Hun"}
|
||||
- {id: 58, cat: TV/SD, desc: "Sorozat/Xvid/Eng"}
|
||||
- {id: 7, cat: TV/SD, desc: "Sorozat/Xvid/Hun"}
|
||||
- {id: 62, cat: Audio/Video, desc: "Videoklip"}
|
||||
- {id: 64, cat: XXX/DVD, desc: "XXX/DVD"}
|
||||
- {id: 48, cat: XXX/ImageSet, desc: "XXX/Képek"}
|
||||
- {id: 9, cat: XXX/XviD, desc: "XXX/Xvid"}
|
||||
- {id: 40, cat: Audio/MP3, desc: "Zene/Eng"}
|
||||
- {id: 6, cat: Audio/MP3, desc: "Zene/Hun"}
|
||||
- {id: 87, cat: Audio/Lossless, desc: "Zene/Lossless"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
book-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search FreeLeech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
1: title
|
||||
4: added
|
||||
5: size
|
||||
7: seeders
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrent oldalankén:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_login
|
||||
type: info
|
||||
label: About login error
|
||||
default: If you get a <b>Login Failed, got redirected.</b> error during your config <i>save</i> then most likely you have used an incorrect username or password.
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php?c="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
# 0 active, 1 all, 2 deadonly, 3 freeleech
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: tr.torrent_h
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
# can be abbreviated
|
||||
selector: a[href^="details.php?id="]
|
||||
title_optional:
|
||||
# usually full length
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
- name: replace
|
||||
args: ["https://i.kek.sh/null", ""]
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(2)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d{4}-\\d{2}-\\d{2}\\s\\d{2}:\\d{2}:\\d{2})"
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
files:
|
||||
selector: td:nth-child(5)
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: x \d(\d+) x$
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/free.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
selector: td:nth-child(7) b
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
minimumratio:
|
||||
text: 0.8
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# custom v3.0
|
@@ -67,7 +67,7 @@ search:
|
||||
selector: div.table-torrents > table > tbody > tr[id^="torrentposter"]
|
||||
|
||||
fields:
|
||||
_category:
|
||||
category_optional:
|
||||
selector: a[href*="/categories/"]
|
||||
optional: true
|
||||
attribute: href
|
||||
@@ -75,7 +75,7 @@ search:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
category:
|
||||
text: "{{ if .Result._category }}{{ .Result._category }}{{ else }}1{{ end }}"
|
||||
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}1{{ end }}"
|
||||
title:
|
||||
selector: a.torrent-name
|
||||
details:
|
||||
@@ -96,7 +96,7 @@ search:
|
||||
selector: a[href$="/peers"] span.text-red
|
||||
grabs:
|
||||
selector: a[href$="/history"]
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
|
@@ -87,7 +87,7 @@ search:
|
||||
selector: div.table-torrents > table > tbody > tr[id^="torrentposter"]
|
||||
|
||||
fields:
|
||||
_category:
|
||||
category_optional:
|
||||
selector: a[href*="/categories/"]
|
||||
optional: true
|
||||
attribute: href
|
||||
@@ -95,7 +95,7 @@ search:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
category:
|
||||
text: "{{ if .Result._category }}{{ .Result._category }}{{ else }}1{{ end }}"
|
||||
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}1{{ end }}"
|
||||
title:
|
||||
selector: a.torrent-name
|
||||
details:
|
||||
@@ -116,7 +116,7 @@ search:
|
||||
selector: a[href$="/peers"] span.text-red
|
||||
grabs:
|
||||
selector: a[href$="/history"]
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
|
@@ -87,7 +87,7 @@ search:
|
||||
selector: .editorLink
|
||||
optional: true
|
||||
author:
|
||||
text: "{{ or (.Result._author) (.Result._editor) }}"
|
||||
text: "{{ or .Result._author .Result._editor }}"
|
||||
_year:
|
||||
selector: .torYear
|
||||
optional: true
|
||||
@@ -122,21 +122,21 @@ search:
|
||||
size:
|
||||
selector: .t_files_size_added span
|
||||
attribute: data-bytecount
|
||||
seeders:
|
||||
text: 0
|
||||
seeders:
|
||||
seeders_optional:
|
||||
optional: true
|
||||
selector: .seeders
|
||||
leechers:
|
||||
text: 0
|
||||
leechers:
|
||||
seeders:
|
||||
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
|
||||
leechers_optional:
|
||||
optional: true
|
||||
selector: .leechers
|
||||
grabs:
|
||||
text: 0
|
||||
grabs:
|
||||
leechers:
|
||||
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
|
||||
grabs_optional:
|
||||
optional: true
|
||||
selector: .snatches
|
||||
grabs:
|
||||
text: "{{ if .Result.grabs_optional }}{{ .Result.grabs_optional }}{{ else }}0{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
|
@@ -1,107 +0,0 @@
|
||||
---
|
||||
id: bigtorrent
|
||||
name: BIGTorrent
|
||||
description: "BIGTorrent is a HUNGARIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.bigtorrent.eu/
|
||||
legacylinks:
|
||||
- http://www.bigtorrent.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 24533, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 47, cat: Other, desc: "Other"}
|
||||
- {id: 24541, cat: Movies/DVD, desc: "Film DVD English"}
|
||||
- {id: 24540, cat: Movies/DVD, desc: "Film DVD Hungarian"}
|
||||
- {id: 24539, cat: Movies/HD, desc: "Film HD English"}
|
||||
- {id: 24538, cat: Movies/HD, desc: "Film HD Hungarian"}
|
||||
- {id: 24537, cat: Movies/SD, desc: "Film SD English"}
|
||||
- {id: 24536, cat: Movies/SD, desc: "Film SD Hungarian"}
|
||||
- {id: 69, cat: PC/Games, desc: "Games ISO"}
|
||||
- {id: 67, cat: PC/Games, desc: "Games Rip"}
|
||||
- {id: 24534, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 65, cat: Other, desc: "Picture"}
|
||||
- {id: 64, cat: Other, desc: "Video"}
|
||||
- {id: 68, cat: Console/XBox 360, desc: "Video Game Console"}
|
||||
- {id: 63, cat: Books, desc: "English Books"}
|
||||
- {id: 62, cat: Books, desc: "Hungarian Books"}
|
||||
- {id: 74, cat: Audio/Lossless, desc: "Lossless"}
|
||||
- {id: 56, cat: PC/Mobile-Other, desc: "Mobile"}
|
||||
- {id: 57, cat: PC, desc: "Programs"}
|
||||
- {id: 24545, cat: TV/HD, desc: "English HD Series"}
|
||||
- {id: 24544, cat: TV/HD, desc: "Hungarian HD Series"}
|
||||
- {id: 24543, cat: TV/SD, desc: "English SD Series"}
|
||||
- {id: 24542, cat: TV/SD, desc: "Hungarian SD Series"}
|
||||
- {id: 24535, cat: XXX, desc: "XXX"}
|
||||
- {id: 59, cat: Audio, desc: "Music"}
|
||||
- {id: 58, cat: Audio, desc: "Hungarian Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
sent: yes
|
||||
returnto: /
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: index.php
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
search: "{{ if .Keywords }}{{ .Keywords }}{{ else }} {{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr:has(a[href^="browse.php?cat="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: td:nth-child(2) a
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine tbd
|
184
src/Jackett.Common/Definitions/bit-titan.yml
Normal file
184
src/Jackett.Common/Definitions/bit-titan.yml
Normal file
@@ -0,0 +1,184 @@
|
||||
---
|
||||
id: bit-titan
|
||||
name: BiT-TiTAN
|
||||
description: "BiT-TiTAN is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
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 International"}
|
||||
- {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: 5090, cat: XXX, desc: "XXX Sonstiges"}
|
||||
- {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/Mobile-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/Mobile-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: 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]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new key <a href=\"https://bit-titan.net/api_cp.php\" target =_blank>here</a>."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 1
|
||||
options:
|
||||
1: created
|
||||
2: seeders
|
||||
5: size
|
||||
9: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: DESC
|
||||
options:
|
||||
DESC: desc
|
||||
ASC: asc
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: api.php
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
apiKey: "{{ .Config.apikey }}"
|
||||
categories: "{{ if .Categories }}{{ join .Categories \",\" }}{{ else }}0{{ end }}"
|
||||
search: "{{ .Keywords }}"
|
||||
# searchIn: 0 all, 1 active, 2 dead, 3 highlights, 4 own uploads, 5 uploads bots, 6 onlyupload, 7 multiplier, 8 %download, 9 freeleech
|
||||
searchIn: "{{ if .Config.freeleech }}9{{ else }}0{{ end }}"
|
||||
# 1 25, 2 50, 3 75, 4 100
|
||||
# api only responds with results if limit=1 is used !?! (as at 22-Nov-2021)
|
||||
limit: 1
|
||||
downloadLink: 1
|
||||
# 1 = Sat, 28 Nov 2020 23:29:38 +0100 (DEFAULT VALUE) , 2 = 1606606178 (UNIX TIMESTAMP) , 3 = 28.11.2020 23:29.38 (German Timestamp) , 4 = 2020-11-28 23:29:38 (Default Datetime)
|
||||
timeFormat: 2
|
||||
orderBy: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: results
|
||||
count:
|
||||
selector: filesFound
|
||||
|
||||
fields:
|
||||
id:
|
||||
selector: id
|
||||
category:
|
||||
selector: category
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
text: "details.php?id={{ .Result.id }}"
|
||||
download:
|
||||
selector: download
|
||||
poster:
|
||||
selector: poster
|
||||
seeders:
|
||||
selector: seeds
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: snatchers
|
||||
date:
|
||||
# unix
|
||||
selector: added
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
selector: downloadFactor
|
||||
uploadvolumefactor:
|
||||
selector: uploadFactor
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 day (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json engine v.2.011.021
|
160
src/Jackett.Common/Definitions/bitbazis.yml
Normal file
160
src/Jackett.Common/Definitions/bitbazis.yml
Normal file
@@ -0,0 +1,160 @@
|
||||
---
|
||||
id: bitbazis
|
||||
name: Bit-Bázis
|
||||
description: "Bit-Bázis is a HUNGARIAN Private Tracker for MOVIES / TV"
|
||||
language: hu-HU
|
||||
type: private
|
||||
# encoding: ISO-8859-2
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bitbazis.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 15, cat: Movies/SD, desc: "Film/XviD/Hun"}
|
||||
- {id: 34, cat: Movies/HD, desc: "Film/x264/Hun"}
|
||||
- {id: 83, cat: Movies/HD, desc: "Film/HD/Hun"}
|
||||
- {id: 64, cat: Movies, desc: "Film/Pack"}
|
||||
- {id: 16, cat: Movies/SD, desc: "Film/XviD/Eng"}
|
||||
- {id: 17, cat: Movies/DVD, desc: "Film/DVD-R/Hun"}
|
||||
- {id: 19, cat: Movies/DVD, desc: "Film/DVD-R/Eng"}
|
||||
- {id: 48, cat: Movies/HD, desc: "Film/x264/Eng"}
|
||||
- {id: 82, cat: Movies/HD, desc: "Film/HD/Eng"}
|
||||
- {id: 85, cat: Movies/SD, desc: "Film/Cam/XviD/Hun"}
|
||||
- {id: 86, cat: Movies/SD, desc: "Film/Cam/XviD/Eng"}
|
||||
- {id: 22, cat: TV, desc: "Sorozat/Hun"}
|
||||
- {id: 69, cat: TV/Anime, desc: "Mese/XviD"}
|
||||
- {id: 58, cat: TV, desc: "Sorozat/Eng"}
|
||||
- {id: 68, cat: TV/Anime, desc: "Mese/DVD"}
|
||||
- {id: 91, cat: TV/Anime, desc: "Mese/HD"}
|
||||
- {id: 25, cat: Audio/MP3, desc: "Mp3/Hun"}
|
||||
- {id: 26, cat: Audio/MP3, desc: "Mp3/Eng"}
|
||||
- {id: 71, cat: Audio/Lossless, desc: "Lossless/Eng"}
|
||||
- {id: 84, cat: Audio/Lossless, desc: "Lossless/Hun"}
|
||||
- {id: 31, cat: PC/Games, desc: "Játék/PC"}
|
||||
- {id: 81, cat: PC/0day, desc: "Program/PC"}
|
||||
- {id: 14, cat: PC, desc: "Program/Egyéb"}
|
||||
- {id: 49, cat: PC/0day, desc: "Program/Rip"}
|
||||
- {id: 54, cat: Console, desc: "Játék/Konzol"}
|
||||
- {id: 67, cat: PC/Mobile-Android, desc: "Program/Android"}
|
||||
- {id: 33, cat: XXX/SD, desc: "Film/SD/XXX"}
|
||||
- {id: 89, cat: XXX/x264, desc: "Film/HD/XXX"}
|
||||
- {id: 66, cat: XXX/ImageSet, desc: "Képek/XXX"}
|
||||
- {id: 27, cat: Books/EBook, desc: "Könyv/Hun"}
|
||||
- {id: 50, cat: Books/EBook, desc: "Könyv/Eng"}
|
||||
- {id: 70, cat: Audio/Audiobook, desc: "Hangoskönyv"}
|
||||
- {id: 24, cat: Audio/Video, desc: "Videóklipp"}
|
||||
- {id: 65, cat: Other, desc: "Egyéb"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
book-search: [q]
|
||||
music-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 with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
1: title
|
||||
4: added
|
||||
5: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrentek száma egy oldalon:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php?k="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 all, 2 deadonly, 3 myuploads, 4 zeroseed
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# site does not support imdbid searching or appear to have freeleech
|
||||
|
||||
rows:
|
||||
selector: table[width="900px"]:last-child tbody tr:has(a[href^="userdetails.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a.preview
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
size:
|
||||
selector: td:nth-last-child(2)
|
||||
date:
|
||||
# 2021-11-09 16:51:24
|
||||
selector: td:last-child
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "D:(\\d+)"
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "S:(\\d+)"
|
||||
leechers:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "L:(\\d+)"
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumseedtime:
|
||||
# 3 day (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# engine n/a
|
@@ -85,16 +85,18 @@ search:
|
||||
args: ["details.php?id=", "download.php/"]
|
||||
- name: append
|
||||
args: "/invalid.torrent"
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
title_optional:
|
||||
optional: true
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: title
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
poster:
|
||||
@@ -124,15 +126,15 @@ search:
|
||||
selector: td:nth-child(6) > u
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
uploadvolumefactor_optional:
|
||||
optional: true
|
||||
selector: td:nth-child(5) > nobr > font:contains(" × ")
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["×", ""]
|
||||
date:
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result.uploadvolumefactor_optional }}{{ .Result.uploadvolumefactor_optional }}{{ else }}1{{ end }}"
|
||||
date_year:
|
||||
selector: td:nth-child(5):contains('.')
|
||||
optional: true
|
||||
remove: font
|
||||
@@ -143,7 +145,7 @@ search:
|
||||
args: "{{ .Today.Year }}."
|
||||
- name: re_replace
|
||||
args: ["([0-9]{4}).([0-9]+).([0-9]+) (.*)", "$2.$3.$1 $4"]
|
||||
date:
|
||||
date_day:
|
||||
selector: td:nth-child(5):contains('ma'), td:nth-child(5):contains("tegnap"), td:nth-child(5):contains('-')
|
||||
optional: true
|
||||
remove: font
|
||||
@@ -152,6 +154,8 @@ search:
|
||||
args: ["ma", "today"]
|
||||
- name: replace
|
||||
args: ["tegnap", "yesterday"]
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
description:
|
||||
selector: td:nth-child(2) > div
|
||||
# engine tbd
|
||||
|
@@ -86,7 +86,7 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
date:
|
||||
date_today:
|
||||
# Сегодня в 09:09 от
|
||||
# Вчера в 22:47 от
|
||||
selector: td:nth-child(2) div.b-info div span:nth-child(1):contains("Сегодня"), td:nth-child(2) div.b-info div span:nth-child(1):contains("Вчера")
|
||||
@@ -98,7 +98,7 @@ search:
|
||||
args: ["Сегодня в", "Today"]
|
||||
- name: replace
|
||||
args: ["Вчера в", "Yesterday"]
|
||||
date:
|
||||
date_year:
|
||||
# 08 ноября 2019 в 23:53 от
|
||||
selector: td:nth-child(2) div.b-info div span:nth-child(1):not(:contains("Сегодня")):not(:contains("Вчера"))
|
||||
optional: true
|
||||
@@ -135,6 +135,8 @@ search:
|
||||
args: " +03:00" # MSK
|
||||
- name: dateparse
|
||||
args: "02 January 2006 15:04 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_today .Result.date_year }}{{ or .Result.date_today .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(3)
|
||||
filters:
|
||||
|
@@ -7,26 +7,33 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bitsearch.to/
|
||||
- https://bitsearch.nocensor.biz/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
eBook: Books/EBook
|
||||
"Ebook/Course": Books/EBook
|
||||
Games: PC/Games
|
||||
"Games/PC": PC/Games
|
||||
Movies: Movies
|
||||
Music: Audio
|
||||
"Music/Album": Audio
|
||||
"Music/mp3": Audio/MP3
|
||||
"Music/Lossless": Audio/Lossless
|
||||
"Music/Video": Audio/Video
|
||||
Other: Other
|
||||
"Other/Android": PC/Mobile-Android
|
||||
"Other/Archive": Other
|
||||
"Other/Audio": Audio
|
||||
"Other/Database": Movies/DVD
|
||||
"Other/Database": PC
|
||||
"Other/DiskImage": PC/ISO
|
||||
"Other/Document": Books/Comics
|
||||
"Other/Image": Other/Misc
|
||||
"Other/Program": PC/0day
|
||||
"Other/Sourcecode": Movies/Other
|
||||
"Other/Sourcecode": PC
|
||||
"Other/Source Code": PC
|
||||
"Other/Video": TV
|
||||
Softwares: PC/0day
|
||||
"Softwares/Windows": PC/0day
|
||||
TV: TV
|
||||
Unknown: Other
|
||||
@@ -56,24 +63,6 @@ settings:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
download:
|
||||
# the magnet URI on this site exceeds 2048 bytes which some interfaces will reject. So we use the infohash and build our own.
|
||||
selectors:
|
||||
infohash:
|
||||
hash:
|
||||
selector: a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
title:
|
||||
selector: a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "&dn=(.+?)$"
|
||||
- name: validfilename
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://bitsearch.to/search?q=&sort=date&order=desc
|
||||
@@ -95,8 +84,14 @@ search:
|
||||
selector: h5 a
|
||||
attribute: href
|
||||
download:
|
||||
selector: h5 a
|
||||
selector: a[class="dl-torrent"]
|
||||
attribute: href
|
||||
infohash:
|
||||
selector: a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
grabs:
|
||||
selector: div.stats div:has(img[alt="Download"])
|
||||
filters:
|
||||
|
@@ -106,7 +106,7 @@ login:
|
||||
- selector: table.main:contains("failed")
|
||||
test:
|
||||
path: my.php
|
||||
selector: a[href="logout.php"]
|
||||
selector: a[href$="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -116,9 +116,11 @@ search:
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 incldead, 2 onlydead, 3 freeleech, 4 480p, 5 720p, 6 1080p, 7 4k
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table[cellpadding="5"] tbody tr:has(a[href^="download.php?torrent="])
|
||||
selector: div.torrentrow:has(a[href^="download.php?torrent="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -142,29 +144,31 @@ search:
|
||||
- name: regexp
|
||||
args: "src=(.*?) width"
|
||||
files:
|
||||
selector: td:nth-last-child(7)
|
||||
date:
|
||||
selector: div.torrenttable:nth-last-child(7)
|
||||
date_year:
|
||||
# Jul 4 2019 08:04 AM
|
||||
selector: td:nth-last-child(5):not(:contains("day"))
|
||||
selector: div.torrenttable:nth-last-child(5):not(:contains("day"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
date:
|
||||
date_day:
|
||||
# Today 02:40 PM
|
||||
# Yesterday 09:10 AM
|
||||
selector: td:nth-last-child(5):contains("day")
|
||||
selector: div.torrenttable:nth-last-child(5):contains("day")
|
||||
optional: true
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
selector: div.torrenttable:nth-last-child(4)
|
||||
grabs:
|
||||
selector: td:nth-last-child(3)
|
||||
selector: div.torrenttable:nth-last-child(3)
|
||||
seeders:
|
||||
selector: td:nth-last-child(2)
|
||||
selector: div.torrenttable:nth-last-child(2)
|
||||
leechers:
|
||||
selector: td:nth-last-child(1)
|
||||
selector: div.torrenttable:nth-last-child(1)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="/pic/freeleech.gif"]: 0
|
||||
|
@@ -137,7 +137,7 @@ search:
|
||||
selector: td.rowcol:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td.rowcol:nth-last-child(2)
|
||||
date:
|
||||
date_added:
|
||||
optional: true
|
||||
selector: font[color="5F5F5F"]
|
||||
filters:
|
||||
@@ -149,7 +149,7 @@ search:
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date:
|
||||
date_upload:
|
||||
optional: true
|
||||
selector: a[title^="Upploaded at"]
|
||||
attribute: title
|
||||
@@ -162,6 +162,8 @@ search:
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_upload .Result.date_added }}{{ or .Result.date_upload .Result.date_added }}{{ else }}now{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
|
@@ -27,7 +27,8 @@ caps:
|
||||
- {id: 72, cat: Movies, desc: "Belgesel"}
|
||||
- {id: 60, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 76, cat: Movies/UHD, desc: "4K UHD"}
|
||||
- {id: 45, cat: Movies, desc: "Eğitim / Prog"}
|
||||
- {id: 80, cat: TV/Sport, desc: "Formula-1"}
|
||||
- {id: 45, cat: Other, desc: "Eğitim / Prog"}
|
||||
- {id: 1, cat: Movies, desc: "Filmler"}
|
||||
- {id: 14, cat: Movies/3D, desc: "3D Film"}
|
||||
- {id: 77, cat: Movies/UHD, desc: "4K UHD"}
|
||||
@@ -35,7 +36,7 @@ caps:
|
||||
- {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: 33, cat: Movies/HD, desc: "BRRiP"}
|
||||
- {id: 34, cat: Movies, desc: "Çizgi Film"}
|
||||
- {id: 35, cat: Movies, desc: "D-Z0N3"}
|
||||
- {id: 36, cat: Movies/DVD, desc: "DVD"}
|
||||
@@ -52,9 +53,9 @@ caps:
|
||||
- {id: 46, cat: Audio, desc: "Yab@ncı MüziK"}
|
||||
- {id: 21, cat: Audio/Video, desc: "Video Klipler"}
|
||||
- {id: 2, cat: Console, desc: "Oyun"}
|
||||
- {id: 74, cat: PC, desc: "PC"}
|
||||
- {id: 74, cat: PC/Games, desc: "PC"}
|
||||
- {id: 73, cat: Console, desc: "SONY-PS"}
|
||||
- {id: 6, cat: PC, desc: "Program"}
|
||||
- {id: 6, cat: PC/0day, desc: "Program"}
|
||||
- {id: 47, cat: Other, desc: "Resimler"}
|
||||
- {id: 48, cat: TV, desc: "Televizyon"}
|
||||
- {id: 49, cat: TV/HD, desc: "Tv HD"}
|
||||
@@ -160,7 +161,7 @@ search:
|
||||
download:
|
||||
selector: a[href*="?p=torrents&pid=10&action=download"]
|
||||
attribute: href
|
||||
date:
|
||||
date_year:
|
||||
optional: true
|
||||
# Uploaded 30-01-2019 15:02 by
|
||||
selector: td.torrent_name:not(:contains(" at "))
|
||||
@@ -171,7 +172,7 @@ search:
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04 -07:00"
|
||||
date:
|
||||
date_day:
|
||||
optional: true
|
||||
# Uploaded Friday at 05:11 by
|
||||
# Uploaded Today at 00:48 by
|
||||
@@ -184,6 +185,8 @@ search:
|
||||
args: [" at ", " "]
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: a[rel="torrent_size"]
|
||||
seeders:
|
||||
|
@@ -1,36 +1,46 @@
|
||||
---
|
||||
id: devils-playground
|
||||
name: Devils-Playground
|
||||
description: "Devils-Playground (Nbytez) is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
id: bluesbrothers
|
||||
name: Blues-Brothers
|
||||
description: "Blues-Brothers is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://devils-playground.org/
|
||||
legacylinks:
|
||||
- https://nbytez.me/
|
||||
- https://blues-brothers.biz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 82, cat: PC, desc: "0day"}
|
||||
- {id: 12, cat: PC, desc: "Anime"}
|
||||
- {id: 1, cat: PC, desc: "Apps"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 24, cat: Books/EBook, desc: "E-Books"}
|
||||
- {id: 64, cat: PC/Games, desc: "Games"}
|
||||
- {id: 30, cat: Movies/SD, desc: "Movies/Cam-TS"}
|
||||
- {id: 31, cat: Movies, desc: "Movies/FooKaS RG"}
|
||||
- {id: 70, cat: Movies/HD, desc: "Movies/HD-Blu-Ray"}
|
||||
- {id: 84, cat: Movies/SD, desc: "Movies/SD"}
|
||||
- {id: 71, cat: Movies/UHD, desc: "Movies/UHD-Blu-Ray"}
|
||||
- {id: 55, cat: Movies/WEB-DL, desc: "Movies/Web"}
|
||||
- {id: 26, cat: Audio/Lossless, desc: "Music/FLAC"}
|
||||
- {id: 10, cat: Audio/MP3, desc: "Music/MP3"}
|
||||
- {id: 29, cat: Movies, desc: "Packs/Movies"}
|
||||
- {id: 19, cat: Audio, desc: "Packs/MP3"}
|
||||
- {id: 61, cat: TV, desc: "Packs/TV"}
|
||||
- {id: 45, cat: TV/HD, desc: "TV/HD"}
|
||||
- {id: 36, cat: TV/SD, desc: "TV/SD"}
|
||||
- {id: 9, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 1, cat: PC/0day, desc: "Apps"}
|
||||
- {id: 17, cat: Audio/Audiobook, desc: "AudioBooks"}
|
||||
- {id: 16, cat: Books/EBook, desc: "Ebooks"}
|
||||
- {id: 12, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: 7, cat: Console/PS3, desc: "Games PS3"}
|
||||
- {id: 19, cat: Console/Wii, desc: "Games Wii"}
|
||||
- {id: 8, cat: Console/XBox 360, desc: "Games XBOX360"}
|
||||
- {id: 18, cat: PC/Mac, desc: "MAC"}
|
||||
- {id: 41, cat: PC/Mobile-Android, desc: "Mobile"}
|
||||
- {id: 26, cat: Movies, desc: "Movie BDRip"}
|
||||
- {id: 29, cat: Movies/HD, desc: "Movie BluRay 1080p"}
|
||||
- {id: 28, cat: Movies/HD, desc: "Movie BluRay 720p"}
|
||||
- {id: 27, cat: Movies/SD, desc: "Movie BRRip"}
|
||||
- {id: 24, cat: Movies/SD, desc: "Movie CAM/TS"}
|
||||
- {id: 23, cat: Movies/DVD, desc: "Movie DVD-R"}
|
||||
- {id: 11, cat: Movies/SD, desc: "Movie DVDRip"}
|
||||
- {id: 25, cat: Movies/SD, desc: "Movie DVDSCR/R5"}
|
||||
- {id: 30, cat: Movies, desc: "Movie Packs"}
|
||||
- {id: 10, cat: Movies/HD, desc: "Movie XviD x264"}
|
||||
- {id: 6, cat: XXX, desc: "Movie XXX"}
|
||||
- {id: 22, cat: Audio/Lossless, desc: "Music Flac"}
|
||||
- {id: 21, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: 14, cat: Audio, desc: "Music Packs"}
|
||||
- {id: 20, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 34, cat: TV, desc: "TV Packs"}
|
||||
- {id: 36, cat: TV/HD, desc: "TV X264 HD"}
|
||||
- {id: 37, cat: TV/SD, desc: "TV X264 SD"}
|
||||
- {id: 35, cat: TV/SD, desc: "TV XviD"}
|
||||
- {id: 38, cat: Other, desc: "VIP"}
|
||||
- {id: 40, cat: Other, desc: "VIP ONLY"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -72,8 +82,9 @@ settings:
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
@@ -85,12 +96,12 @@ login:
|
||||
message:
|
||||
selector: table tr td.colhead2
|
||||
test:
|
||||
path: index.php
|
||||
path: /
|
||||
selector: a[href*="logout.php?hash_please="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://devils-playground.org/browse.php?c5=1&c16=1&search=&searchin=title&incldead=1&only_free=1&sort=4&type=desc
|
||||
# https://blues-brothers.biz/browse.php?c27=1&c28=1&c29=1&search=&searchin=title&incldead=1&sort=4&type=desc
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
@@ -122,20 +133,26 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Tip\\('<b>(.+?)</b>"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=\\'(.+?)\\'
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-child(5)
|
||||
date:
|
||||
date_day:
|
||||
selector: td:nth-child(7):contains("day")
|
||||
optional: true
|
||||
filters:
|
||||
- name: fuzzytime
|
||||
date:
|
||||
date_year:
|
||||
selector: td:nth-child(7):not(:contains("day"))
|
||||
optional: true
|
||||
filters:
|
||||
@@ -143,6 +160,8 @@ search:
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
133
src/Jackett.Common/Definitions/blutopia-api.yml
Normal file
133
src/Jackett.Common/Definitions/blutopia-api.yml
Normal file
@@ -0,0 +1,133 @@
|
||||
---
|
||||
id: blutopia-api
|
||||
name: Blutopia (API)
|
||||
description: "Blutopia (BLU) is a Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://blutopia.xyz/
|
||||
|
||||
caps:
|
||||
# dont forget to update the case block in the search fields category
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movie"}
|
||||
- {id: 2, cat: TV, desc: "TV Show"}
|
||||
- {id: 3, cat: Movies/Other, desc: "FANRES"}
|
||||
- {id: 5, cat: Movies/Other, desc: "Trailer"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://blutopia.xyz/\" target =_blank>Blutopia</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category
|
||||
case:
|
||||
Movie: 1
|
||||
TV Show: 2
|
||||
FANRES: 3
|
||||
Trailer: 5
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/400x600", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
selector: created_at
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 5.3.1b
|
@@ -90,6 +90,10 @@ search:
|
||||
page: 1
|
||||
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
|
||||
@@ -165,19 +169,22 @@ search:
|
||||
- name: timeago
|
||||
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
|
||||
span.torrent-listings-global-freeleech: 0
|
||||
span.torrent-listings-personal-freeleech: 0
|
||||
span.torrent-listings-freeleech-token: 0
|
||||
span.torrent-listings-featured: 0
|
||||
span.torrent-listings-freeleech[data-original-title*="25%"]: 0.75
|
||||
span.torrent-listings-freeleech[data-original-title*="50%"]: 0.5
|
||||
span.torrent-listings-freeleech[data-original-title*="75%"]: 0.25
|
||||
span.torrent-listings-freeleech[data-original-title*="100%"]: 0
|
||||
span.torrent-listings-special-freeleech: 0
|
||||
"*": 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
|
||||
span.torrent-listings-global-double-upload: 2
|
||||
span.torrent-listings-double-upload: 2
|
||||
span.torrent-listings-featured: 2
|
||||
span.torrent-listings-special-double-upload: 2
|
||||
"*": 1
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
|
@@ -106,23 +106,25 @@ search:
|
||||
poster:
|
||||
selector: img[src*="/thbx/imgx/"]
|
||||
attribute: src
|
||||
files:
|
||||
text: 1
|
||||
files:
|
||||
files_optional:
|
||||
selector: a[href$="filelist=1"]
|
||||
optional: true
|
||||
size:
|
||||
files:
|
||||
text: "{{ if .Result.files_optional }}{{ .Result.files_optional }}{{ else }}1{{ end }}"
|
||||
size_optional:
|
||||
selector: td:nth-child(3)
|
||||
seeders:
|
||||
text: 0
|
||||
seeders:
|
||||
size:
|
||||
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
|
||||
seeders_optional:
|
||||
selector: a[href$="toseeders=1"]
|
||||
optional: true
|
||||
leechers:
|
||||
text: 0
|
||||
leechers:
|
||||
seeders:
|
||||
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
|
||||
leechers_optional:
|
||||
selector: a[href$="todlers=1"]
|
||||
optional: true
|
||||
leechers:
|
||||
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
|
||||
date:
|
||||
text: now
|
||||
downloadvolumefactor:
|
||||
|
@@ -97,7 +97,7 @@ search:
|
||||
poster:
|
||||
selector: img[alt="Cover"]
|
||||
attribute: src
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
files:
|
||||
|
@@ -15,22 +15,23 @@ caps:
|
||||
- {id: 1, cat: Movies/UHD, desc: "UHD"}
|
||||
- {id: 2, cat: Movies/UHD, desc: "UHD - BluRay"}
|
||||
- {id: 8, cat: Movies/UHD, desc: "UHD - TV"}
|
||||
- {id: 6, cat: Movies/UHD, desc: "UHD - WEB-DL"}
|
||||
- {id: 6, cat: Movies/WEB-DL, desc: "UHD - WEB-DL"}
|
||||
- {id: 16, cat: Movies/UHD, desc: "UHD - WEBRip"}
|
||||
- {id: 31, cat: Movies/BluRay, desc: "BluRay Disk"}
|
||||
- {id: 3, cat: Movies/HD, desc: "HD"}
|
||||
- {id: 25, cat: Movies/3D, desc: "HD - 3D"}
|
||||
- {id: 4, cat: Movies/HD, desc: "HD - BluRay"}
|
||||
- {id: 7, cat: Movies/HD, desc: "HD - TV"}
|
||||
- {id: 5, cat: Movies/HD, desc: "HD - WEB-DL"}
|
||||
- {id: 5, cat: Movies/WEB-DL, desc: "HD - WEB-DL"}
|
||||
- {id: 14, cat: Movies/HD, desc: "HD - WEBRip"}
|
||||
- {id: 40, cat: Movies/HD, desc: "PTer"}
|
||||
- {id: 32, cat: PC/Games, desc: "Oyunlar (Games)"}
|
||||
- {id: 9, cat: Movies/SD, desc: "SD"}
|
||||
- {id: 23, cat: Movies/SD, desc: "SD - BluRay"}
|
||||
- {id: 10, cat: Movies/SD, desc: "SD - DVD"}
|
||||
- {id: 10, cat: Movies/DVD, desc: "SD - DVD"}
|
||||
- {id: 36, cat: Movies/SD, desc: "SD - DVDRip"}
|
||||
- {id: 12, cat: Movies/SD, desc: "SD - TV"}
|
||||
- {id: 13, cat: Movies/SD, desc: "SD - WEB-DL"}
|
||||
- {id: 13, cat: Movies/WEB-DL, desc: "SD - WEB-DL"}
|
||||
- {id: 15, cat: Movies/SD, desc: "SD - WEBRip"}
|
||||
- {id: 17, cat: TV, desc: "TV"}
|
||||
- {id: 26, cat: TV/Other, desc: "TV - TV Program"}
|
||||
|
129
src/Jackett.Common/Definitions/brsociety-api.yml
Normal file
129
src/Jackett.Common/Definitions/brsociety-api.yml
Normal file
@@ -0,0 +1,129 @@
|
||||
---
|
||||
id: brsociety-api
|
||||
name: BrSociety (API)
|
||||
description: "BrSociety (SemeandoCC) is a BRAZILIAN Private Torrent Tracker for E-LEARNING"
|
||||
language: pt-BR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://brsociety.club/
|
||||
|
||||
caps:
|
||||
# dont forget to update the case block in the search fields category
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "Cursos (courses)"}
|
||||
- {id: 2, cat: Books/EBook, desc: "eBooks"}
|
||||
- {id: 5, cat: Books/Mags, desc: "Revistas (Magazines)"}
|
||||
- {id: 3, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 4, cat: Other, desc: "Arquivos de Auxilio (Help Files)"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://brsociety.club/\" target =_blank>BrSociety</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category
|
||||
case:
|
||||
"Cursos": 1
|
||||
"eBooks": 2
|
||||
"Revistas": 5
|
||||
"Audiobooks": 3
|
||||
"Arquivos de Auxilio": 4
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
size:
|
||||
selector: size
|
||||
magnet:
|
||||
selector: magnet_link
|
||||
optional: true
|
||||
poster:
|
||||
selector: poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/400x600", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
selector: created_at
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 5.3.0
|
@@ -101,9 +101,6 @@ search:
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["download_check", "download"]
|
||||
magnet:
|
||||
selector: a[href^="magnet:?"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
@@ -178,7 +175,9 @@ search:
|
||||
i[class*="fa-globe text-green"]: 2 # Global Double Upload
|
||||
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 day (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# UNIT3D 5.3.0
|
||||
|
@@ -41,7 +41,7 @@ search:
|
||||
selector: a
|
||||
category:
|
||||
selector: span.cpill
|
||||
category:
|
||||
category|append:
|
||||
# add tv to video
|
||||
optional: true
|
||||
selector: span.cpill
|
||||
|
@@ -68,11 +68,11 @@ search:
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["found ", ""]
|
||||
files:
|
||||
text: 1
|
||||
files:
|
||||
files_optional:
|
||||
selector: span.torrent_files
|
||||
optional: true
|
||||
files:
|
||||
text: "{{ if .Result.files_optional }}{{ .Result.files_optional }}{{ else }}1{{ end }}"
|
||||
size:
|
||||
selector: span.torrent_size
|
||||
seeders:
|
||||
|
@@ -6,7 +6,9 @@ language: pt-PT
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://tracker.btnext.com/ # site forces http, https is not supported
|
||||
- https://tracker.btnext.com/ # site forces https
|
||||
legacylinks:
|
||||
- http://tracker.btnext.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -202,26 +204,24 @@ search:
|
||||
poster:
|
||||
selector: a[rel="fancybox"]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
# a href="http://tracker.btnext.com/data/torrents/imdb/tt0249677.jpg"
|
||||
selector: a[href*="/imdb/tt"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "imdb/(.+?).jpg"
|
||||
- name: prepend
|
||||
args: "https://www.imdb.com/title/"
|
||||
args: tt(\d+)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[title=\"FREE!\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
date:
|
||||
date_ago:
|
||||
selector: td.torrent_name > abbr.timeago
|
||||
optional: true
|
||||
attribute: data-time
|
||||
date:
|
||||
date_year:
|
||||
selector: td.torrent_name:not(:has(abbr.timeago)):not(:contains("day")):not(:contains("Domingo")):not(:contains("Sábado")):not(:contains("Sexta")):not(:contains("Quinta")):not(:contains("Quarta")):not(:contains("Terça")):not(:contains("Segunda")):not(:contains("ontem")):not(:contains("Hoje"))
|
||||
optional: true
|
||||
remove: span, a, br
|
||||
@@ -242,7 +242,7 @@ search:
|
||||
args: " +00:00" # WET
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04 -07:00"
|
||||
date:
|
||||
date_day:
|
||||
selector: td.torrent_name:not(:has(abbr.timeago)):contains("day"), td.torrent_name:not(:has(abbr.timeago)):contains("Domingo"), td.torrent_name:not(:has(abbr.timeago)):contains("Sábado"), td.torrent_name:not(:has(abbr.timeago)):contains("Quinta"), td.torrent_name:not(:has(abbr.timeago)):contains("Sexta"), td.torrent_name:not(:has(abbr.timeago)):contains("Quarta"), td.torrent_name:not(:has(abbr.timeago)):contains("Terça"), td.torrent_name:not(:has(abbr.timeago)):contains("Segunda"), td.torrent_name:not(:has(abbr.timeago)):contains("ontem"), td.torrent_name:not(:has(abbr.timeago)):contains("Hoje")
|
||||
optional: true
|
||||
remove: span, a, br
|
||||
@@ -278,4 +278,6 @@ search:
|
||||
- name: replace
|
||||
args: ["Domingo", "Sunday"]
|
||||
- name: fuzzytime
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day .Result.date_ago }}{{ or .Result.date_year .Result.date_day .Result.date_ago }}{{ else }}now{{ end }}"
|
||||
# TSUE 2.2
|
||||
|
@@ -12,10 +12,10 @@ caps:
|
||||
categorymappings:
|
||||
- {id: 405, cat: Movies, desc: "电影/Movies"}
|
||||
- {id: 406, cat: TV, desc: "连续剧/TV-Series"}
|
||||
- {id: 407, cat: TV/Anime, desc: "动漫/Anime"}
|
||||
- {id: 407, cat: TV/Anime, desc: "动漫/Animation"}
|
||||
- {id: 408, cat: TV/Documentary, desc: "纪录片/Documentary"}
|
||||
- {id: 412, cat: TV, desc: "综艺/TV-Show"}
|
||||
- {id: 404, cat: PC, desc: "软件/Software"}
|
||||
- {id: 404, cat: PC/0day, desc: "软件/Software"}
|
||||
- {id: 402, cat: TV, desc: "资料/Education"}
|
||||
- {id: 411, cat: PC/Games, desc: "游戏/Game"}
|
||||
- {id: 409, cat: Audio, desc: "音乐/Music"}
|
||||
@@ -93,14 +93,27 @@ search:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
date:
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
|
@@ -6,7 +6,7 @@ language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btsow.one/
|
||||
- https://btsow.rest/
|
||||
legacylinks:
|
||||
- https://btos.pw/
|
||||
- https://btio.pw/
|
||||
@@ -28,6 +28,7 @@ legacylinks:
|
||||
- https://btsow.digital/
|
||||
- https://btsow.shop/
|
||||
- https://btsow.us/
|
||||
- https://btsow.one/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
182
src/Jackett.Common/Definitions/byrbt.yml
Normal file
182
src/Jackett.Common/Definitions/byrbt.yml
Normal file
@@ -0,0 +1,182 @@
|
||||
---
|
||||
id: byrbt
|
||||
name: BYRBT
|
||||
description: "BYRBT is a CHINESE Private Torrent Tracker for HD MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://byr.pt/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 408, cat: Movies, desc: "电影Movies"}
|
||||
- {id: 401, cat: TV, desc: "剧集TV Series"}
|
||||
- {id: 404, cat: TV/Anime, desc: "动漫Animations"}
|
||||
- {id: 402, cat: Audio, desc: "音乐Music"}
|
||||
- {id: 405, cat: Other, desc: "综艺Arts"}
|
||||
- {id: 403, cat: Console, desc: "游戏Games"}
|
||||
- {id: 406, cat: PC, desc: "软件Software"}
|
||||
- {id: 407, cat: TV/Documentary, desc: "资料Documentaries"}
|
||||
- {id: 409, cat: TV/Sport, desc: "体育Sports"}
|
||||
- {id: 410, cat: Other/Misc, desc: "纪录Records"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- 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"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
- selector: td.embedded:has(h2:contains("failed!"))
|
||||
- selector: td.embedded:has(h2:contains("Failed"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php?key="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact, 3 NOT
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title_optional:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-last-of-type(6) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-last-of-type(6):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-last-of-type(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-last-of-type(4)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-last-of-type(3)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-last-of-type(2)
|
||||
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
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 1 x 24 x 60 x 60)
|
||||
text: 86400
|
||||
# NexusPHP v1.5 beta 5 20120707
|
@@ -10,7 +10,7 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 186, cat: Books, desc: "E-book"}
|
||||
- {id: 186, cat: Books/EBook, desc: "E-book"}
|
||||
- {id: 199, cat: Movies/SD, desc: "Film/Bluray/Hun"}
|
||||
- {id: 194, cat: Movies/SD, desc: "Film/CAM"}
|
||||
- {id: 60, cat: Movies/DVD, desc: "Film/DVD-R/Eng"}
|
||||
@@ -18,7 +18,7 @@ caps:
|
||||
- {id: 20, cat: Movies/DVD, desc: "Film/DVD9/Hun"}
|
||||
- {id: 181, cat: Movies/HD, desc: "Film/HD/Eng"}
|
||||
- {id: 183, cat: Movies/HD, desc: "Film/HD/Hun"}
|
||||
- {id: 200, cat: Movies/HD, desc: "Film/UHD/Hun"}
|
||||
- {id: 200, cat: Movies/UHD, desc: "Film/UHD/Hun"}
|
||||
- {id: 192, cat: Movies/HD, desc: "Film/x264/Eng"}
|
||||
- {id: 190, cat: Movies/HD, desc: "Film/x264/Hun"}
|
||||
- {id: 70, cat: Movies/SD, desc: "Film/XviD/Eng"}
|
||||
@@ -112,7 +112,7 @@ search:
|
||||
details:
|
||||
selector: a[id][href^="details.php?"]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
poster:
|
||||
|
@@ -50,12 +50,13 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -77,18 +78,12 @@ settings:
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: login.php?takelogin
|
||||
method: post
|
||||
method: cookie
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_factor_auth_code: ""
|
||||
inactivity_: ""
|
||||
returnto: /
|
||||
error:
|
||||
- selector: td.embedded:contains("Sikertelen bejelentkezés")
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: letoltes.php
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php"]
|
||||
|
||||
search:
|
||||
@@ -129,7 +124,7 @@ search:
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["/details", "/download"]
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
poster:
|
||||
|
@@ -121,15 +121,13 @@ search:
|
||||
download:
|
||||
selector: td a[href^="download.php"]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="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: ["');", ""]
|
||||
- name: regexp
|
||||
args: tt(\d+)
|
||||
poster:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: onmouseover
|
||||
@@ -141,7 +139,7 @@ search:
|
||||
size:
|
||||
selector: td:nth-child(10)
|
||||
# two flavours of dates
|
||||
date:
|
||||
date_day:
|
||||
# Yesterday at 10:03:30 PM
|
||||
selector: td:nth-child(5):contains("day")
|
||||
optional: true
|
||||
@@ -150,7 +148,7 @@ search:
|
||||
args: ["[ ]at|[\\s+]|[//\xa0],\\/g", " "]
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
date:
|
||||
date_year:
|
||||
# February 09, 2019, 06:35:08 AM
|
||||
selector: td:nth-child(5):not(:contains("day"))
|
||||
optional: true
|
||||
@@ -161,6 +159,8 @@ search:
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "January 02 2006 03:04:05 PM -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
|
@@ -62,7 +62,7 @@ login:
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
cinfo: "2550|1350|24|-60"
|
||||
cinfo: "2550|1350|1.25|24|-60"
|
||||
iplocked: 0
|
||||
keeploggedin: 1
|
||||
error:
|
||||
|
@@ -90,7 +90,6 @@ search:
|
||||
attribute: src
|
||||
description:
|
||||
selector: div.short_game_genre
|
||||
optional: true
|
||||
date:
|
||||
text: now
|
||||
seeders:
|
||||
|
@@ -112,7 +112,7 @@ search:
|
||||
download:
|
||||
selector: a[href^="download.php/"]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
files:
|
||||
|
@@ -107,22 +107,24 @@ search:
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
title_optional:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
@@ -132,7 +134,7 @@ search:
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date:
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
@@ -141,6 +143,8 @@ search:
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
|
@@ -101,12 +101,14 @@ search:
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
title_optional:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
@@ -121,14 +123,27 @@ search:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
date:
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
|
@@ -132,7 +132,7 @@ search:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
@@ -193,4 +193,10 @@ search:
|
||||
i[class*="fa-globe text-green"]: 2 # Global Double Upload
|
||||
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
|
||||
"*": 1
|
||||
# global MR is 0.5 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.5
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# UNIT3D 1.9.3
|
||||
|
@@ -75,7 +75,7 @@ search:
|
||||
download:
|
||||
selector: a[href*="download.php?id="]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
|
@@ -16,8 +16,9 @@ caps:
|
||||
- {id: 8, cat: Movies/HD, desc: "Filmy HD"}
|
||||
- {id: 11, cat: Movies/SD, desc: "Filmy SD"}
|
||||
- {id: 12, cat: Movies/Other, desc: "Filmy Inne"}
|
||||
- {id: 32, cat: Movies/UHD, desc: "Filmy UHD"}
|
||||
- {id: 2, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 32, cat: Movies/UHD, desc: "Filmy UHD 4K"}
|
||||
- {id: 33, cat: TV/UHD, desc: "TV UHD"}
|
||||
- {id: 2, cat: TV/Anime, desc: "Bajki/Anime"}
|
||||
- {id: 10, cat: TV/Documentary, desc: "TV Dokumentalne"}
|
||||
- {id: 20, cat: TV, desc: "TV Paczki"}
|
||||
- {id: 22, cat: TV/Sport, desc: "TV Sport"}
|
||||
@@ -144,11 +145,10 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) "
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
description:
|
||||
optional: true
|
||||
selector: img[src="pic/Poland.png"]
|
||||
attribute: src
|
||||
filters:
|
||||
|
@@ -11,20 +11,24 @@ links:
|
||||
caps:
|
||||
categorymappings:
|
||||
# Movie
|
||||
- {id: 28, cat: Movies/SD, desc: "Movie - Xvid/x264"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Movie - 720p/1080p"}
|
||||
- {id: 130, cat: Movies, desc: "Movie - Pack"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Movie - SD"}
|
||||
- {id: 155, cat: Movies/DVD, desc: "Movie - DVD"}
|
||||
- {id: 154, cat: Movies/UHD, desc: "Movie - UHD/4K"}
|
||||
- {id: 130, cat: Movies/SD, desc: "Movie - SD-Pack"}
|
||||
# Movie-HD
|
||||
- {id: 32, cat: Movies/HD, desc: "Movie-HD - HD"}
|
||||
- {id: 154, cat: Movies/UHD, desc: "Movie-HD - UHD/4K"}
|
||||
- {id: 162, cat: Movies/HD, desc: "Movie-HD - HD-Pack"}
|
||||
# Serien
|
||||
- {id: 60, cat: TV/SD, desc: "Serien - Xvid/x264"}
|
||||
- {id: 157, cat: TV/HD, desc: "Serien - 720p/1080p"}
|
||||
- {id: 57, cat: TV/SD, desc: "Serien - Pack/SD"}
|
||||
- {id: 59, cat: TV/HD, desc: "Serien - Pack/720p"}
|
||||
- {id: 156, cat: TV/HD, desc: "Serien - Pack/1080p"}
|
||||
- {id: 158, cat: TV/UHD, desc: "Serien - UHD/4K"}
|
||||
# S-Packs
|
||||
- {id: 57, cat: TV/SD, desc: "S-Packs - SD"}
|
||||
- {id: 59, cat: TV/HD, desc: "S-Packs - 720p"}
|
||||
- {id: 156, cat: TV/HD, desc: "S-Packs - 1080p"}
|
||||
# Doku
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku - Alle"}
|
||||
- {id: 160, cat: TV/Documentary, desc: "Doku - HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku - SD"}
|
||||
# App
|
||||
- {id: 12, cat: PC/0day, desc: "App - Win"}
|
||||
- {id: 11, cat: PC, desc: "App - Other"}
|
||||
@@ -35,22 +39,19 @@ caps:
|
||||
- {id: 17, cat: PC/Games, desc: "Game - PC"}
|
||||
- {id: 18, cat: Console, desc: "Game - PS"}
|
||||
- {id: 24, cat: Console/Other, desc: "Game - Wimmelbild"}
|
||||
# Music
|
||||
- {id: 48, cat: Audio/MP3, desc: "Music - mp3"}
|
||||
- {id: 53, cat: Audio/Lossless, desc: "Music - Flac"}
|
||||
- {id: 52, cat: Audio, desc: "Music - Pack"}
|
||||
- {id: 109, cat: Audio/Video, desc: "Music - Video-HD/SD"}
|
||||
# Audio
|
||||
- {id: 159, cat: Audio/Audiobook, desc: "Audio - Hörbuch"}
|
||||
- {id: 48, cat: Audio/MP3, desc: "Audio - mp3"}
|
||||
- {id: 53, cat: Audio/Lossless, desc: "Audio - Flac"}
|
||||
- {id: 52, cat: Audio, desc: "Audio - Pack"}
|
||||
- {id: 109, cat: Audio/Video, desc: "Audio - Video-HD/SD"}
|
||||
# Sport
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport - Alles"}
|
||||
# Sonstiges
|
||||
- {id: 159, cat: Audio/Audiobook, desc: "Sonstiges - Hörbuch"}
|
||||
- {id: 64, cat: Books/Comics, desc: "Sonstiges - Anime"}
|
||||
- {id: 63, cat: Books/Comics, desc: "Sonstiges - Comic"}
|
||||
- {id: 96, cat: Books/EBook, desc: "Sonstiges - E-Book"}
|
||||
- {id: 69, cat: Books, desc: "Sonstiges - Tutorial"}
|
||||
- {id: 71, cat: Books/Other, desc: "Sonstiges - Other"}
|
||||
# Kinder
|
||||
- {id: 102, cat: Movies, desc: "Kinder - Alles"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport - SD"}
|
||||
- {id: 161, cat: TV/Sport, desc: "Sport - HD"}
|
||||
# Paper
|
||||
- {id: 163, cat: Books/Mags, desc: "Paper - Zeitungen"}
|
||||
- {id: 63, cat: Books/Comics, desc: "Paper - Comic"}
|
||||
- {id: 96, cat: Books/EBook, desc: "Paper - E-Book"}
|
||||
# XXX
|
||||
- {id: 113, cat: XXX/DVD, desc: "XXX - DVD"}
|
||||
- {id: 76, cat: XXX, desc: "XXX - HD-SD"}
|
||||
@@ -85,7 +86,7 @@ login:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
pin: "{{ .Config.pin }}"
|
||||
loggiin: "einloggen"
|
||||
loggiin: einloggen
|
||||
error:
|
||||
- selector: div#login_error
|
||||
test:
|
||||
@@ -105,9 +106,9 @@ search:
|
||||
- path: selection.php
|
||||
inputs:
|
||||
search: "{{ .Keywords }}"
|
||||
blah: "0"
|
||||
orderby: "added"
|
||||
sort: "desc"
|
||||
blah: 0
|
||||
orderby: added
|
||||
sort: desc
|
||||
rows:
|
||||
selector: div.selection_wrap
|
||||
fields:
|
||||
@@ -125,65 +126,64 @@ search:
|
||||
category:
|
||||
selector: div.kat_cat_pic
|
||||
case:
|
||||
# Movie-HD
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie-HD\")):has(div.kat_cat_pic_name_b:contains(\"UHD/4K\"))": 154
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie-HD\")):has(div.kat_cat_pic_name_b:contains(\"HD-Pack\"))": 162
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie-HD\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 32
|
||||
# Movie
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"Xvid/x264\"))": "28"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"720p/1080p\"))": "32"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "130"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": "155"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"UHD/4K\"))": "154"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": 155
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"SD-Pack\"))": 130
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 28
|
||||
# Serien
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Xvid/x264\"))": "60"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"720p/1080p\"))": "157"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack/SD\"))": "57"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack/720p\"))": "59"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack/1080p\"))": "156"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"UHD/4K\"))": "158"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Xvid/x264\"))": 60
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"720p/1080p\"))": 157
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"UHD/4K\"))": 158
|
||||
# S-Packs
|
||||
":has(div.kat_cat_pic_name:contains(\"S-Packs\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 57
|
||||
":has(div.kat_cat_pic_name:contains(\"S-Packs\")):has(div.kat_cat_pic_name_b:contains(\"720p\"))": 59
|
||||
":has(div.kat_cat_pic_name:contains(\"S-Packs\")):has(div.kat_cat_pic_name_b:contains(\"1080p\"))": 156
|
||||
# Doku
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"Alle\"))": "15"
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 160
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 15
|
||||
# App
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Win\"))": "12"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Other\"))": "11"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Mac\"))": "10"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Linux/Android\"))": "9"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Win\"))": 12
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Other\"))": 11
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Mac\"))": 10
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Linux/Android\"))": 9
|
||||
# Game
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Nintendo\"))": "131"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": "17"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PS\"))": "18"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Wimmelbild\"))": "24"
|
||||
# Music
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"mp3\"))": "48"
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Flac\"))": "53"
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "52"
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Video-HD/SD\"))": "109"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Nintendo\"))": 131
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": 17
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PS\"))": 18
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Wimmelbild\"))": 24
|
||||
# Audio
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Hörbuch\"))": 159
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"mp3\"))": 48
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Flac\"))": 53
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": 52
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Video-HD/SD\"))": 109
|
||||
# Sport
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"Alles\"))": "62"
|
||||
# Sonstiges
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Hörbuch\"))": "159"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Anime\"))": "64"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Comic\"))": "63"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"E-Book\"))": "96"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Tutorial\"))": "69"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Other\"))": "71"
|
||||
# Kinder
|
||||
":has(div.kat_cat_pic_name:contains(\"Kinder\")):has(div.kat_cat_pic_name_b:contains(\"Alles\"))": "102"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 62
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 161
|
||||
# Paper
|
||||
":has(div.kat_cat_pic_name:contains(\"Paper\")):has(div.kat_cat_pic_name_b:contains(\"Zeitungen\"))": 163
|
||||
":has(div.kat_cat_pic_name:contains(\"Paper\")):has(div.kat_cat_pic_name_b:contains(\"Comic\"))": 63
|
||||
":has(div.kat_cat_pic_name:contains(\"Paper\")):has(div.kat_cat_pic_name_b:contains(\"E-Book\"))": 96
|
||||
# XXX
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": "113"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"HD-SD\"))": "76"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "75"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": 113
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"HD-SD\"))": 76
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": 75
|
||||
# Request
|
||||
":has(div.kat_cat_pic_name:contains(\"Request\")):has(div.kat_cat_pic_name_b:contains(\"spritti01\"))": "151"
|
||||
":has(div.kat_cat_pic_name:contains(\"Request\")):has(div.kat_cat_pic_name_b:contains(\"spritti01\"))": 151
|
||||
poster:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
size:
|
||||
selector: div.selection_unter_ag
|
||||
grabs:
|
||||
text: 0
|
||||
seeders:
|
||||
selector: div.selection_unter_aa
|
||||
leechers:
|
||||
selector: div.selection_unter_aaa
|
||||
date:
|
||||
date_day:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
@@ -193,7 +193,7 @@ search:
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
date_year:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
@@ -204,9 +204,10 @@ search:
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
description:
|
||||
selector: selection_unter_af
|
||||
optional: true
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
|
@@ -59,7 +59,7 @@ search:
|
||||
selector: td:nth-child(4)
|
||||
grabs:
|
||||
selector: td:nth-child(7) span
|
||||
date:
|
||||
date_year:
|
||||
selector: td:nth-child(1):contains("/")
|
||||
optional: true
|
||||
filters:
|
||||
@@ -67,7 +67,7 @@ search:
|
||||
args: " +08:00" # CST (China)
|
||||
- name: dateparse
|
||||
args: "2006/01/02 -07:00"
|
||||
date:
|
||||
date_today:
|
||||
selector: td:nth-child(1):contains("今天")
|
||||
optional: true
|
||||
filters:
|
||||
@@ -77,20 +77,22 @@ search:
|
||||
args: " +08:00" # CST (China)
|
||||
- name: timeparse
|
||||
args: "15:04 -07:00"
|
||||
date:
|
||||
date_yday:
|
||||
selector: td:nth-child(1):contains("昨天")
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: [".+", "yesterday"]
|
||||
- name: fuzzytime
|
||||
date:
|
||||
date_ago:
|
||||
selector: td:nth-child(1):contains("前天")
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: [".+", "2 days"]
|
||||
- name: timeago
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_today .Result.date_yday .Result.date_ago }}{{ or .Result.date_year .Result.date_today .Result.date_yday .Result.date_ago }}{{ else }}now{{ end }}"
|
||||
seeders:
|
||||
selector: td:nth-child(5) span
|
||||
leechers:
|
||||
|
@@ -14,6 +14,9 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
|
@@ -111,7 +111,7 @@ search:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
downloadvolumefactor:
|
||||
|
@@ -7,7 +7,7 @@ type: semi-private
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www2.cpasbien-fr.fr/
|
||||
- https://www.cpasbien-fr.nz/
|
||||
legacylinks:
|
||||
- http://www.cpasbiens.cc/
|
||||
- http://www.cpabien.cm/
|
||||
@@ -41,6 +41,7 @@ legacylinks:
|
||||
- https://vww.cpasbien-fr.fr/
|
||||
- https://wvw.cpasbien-fr.fr/
|
||||
- https://wwwv.cpasbien-fr.fr/
|
||||
- https://www2.cpasbien-fr.fr/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -166,16 +167,16 @@ search:
|
||||
selector: div.poid
|
||||
date:
|
||||
text: now
|
||||
seeders:
|
||||
text: 0
|
||||
seeders:
|
||||
seeders_optional:
|
||||
selector: div.up
|
||||
optional: true
|
||||
leechers:
|
||||
text: 0
|
||||
leechers:
|
||||
seeders:
|
||||
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
|
||||
leechers_optional:
|
||||
selector: div.down
|
||||
optional: true
|
||||
leechers:
|
||||
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
@@ -153,16 +153,16 @@ search:
|
||||
args: ["(\\d+)\\.\\d", "$1 MB"]
|
||||
date:
|
||||
text: now
|
||||
seeders:
|
||||
text: 0
|
||||
seeders:
|
||||
seeders_optional:
|
||||
selector: div.up
|
||||
optional: true
|
||||
leechers:
|
||||
text: 0
|
||||
leechers:
|
||||
seeders:
|
||||
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
|
||||
leechers_optional:
|
||||
selector: div.down
|
||||
optional: true
|
||||
leechers:
|
||||
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
@@ -144,6 +144,10 @@ search:
|
||||
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{ else }}0{{ end }}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: div.inf-table-row
|
||||
|
||||
|
@@ -136,7 +136,7 @@ search:
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-of-type(4)
|
||||
date:
|
||||
date_day:
|
||||
# Danas<br>08:10 AM
|
||||
# Juče<br>06:44 PM
|
||||
optional: true
|
||||
@@ -148,7 +148,7 @@ search:
|
||||
args: ["Juče", "Yesterday"]
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
date:
|
||||
date_year:
|
||||
# Feb 14 2019<br>10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-of-type(6):not(:contains("Juče")):not(:contains("Danas"))
|
||||
@@ -157,6 +157,8 @@ search:
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-of-type(7)
|
||||
grabs:
|
||||
|
@@ -92,7 +92,6 @@ search:
|
||||
selector: a[href^="torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description:
|
||||
optional: true
|
||||
selector: div.tags
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
|
184
src/Jackett.Common/Definitions/cryptichaven.yml
Normal file
184
src/Jackett.Common/Definitions/cryptichaven.yml
Normal file
@@ -0,0 +1,184 @@
|
||||
---
|
||||
id: cryptichaven
|
||||
name: CrypticHaven
|
||||
description: "CrypticHaven Comedy Club (CCC) is a Private Torrent Tracker dedicated to sharing the joy of Comedy."
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.cryptichaven.org/ # https not supported ERR_CONNECTION_REFUSED
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Stand-up
|
||||
- {id: 23, cat: TV, desc: "Stand-up DVD5/9"}
|
||||
- {id: 24, cat: TV, desc: "Stand-up AVI"}
|
||||
- {id: 25, cat: TV, desc: "Stand-up MKV"}
|
||||
- {id: 63, cat: TV, desc: "Stand-up MP4"}
|
||||
- {id: 72, cat: TV, desc: "Stand-up WMV"}
|
||||
- {id: 73, cat: TV, desc: "Stand-up MPG"}
|
||||
# TV Shows Seasons
|
||||
- {id: 27, cat: TV, desc: "USA/Canadian DVD5/9"}
|
||||
- {id: 28, cat: TV, desc: "USA/Canadian AVI"}
|
||||
- {id: 29, cat: TV, desc: "USA/Canadian MKV"}
|
||||
- {id: 66, cat: TV, desc: "USA/Canadian MP4"}
|
||||
- {id: 30, cat: TV, desc: "UK/Europe DVD5/9"}
|
||||
- {id: 31, cat: TV, desc: "UK/Europe AVI"}
|
||||
- {id: 32, cat: TV, desc: "UK/Europe MKV"}
|
||||
- {id: 67, cat: TV, desc: "UK/Europe MP4"}
|
||||
- {id: 33, cat: TV, desc: "NZ/Aussie DVD5/9"}
|
||||
- {id: 34, cat: TV, desc: "NZ/Aussie AVI"}
|
||||
- {id: 35, cat: TV, desc: "NZ/Aussie MKV"}
|
||||
- {id: 68, cat: TV, desc: "NZ/Aussie MP4"}
|
||||
# TV Shows Episodes
|
||||
- {id: 76, cat: TV, desc: "UK/Europe DVD"}
|
||||
- {id: 37, cat: TV, desc: "USA/Canadian eps AVI"}
|
||||
- {id: 38, cat: TV, desc: "USA/Canadian eps MKV"}
|
||||
- {id: 69, cat: TV, desc: "USA/Canadian eps MP4"}
|
||||
- {id: 39, cat: TV, desc: "UK/Europe eps AVI"}
|
||||
- {id: 40, cat: TV, desc: "UK/Europe eps MKV"}
|
||||
- {id: 70, cat: TV, desc: "UK/Europe eps MP4"}
|
||||
- {id: 41, cat: TV, desc: "NZ/Aussie eps AVI"}
|
||||
- {id: 42, cat: TV, desc: "NZ/Aussie eps MKV"}
|
||||
- {id: 71, cat: TV, desc: "NZ/Aussie eps MP4"}
|
||||
# Audio Comedy
|
||||
- {id: 54, cat: Audio, desc: "Comedy Albums"}
|
||||
- {id: 44, cat: Audio, desc: "Radio Shows"}
|
||||
- {id: 45, cat: Audio, desc: "Audio Stand-up"}
|
||||
- {id: 55, cat: Audio, desc: "Bootleg"}
|
||||
- {id: 47, cat: Audio, desc: "Musical Comedy"}
|
||||
- {id: 46, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 56, cat: Audio, desc: "Prank Calls"}
|
||||
- {id: 57, cat: Audio, desc: "Skit/Sketch"}
|
||||
- {id: 58, cat: Audio, desc: "Compilations"}
|
||||
- {id: 61, cat: Audio, desc: "PodCast"}
|
||||
# Comics
|
||||
- {id: 49, cat: Books/Comics, desc: "Comics"}
|
||||
# Books
|
||||
- {id: 51, cat: Books/EBook, desc: "Books"}
|
||||
# Random Oddities
|
||||
- {id: 53, cat: TV, desc: "Random Oddities"}
|
||||
- {id: 59, cat: TV, desc: "Late Night Talkshows"}
|
||||
- {id: 77, cat: TV, desc: "Non-English language"}
|
||||
# BY REQUEST ONLY
|
||||
- {id: 19, cat: Movies, desc: "Movie DVD5/9"}
|
||||
- {id: 20, cat: Movies, desc: "Movie AVI"}
|
||||
- {id: 21, cat: Movies, desc: "Movie MKV"}
|
||||
- {id: 62, cat: Movies, desc: "Movie MP4"}
|
||||
- {id: 74, cat: Movies, desc: "Movie Xvid"}
|
||||
- {id: 75, cat: Movies, desc: "Movie Other"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: data
|
||||
options:
|
||||
data: created
|
||||
seeds: seeders
|
||||
size: size
|
||||
filename: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: DESC
|
||||
options:
|
||||
DESC: desc
|
||||
ASC: 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: span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="/logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: torrents
|
||||
# 0 all, 1 activeonly, 2 deadonly
|
||||
active: 0
|
||||
search: "{{ .Keywords }}"
|
||||
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{ else }}0{{ end }}"
|
||||
fl: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: "table.lista > tbody > tr:has(a[href^=\"index.php?page=torrent-details\"])"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
details:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
description:
|
||||
selector: td a[href^="index.php?page=torrents&category="]
|
||||
attribute: title
|
||||
download:
|
||||
selector: td a[href^="/download.php"]
|
||||
attribute: href
|
||||
date:
|
||||
# 22/01/21 01:28
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile - doesn't adjust for DST
|
||||
- name: dateparse
|
||||
args: "02/01/2006 -07:00"
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
size:
|
||||
selector: td:nth-child(10)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"strong:contains(\"FreeLeech\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 14 days (as seconds = 14 x 24 x 60 x 60)
|
||||
text: 1209600
|
||||
# xbtit
|
@@ -122,6 +122,7 @@ search:
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
@@ -131,7 +132,7 @@ search:
|
||||
poster:
|
||||
selector: a.preview
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
files:
|
||||
@@ -152,12 +153,12 @@ search:
|
||||
leechers:
|
||||
selector: td:nth-last-child(1)
|
||||
downloadvolumefactor:
|
||||
selector: img[src="skin/vilagos_kek/arrowdown.png"] ~ span
|
||||
selector: img[src$="/arrowdown.png"] ~ span
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
uploadvolumefactor:
|
||||
selector: img[src="skin/vilagos_kek/arrowup.png"] ~ span
|
||||
selector: img[src$="/arrowup.png"] ~ span
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
|
@@ -12,12 +12,14 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Film
|
||||
- {id: 119, cat: Movies/DVD, desc: "Film DVD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "Film 4K/2160p"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Film XviD/x264"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Film 720p/1080p"}
|
||||
- {id: 26, cat: Movies/3D, desc: "Film 3D"}
|
||||
# Dont forget to update the category case block on the search section below.
|
||||
# Movie
|
||||
- {id: 119, cat: Movies/DVD, desc: "Movie DVD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "Movie 4K /2160p"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Movie XviD/x264"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Movie 720p/1080p"}
|
||||
- {id: 26, cat: Movies/3D, desc: "Movie 3D"}
|
||||
- {id: 138, cat: Movies, desc: "Movie Packs"}
|
||||
# Serien
|
||||
- {id: 57, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 59, cat: TV, desc: "Serien Pack"}
|
||||
@@ -25,7 +27,7 @@ caps:
|
||||
- {id: 122, cat: TV, desc: "Serien Show"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Serien Doku"}
|
||||
# Audio
|
||||
- {id: 120, cat: Audio/Video, desc: "Audio Video"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Audio Videos"}
|
||||
- {id: 48, cat: Audio/Lossless, desc: "Audio Flac"}
|
||||
- {id: 52, cat: Audio, desc: "Audio Pack"}
|
||||
- {id: 110, cat: Audio/MP3, desc: "Audio MP3"}
|
||||
@@ -45,10 +47,10 @@ caps:
|
||||
# Sport
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
|
||||
# Sonstiges
|
||||
- {id: 64, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 96, cat: Books/EBook, desc: "E-Book"}
|
||||
- {id: 71, cat: Other, desc: "Other"}
|
||||
# Paper
|
||||
- {id: 96, cat: Books/Mags, desc: "Paper Zeitungen"}
|
||||
- {id: 136, cat: Books/EBook, desc: "Paper E-Book"}
|
||||
- {id: 137, cat: Books/Comics, desc: "Paper Comics"}
|
||||
# XXX
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX Pack"}
|
||||
@@ -137,66 +139,69 @@ search:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 name, 1 descr, 2 both
|
||||
blah: 0
|
||||
# name searching is broken. #10788
|
||||
blah: 1
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: "div.selection_wrap{{ if .Config.freeleech }}:root:has(div.onlyup){{ else }}{{ end }}"
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: div.kat_cat_pic
|
||||
case:
|
||||
# Movies
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": "119"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"2160p\"))": "114"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"x264\"))": "28"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"1080p\"))": "32"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"3D\"))": "26"
|
||||
# Movie
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": 119
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"2160p\"))": 114
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"x264\"))": 28
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"1080p\"))": 32
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"3D\"))": 26
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"Packs\"))": 138
|
||||
# Serien
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "57"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "59"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "60"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Show\"))": "122"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Doku\"))": "123"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 57
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": 59
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 60
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Show\"))": 122
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Doku\"))": 123
|
||||
# Audio
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Videos\"))": "120"
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Flac\"))": "48"
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "52"
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"MP3\"))": "110"
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Hörbuch\"))": "63"
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Videos\"))": 120
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Flac\"))": 48
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": 52
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"MP3\"))": 110
|
||||
":has(div.kat_cat_pic_name:contains(\"Audio\")):has(div.kat_cat_pic_name_b:contains(\"Hörbuch\"))": 63
|
||||
# App
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": "12"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": "11"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"macOS\"))": "125"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": 12
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": 11
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"macOS\"))": 125
|
||||
# Doku
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "14"
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "15"
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 14
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 15
|
||||
# Spiel
|
||||
":has(div.kat_cat_pic_name:contains(\"Spiel\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": "126"
|
||||
":has(div.kat_cat_pic_name:contains(\"Spiel\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": "17"
|
||||
":has(div.kat_cat_pic_name:contains(\"Spiel\")):has(div.kat_cat_pic_name_b:contains(\"Konsole\"))": "24"
|
||||
":has(div.kat_cat_pic_name:contains(\"Spiel\")):has(div.kat_cat_pic_name_b:contains(\"Wimmelbild\"))": "121"
|
||||
":has(div.kat_cat_pic_name:contains(\"Spiel\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": 126
|
||||
":has(div.kat_cat_pic_name:contains(\"Spiel\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": 17
|
||||
":has(div.kat_cat_pic_name:contains(\"Spiel\")):has(div.kat_cat_pic_name_b:contains(\"Konsole\"))": 24
|
||||
":has(div.kat_cat_pic_name:contains(\"Spiel\")):has(div.kat_cat_pic_name_b:contains(\"Wimmelbild\"))": 121
|
||||
# Sport
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "61"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "62"
|
||||
# Sonstiges
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Anime\"))": "64"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"E-Book\"))": "96"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Other\"))": "71"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 61
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 62
|
||||
# Paper
|
||||
":has(div.kat_cat_pic_name:contains(\"Paper\")):has(div.kat_cat_pic_name_b:contains(\"Zeitungen\"))": 96
|
||||
":has(div.kat_cat_pic_name:contains(\"Paper\")):has(div.kat_cat_pic_name_b:contains(\"E-Book\"))": 136
|
||||
":has(div.kat_cat_pic_name:contains(\"Paper\")):has(div.kat_cat_pic_name_b:contains(\"Comics\"))": 137
|
||||
# XXX
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "73"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "75"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "76"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Clips\"))": "124"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"book\"))": "133"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 73
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": 75
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 76
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Clips\"))": 124
|
||||
# Internal
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film HD\"))": "128"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film SD\"))": "129"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien HD\"))": "130"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien SD\"))": "131"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiges\"))": "132"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film HD\"))": 128
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film SD\"))": 129
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien HD\"))": 130
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien SD\"))": 131
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiges\"))": 132
|
||||
title:
|
||||
selector: a.selection_a
|
||||
filters:
|
||||
@@ -214,14 +219,14 @@ search:
|
||||
poster:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
date:
|
||||
date_day:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
@@ -233,7 +238,7 @@ search:
|
||||
args: ["Gestern", "Yesterday"]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
date:
|
||||
date_year:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
@@ -244,9 +249,10 @@ search:
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
description:
|
||||
selector: selection_unter_af
|
||||
optional: true
|
||||
seeders:
|
||||
selector: div.selection_unter_aa
|
||||
leechers:
|
||||
|
@@ -446,6 +446,7 @@ caps:
|
||||
- {id: 1086, cat: PC/0day, desc: " | Windows Vista (оригинальные образы)"}
|
||||
- {id: 1087, cat: PC/0day, desc: " | Windows XP (оригинальные образы)"}
|
||||
- {id: 1088, cat: PC/0day, desc: " | Windows OS, выпущенные до 2001 года (оригинальные образы)"}
|
||||
- {id: 1117, cat: PC/0day, desc: " | Сборки Windows 11"}
|
||||
- {id: 1035, cat: PC/0day, desc: " | Сборки Windows 10"}
|
||||
- {id: 843, cat: PC/0day, desc: " | Сборки Windows 8 / 8.1"}
|
||||
- {id: 842, cat: PC/0day, desc: " | Сборки Windows 7"}
|
||||
|
137
src/Jackett.Common/Definitions/datascene-api.yml
Normal file
137
src/Jackett.Common/Definitions/datascene-api.yml
Normal file
@@ -0,0 +1,137 @@
|
||||
---
|
||||
id: datascene-api
|
||||
name: DataScene (API)
|
||||
description: "DataScene (DS) is a ROMANIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://datascene.xyz/
|
||||
legacylinks:
|
||||
- http://datascene.net/
|
||||
- https://datascene.net/
|
||||
|
||||
caps:
|
||||
# dont forget to update the case block in the search fields category
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: PC/Games, desc: "Game"}
|
||||
- {id: 5, cat: PC/0day, desc: "Application"}
|
||||
- {id: 6, cat: XXX, desc: "XXX"}
|
||||
- {id: 7, cat: PC/Mobile-Other, desc: "Mobile"}
|
||||
- {id: 8, cat: Books/EBook, desc: "E-Book"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://datascene.xyz/\" target =_blank>DataScene</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category
|
||||
case:
|
||||
"Movie": 1
|
||||
"TV": 2
|
||||
"Music": 3
|
||||
"Game": 4
|
||||
"Application": 5
|
||||
"XXX": 6
|
||||
"Mobile": 7
|
||||
"E-Book": 8
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/400x600", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
selector: created_at
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 5.3.0
|
@@ -1,26 +1,33 @@
|
||||
---
|
||||
id: hush
|
||||
name: HuSh
|
||||
description: "HuSh is a community-built Movie/TV/FANRES database."
|
||||
language: fr-FR
|
||||
id: datascene
|
||||
name: DataScene
|
||||
description: "DataScene (DS) is a ROMANIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://team-hush.org/
|
||||
- https://datascene.xyz/
|
||||
legacylinks:
|
||||
- http://datascene.net/
|
||||
- https://datascene.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Film"}
|
||||
- {id: 2, cat: TV, desc: "Serie"}
|
||||
- {id: 3, cat: Movies, desc: "Doc"}
|
||||
- {id: 4, cat: Movies, desc: "Dessin Anime"}
|
||||
- {id: 5, cat: Movies, desc: "Rlz Hush"}
|
||||
- {id: 6, cat: Movies, desc: "Media"}
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: PC/Games, desc: "Game"}
|
||||
- {id: 5, cat: PC/0day, desc: "Application"}
|
||||
- {id: 6, cat: XXX, desc: "XXX"}
|
||||
- {id: 7, cat: PC/Mobile-Other, desc: "Mobile"}
|
||||
- {id: 8, cat: Books/EBook, desc: "E-Book"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
@@ -33,25 +40,6 @@ settings:
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTI by another language in release name
|
||||
default: false
|
||||
- name: multilanguage
|
||||
type: select
|
||||
label: Replace MULTI by this language
|
||||
default: FRENCH
|
||||
options:
|
||||
FRENCH: FRENCH
|
||||
MULTI.FRENCH: MULTI.FRENCH
|
||||
ENGLISH: ENGLISH
|
||||
MULTI.ENGLISH: MULTI.ENGLISH
|
||||
VOSTFR: VOSTFR
|
||||
MULTI.VOSTFR: MULTI.VOSTFR
|
||||
- name: vostfr
|
||||
type: checkbox
|
||||
label: Replace VOSTFR with ENGLISH
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
@@ -82,32 +70,34 @@ login:
|
||||
selector: input[name="_token"]
|
||||
attribute: value
|
||||
error:
|
||||
- selector: script[nonce]:contains("Error")
|
||||
message:
|
||||
selector: script[nonce]:contains("Error")
|
||||
- selector: div#ERROR_COPY
|
||||
# test:
|
||||
# path: /
|
||||
# selector: a[href$="/logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: filterTorrents
|
||||
- path: torrents
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
name: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
description: ""
|
||||
mediainfo: ""
|
||||
keywords: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: "{{ .Query.TVDBID }}"
|
||||
tmdb: "{{ .Query.TMDBID }}"
|
||||
mal: ""
|
||||
igdb: ""
|
||||
sorting: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 100
|
||||
page: 0
|
||||
view: list
|
||||
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
malId: ""
|
||||
startYear: ""
|
||||
endYear: ""
|
||||
playlistId: ""
|
||||
collectionId: ""
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
@@ -118,25 +108,9 @@ search:
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
title_phase1:
|
||||
selector: a.view-torrent
|
||||
title_multilang:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\smulti\\s)", " {{ .Config.multilanguage }} "]
|
||||
title_phase2:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase2 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\svostfr\\s)", " ENGLISH "]
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\ssubfrench\\s)", " ENGLISH "]
|
||||
args: "/categories/(\\d+)"
|
||||
title:
|
||||
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
@@ -147,12 +121,10 @@ search:
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "https://images.weserv.nl/?url=" # for display on dashboard
|
||||
- name: append
|
||||
args: "&w=180&h=270" # for display on dashboard
|
||||
- name: replace
|
||||
args: ["https://images.weserv.nl/?url=https://via.placeholder.com/600x900&w=180&h=270", ""]
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/400x600", ""]
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
@@ -161,14 +133,9 @@ search:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
imdb:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
selector: a[href*="themoviedb.org/movie/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
selector: td:has(a.view-torrent) spam:last-child span:last-child
|
||||
remove: a
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
|
||||
- name: re_replace
|
||||
@@ -208,18 +175,23 @@ search:
|
||||
- name: timeago
|
||||
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
|
||||
# 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-trophy data-toggle"]: 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
|
||||
i[class*="fa-angle-double-up"]: 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.4
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# UNIT3D 5.3.0 (custom)
|
@@ -11,9 +11,9 @@ links:
|
||||
- https://www.dnoid.to/
|
||||
- https://www.dnoid.pw/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ly/
|
||||
- https://demonoid.unblockit.ws/
|
||||
- https://demonoid.unblockit.tv/
|
||||
- https://demonoid.torrentbay.to/
|
||||
- https://demonoid.nocensor.work/
|
||||
- https://demonoid.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://demonoid.unblockit.pro/
|
||||
- https://demonoid.unblockit.one/
|
||||
@@ -39,6 +39,10 @@ legacylinks:
|
||||
- https://demonoid.unblockit.uno/
|
||||
- https://demonoid.unblockit.ch/
|
||||
- https://demonoid.nocensor.space/
|
||||
- https://demonoid.unblockit.ws/
|
||||
- https://demonoid.nocensor.work/
|
||||
- https://demonoid.unblockit.kim/
|
||||
- https://demonoid.unblockit.bz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -364,12 +368,14 @@ search:
|
||||
args: ["on ", ""]
|
||||
|
||||
fields:
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href^="/files/details/"]
|
||||
title:
|
||||
title_optional:
|
||||
selector: a[href^="/files/details/"]
|
||||
optional: true
|
||||
attribute: title
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
category:
|
||||
selector: span.torrent__table-info > a:nth-child(2)
|
||||
attribute: href
|
||||
|
128
src/Jackett.Common/Definitions/desitorrents-api.yml
Normal file
128
src/Jackett.Common/Definitions/desitorrents-api.yml
Normal file
@@ -0,0 +1,128 @@
|
||||
---
|
||||
id: desitorrents-api
|
||||
name: DesiTorrents (API)
|
||||
description: "Desitorrents is a Private Torrent Tracker for BOLLYWOOD / TOLLYWOOD / MUSIC"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://desitorrents.tv/
|
||||
- https://desitorrents.rocks/
|
||||
|
||||
caps:
|
||||
# dont forget to update the case block in the search fields category
|
||||
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, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://desitorrents.tv/\" target =_blank>DesiTorrents</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: [^$, "%"]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category
|
||||
case:
|
||||
Movies: 1
|
||||
TV: 2
|
||||
Music: 3
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/400x600", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
selector: created_at
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 5.3.0 (custom)
|
187
src/Jackett.Common/Definitions/desitorrents.yml
Normal file
187
src/Jackett.Common/Definitions/desitorrents.yml
Normal file
@@ -0,0 +1,187 @@
|
||||
---
|
||||
id: desitorrents
|
||||
name: DesiTorrents
|
||||
description: "Desitorrents is a Private Torrent Tracker for BOLLYWOOD / TOLLYWOOD / MUSIC"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://desitorrents.tv/
|
||||
- https://desitorrents.rocks/
|
||||
|
||||
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, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
form: form[action$="/login"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: input[name="_token"]
|
||||
attribute: value
|
||||
error:
|
||||
- selector: div#ERROR_COPY
|
||||
# test:
|
||||
# path: /
|
||||
# selector: a[href$="/logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
name: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
description: ""
|
||||
mediainfo: ""
|
||||
keywords: ""
|
||||
uploader: ""
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
malId: ""
|
||||
startYear: ""
|
||||
endYear: ""
|
||||
playlistId: ""
|
||||
collectionId: ""
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr:has(a[href*="/download/"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/(\\d+)"
|
||||
title:
|
||||
selector: td div a
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: td div a
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/400x600", ""]
|
||||
size:
|
||||
selector: td:nth-last-child(6)
|
||||
seeders:
|
||||
selector: td:nth-last-child(5)
|
||||
leechers:
|
||||
selector: td:nth-last-child(4)
|
||||
grabs:
|
||||
selector: td:nth-last-child(3)
|
||||
date:
|
||||
selector: td:nth-last-child(2)
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
|
||||
- name: re_replace
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
|
||||
- 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)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (an)", "year"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(För |und)", ""] # Misc removals
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-id-badge"]: 0 # 24 Hour FreeLeech From BON Store
|
||||
i[class*="fa-trophy"]: 0 # Special FreeLeech For Certain User Groups
|
||||
i[class*="fa-coins"]: 0 # Freeleech From Token
|
||||
i[class*="fa-globe"]: 0 # Global Freeleech
|
||||
i[class*="fa-star"]: 0 # Freeleech
|
||||
i[class*="fa-certificate"]: 0 # Featured Torrent
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-gem"]: 2 # Single Torrent Double Upload
|
||||
i[class*="fa-globe"]: 2 # Global Double Upload
|
||||
i[class*="fa-certificate"]: 2 # Featured Torrent
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# UNIT3D 5.3.0 (custom)
|
@@ -126,7 +126,7 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src='(.*?)'
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
description:
|
||||
|
222
src/Jackett.Common/Definitions/digitalcore.yml
Normal file
222
src/Jackett.Common/Definitions/digitalcore.yml
Normal file
@@ -0,0 +1,222 @@
|
||||
---
|
||||
id: digitalcore
|
||||
name: DigitalCore
|
||||
description: "DigitalCore is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://digitalcore.club/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies/DVD, desc: Movies/DVDR}
|
||||
- {id: 2, cat: Movies/SD, desc: Movies/SD}
|
||||
- {id: 3, cat: Movies/BluRay, desc: Movies/BluRay}
|
||||
- {id: 4, cat: Movies/UHD, desc: Movies/4K}
|
||||
- {id: 5, cat: Movies/HD, desc: Movies/720p}
|
||||
- {id: 6, cat: Movies/HD, desc: Movies/1080p}
|
||||
- {id: 7, cat: Movies/HD, desc: Movies/PACKS}
|
||||
- {id: 8, cat: TV/HD, desc: TV/720p}
|
||||
- {id: 9, cat: TV/HD, desc: TV/1080p}
|
||||
- {id: 10, cat: TV/SD, desc: TV/SD}
|
||||
- {id: 11, cat: TV/SD, desc: TV/DVDR}
|
||||
- {id: 12, cat: TV/HD, desc: TV/PACKS}
|
||||
- {id: 13, cat: TV/UHD, desc: TV/4K}
|
||||
- {id: 14, cat: TV/HD, desc: TV/BluRay}
|
||||
- {id: 17, cat: Other, desc: Unknown}
|
||||
- {id: 18, cat: PC/0day, desc: Apps/0day}
|
||||
- {id: 20, cat: PC/ISO, desc: Apps/PC}
|
||||
- {id: 21, cat: PC/Mac, desc: Apps/Mac}
|
||||
- {id: 33, cat: PC, desc: Apps/Tutorials}
|
||||
- {id: 22, cat: Audio/MP3, desc: Music/MP3}
|
||||
- {id: 23, cat: Audio/Lossless, desc: Music/FLAC}
|
||||
- {id: 24, cat: Audio/Video, desc: Music/MTV}
|
||||
- {id: 29, cat: Audio, desc: Music/PACKS}
|
||||
- {id: 25, cat: PC/Games, desc: Games/PC}
|
||||
- {id: 26, cat: Console, desc: Games/NSW}
|
||||
- {id: 27, cat: PC/Mac, desc: Games/Mac}
|
||||
- {id: 28, cat: Books/EBook, desc: Ebooks}
|
||||
- {id: 30, cat: XXX/SD, desc: XXX/SD}
|
||||
- {id: 31, cat: XXX, desc: XXX/HD}
|
||||
- {id: 32, cat: XXX/UHD, desc: XXX/4K}
|
||||
- {id: 35, cat: XXX/SD, desc: XXX/Movies/SD}
|
||||
- {id: 36, cat: XXX, desc: XXX/Movies/HD}
|
||||
- {id: 37, cat: XXX/UHD, desc: XXX/Movies/4K}
|
||||
- {id: 34, cat: XXX/ImageSet, desc: XXX/Imagesets}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-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 with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: d
|
||||
options:
|
||||
d: created
|
||||
up: seeders
|
||||
s: size
|
||||
n: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: api/v1/torrents
|
||||
response:
|
||||
type: json
|
||||
noResultsMessage: ""
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
dead: true
|
||||
extendedDead: true
|
||||
extendedSearch: false
|
||||
freeleech: "{{ if .Config.freeleech }}true{{ else }}false{{ end }}"
|
||||
index: 0
|
||||
limit: 100
|
||||
order: "{{ .Config.type }}"
|
||||
page: search
|
||||
searchText: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
section: all
|
||||
sort: "{{ .Config.sort }}"
|
||||
stereoscopic: false
|
||||
watchview: false
|
||||
|
||||
rows:
|
||||
selector: $
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category
|
||||
title:
|
||||
selector: name
|
||||
id:
|
||||
selector: id
|
||||
details:
|
||||
text: "{{ .Config.sitelink }}torrent/{{ .Result.id }}/"
|
||||
download:
|
||||
text: "{{ .Config.sitelink }}api/v1/torrents/download/{{ .Result.id }}"
|
||||
imdbid:
|
||||
selector: imdbid2
|
||||
imdbidfull:
|
||||
optional: true
|
||||
selector: imdbid2
|
||||
posternormal:
|
||||
optional: true
|
||||
selector: firstpic
|
||||
posterimdb:
|
||||
optional: true
|
||||
text: "{{ if .Result.imdbid }}{{ .Config.sitelink }}img/imdb/{{ .Result.imdbidfull }}.jpg{{ else }}{{ end }}"
|
||||
poster:
|
||||
text: "{{ if .Result.posterimdb }}{{ .Result.posterimdb }}{{ else }}{{ .Result.posternormal }}{{ end }}"
|
||||
date:
|
||||
# 2021-10-27 12:07:22
|
||||
selector: added
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
files:
|
||||
selector: numfiles
|
||||
grabs:
|
||||
selector: times_completed
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: frileech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.1
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
titledesc:
|
||||
optional: true
|
||||
selector: title
|
||||
yeardesc:
|
||||
optional: true
|
||||
selector: year
|
||||
genresdesc:
|
||||
optional: true
|
||||
selector: genres
|
||||
taglinedesc:
|
||||
optional: true
|
||||
selector: tagline
|
||||
castdesc:
|
||||
optional: true
|
||||
selector: cast
|
||||
ratingdesc:
|
||||
optional: true
|
||||
selector: rating
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["0", ""]
|
||||
sectiondesc:
|
||||
optional: true
|
||||
selector: section
|
||||
predatedesc:
|
||||
selector: preDate
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["0000-00-00 00:00:00", ""]
|
||||
p2ptag:
|
||||
selector: p2p
|
||||
case:
|
||||
0: ""
|
||||
1: P2P
|
||||
packtag:
|
||||
selector: pack
|
||||
case:
|
||||
0: ""
|
||||
1: Pack
|
||||
reqidtag:
|
||||
selector: reqid
|
||||
case:
|
||||
0: ""
|
||||
"*": Request
|
||||
tagdesc:
|
||||
optional: true
|
||||
text: "{{ if .Result.p2ptag }}{{ .Result.p2ptag }}, {{ else }}{{ end }}{{ if .Result.packtag }}{{ .Result.packtag }}, {{ else }}{{ end }}{{ if .Result.reqidtag }}{{ .Result.reqidtag }}{{ else }}{{ end }}"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(.+?), $"
|
||||
description:
|
||||
text: "{{ if .Result.titledesc }}Title: {{ .Result.titledesc }}</br>{{ else }}{{ end }}{{ if .Result.yeardesc }}Year: {{ .Result.yeardesc }}</br>{{ else }}{{ end }}{{ if .Result.genresdesc }}Genres: {{ .Result.genresdesc }}</br>{{ else }}{{ end }}{{ if .Result.taglinedesc }}Tagline: {{ .Result.taglinedesc }}</br>{{ else }}{{ end }}{{ if .Result.castdesc }}Cast: {{ .Result.castdesc }}</br>{{ else }}{{ end }}{{ if .Result.ratingdesc }}Rating: {{ .Result.ratingdesc }}</br>{{ else }}{{ end }}{{ if .Result.tagdesc }}Tags: {{ .Result.tagdesc }}</br>{{ else }}{{ end }}{{ if .Result.predatedesc }}PRE: {{ .Result.predatedesc }}</br>{{ else }}{{ end }}{{ if .Result.sectiondesc }}Section: {{ .Result.sectiondesc }}{{ else }}{{ end }}"
|
||||
# json rartracker api v1
|
@@ -113,22 +113,24 @@ search:
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
title_optional:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdb:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
@@ -138,7 +140,7 @@ search:
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date:
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
@@ -147,6 +149,8 @@ search:
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
|
@@ -116,13 +116,13 @@ search:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
title:
|
||||
title_vose:
|
||||
selector: a[href^="index.php?page=torrent-details"][onmouseover]:contains("VOSE")
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " English"
|
||||
title:
|
||||
title_notvose:
|
||||
selector: a[href^="index.php?page=torrent-details"][onmouseover]:not(:contains("VOSE"))
|
||||
optional: true
|
||||
filters:
|
||||
@@ -136,6 +136,8 @@ search:
|
||||
args: ["UHDRip", "Bluray-2160p"] # Fix for Radarr
|
||||
- name: replace
|
||||
args: ["2160p BDRip", "Bluray-2160p"] # Fix for Radarr
|
||||
title:
|
||||
text: "{{ if .Result.title_vose }}{{ .Result.title_vose }}{{ else }}{{ .Result.title_notvose }}{{ end }}"
|
||||
poster:
|
||||
selector: a[onmouseover][href^="index.php?page=torrent-details"]
|
||||
attribute: onmouseover
|
||||
|
162
src/Jackett.Common/Definitions/docspedia.yml
Normal file
162
src/Jackett.Common/Definitions/docspedia.yml
Normal file
@@ -0,0 +1,162 @@
|
||||
---
|
||||
id: docspedia
|
||||
name: DocsPedia
|
||||
description: "DocsPedia is a Private Torrent Tracker for E-learning"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.docspedia.world/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 77, cat: PC, desc: "3D Models"}
|
||||
- {id: 65, cat: Audio, desc: "Audio"}
|
||||
- {id: 64, cat: Books/EBook, desc: "Books"}
|
||||
- {id: 66, cat: Books, desc: "Business"}
|
||||
- {id: 68, cat: Books/Comics, desc: "Comics"}
|
||||
- {id: 59, cat: TV/Documentary, desc: "Docs/Movies"}
|
||||
- {id: 60, cat: TV/Documentary, desc: "Docs/TV"}
|
||||
- {id: 71, cat: Other, desc: "Fonts"}
|
||||
- {id: 72, cat: Books, desc: "IT Books"}
|
||||
- {id: 57, cat: Books/Mags, desc: "Magazine"}
|
||||
- {id: 58, cat: Books, desc: "Medicine"}
|
||||
- {id: 70, cat: Books/EBook, desc: "Occult"}
|
||||
- {id: 74, cat: Audio, desc: "Podcasts"}
|
||||
- {id: 69, cat: Other, desc: "PS Resources"}
|
||||
- {id: 76, cat: Books, desc: "Self-Help"}
|
||||
- {id: 56, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 61, cat: Other, desc: "Tutorials"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
book-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img.cimage
|
||||
input: captcha
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.subheader:contains("failed")
|
||||
test:
|
||||
path: my.php
|
||||
selector: a[href$="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 incldead, 2 onlydead, 3 freeleech, 4 480p, 5 720p, 6 1080p, 7 4k
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: div.torrentrow:has(a[href^="download.php?torrent="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) width"
|
||||
files:
|
||||
selector: div.torrenttable:nth-last-child(6)
|
||||
size:
|
||||
selector: div.torrenttable:nth-last-child(4)
|
||||
grabs:
|
||||
selector: div.torrenttable:nth-last-child(3)
|
||||
seeders:
|
||||
selector: div.torrenttable:nth-last-child(2)
|
||||
leechers:
|
||||
selector: div.torrenttable:nth-last-child(1)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="images/free.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
date_year:
|
||||
remove: a
|
||||
# Jul 4 2019 08:04 AM
|
||||
selector: div.torrenttable:nth-child(2):not(:contains("day"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
date_day:
|
||||
remove: a
|
||||
# Today 02:40 PM
|
||||
# Yesterday 09:10 AM
|
||||
selector: div.torrenttable:nth-child(2):contains("day")
|
||||
optional: true
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# TBdev
|
@@ -39,6 +39,8 @@ caps:
|
||||
- {id: 38, cat: TV/Documentary, desc: "Doku - HD"}
|
||||
- {id: 37, cat: TV/Documentary, desc: "Doku - SD"}
|
||||
- {id: 144, cat: TV/Documentary, desc: "Doku - Pack SD/HD"}
|
||||
# Empfohlene
|
||||
- {id: 150, cat: Other, desc: "Empfohlene - Torrents"}
|
||||
# Games
|
||||
- {id: 16, cat: PC/Games, desc: "Games - PC"}
|
||||
- {id: 14, cat: Console/Other, desc: "Games - Wimmelbild"}
|
||||
@@ -150,6 +152,8 @@ search:
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": 144
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 38
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 37
|
||||
# Empfohlene
|
||||
":has(div.kat_cat_pic_name:contains(\"Empfohlene\")):has(div.kat_cat_pic_name_b:contains(\"Torrents\"))": 150
|
||||
# Games
|
||||
":has(div.kat_cat_pic_name:contains(\"Games\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": 16
|
||||
":has(div.kat_cat_pic_name:contains(\"Games\")):has(div.kat_cat_pic_name_b:contains(\"Wimmelbild\"))": 14
|
||||
@@ -192,7 +196,7 @@ search:
|
||||
selector: div.selection_unter_aa
|
||||
leechers:
|
||||
selector: div.selection_unter_aaa
|
||||
date:
|
||||
date_day:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
@@ -202,7 +206,7 @@ search:
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
date_year:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
@@ -213,9 +217,10 @@ search:
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
description:
|
||||
selector: selection_unter_af
|
||||
optional: true
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
":root:has(div.onlyup)": 0
|
||||
|
@@ -36,6 +36,8 @@ caps:
|
||||
- {id: 64, cat: Books/EBook, desc: "Literatuur"}
|
||||
- {id: 65, cat: Books/EBook, desc: "Non-Fiction"}
|
||||
- {id: 66, cat: Books/EBook, desc: "Bladmuziek"}
|
||||
- {id: 67, cat: Books/EBook, desc: "young Adult"}
|
||||
- {id: 68, cat: Books/EBook, desc: "feelgood romans"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -159,16 +161,16 @@ search:
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "2 January 2006 15:04:05 -07:00"
|
||||
seeders:
|
||||
text: 0
|
||||
seeders:
|
||||
seeders_optional:
|
||||
optional: true
|
||||
selector: td:nth-child(4) table tr:nth-child(3) td:nth-child(5) font b
|
||||
leechers:
|
||||
text: 0
|
||||
leechers:
|
||||
seeders:
|
||||
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
|
||||
leechers_optional:
|
||||
optional: true
|
||||
selector: td:nth-child(4) table tr:nth-child(3) td:nth-child(5) font font b
|
||||
leechers:
|
||||
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/freedlfsu.gif"]: 0
|
||||
|
@@ -1,146 +0,0 @@
|
||||
---
|
||||
id: efectodoppler
|
||||
name: Efecto Doppler
|
||||
description: "Efecto Doppler is a SPANISH Private Torrent Tracker for MUSIC"
|
||||
language: es-ES
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://efectodoppler.pw/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Audio, desc: "Música"}
|
||||
- {id: 2, cat: PC, desc: "Aplicaciones"}
|
||||
- {id: 3, cat: Books/EBook, desc: "Libros Electrónicos"}
|
||||
- {id: 4, cat: Audio/Audiobook, desc: "Audiolibros"}
|
||||
- {id: 5, cat: Audio/Video, desc: "Vídeos de aprendizaje"}
|
||||
- {id: 6, cat: Books/Comics, desc: "Comedia"}
|
||||
- {id: 7, cat: Books/Mags, desc: "Revistas"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
music-search: [q, album, artist]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: time
|
||||
options:
|
||||
time: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
keeplogged: 1
|
||||
error:
|
||||
- selector: form > span.warning
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php?auth="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
searchstr: "{{ .Keywords }}"
|
||||
artistname: "{{ .Query.Artist }}"
|
||||
groupname: "{{ .Query.Album }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
# 1 gold, 2 neutral, 3 other, 0 normal
|
||||
freetorrent: "{{ if .Config.freeleech }}3{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: tr.torrent
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: div.tooltip
|
||||
case:
|
||||
div.cats_música: 1
|
||||
div.cats_aplicaciones: 2
|
||||
div.cats_libroselectrónicos: 3
|
||||
div.cats_audiolibros: 4
|
||||
div.cats_vídeosdeaprendizaje: 5
|
||||
div.cats_comedia: 6
|
||||
div.cats_revistas: 7
|
||||
artist:
|
||||
selector: a[href^="artist.php?id="]
|
||||
optional: true
|
||||
title:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ if .Result.artist }}{{ .Result.artist }}{{ else }}Varios artistas{{ end }} - "
|
||||
details:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div.group_image img
|
||||
attribute: src
|
||||
download:
|
||||
selector: a[href^="torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description:
|
||||
selector: div.torrent_info
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(4) span
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006, 15:04 -07:00"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
strong.torrent_label[title*="Neutral"]: 0
|
||||
strong.torrent_label[title*="Oro"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
strong.torrent_label[title*="Neutral"]: 0
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.6
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# engine n/a
|
@@ -6,8 +6,8 @@ language: es-ES
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://elitetorrent.com/
|
||||
- https://elitetorrent.nocensor.work/
|
||||
- https://elitetorrent.app/
|
||||
- https://elitetorrent.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://www.elitetorrent.biz/
|
||||
- https://www.elitetorrent.io/
|
||||
@@ -24,8 +24,9 @@ legacylinks:
|
||||
- https://www.elitetorrent.to/
|
||||
- https://www.elitetorrent.se/
|
||||
- https://www.elitetorrent.com/
|
||||
- https://elitetorrent.app/
|
||||
- https://elitetorrent.si/
|
||||
- https://elitetorrent.nocensor.work/
|
||||
- https://elitetorrent.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -130,14 +131,16 @@ search:
|
||||
poster:
|
||||
selector: .imagen img
|
||||
attribute: data-src
|
||||
size:
|
||||
text: "512 MB"
|
||||
size:
|
||||
size_optional:
|
||||
selector: .voto1
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["desc.", "512 MB"]
|
||||
- name: replace
|
||||
args: ["s", ""]
|
||||
size:
|
||||
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}512 MB{{ end }}"
|
||||
date:
|
||||
text: now
|
||||
seeders:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user