Compare commits

...

228 Commits

Author SHA1 Message Date
kaso17
a9c5477003 Norbits: fix login error handling 2017-04-21 20:34:03 +02:00
kaso17
a85e00f236 cardigann: fix relative url handling 2017-04-21 20:22:47 +02:00
kaso17
fb3ef03f77 Add files via upload 2017-04-20 20:57:30 +02:00
kaso17
77bc342ce9 XThor: update TV/Anime categories 2017-04-20 18:01:25 +02:00
kaso17
4785955941 Hon3y HD: fix search 2017-04-20 17:55:25 +02:00
kaso17
60b9a34cea Torrent9: remove username/password fields 2017-04-20 17:51:21 +02:00
kaso17
2e7f2056c4 DigitalHive: fix date parsing for completed torrents 2017-04-20 17:40:54 +02:00
kaso17
e1afea35b7 Xthor: fix and simplify category handling 2017-04-20 17:06:28 +02:00
kaso17
566817c7cd Nyaa: fix DL link and cleanup 2017-04-20 13:29:17 +02:00
kaso17
e8eb4319df Merge branch 'master' of https://github.com/Jackett/Jackett.git 2017-04-20 13:00:31 +02:00
kaso17
b002220cc3 ImmortalSeed: update login 2017-04-20 13:00:24 +02:00
Hugofm
458395d393 Update BJShare.cs (#1297)
Improvements
2017-04-20 18:22:45 +10:00
d2dyno
44aa396564 Fix IPT raw category (#1296)
Was marked as SD not HD
2017-04-20 18:21:14 +10:00
Brian Hartvigsen
049d035c96 BitHDTV - Stop trying to keep up with changing width (#1291) 2017-04-17 14:25:54 +10:00
flightlevel
14f530a32c MoreThanTv: Add Other category (#1292) 2017-04-17 14:22:00 +10:00
flightlevel
f2def1f615 Normalise Line endings (#1284)
* Add .gitattributes

* Normalise line endings
2017-04-15 18:45:10 +10:00
adamwinn
ed601a0f7d Parsing fixes for iloveclassics and bigtorrent (#1275)
* add

* Add 3D Torrents

* Accidently commited an old version of the 3dtorrents yaml file

* Allow searching by categories for TPB

* add

* add

* Fix error when pressing the Test button for TPB.  This will remove searching by category for the time being.

* Change HDPter to Ourbits

* iloveclassics - the date is not within td:nth-child(2) div, but rather just td:nth-child(2), so remove the div
bigtorrent - grabs and files data are not displayed in the grid.  Seeders and leechers data was off by a column
2017-04-14 11:14:29 +10:00
adamwinn
271a386722 Add tracker tasmanit (#1269)
* add

* Add 3D Torrents

* Accidently commited an old version of the 3dtorrents yaml file

* Allow searching by categories for TPB

* add

* add

* Fix error when pressing the Test button for TPB.  This will remove searching by category for the time being.

* Change HDPter to Ourbits

* Add tracker Tasmanit
2017-04-11 20:55:24 +10:00
flightlevel
21d7c0e94f Freshon: Fix parsing (#1273) 2017-04-11 20:54:23 +10:00
flightlevel
f9a2da83b2 Digitalhive (#1272)
* Attempt to fix DigitalHive Date Parsing

* Add reference
2017-04-11 20:51:14 +10:00
adamwinn
daf2ea202c Cinematik date parse fix (#1263)
* add

* Add 3D Torrents

* Accidently commited an old version of the 3dtorrents yaml file

* Allow searching by categories for TPB

* add

* add

* Fix error when pressing the Test button for TPB.  This will remove searching by category for the time being.

* Change HDPter to Ourbits

* Replace chinese date characters with English characters

* cinematik already has “ago” at the end of the dates.  Add in div.addedtor to select the actual element the date is in.
2017-04-10 22:58:26 +10:00
adamwinn
1a57028ca6 HDChina date parsing fix (#1261)
* add

* Add 3D Torrents

* Accidently commited an old version of the 3dtorrents yaml file

* Allow searching by categories for TPB

* add

* add

* Fix error when pressing the Test button for TPB.  This will remove searching by category for the time being.

* Change HDPter to Ourbits

* Replace chinese date characters with English characters
2017-04-10 22:51:46 +10:00
flightlevel
0a2176fff4 Open links in new tab (#1256) 2017-04-09 18:16:34 +10:00
adamwinn
4d09dfb80f Add in BIGTorrent categories (#1253) 2017-04-09 12:09:07 +10:00
adamwinn
2c5a8914a4 Fix TPB category searching (#1252)
* add

* Add 3D Torrents

* Accidently commited an old version of the 3dtorrents yaml file

* Allow searching by categories for TPB

* add

* add

* Fix error when pressing the Test button for TPB.  This will remove searching by category for the time being.

* Change HDPter to Ourbits

* KG improvements.
Fixed 1) and 2) for #1241

* Add Torrent9

* Add tracker HDChina

* Fix searching by category for TPB.  This also fixes having Jackett fail when pressing the Test button for TPB.
2017-04-09 12:05:22 +10:00
adamwinn
335aed712a Add tracker HDChina (#1251)
* add

* Add 3D Torrents

* Accidently commited an old version of the 3dtorrents yaml file

* Allow searching by categories for TPB

* add

* add

* Fix error when pressing the Test button for TPB.  This will remove searching by category for the time being.

* Change HDPter to Ourbits

* KG improvements.
Fixed 1) and 2) for #1241

* Add Torrent9

* Add tracker HDChina
2017-04-09 11:56:31 +10:00
adamwinn
2293d583e9 Add torrent9 (#1250)
* add

* Add 3D Torrents

* Accidently commited an old version of the 3dtorrents yaml file

* Allow searching by categories for TPB

* add

* add

* Fix error when pressing the Test button for TPB.  This will remove searching by category for the time being.

* Change HDPter to Ourbits

* KG improvements.
Fixed 1) and 2) for #1241

* Add Torrent9
2017-04-09 11:54:46 +10:00
adamwinn
bae9e93c36 Karagarga improvements (#1249)
* add

* Add 3D Torrents

* Accidently commited an old version of the 3dtorrents yaml file

* Allow searching by categories for TPB

* add

* add

* Fix error when pressing the Test button for TPB.  This will remove searching by category for the time being.

* Change HDPter to Ourbits

* KG improvements.
Fixed 1) and 2) for #1241
2017-04-09 11:54:03 +10:00
adamwinn
5c0057269e Fix error when pressing the Test button for TPB (#1248)
* Fix error when pressing the Test button for TPB.  This will remove searching by category for the time being.

* Change HDPter to Ourbits
2017-04-09 11:53:07 +10:00
adamwinn
1bdaccbe95 Add tracker HDBits (#1235) 2017-04-05 07:31:07 +02:00
adamwinn
a0dcab394a support TPB categories search (#1233) 2017-04-04 21:37:11 +02:00
adamwinn
27886b769a Misc parsing fixes (#1234) 2017-04-04 21:36:06 +02:00
adamwinn
4baac26e76 TPB categories (#1229) 2017-04-01 14:34:38 +02:00
Brian Hartvigsen
cc43bbacd6 Fix Bit-HDTV (#1232)
Table size changed and now there can be more then 1 table (used for
pinned results.)  This will now search all tables, skipping header row.
2017-04-01 14:34:23 +02:00
adamwinn
3823019741 Add tracker 3dtorrents (#1228) 2017-04-01 14:32:53 +02:00
Hippolyte Barraud
a825eca9e5 T411 proper handling of media categories (#1217)
* T411 proper handling of media categories

Before only TV Series were supported, the T411 indexer should now behave much better for specific content (TV Animation Series, TV Series, Movies, eBook...)

* Corrected possible nullref

* Fixed List constructor size parameter
2017-03-30 20:16:49 +02:00
adamwinn
6f2135ecb5 Add I Love Classics (#1220)
* Add I Love Classics

* add andmatch
2017-03-30 20:06:47 +02:00
kaso17
8a7dd46d53 AlphaRatio: add categories 2017-03-28 20:33:30 +02:00
kaso17
0cc9cb019b Elite Tracker: fix empty result parsing 2017-03-28 20:18:54 +02:00
d2dyno
bd1b47f049 Update link from old repo (#1215) 2017-03-28 20:02:59 +02:00
adamwinn
717d5e5796 Add tracker BIGTorrent (#1213) 2017-03-28 20:02:23 +02:00
Hippolyte Barraud
0dd0cb65fd T411: fix TV Series episode category offset (#1210)
T411 weirdly changed their internal ID mapping to episode number.
Eg. Jackett would return S03E05 instead of S03E04.
I also cleaned the code.
2017-03-28 20:01:56 +02:00
rafuz
adcc430f4f TNTVillage: Change reported size based on category (#1207)
The size reported from the plugin will be defined by category matching.
This is needed for applications like Sonarr/Couchpotato/Headphone to work.
2017-03-28 20:01:32 +02:00
adamwinn
9ecc7e8a38 Add tracker waffles (#1205) 2017-03-28 20:01:03 +02:00
adamwinn
39e3af42ca Add The Empire (#1204) 2017-03-28 20:00:04 +02:00
adamwinn
77615227dc Correct the HTML parsing so rows are returned (#1211) 2017-03-28 19:59:37 +02:00
Hippolyte Barraud
7df1223043 Updated T411 to new domain name (#1196)
https://api.t411.li -> https://api.t411.ai
2017-03-25 14:36:33 +01:00
kaso17
2de539a240 Hounddawgs: fix banner parsing 2017-03-24 09:42:00 +01:00
kaso17
d905887870 Torrenting: fix parsing 2017-03-24 09:41:45 +01:00
kaso17
04432b3a2d ShareSpaceDB: update default URL 2017-03-24 09:41:31 +01:00
kaso17
1294ea765a HD-Bits.com: some improvements 2017-03-24 09:15:33 +01:00
kaso17
70a46e58d1 hdbc: rename to hdbitscom 2017-03-24 08:39:42 +01:00
adamwinn
17403d394a Misc fixes (#1186)
* Add tracker Cinematik

* Add support for Cinemageddon

* Add support for karagarga

* Add support for Classix

* Fix KG to not show the subtitles output in the name column
Fix HD-Bits.com to change the name from “HDBC” to “HDBitscom”.  The current parser must not allow for punctuation so instead of “HD-Bits.com”, I had to do “HDBitscom”.  Also, remove “Freeleech!” from the description of the torrent name

* Update karagarga.yml

attempt to fix date parsing

* Update hdbc.yml
2017-03-24 08:31:31 +01:00
kaso17
7e44145355 Demonoid: update default URL 2017-03-23 19:51:33 +01:00
kaso17
16e8517adb HDTorrents.it cleanup 2017-03-23 05:43:27 +01:00
bonny1992
4bffae42f1 Added HDTorrents.it italian tracker (#1180) 2017-03-23 05:39:56 +01:00
kaso17
b2d66f06fc HDBC: update name 2017-03-22 20:19:54 +01:00
adamwinn
c0f5f7ede4 Add tracker HD-Bits.com(#1178) 2017-03-22 20:06:00 +01:00
adamwinn
3354be659b Add tracker ClassiX (#1176) 2017-03-22 20:03:10 +01:00
adamwinn
789930498e Add tracker KaraGarga (#1174) 2017-03-22 20:02:22 +01:00
adamwinn
0964d1b878 Add tracker Cinemageddon (#1172) 2017-03-22 20:00:43 +01:00
adamwinn
251786fa82 Add tracker Cinematik (#1170) 2017-03-22 19:58:27 +01:00
kaso17
6cb294fe43 Add SceneFZ 2017-03-20 20:13:08 +01:00
kaso17
b0ef5824ad Revert "remove SceneFZ"
This reverts commit 4226a48041.
2017-03-20 20:12:11 +01:00
kaso17
95a6c5bba4 set DefaultConnectionLimit 2017-03-20 20:11:26 +01:00
kaso17
370564d9d4 set MaxDegreeOfParallelism 2017-03-20 20:11:16 +01:00
kaso17
02de1239aa remove unused recaptcha onloadCallback 2017-03-19 16:20:12 +01:00
kaso17
deeba22c39 PassThePopcorn: various improvements 2017-03-19 16:00:54 +01:00
kaso17
2d4d27175b HDHome: revert to old layout 2017-03-19 15:24:57 +01:00
kaso17
0fe06c4cd2 M-Team - TP: show dead torrents 2017-03-19 10:51:25 +01:00
kaso17
180f8943ac optimize lock 2017-03-18 22:34:01 +01:00
kaso17
d86214f9c5 remove dupe code 2017-03-18 22:20:05 +01:00
kaso17
14cd771f8d avoid overflows on long scene release titles 2017-03-18 22:17:57 +01:00
kaso17
e092acf309 SpeedCD: fix login 2017-03-18 09:03:40 +01:00
kaso17
260339bb7f Merge branch 'master' of https://github.com/Jackett/Jackett.git 2017-03-18 08:51:54 +01:00
kaso17
1865ba1393 Magico: change to https and add unread messages error detection 2017-03-18 08:51:46 +01:00
desimaniac
88a79b5e2e Limetorrents: remove season tag without episode from keywords
Fixes #1164
2017-03-18 08:39:02 +01:00
kaso17
8ef705dc2f Add Nyaa tracker 2017-03-18 08:37:15 +01:00
kaso17
0132c8207a Pass the Popcorn: make ImdbId optional 2017-03-16 11:27:18 +01:00
kaso17
f3fa589ad2 Pass the Popcorn: update categories 2017-03-16 08:10:19 +01:00
kaso17
71e0ec9ced EZTV: remove season tag without episode from keywords 2017-03-16 06:51:11 +01:00
bonny1992
a2a0b9b2d2 il Corsaro Nero: switch to normal search (#1155) 2017-03-15 19:52:06 +01:00
bonny1992
ca77f07fef IPTorrents: Add x265 Movie category mapping (#1162) 2017-03-15 19:36:54 +01:00
bonny1992
ac83848ad7 Add Nyaa.se tracker 2017-03-15 19:01:58 +01:00
kaso17
f2a03324f3 TNTVillage: Add dummy size 2017-03-14 16:33:29 +01:00
kaso17
cbbcf5dc0d Add PolishTracker 2017-03-14 13:30:23 +01:00
kaso17
b226304214 BaseIndexer: use referer for Downloads 2017-03-14 13:30:03 +01:00
kaso17
75dccd186b TranceTraffic: add expired certificate & fix parse error 2017-03-14 11:47:32 +01:00
kaso17
6f3127d36c Hounddawgs: fix details link & improve description 2017-03-14 11:32:54 +01:00
kaso17
80aae56028 GazelleTracker: start with empty caps 2017-03-13 19:08:46 +01:00
kaso17
7211dfe07d add Psytorrents tracker 2017-03-13 19:08:25 +01:00
kaso17
e37c4115b8 GazelleTracker: fix artist parsing 2017-03-13 19:06:09 +01:00
kaso17
b3dca67d0a HDHome: fix parsing 2017-03-13 18:52:33 +01:00
kaso17
18ed635576 HD-Torrents: fix time parsing 2017-03-13 13:36:05 +01:00
kaso17
937d0597ec open static files read only 2017-03-13 11:41:14 +01:00
kaso17
c028bdc076 Ultimate Gamer Club: and filter results 2017-03-10 21:10:55 +01:00
kaso17
7429c6d545 update 2017-03-10 20:59:33 +01:00
kaso17
38f78e116c Add TNTVillage tracker 2017-03-10 20:53:31 +01:00
kaso17
c0fa02d9a4 ICE Torrent: various fixes and improvements 2017-03-10 12:10:42 +01:00
kaso17
3c46daf7ee Cardigann: Add support for POST search requests 2017-03-10 11:05:08 +01:00
kaso17
d37c652c61 Cardigann: Add support for POST search request 2017-03-10 11:04:42 +01:00
kaso17
98f32bfadd Passione Torrent: improvments 2017-03-10 09:49:51 +01:00
kaso17
f2bcc654f1 Add Passione Torrent tracker
Thank you @bonny1992
2017-03-10 09:44:05 +01:00
kaso17
b1453157bd allow TrackerCategory == null 2017-03-10 09:34:43 +01:00
kaso17
f9c4b876bd PassThePopcorn: use rate limiter 2017-03-09 15:05:58 +01:00
kaso17
49a97e2e25 Rarbg: use IWebClient rate limiter 2017-03-09 15:04:59 +01:00
kaso17
d352a699b6 IWebClient: add rate limiter 2017-03-09 15:04:05 +01:00
kaso17
a34a3fb4b6 Norbits: duplicate search without diacritics 2017-03-09 11:17:10 +01:00
kaso17
34cdedae12 Norbits: add missing categories 2017-03-09 10:44:57 +01:00
kaso17
23d49cdb53 Ztracker: improve search 2017-03-09 07:56:21 +01:00
kaso17
83fb09dcf4 Add Dragonworld Reloaded tracker 2017-03-08 20:47:21 +01:00
kaso17
a15537a7d5 Cardigann: add support for static cookies 2017-03-08 19:39:58 +01:00
kaso17
3e71a682ab Add Dragon World (DTW) tracker 2017-03-08 19:00:28 +01:00
kaso17
b6c10cb4b4 Add Ultimate Gamer Club tracker 2017-03-08 15:28:08 +01:00
kaso17
8163c28c1c add Il Corsaro Nero tracker 2017-03-08 14:10:49 +01:00
kaso17
4d77f113fe Cardigann: add urldecode filter 2017-03-08 13:45:55 +01:00
kaso17
342cfedcd8 BeyondHD: remove i/p from resolution tags 2017-03-08 11:18:39 +01:00
kaso17
f6bbb0cf9e Manual search: swap tracker and category and remove search button text 2017-03-08 09:56:44 +01:00
kaso17
58e9869284 update readme 2017-03-07 19:05:30 +01:00
kaso17
71b8b78589 Add Ztracker tracker 2017-03-07 19:04:41 +01:00
kaso17
ce67cc9d1a update readme 2017-03-07 17:59:39 +01:00
kaso17
f4e788f77a Add TorrentCCF tracker 2017-03-07 17:59:09 +01:00
kaso17
826367f061 Add GigaTorrents tracker 2017-03-07 17:28:02 +01:00
kaso17
0f639d2344 Add Greek Team tracker 2017-03-07 16:31:32 +01:00
kaso17
69bd13c7ac cleanup 2017-03-07 15:41:31 +01:00
kaso17
17a77cb287 Audiobook Torrents: fix search 2017-03-07 15:34:55 +01:00
kaso17
901693d6de Add Audiobook Torrents tracker 2017-03-07 15:33:08 +01:00
kaso17
8f869995e9 remove RapideTracker 2017-03-07 14:07:11 +01:00
kaso17
4226a48041 remove SceneFZ 2017-03-07 14:04:03 +01:00
kaso17
c6a1f9286a EoT-Forum: fix parsing 2017-03-07 14:03:01 +01:00
kaso17
c802008015 remove AlphaReign 2017-03-07 13:49:33 +01:00
kaso17
1555388735 remove TorrentShack 2017-03-07 13:48:56 +01:00
kaso17
53a1161dda remove nostream 2017-03-07 13:48:13 +01:00
kaso17
3bfbe30965 Remove nostream 2017-03-07 13:48:01 +01:00
kaso17
c6e580ac7f Avistaz family: add auto re-login 2017-03-07 13:46:43 +01:00
kaso17
13dc47f0ee update categorymappings 2017-03-07 13:46:22 +01:00
kaso17
94faa7d21f BTNext: cleanup 2017-03-07 13:10:59 +01:00
kaso17
7f648d19a5 BTNext: various improvements 2017-03-07 13:09:51 +01:00
kaso17
6c5433e7ba Cardigann: support errors on search 2017-03-07 12:27:34 +01:00
kaso17
8e9f463bb5 Throw exception 2017-03-07 12:27:05 +01:00
kaso17
4823e61015 Check for BTLS support before using it 2017-03-07 11:50:50 +01:00
kaso17
670a3a78af remove debug output 2017-03-07 11:35:40 +01:00
kaso17
dba66976ff Shazbat: Relogin if necessary 2017-03-07 11:28:48 +01:00
kaso17
1aad9a5527 include request in response 2017-03-07 11:28:18 +01:00
kaso17
91de9a23bd update readme 2017-03-06 19:31:35 +01:00
kaso17
9ef0163993 Shazbat: add/fix support for search 2017-03-06 19:31:18 +01:00
kaso17
fb3fdc7e8c Manual search: extract season/episode 2017-03-06 19:30:24 +01:00
kaso17
9801e02c33 Shazbat: various improvements 2017-03-06 16:35:43 +01:00
kaso17
ff70548bf5 manual search: clear filter on search 2017-03-06 15:49:37 +01:00
kaso17
39833dcb02 manuel search: don't show tracker specific categories if no tracker is selected 2017-03-06 15:38:30 +01:00
kaso17
cdf11067a2 attempt to fix BasePath redirects 2017-03-06 15:29:50 +01:00
kaso17
3b0cfa4aba M-Team - TP: add support for Time Type == Time Added 2017-03-06 14:05:46 +01:00
kaso17
4bdb7a9fd4 Cardigann: add support for multiple search files with the same key 2017-03-06 14:05:11 +01:00
kaso17
d18cc7575c improve error logging 2017-03-06 13:59:39 +01:00
kaso17
9d96821c20 Fix empty PostData handling 2017-03-06 12:17:38 +01:00
Ferdinand Holzer
1bc0a982fa fix build on linux (#1133)
file systems on linux are case sensitive
2017-03-03 19:12:53 +01:00
kaso17
2561415847 MoreThanTV: add auto re-login 2017-03-03 18:52:19 +01:00
kaso17
6d02e6ab1a set encoding 2017-03-02 13:05:17 +01:00
Jerred Shepherd
5df4590540 Show correct libcurl package (#1129) 2017-03-02 08:25:47 +01:00
kaso17
5b268fb454 PTFiles: fix cat+desc 2017-03-01 17:43:57 +01:00
kaso17
eee7c7d843 Add PTFiles tracker 2017-03-01 17:30:58 +01:00
kaso17
f997d27867 Cardigann: support relative submit urls 2017-03-01 17:29:20 +01:00
kaso17
225feff73f Add custom_mobile.css 2017-03-01 13:40:54 +01:00
kaso17
f8686d0c02 Add CZTeam tracker 2017-03-01 13:39:53 +01:00
griddoz92
454adfc2ab Improve mobile UI (#1076) 2017-03-01 12:57:40 +01:00
kaso17
cdd9411d5d Add support for self signed certificates 2017-02-28 20:05:57 +01:00
kaso17
7b31f81957 KickAssTorrent: improve search results 2017-02-28 17:11:37 +01:00
kaso17
c561a55b68 Make indexer list sortable/searchable by error message 2017-02-28 16:58:53 +01:00
kaso17
c3e632d215 Improve error messages 2017-02-28 16:57:29 +01:00
kaso17
c08498d75c Carpathians: fix time parsing 2017-02-28 15:27:47 +01:00
kaso17
59d8b5cb02 Cardigann: simplyfy resolvePath() 2017-02-28 14:48:11 +01:00
kaso17
32b3321790 Cardigann: Fix baseUrl handling 2017-02-28 14:18:13 +01:00
kaso17
758b00b567 UHDBits: handle optional columns 2017-02-28 14:00:11 +01:00
kaso17
6ec5e11218 GFT: search in normal + gems view 2017-02-27 19:55:02 +01:00
kaso17
178aceef52 Add Carpathians tracker 2017-02-27 19:37:32 +01:00
kaso17
f56a03f28f HouseOfTorrents: update URL 2017-02-27 18:20:16 +01:00
kaso17
1203412616 add Acid-Lounge tracker 2017-02-27 12:54:23 +01:00
kaso17
34184d7210 Improve resolvePath handling 2017-02-27 12:38:06 +01:00
kaso17
12d3f1730e TransmitheNet: improve login error handling 2017-02-27 12:23:29 +01:00
kaso17
c61d7671a2 cleanup 2017-02-27 12:22:45 +01:00
kaso17
1f97d543df Add support for server notices 2017-02-27 12:19:36 +01:00
kaso17
799d435f2a Update ReCaptcha note + check 2017-02-27 11:35:30 +01:00
kaso17
96f503cda0 Cardigann: add support for custom category mappings 2017-02-26 18:53:48 +01:00
kaso17
2cd465aac0 Merge branch 'master' of https://github.com/Jackett/Jackett.git 2017-02-26 09:17:27 +01:00
kaso17
53cfc361fa Don't show custom cats 2017-02-26 09:17:05 +01:00
kaso17
d87ae95939 Update README.md 2017-02-26 09:09:32 +01:00
kaso17
4fbfc4e795 Fix cookie handling in mono 4.8 environments 2017-02-26 08:53:27 +01:00
kaso17
cfd780b544 SpeedCD: add freeleech support 2017-02-24 19:16:57 +01:00
kaso17
fbe4d5f1a7 SpeedCD: add support for IMDB search 2017-02-24 19:13:55 +01:00
kaso17
cf1a6ff39d AnimeTorrents: fix title/description parsing 2017-02-24 18:31:23 +01:00
kaso17
d6fd4be73d Add ShowRSS 2017-02-24 18:02:51 +01:00
Joel Gillman
9d8c0d01b8 BTN: Update the API url (#1097) 2017-02-24 17:56:43 +01:00
kaso17
0408b72126 XSpeeds: fix category parsing 2017-02-24 17:38:39 +01:00
kaso17
ba01770b2a FileList: add support for banner URL 2017-02-24 17:35:56 +01:00
kaso17
3b3420086f fix cookie handling 2017-02-24 17:35:21 +01:00
kaso17
ff025825ec Remove invite notices 2017-02-23 19:07:31 +01:00
kaso17
c2953f7221 update CloudFlareUtilities 2017-02-21 19:07:46 +01:00
kaso17
0f33218ea8 Norbits: various improvments 2017-02-21 19:07:23 +01:00
kaso17
536c3d6dbb Merge branch 'master' of https://github.com/Jackett/Jackett.git 2017-02-21 15:30:27 +01:00
kaso17
cf71f719fc improve cookie handling 2017-02-21 15:30:03 +01:00
kaso17
5c24dd552c Update README.md 2017-02-21 14:59:23 +01:00
kaso17
db0612919c Add files via upload 2017-02-21 14:42:18 +01:00
kaso17
3cd622370b XSpeeds: add support for banner 2017-02-21 14:09:56 +01:00
kaso17
198966b91d XSpeeds: support captcha on login 2017-02-21 14:06:58 +01:00
kaso17
1e6526b60c update CloudFlareUtilities 2017-02-21 14:06:36 +01:00
kaso17
87d3fd9443 Add initial support for multiple categories and 1:1 category mapping 2017-02-21 13:07:54 +01:00
Mihai Blaga
e75590876a Update Filelist category mappings (#1086) 2017-02-21 09:24:13 +01:00
Mihai Blaga
cb9dc4cbe2 Modify FileList parse selectors (#1088)
merged, thank you
2017-02-21 09:23:14 +01:00
kmicki
b8146f623f Ensure proper filename of generated torrent (#1085)
Ensure that the filename of a torrent file sent to browser client
doesn't contain invalid character and thus preventing HTTP Error 500.
2017-02-21 09:21:37 +01:00
kaso17
04844d6cb2 SpeedCD: attempt to fix login 2017-02-21 09:12:08 +01:00
kaso17
2439ff707e Add HttpWebClient2 2017-02-20 19:47:11 +01:00
kaso17
e805e791b4 Hyperay: fix login 2017-02-20 19:39:28 +01:00
kaso17
7a9fa6684e HttpWebClient: Attempt to fix "Too many open files" in unix environments 2017-02-20 19:39:16 +01:00
Codehhh
b294645e6f Update PirateTheNet url (#1082) 2017-02-20 15:44:51 +01:00
kaso17
6ff50e942c rename PassTheHeadphones ro Redacted 2017-02-20 15:42:44 +01:00
kaso17
0a37ad630b IPTorrents: add support for Torrents - Category column == Text 2017-02-20 14:35:44 +01:00
kaso17
7b239dcc62 Fix legacy search path handling 2017-02-17 20:15:38 +01:00
kaso17
bf9027f6ed Majomparádé: search all pages 2017-02-17 19:48:46 +01:00
kaso17
4cee32f75c Cardigann: add support for multiple paths 2017-02-17 19:48:13 +01:00
kaso17
95dad9d67e Xthor: improvements 2017-02-17 17:05:48 +01:00
kaso17
80589093f8 Update readme for mono 4.8 2017-02-17 15:56:11 +01:00
kaso17
4f73de67aa make HttpWebClient the default for mono >= 4.8 2017-02-17 15:48:44 +01:00
kaso17
163d21629d TorrentBytes: fix login error parsing 2017-02-16 17:36:40 +01:00
kaso17
ff2e31782b ABN: add DL/UL volume factor 2017-02-16 16:09:14 +01:00
kaso17
c3c8ec9801 Potato Feed: allow magnet URIs 2017-02-16 15:42:00 +01:00
kaso17
e6829438aa IPTorrents: add support for the optional file count column 2017-02-16 11:38:41 +01:00
griddoz92
24a3d5d405 improve mobile web app comparability (#1064) 2017-02-16 11:12:00 +01:00
kaso17
0490ef5bb4 Xthor: fix encoding usage 2017-02-16 10:12:13 +01:00
270 changed files with 32355 additions and 27325 deletions

15
.gitattributes vendored Normal file
View File

@@ -0,0 +1,15 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
# Declare files that will always have LF line endings on checkout.
*.yml text eol=lf
# Declare files that will always have CRLF line endings on checkout.
*.cs text eol=crlf
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary

BIN
.github/firefox-socks-proxy-settings.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
.github/label-inviteneeded.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
.github/putty-tunnels-settings.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -19,22 +19,27 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
### Supported Public Trackers
* EZTV
* Il Corsaro Nero <!-- maintained by bonny1992 -->
* Isohunt
* KickAssTorrent
* KickAssTorrent (kat.how clone)
* LimeTorrents
* Nyaa <!-- maintained by bonny1992 -->
* RARBG
* ShowRSS
* Sky torrents
* The Pirate Bay
* TNTVillage <!-- maintained by bonny1992 -->
* TorrentProject
* Torrentz2
### Supported Private Trackers
* 2 Fast 4 You
* 3D Torrents
* 7tor
* Abnormal
* Acid-Lounge
* AlphaRatio
* AlphaReign
* Andraste
* AnimeBytes
* AnimeTorrents
@@ -42,29 +47,39 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Apollo (XANAX)
* ArabaFenice
* AsianDVDClub
* Audiobook Torrents
* Avistaz
* BakaBT
* BakaBT [![(invite needed)][inviteneeded]](#)
* bB
* Best Friends
* BeyondHD
* BIGTorrent
* Bit-City Reloaded
* BIT-HDTV
* BitHQ
* BitHUmen
* BitMeTV
* BitSoup
* BitSoup [![(invite needed)][inviteneeded]](#)
* Bitspyder
* Blu-bits
* BlueBird
* BroadcastTheNet [![(invite needed)][inviteneeded]](#)
* BTN
* BTNext
* Carpathians
* CHDBits
* Cinematik
* Cinemageddon
* CinemaZ
* Classix
* CZTeam
* DanishBits
* DataScene
* Demonoid
* Diablo Torrent
* DigitalHive
* Dragon World (DTW)
* Dragonworld Reloaded
* Dream Team
* EoT-Forum
* eStone
@@ -79,23 +94,29 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Fuzer
* GFXPeers
* Ghost City
* GimmePeers
* GODS
* GigaTorrents [![(invite needed)][inviteneeded]](#)
* GimmePeers <!-- maintained by jamesb2147 -->
* GODS [![(invite needed)][inviteneeded]](#)
* Gormogon
* Greek Team
* Hardbay
* HD4Free
* HD-Space
* HD-Torrents
* HD-Bits.com
* HDBits
* HDChina
* HDClub
* HDHome
* HDPter
* HDSky
* HDTorrents.it
* Hebits
* Hon3y HD
* Hounddawgs
* House-of-Torrents
* Hyperay
* ICE Torrent
* I Love Classics
* Immortalseed
* Infinity-T
* inPeril
@@ -103,6 +124,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* IPTorrents
* JPopsuki
* Kapaki
* Karagarga
* Le Paradis Du Net
* LinkoManija
* LosslessClub
@@ -119,18 +141,21 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* NetHD
* New Real World
* NextGen
* Norbits
* nostream
* Norbits [![(invite needed)][inviteneeded]](#) <!-- added by DiseaseNO but no longer maintained? -->
* notwhat.cd
* PassTheHeadphones
* PassThePopcorn
* Ourbits
* Passione Torrent <!-- maintained by bonny1992 -->
* PassThePopcorn [![(invite needed)][inviteneeded]](#)
* PirateTheNet
* PiXELHD
* PolishSource
* PolishTracker
* Pretome
* PrivateHD
* Psytorrents
* PTFiles
* QcTorrent
* RapideTracker
* Redacted (PassTheHeadphones)
* RevolutionTT
* Rockhard Lossless
* RoDVD
@@ -146,6 +171,8 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Shellife
* SpeedCD
* Superbits
* Tasmanit
* The Empire
* The Horror Charnel
* The New Retro
* The Shinning
@@ -155,15 +182,16 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Torrent Network
* Torrent Sector Crew
* Torrent411
* Torrent9
* TorrentBD
* TorrentBytes
* TorrentCCF [![(invite needed)][inviteneeded]](#)
* TorrentDay
* TorrentHeaven
* TorrentHR
* Torrenting
* TorrentLeech
* Torrents.Md
* TorrentShack
* Torrent-Syndikat
* ToTheGlory
* TranceTraffic
@@ -172,14 +200,19 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* TV-Vault
* u-Torrent
* UHDBits
* Ultimate Gamer Club
* ULTRAHDCLUB
* World-In-HD
* Waffles
* World-In-HD [![(invite needed)][inviteneeded]](#)
* WorldOfP2P
* x264
* XSpeeds
* Xthor
* Xtreme Zone
* Xtreme Zone
* Ztracker
Trackers marked with [![(invite needed)][inviteneeded]](#) have no active maintainer and are missing features or are broken. If you have an invite for them please send it to kaso1717 -at- gmail.com to get them fixed/improved.
## Installation on Windows
We recommend you install Jackett as a Windows service using the supplied installer. You may also download the zipped version if you would like to configure everything manually.
@@ -198,11 +231,11 @@ When installed as a service the tray icon acts as a way to open/start/stop Jacke
Jackett can also be run from the command line if you would like to see log messages (Ensure the server isn't already running from the tray/service). This can be done by using "JackettConsole.exe" (for Command Prompt), found in the Jackett data folder: "%ProgramData%\Jackett".
## Installation on Linux/OSX
1. Install [Mono 4](http://www.mono-project.com/download/#download-lin) or better (the latest version is recommended)
* Follow the instructions on the mono website and install the `mono-devel` package.
* On Red Hat/CentOS/openSUSE the `mono-locale-extras` package is also required
1. Install [Mono 4](http://www.mono-project.com/download/#download-lin) or better (version 4.8 is recommended)
* Follow the instructions on the mono website and install the `mono-devel` and the `ca-certificates-mono` packages.
* On Red Hat/CentOS/openSUSE/Fedora the `mono-locale-extras` package is also required.
2. Install libcurl:
* Debian/Ubunutu: `apt-get install libcurl-dev`
* Debian/Ubunutu: `apt-get install libcurl4-openssl-dev`
* Redhat/Fedora: `yum install libcurl-devel`
* For other distros see the [Curl docs](http://curl.haxx.se/dlwiz/?type=devel).
3. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
@@ -241,3 +274,5 @@ All contributions are welcome just send a pull request. Jackett's framework all
## Screenshots
![screenshot](https://i.imgur.com/0d1nl7g.png "screenshot")
[inviteneeded]: https://raw.githubusercontent.com/Jackett/Jackett/master/.github/label-inviteneeded.png

View File

@@ -24,7 +24,7 @@ namespace Jackett.Console
[Option('t', "Tracing", HelpText = "Enable tracing")]
public bool Tracing { get; set; }
[Option('c', "UseClient", HelpText = "Override web client selection. [automatic(Default)/libcurl/safecurl/httpclient]")]
[Option('c', "UseClient", HelpText = "Override web client selection. [automatic(Default)/libcurl/safecurl/httpclient/httpclient2]")]
public string Client { get; set; }
[Option('j', "ProxyConnection", HelpText = "use proxy - e.g. 127.0.0.1:8888")]

View File

@@ -1,236 +1,236 @@
using CommandLine;
using CommandLine.Text;
using Jackett;
using Jackett.Console;
using Jackett.Indexers;
using Jackett.Utils;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace JackettConsole
{
public class Program
{
static void Main(string[] args)
{
try
{
var options = new ConsoleOptions();
if (!Parser.Default.ParseArguments(args, options) || options.ShowHelp == true)
{
if (options.LastParserState != null && options.LastParserState.Errors.Count > 0)
{
var help = new HelpText();
var errors = help.RenderParsingErrorsText(options, 2); // indent with two spaces
Console.WriteLine("Jackett v" + Engine.ConfigService.GetVersion());
Console.WriteLine("Switch error: " + errors);
Console.WriteLine("See --help for further details on switches.");
Environment.ExitCode = 1;
return;
}
else
{
var text = HelpText.AutoBuild(options, (HelpText current) => HelpText.DefaultParsingErrorsHandler(options, current));
text.Copyright = " ";
text.Heading = "Jackett v" + Engine.ConfigService.GetVersion() + " options:";
Console.WriteLine(text);
Environment.ExitCode = 1;
return;
}
}
else
{
if (options.ListenPublic && options.ListenPrivate)
{
Console.WriteLine("You can only use listen private OR listen publicly.");
Environment.ExitCode = 1;
return;
}
/* ====== Options ===== */
// SSL Fix
Startup.DoSSLFix = options.SSLFix;
// Use curl
if (options.Client != null)
Startup.ClientOverride = options.Client.ToLowerInvariant();
// Use Proxy
if (options.ProxyConnection != null)
{
Startup.ProxyConnection = options.ProxyConnection.ToLowerInvariant();
Engine.Logger.Info("Proxy enabled. " + Startup.ProxyConnection);
}
// Logging
if (options.Logging)
Startup.LogRequests = true;
// Tracing
if (options.Tracing)
Startup.TracingEnabled = true;
// Log after the fact as using the logger will cause the options above to be used
if (options.Logging)
Engine.Logger.Info("Logging enabled.");
if (options.Tracing)
Engine.Logger.Info("Tracing enabled.");
if (options.SSLFix == true)
Engine.Logger.Info("SSL ECC workaround enabled.");
else if (options.SSLFix == false)
Engine.Logger.Info("SSL ECC workaround has been disabled.");
// Ignore SSL errors on Curl
Startup.IgnoreSslErrors = options.IgnoreSslErrors;
if (options.IgnoreSslErrors == true)
{
Engine.Logger.Info("Jackett will ignore SSL certificate errors.");
}
// Choose Data Folder
if (!string.IsNullOrWhiteSpace(options.DataFolder))
{
Startup.CustomDataFolder = options.DataFolder.Replace("\"", string.Empty).Replace("'", string.Empty).Replace(@"\\", @"\");
Engine.Logger.Info("Jackett Data will be stored in: " + Startup.CustomDataFolder);
}
/* ====== Actions ===== */
// Install service
if (options.Install)
{
Engine.ServiceConfig.Install();
return;
}
// Uninstall service
if (options.Uninstall)
{
Engine.Server.ReserveUrls(doInstall: false);
Engine.ServiceConfig.Uninstall();
return;
}
// Reserve urls
if (options.ReserveUrls)
{
Engine.Server.ReserveUrls(doInstall: true);
return;
}
// Start Service
if (options.StartService)
{
if (!Engine.ServiceConfig.ServiceRunning())
{
Engine.ServiceConfig.Start();
}
return;
}
// Stop Service
if (options.StopService)
{
if (Engine.ServiceConfig.ServiceRunning())
{
Engine.ServiceConfig.Stop();
}
return;
}
// Migrate settings
if (options.MigrateSettings)
{
Engine.ConfigService.PerformMigration();
return;
}
// Show Version
if (options.ShowVersion)
{
Console.WriteLine("Jackett v" + Engine.ConfigService.GetVersion());
return;
}
/* ====== Overrides ===== */
// Override listen public
if (options.ListenPublic || options.ListenPrivate)
{
if (Engine.Server.Config.AllowExternal != options.ListenPublic)
{
Engine.Logger.Info("Overriding external access to " + options.ListenPublic);
Engine.Server.Config.AllowExternal = options.ListenPublic;
if (System.Environment.OSVersion.Platform != PlatformID.Unix)
{
if (ServerUtil.IsUserAdministrator())
{
Engine.Server.ReserveUrls(doInstall: true);
}
else
{
Engine.Logger.Error("Unable to switch to public listening without admin rights.");
Environment.ExitCode = 1;
return;
}
}
Engine.Server.SaveConfig();
}
}
// Override port
if (options.Port != 0)
{
if (Engine.Server.Config.Port != options.Port)
{
Engine.Logger.Info("Overriding port to " + options.Port);
Engine.Server.Config.Port = options.Port;
if (System.Environment.OSVersion.Platform != PlatformID.Unix)
{
if (ServerUtil.IsUserAdministrator())
{
Engine.Server.ReserveUrls(doInstall: true);
}
else
{
Engine.Logger.Error("Unable to switch ports when not running as administrator");
Environment.ExitCode = 1;
return;
}
}
Engine.Server.SaveConfig();
}
}
Startup.NoRestart = options.NoRestart;
}
Engine.Server.Initalize();
Engine.Server.Start();
Engine.RunTime.Spin();
Engine.Logger.Info("Server thread exit");
}
catch (Exception e)
{
Engine.Logger.Error(e, "Top level exception");
}
}
}
}
using CommandLine;
using CommandLine.Text;
using Jackett;
using Jackett.Console;
using Jackett.Indexers;
using Jackett.Utils;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace JackettConsole
{
public class Program
{
static void Main(string[] args)
{
try
{
var options = new ConsoleOptions();
if (!Parser.Default.ParseArguments(args, options) || options.ShowHelp == true)
{
if (options.LastParserState != null && options.LastParserState.Errors.Count > 0)
{
var help = new HelpText();
var errors = help.RenderParsingErrorsText(options, 2); // indent with two spaces
Console.WriteLine("Jackett v" + Engine.ConfigService.GetVersion());
Console.WriteLine("Switch error: " + errors);
Console.WriteLine("See --help for further details on switches.");
Environment.ExitCode = 1;
return;
}
else
{
var text = HelpText.AutoBuild(options, (HelpText current) => HelpText.DefaultParsingErrorsHandler(options, current));
text.Copyright = " ";
text.Heading = "Jackett v" + Engine.ConfigService.GetVersion() + " options:";
Console.WriteLine(text);
Environment.ExitCode = 1;
return;
}
}
else
{
if (options.ListenPublic && options.ListenPrivate)
{
Console.WriteLine("You can only use listen private OR listen publicly.");
Environment.ExitCode = 1;
return;
}
/* ====== Options ===== */
// SSL Fix
Startup.DoSSLFix = options.SSLFix;
// Use curl
if (options.Client != null)
Startup.ClientOverride = options.Client.ToLowerInvariant();
// Use Proxy
if (options.ProxyConnection != null)
{
Startup.ProxyConnection = options.ProxyConnection.ToLowerInvariant();
Engine.Logger.Info("Proxy enabled. " + Startup.ProxyConnection);
}
// Logging
if (options.Logging)
Startup.LogRequests = true;
// Tracing
if (options.Tracing)
Startup.TracingEnabled = true;
// Log after the fact as using the logger will cause the options above to be used
if (options.Logging)
Engine.Logger.Info("Logging enabled.");
if (options.Tracing)
Engine.Logger.Info("Tracing enabled.");
if (options.SSLFix == true)
Engine.Logger.Info("SSL ECC workaround enabled.");
else if (options.SSLFix == false)
Engine.Logger.Info("SSL ECC workaround has been disabled.");
// Ignore SSL errors on Curl
Startup.IgnoreSslErrors = options.IgnoreSslErrors;
if (options.IgnoreSslErrors == true)
{
Engine.Logger.Info("Jackett will ignore SSL certificate errors.");
}
// Choose Data Folder
if (!string.IsNullOrWhiteSpace(options.DataFolder))
{
Startup.CustomDataFolder = options.DataFolder.Replace("\"", string.Empty).Replace("'", string.Empty).Replace(@"\\", @"\");
Engine.Logger.Info("Jackett Data will be stored in: " + Startup.CustomDataFolder);
}
/* ====== Actions ===== */
// Install service
if (options.Install)
{
Engine.ServiceConfig.Install();
return;
}
// Uninstall service
if (options.Uninstall)
{
Engine.Server.ReserveUrls(doInstall: false);
Engine.ServiceConfig.Uninstall();
return;
}
// Reserve urls
if (options.ReserveUrls)
{
Engine.Server.ReserveUrls(doInstall: true);
return;
}
// Start Service
if (options.StartService)
{
if (!Engine.ServiceConfig.ServiceRunning())
{
Engine.ServiceConfig.Start();
}
return;
}
// Stop Service
if (options.StopService)
{
if (Engine.ServiceConfig.ServiceRunning())
{
Engine.ServiceConfig.Stop();
}
return;
}
// Migrate settings
if (options.MigrateSettings)
{
Engine.ConfigService.PerformMigration();
return;
}
// Show Version
if (options.ShowVersion)
{
Console.WriteLine("Jackett v" + Engine.ConfigService.GetVersion());
return;
}
/* ====== Overrides ===== */
// Override listen public
if (options.ListenPublic || options.ListenPrivate)
{
if (Engine.Server.Config.AllowExternal != options.ListenPublic)
{
Engine.Logger.Info("Overriding external access to " + options.ListenPublic);
Engine.Server.Config.AllowExternal = options.ListenPublic;
if (System.Environment.OSVersion.Platform != PlatformID.Unix)
{
if (ServerUtil.IsUserAdministrator())
{
Engine.Server.ReserveUrls(doInstall: true);
}
else
{
Engine.Logger.Error("Unable to switch to public listening without admin rights.");
Environment.ExitCode = 1;
return;
}
}
Engine.Server.SaveConfig();
}
}
// Override port
if (options.Port != 0)
{
if (Engine.Server.Config.Port != options.Port)
{
Engine.Logger.Info("Overriding port to " + options.Port);
Engine.Server.Config.Port = options.Port;
if (System.Environment.OSVersion.Platform != PlatformID.Unix)
{
if (ServerUtil.IsUserAdministrator())
{
Engine.Server.ReserveUrls(doInstall: true);
}
else
{
Engine.Logger.Error("Unable to switch ports when not running as administrator");
Environment.ExitCode = 1;
return;
}
}
Engine.Server.SaveConfig();
}
}
Startup.NoRestart = options.NoRestart;
}
Engine.Server.Initalize();
Engine.Server.Start();
Engine.RunTime.Spin();
Engine.Logger.Info("Server thread exit");
}
catch (Exception e)
{
Engine.Logger.Error(e, "Top level exception");
}
}
}
}

View File

@@ -1,6 +1,6 @@
using Jackett.Services;
using Jackett.Services;
using Jackett.Utils.Clients;
using NLog;
using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -14,10 +14,10 @@ namespace JackettTest
private Dictionary<WebRequest, Func<WebRequest, WebClientByteResult>> byteCallbacks = new Dictionary<WebRequest, Func<WebRequest, WebClientByteResult>>();
private Dictionary<WebRequest, Func<WebRequest, WebClientStringResult>> stringCallbacks = new Dictionary<WebRequest, Func<WebRequest, WebClientStringResult>>();
public TestWebClient(IProcessService p, Logger l, IConfigurationService c)
public TestWebClient(IProcessService p, Logger l, IConfigurationService c)
: base(p: p,
l: l,
c: c)
c: c)
{
}

View File

@@ -1,258 +1,259 @@
using CommandLine;
using Jackett.Services;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Web;
/*
// no supported by appveyor, disabeling for now
#if __MonoCS__
using Mono.Unix.Native;
#endif
*/
namespace Jackett.Updater
{
class Program
{
static void Main(string[] args)
{
new Program().Run(args);
}
private void Run(string[] args)
{
Engine.SetupLogging(null, "updater.txt");
Engine.Logger.Info("Jackett Updater v" + GetCurrentVersion());
Engine.Logger.Info("Options \"" + string.Join("\" \"", args) + "\"");
try {
var options = new UpdaterConsoleOptions();
if (Parser.Default.ParseArguments(args, options))
{
ProcessUpdate(options);
}
else
{
Engine.Logger.Error("Failed to process update arguments!");
Console.ReadKey();
}
}
catch (Exception e)
{
Engine.Logger.Error(e, "Exception applying update!");
}
}
private string GetCurrentVersion()
{
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
var fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
return fvi.FileVersion;
}
private void KillPids(int[] pids)
{
foreach (var pid in pids)
{
try
{
var proc = Process.GetProcessById(pid);
Engine.Logger.Info("Killing process " + proc.Id);
proc.Kill();
var exited = proc.WaitForExit(5000);
if (!exited)
Engine.Logger.Info("Process " + pid.ToString() + " didn't exit within 5 seconds");
/*
// no supported by appveyor, disabeling for now
#if __MonoCS__
Engine.Logger.Info("Sending SIGKILL to process " + pid.ToString());
Syscall.kill(proc.Id, Signum.SIGKILL);
#endif
*/
}
catch (ArgumentException e)
{
Engine.Logger.Info("Process " + pid.ToString() + " is already dead");
}
catch (Exception e)
{
Engine.Logger.Info("Error killing process " + pid.ToString());
Engine.Logger.Info(e);
}
}
}
private void ProcessUpdate(UpdaterConsoleOptions options)
{
var updateLocation = GetUpdateLocation();
if(!(updateLocation.EndsWith("\\") || updateLocation.EndsWith("/")))
{
updateLocation += Path.DirectorySeparatorChar;
}
var pids = new int[] { };
if (options.KillPids != null)
{
var pidsStr = options.KillPids.Split(',').Where(pid => !string.IsNullOrWhiteSpace(pid)).ToArray();
pids = Array.ConvertAll(pidsStr, pid => int.Parse(pid));
}
var isWindows = System.Environment.OSVersion.Platform != PlatformID.Unix;
var trayRunning = false;
var trayProcesses = Process.GetProcessesByName("JackettTray");
if (isWindows)
{
if (trayProcesses.Count() > 0)
{
foreach (var proc in trayProcesses)
{
try
{
Engine.Logger.Info("Killing tray process " + proc.Id);
proc.Kill();
trayRunning = true;
}
catch { }
}
}
// on unix we don't have to wait (we can overwrite files which are in use)
// On unix we kill the PIDs after the update so e.g. systemd can automatically restart the process
KillPids(pids);
}
Engine.Logger.Info("Finding files in: " + updateLocation);
var files = Directory.GetFiles(updateLocation, "*.*", SearchOption.AllDirectories);
foreach(var file in files)
{
var fileName = Path.GetFileName(file).ToLowerInvariant();
if (fileName.EndsWith(".zip") ||
fileName.EndsWith(".tar") ||
fileName.EndsWith(".gz"))
{
continue;
}
try {
Engine.Logger.Info("Copying " + fileName);
var dest = Path.Combine(options.Path, file.Substring(updateLocation.Length));
var destDir = Path.GetDirectoryName(dest);
if (!Directory.Exists(destDir))
{
Engine.Logger.Info("Creating directory " + destDir);
Directory.CreateDirectory(destDir);
}
File.Copy(file, dest, true);
}
catch(Exception e)
{
Engine.Logger.Error(e);
}
}
// delete old dirs
string[] oldDirs = new string[] { "Content/logos" };
foreach (var oldDir in oldDirs)
{
try
{
var deleteDir = Path.Combine(options.Path, oldDir);
if (Directory.Exists(deleteDir))
{
Engine.Logger.Info("Deleting directory " + deleteDir);
Directory.Delete(deleteDir, true);
}
}
catch (Exception e)
{
Engine.Logger.Error(e);
}
}
// delete old files
string[] oldFiles = new string[] {
"Content/css/jquery.dataTables.css",
"Content/css/jquery.dataTables_themeroller.css",
"Definitions/tspate.yml",
"Definitions/freakstrackingsystem.yml",
"Definitions/rarbg.yml",
"Definitions/t411.yml",
};
foreach (var oldFIle in oldFiles)
{
try
{
var deleteFile = Path.Combine(options.Path, oldFIle);
if (File.Exists(deleteFile))
{
Engine.Logger.Info("Deleting file " + deleteFile);
File.Delete(deleteFile);
}
}
catch (Exception e)
{
Engine.Logger.Error(e);
}
}
// kill pids after the update on UNIX
if (!isWindows)
KillPids(pids);
if (options.NoRestart == false)
{
if (trayRunning)
{
var startInfo = new ProcessStartInfo()
{
Arguments = options.Args,
FileName = Path.Combine(options.Path, "JackettTray.exe"),
UseShellExecute = true
};
Process.Start(startInfo);
}
if(string.Equals(options.Type, "JackettService.exe", StringComparison.InvariantCultureIgnoreCase))
{
var serviceHelper = new ServiceConfigService(null, null);
if (serviceHelper.ServiceExists())
{
serviceHelper.Start();
}
} else
{
var startInfo = new ProcessStartInfo()
{
Arguments = options.Args,
FileName = Path.Combine(options.Path, "JackettConsole.exe"),
UseShellExecute = true
};
if (!isWindows)
{
startInfo.Arguments = startInfo.FileName + " " + startInfo.Arguments;
startInfo.FileName = "mono";
}
Engine.Logger.Info("Starting Jackett: " + startInfo.FileName + " " + startInfo.Arguments);
Process.Start(startInfo);
}
}
}
private string GetUpdateLocation()
{
var location = new Uri(Assembly.GetEntryAssembly().GetName().CodeBase);
return new FileInfo(HttpUtility.UrlDecode(location.AbsolutePath)).DirectoryName;
}
}
}
using CommandLine;
using Jackett.Services;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Web;
/*
// no supported by appveyor, disabeling for now
#if __MonoCS__
using Mono.Unix.Native;
#endif
*/
namespace Jackett.Updater
{
class Program
{
static void Main(string[] args)
{
new Program().Run(args);
}
private void Run(string[] args)
{
Engine.SetupLogging(null, "updater.txt");
Engine.Logger.Info("Jackett Updater v" + GetCurrentVersion());
Engine.Logger.Info("Options \"" + string.Join("\" \"", args) + "\"");
try {
var options = new UpdaterConsoleOptions();
if (Parser.Default.ParseArguments(args, options))
{
ProcessUpdate(options);
}
else
{
Engine.Logger.Error("Failed to process update arguments!");
Console.ReadKey();
}
}
catch (Exception e)
{
Engine.Logger.Error(e, "Exception applying update!");
}
}
private string GetCurrentVersion()
{
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
var fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
return fvi.FileVersion;
}
private void KillPids(int[] pids)
{
foreach (var pid in pids)
{
try
{
var proc = Process.GetProcessById(pid);
Engine.Logger.Info("Killing process " + proc.Id);
proc.Kill();
var exited = proc.WaitForExit(5000);
if (!exited)
Engine.Logger.Info("Process " + pid.ToString() + " didn't exit within 5 seconds");
/*
// no supported by appveyor, disabeling for now
#if __MonoCS__
Engine.Logger.Info("Sending SIGKILL to process " + pid.ToString());
Syscall.kill(proc.Id, Signum.SIGKILL);
#endif
*/
}
catch (ArgumentException e)
{
Engine.Logger.Info("Process " + pid.ToString() + " is already dead");
}
catch (Exception e)
{
Engine.Logger.Info("Error killing process " + pid.ToString());
Engine.Logger.Info(e);
}
}
}
private void ProcessUpdate(UpdaterConsoleOptions options)
{
var updateLocation = GetUpdateLocation();
if(!(updateLocation.EndsWith("\\") || updateLocation.EndsWith("/")))
{
updateLocation += Path.DirectorySeparatorChar;
}
var pids = new int[] { };
if (options.KillPids != null)
{
var pidsStr = options.KillPids.Split(',').Where(pid => !string.IsNullOrWhiteSpace(pid)).ToArray();
pids = Array.ConvertAll(pidsStr, pid => int.Parse(pid));
}
var isWindows = System.Environment.OSVersion.Platform != PlatformID.Unix;
var trayRunning = false;
var trayProcesses = Process.GetProcessesByName("JackettTray");
if (isWindows)
{
if (trayProcesses.Count() > 0)
{
foreach (var proc in trayProcesses)
{
try
{
Engine.Logger.Info("Killing tray process " + proc.Id);
proc.Kill();
trayRunning = true;
}
catch { }
}
}
// on unix we don't have to wait (we can overwrite files which are in use)
// On unix we kill the PIDs after the update so e.g. systemd can automatically restart the process
KillPids(pids);
}
Engine.Logger.Info("Finding files in: " + updateLocation);
var files = Directory.GetFiles(updateLocation, "*.*", SearchOption.AllDirectories);
foreach(var file in files)
{
var fileName = Path.GetFileName(file).ToLowerInvariant();
if (fileName.EndsWith(".zip") ||
fileName.EndsWith(".tar") ||
fileName.EndsWith(".gz"))
{
continue;
}
try {
Engine.Logger.Info("Copying " + fileName);
var dest = Path.Combine(options.Path, file.Substring(updateLocation.Length));
var destDir = Path.GetDirectoryName(dest);
if (!Directory.Exists(destDir))
{
Engine.Logger.Info("Creating directory " + destDir);
Directory.CreateDirectory(destDir);
}
File.Copy(file, dest, true);
}
catch(Exception e)
{
Engine.Logger.Error(e);
}
}
// delete old dirs
string[] oldDirs = new string[] { "Content/logos" };
foreach (var oldDir in oldDirs)
{
try
{
var deleteDir = Path.Combine(options.Path, oldDir);
if (Directory.Exists(deleteDir))
{
Engine.Logger.Info("Deleting directory " + deleteDir);
Directory.Delete(deleteDir, true);
}
}
catch (Exception e)
{
Engine.Logger.Error(e);
}
}
// delete old files
string[] oldFiles = new string[] {
"Content/css/jquery.dataTables.css",
"Content/css/jquery.dataTables_themeroller.css",
"Definitions/tspate.yml",
"Definitions/freakstrackingsystem.yml",
"Definitions/rarbg.yml",
"Definitions/t411.yml",
"Definitions/hdbc.yml", // renamed to hdbitscom
};
foreach (var oldFIle in oldFiles)
{
try
{
var deleteFile = Path.Combine(options.Path, oldFIle);
if (File.Exists(deleteFile))
{
Engine.Logger.Info("Deleting file " + deleteFile);
File.Delete(deleteFile);
}
}
catch (Exception e)
{
Engine.Logger.Error(e);
}
}
// kill pids after the update on UNIX
if (!isWindows)
KillPids(pids);
if (options.NoRestart == false)
{
if (trayRunning)
{
var startInfo = new ProcessStartInfo()
{
Arguments = options.Args,
FileName = Path.Combine(options.Path, "JackettTray.exe"),
UseShellExecute = true
};
Process.Start(startInfo);
}
if(string.Equals(options.Type, "JackettService.exe", StringComparison.InvariantCultureIgnoreCase))
{
var serviceHelper = new ServiceConfigService(null, null);
if (serviceHelper.ServiceExists())
{
serviceHelper.Start();
}
} else
{
var startInfo = new ProcessStartInfo()
{
Arguments = options.Args,
FileName = Path.Combine(options.Path, "JackettConsole.exe"),
UseShellExecute = true
};
if (!isWindows)
{
startInfo.Arguments = startInfo.FileName + " " + startInfo.Arguments;
startInfo.FileName = "mono";
}
Engine.Logger.Info("Starting Jackett: " + startInfo.FileName + " " + startInfo.Arguments);
Process.Start(startInfo);
}
}
}
private string GetUpdateLocation()
{
var location = new Uri(Assembly.GetEntryAssembly().GetName().CodeBase);
return new FileInfo(HttpUtility.UrlDecode(location.AbsolutePath)).DirectoryName;
}
}
}

View File

@@ -13,8 +13,8 @@ namespace Jackett.Updater
public string Path { get; set; }
[Option('t', "Type", HelpText = "Install type")]
public string Type { get; set; }
public string Type { get; set; }
[Option('a', "Args", HelpText = "Launch arguments")]
public string Args { get; set; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,4 +1,4 @@
body {
body {
background-image: url("binding_dark.png");
background-repeat: repeat;
}
@@ -265,4 +265,7 @@ table td.fit{
float: right;
text-align: right;
margin-right: 1em;
}
}
input#searchquery{
width:400px;
}

View File

@@ -1,4 +1,4 @@
var basePath = '';
var basePath = '';
var indexers = [];
var configuredIndexers = [];
@@ -24,14 +24,18 @@ $.fn.focusWithoutScrolling = function () {
$(document).ready(function () {
$.ajaxSetup({ cache: false });
window.jackettIsLocal = window.location.hostname === 'localhost' ||
window.location.hostname === '127.0.0.1';
window.jackettIsLocal = window.location.hostname === '127.0.0.1';
bindUIButtons();
loadJackettSettings();
});
function insertWordWrap(str) {
// insert optional word wrap after punctuation to avoid overflows on long scene titles
return str.replace(/([\.\-_\/\\])/g, "$1\u200B");
}
function getJackettConfig(callback) {
var jqxhr = $.get("get_jackett_config", function (data) {
@@ -64,6 +68,11 @@ function loadJackettSettings() {
$("#logoutBtn").show();
}
$.each(data.config.notices, function (index, value) {
console.log(value);
doNotify(value, "danger", "glyphicon glyphicon-alert", false);
})
reloadIndexers();
});
}
@@ -99,6 +108,8 @@ function reloadIndexers() {
var main_cats_list = [];
for (var catID in item.caps) {
if (catID >= 100000)
continue; // skip custom cats
var cat = item.caps[catID];
var mainCat = cat.split("/")[0];
main_cats_list.push(mainCat);
@@ -125,7 +136,7 @@ function displayConfiguredIndexersList(indexers) {
prepareSetupButtons(indexersTable);
prepareDeleteButtons(indexersTable);
prepareCopyButtons(indexersTable);
indexersTable.find("table").DataTable(
indexersTable.find("table").dataTable(
{
"stateSave": true,
"pageLength": -1,
@@ -141,8 +152,8 @@ function displayConfiguredIndexersList(indexers) {
{
"targets": 1,
"visible": true,
"searchable": false,
"orderable": false
"searchable": true,
"orderable": true
}
]
});
@@ -333,9 +344,20 @@ function prepareSetupButtons(element) {
function updateTestState(id, state, message, parent)
{
var btn = parent.find(".indexer-button-test[data-id=" +id + "]");
var sortmsg = message;
if (!sortmsg || state == "success")
sortmsg = "";
var td = btn.closest("td");
td.attr("data-sort", sortmsg);
td.attr("data-filter", sortmsg);
if (message) {
btn.tooltip("hide");
btn.attr("title", message);
btn.data('bs.tooltip', false).tooltip({ title: message });
}
var icon = btn.find("span");
icon.removeClass("glyphicon-ok test-success glyphicon-alert test-error glyphicon-refresh spinner test-inprogres");
@@ -347,6 +369,9 @@ function updateTestState(id, state, message, parent)
} else if (state == "inprogres") {
icon.addClass("glyphicon-refresh test-inprogres spinner");
}
var dt = $.fn.dataTable.tables({ visible: true, api: true}).rows().invalidate('dom');
if (state != "inprogres")
dt.draw();
}
function testIndexer(id, notifyResult) {
@@ -376,8 +401,9 @@ function prepareTestButtons(element) {
var $btn = $(btn);
var id = $btn.data("id");
var state = $btn.data("state");
var title = $btn.attr("title");
$btn.tooltip();
updateTestState(id, state, null, element);
updateTestState(id, state, title, element);
$btn.click(function () {
testIndexer(id, true);
});
@@ -569,12 +595,21 @@ function resolveUrl(url) {
return url;
}
function doNotify(message, type, icon) {
function doNotify(message, type, icon, autoHide) {
if (typeof autoHide === "undefined" || autoHide === null)
autoHide = true;
var delay = 5000;
if (!autoHide)
delay = -1;
$.notify({
message: message,
icon: icon
}, {
element: 'body',
autoHide: autoHide,
delay: delay,
type: type,
allow_dismiss: true,
z_index: 9000,
@@ -662,7 +697,8 @@ function showSearch(selectedIndexer) {
if (items[i].configured === true && (items[i].id === tracker || tracker === '')) {
indexers["'" + items[i].id + "'"] = items[i].name;
for (var prop in items[i].caps) {
cats[prop] = items[i].caps[prop];
if (prop < 100000 || tracker)
cats[prop] = items[i].caps[prop];
}
}
}
@@ -688,7 +724,7 @@ function showSearch(selectedIndexer) {
});
$('#jackett-search-perform').click(function () {
if ($('#jackett-search-perform').text().trim() !== 'Search trackers') {
if ($('#jackett-search-perform span').hasClass("spinner")) {
// We are searchin already
return;
}
@@ -699,15 +735,22 @@ function showSearch(selectedIndexer) {
};
$('#jackett-search-perform').html($('#spinner').html());
$('#searchResults div.dataTables_filter input').val("");
clearSearchResultTable($('#searchResults'));
var jqxhr = $.post("search", queryObj, function (data) {
$('#jackett-search-perform').html('Search trackers');
for (var i = 0; i < data.Results.length; i++) {
var item = data.Results[i];
item.Title = insertWordWrap(item.Title);
item.CategoryDesc = insertWordWrap(item.CategoryDesc);
}
$('#jackett-search-perform').html($('#search-button-ready').html());
var searchResults = $('#searchResults');
searchResults.empty();
var datatable = updateSearchResultTable(searchResults, data).search('').columns().search('').draw();
searchResults.find('div.dataTables_filter input').focusWithoutScrolling();
}).fail(function () {
$('#jackett-search-perform').html('Search trackers');
$('#jackett-search-perform').html($('#search-button-ready').html());
doNotify("Request to Jackett server failed", "danger", "glyphicon glyphicon-alert");
});
});
@@ -874,6 +917,11 @@ function bindUIButtons() {
$("#jackett-show-releases").click(function () {
var jqxhr = $.get("GetCache", function (data) {
for (var i = 0; i < data.length; i++) {
var item = data[i];
item.Title = insertWordWrap(item.Title);
item.CategoryDesc = insertWordWrap(item.CategoryDesc);
}
var releaseTemplate = Handlebars.compile($("#jackett-releases").html());
var item = { releases: data, Title: 'Releases' };
var releaseDialog = $(releaseTemplate(item));

View File

@@ -0,0 +1,282 @@
body {
background-image: url("binding_dark.png");
background-repeat: repeat;
}
#page {
border-radius: 6px;
background-color: white;
max-width: 900px;
margin: 0 auto;
margin-top: 30px;
padding: 20px;
margin-bottom: 30px;
}
.container-fluid {
}
#templates {
display: none;
}
#indexers {
text-align: center;
margin-top: 30px;
}
.indexer-table {
text-align: left;
}
.test-success {
color: #449d44;
}
.test-error {
color: #c9302c;
}
.test-inprogress {
color: #286090;
}
.indexer-buttons {
text-align: center;
}
.indexer-buttons > .btn {
margin-bottom: 2px;
}
.indexer-button-test {
width: 60px;
}
.setup-item-inputstring {
max-width: 255px;
}
.setup-item-inputbool input {
max-width: 100px;
height: 20px;
}
[data-type=hiddendata]{
display: none;
}
.spinner {
-webkit-animation: spin 2s infinite linear;
-moz-animation: spin 2s infinite linear;
-o-animation: spin 2s infinite linear;
animation: spin 2s infinite linear;
}
@-moz-keyframes spin {
from {
-moz-transform: rotate(0deg);
}
to {
-moz-transform: rotate(360deg);
}
}
@-webkit-keyframes spin {
from {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
}
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
#setup-indexer-go {
width: 70px;
}
hr {
border-top-color: #cdcdcd;
}
.input-area {
margin: 4px 0px;
}
.input-area > * {
vertical-align: middle;
}
.input-area > p {
margin-top: 10px;
}
.input-header {
font-size: 18px;
width: 160px;
display: inline-block;
}
.input-right {
width: 300px;
display: inline-block;
font-family: monospace;
}
#sonarr-warning {
display: none;
}
#logo {
max-width: 50px;
}
#header-title {
font-size: 34px;
vertical-align: middle;
padding-left: 15px;
}
#footer {
color: #444444;
margin: 0 auto;
margin-top: 10px;
text-align: center;
}
#jackett-allowext, #jackett-allowupdate, #jackett-logging, #jackett-prerelease {
width: 25px;
}
.modal-fillwidth {
width: 100%;
min-width:80%;
}
.indexer-caps {
padding: 0px 15px 15px 15px;
border-top: 1px solid #e5e5e5;
}
.indexer-caps table {
border-bottom: 1px solid #ddd;
}
.jackettlogWarn {
background-color: #FFFF8E !important;
}
.jackettlogError {
background-color: #FF6060 !important;
}
.jackettdownloaded {
color: blueviolet;
}
.jacketdownloadlocal {
padding-left: 10px;
}
.downloadcolumn {
text-align:center;
}
pre {
display: block;
padding: 3px;
margin: 0 0 0px;
font-size: 13px;
line-height: 1.42857143;
color: #333;
word-break: break-all;
word-wrap: break-word;
background-color: transparent;
border: 0px;
border-radius: 0px;
}
.modal-open .modal {
overflow-x: auto; /* Model can be bigger than the screen on mobiles */
}
.dataTables_filter input {
width: 75%
}
#unconfigured-indexers-template {
display: none;
}
.jackett-apikey{
margin-top: 10px;
}
.jackett-apikey .input-header{
width: 80px;
}
.setup-item-displayinfo:empty {
display: none;
}
table td.fit{
width: 50%;
}
.label-imdb {
background-color: #d0ab44;
}
.tooltip-inner {
max-width: 500px !important;
}
.tooltip-inner img {
max-width: 250px;
height: auto;
}
.type-public {
color: #449d44
}
.type-private {
color: #c9302c
}
.type-semi-private {
color: #ec971f
}
.dataTables_deadfilter {
float: right;
text-align: right;
margin-right: 1em;
}
div#jackett-search-results-datatable_wrapper {
width: 100%;
overflow-x: scroll;
}
div#unconfigured-indexer-datatable_wrapper {
width: 100%;
overflow-x: scroll;
}
div#jackett-releases-datatable_wrapper {
width: 100%;
overflow-x: scroll;
}
input#searchquery{
width:50%;
}

View File

@@ -2,7 +2,22 @@
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0"/>
<meta name="mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta charset="utf-8" />
<link rel="apple-touch-icon" href="../apple-touch-icon.png"/>
<link rel="apple-touch-icon" sizes="57x57" href="../apple-touch-icon-57x57.png"/>
<link rel="apple-touch-icon" sizes="72x72" href="../apple-touch-icon-72x72.png"/>
<link rel="apple-touch-icon" sizes="76x76" href="../apple-touch-icon-76x76.png"/>
<link rel="apple-touch-icon" sizes="114x114" href="../apple-touch-icon-114x114.png"/>
<link rel="apple-touch-icon" sizes="120x120" href="../apple-touch-icon-120x120.png"/>
<link rel="apple-touch-icon" sizes="144x144" href="../apple-touch-icon-144x144"/>
<link rel="apple-touch-icon" sizes="152x152" href="../apple-touch-icon-152x152.png"/>
<link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon-180x180.png"/>
<link rel="mask-icon" href="jackett_medium.png" color="#35c5f4">
<link rel="icon" type="image/ico" href="../favicon.ico"/>
<link rel='shortcut icon' type='image/x-icon' href='../favicon.ico' />
<script src="../libs/filesize.min.js"></script>
<script src="../libs/jquery.min.js"></script>
@@ -13,11 +28,13 @@
<script src="../libs/handlebarsmoment.js"></script>
<script src="../bootstrap/bootstrap.min.js"></script>
<script src="../libs/bootstrap-notify.js"></script>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
<script src="https://www.google.com/recaptcha/api.js?render=explicit" async defer></script>
<link href="../bootstrap/bootstrap.min.css" rel="stylesheet">
<link href="../animate.css" rel="stylesheet">
<link href="../custom.css" rel="stylesheet">
<link rel="stylesheet" href="../custom.css" media="only screen and (min-device-width: 480px)">
<link rel="stylesheet" href="../custom_mobile.css" media="only screen and (max-device-width: 480px)">
<link href="../css/jquery.dataTables.min.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../css/font-awesome.min.css">
<title>Jackett</title>
@@ -54,7 +71,7 @@
<h4>Adding a Jackett indexer in Sonarr or Radarr</h4>
<ol>
<li>Go to <b>Settings > Indexers > Add > Torznab > Custom</b>.</li>
<li>Click on the indexers corresponding <button type="button" class="btn btn-xs btn-info">Copy Torznab Feed</button> button and past it into the Sonarr/Radarr <b>URL</b> field.</li>
<li>Click on the indexers corresponding <button type="button" class="btn btn-xs btn-info">Copy Torznab Feed</button> button and paste it into the Sonarr/Radarr <b>URL</b> field.</li>
<li>For the <b>API key</b> use <b class="api-key-text"></b>.</li>
</ol>
<h4>Adding a Jackett indexer in CouchPotato</h4>
@@ -132,7 +149,7 @@
<script id="setup-item-nonlocalrecaptcha" type="text/x-handlebars-template">
<div class="setup-item-recaptcha">
<p>This site requires you to enter a ReCaptcha however this only works when accessing Jackett via localhost or 127.0.0.1. If you cannot access Jackett using that hostname then alternatively you can enter the cookie for the site manually. <a href="https://github.com/zone117x/Jackett/wiki/Finding-cookies" target="_blank">See here</a> on how get the cookies.</p>
<p>This site requires you to enter a ReCaptcha however this only works when accessing Jackett via 127.0.0.1 (localhost doesn't work). If you cannot access Jackett using that hostname then alternatively you can enter the cookie for the site manually. <a href="https://github.com/Jackett/Jackett/wiki/Finding-cookies" target="_blank">See here</a> on how get the cookies.</p>
<div class="setup-item-label">Full cookie header</div>
<input class="form-control" type="text" value="" />
</div>
@@ -376,20 +393,18 @@
</div>
<div class="modal-body">
<p>You can search all configured indexers from this screen.</p>
<label>Query</label>
<input type="text" name="query" id="searchquery" style="width:400px" />
<label>Category</label>
<select name="category" id="searchCategory"></select>
<label>Tracker</label>
<label for="text">Query</label>
<input type="text" name="query" id="searchquery"/>
<label for="tracker">Tracker</label>
<select name="tracker" id="searchTracker">
<option value="">-- All --</option>
{{#each indexers}}
<option value="{{id}}">{{name}}</option>
{{/each}}
</select>
<button id="jackett-search-perform" class="btn btn-success btn-sm">
<i class="fa fa-search"></i> Search trackers<span class="glyphicon glyphicon-ok-wrench" aria-hidden="true"></span>
</button>
<label for="category">Category</label>
<select name="category" id="searchCategory"></select>
<button id="jackett-search-perform" class="btn btn-success btn-sm"><span class="fa fa-search"></span></button>
<div id="searchResults"></div>
</div>
<div class="modal-footer">
@@ -428,7 +443,7 @@
<td>{{PublishDate}}</td>
<td>{{jacketTimespan PublishDate}}</td>
<td>{{Tracker}}</td>
<td class="Title"><a href="{{Comments}}">{{Title}}</a> <span class="release-labels"></span></td>
<td class="Title"><a href="{{Comments}}" target="_blank">{{Title}}</a> <span class="release-labels"></span></td>
<td>{{Size}}</td>
<td class="fit">{{jacketSize Size}}</td>
<td>{{Files}}</td>
@@ -571,6 +586,10 @@
<span class="spinner glyphicon glyphicon-refresh"></span>
</script>
<script id="search-button-ready" type="text/x-handlebars-template">
<span class="fa fa-search"></span>
</script>
<script src="../custom.js"></script>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -56,6 +56,12 @@ namespace Jackett.Controllers
var torrentDictionary = BEncodedDictionary.DecodeTorrent(downloadBytes);
downloadBytes = torrentDictionary.Encode();
char[] invalidChars = System.IO.Path.GetInvalidFileNameChars();
for(int i=0;i<file.Count();i++)
if(invalidChars.Contains(file[i])) {
file = file.Remove(i, 1).Insert(i, " ");
}
var result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new ByteArrayContent(downloadBytes);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-bittorrent");

View File

@@ -1,172 +1,173 @@
using AutoMapper;
using Jackett.Models;
using Jackett.Services;
using Jackett.Utils;
using Jackett.Utils.Clients;
using Newtonsoft.Json.Linq;
using NLog;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
namespace Jackett.Controllers
{
[AllowAnonymous]
[JackettAPINoCache]
public class PotatoController : ApiController
{
private IIndexerManagerService indexerService;
private Logger logger;
private IServerService serverService;
private ICacheService cacheService;
private IWebClient webClient;
public static int[] MOVIE_CATS
{
get
{
var torznabQuery = new TorznabQuery()
{
Categories = new int[1] { TorznabCatType.Movies.ID },
};
torznabQuery.ExpandCatsToSubCats();
return torznabQuery.Categories;
}
}
public PotatoController(IIndexerManagerService i, Logger l, IServerService s, ICacheService c, IWebClient w)
{
indexerService = i;
logger = l;
serverService = s;
cacheService = c;
webClient = w;
}
[HttpGet]
public async Task<HttpResponseMessage> Call(string indexerID, [FromUri]TorrentPotatoRequest request)
{
var indexer = indexerService.GetIndexer(indexerID);
var allowBadApiDueToDebug = false;
#if DEBUG
allowBadApiDueToDebug = Debugger.IsAttached;
#endif
if (!allowBadApiDueToDebug && !string.Equals(request.passkey, serverService.Config.APIKey, StringComparison.InvariantCultureIgnoreCase))
{
logger.Warn(string.Format("A request from {0} was made with an incorrect API key.", Request.GetOwinContext().Request.RemoteIpAddress));
return Request.CreateResponse(HttpStatusCode.Forbidden, "Incorrect API key");
}
if (!indexer.IsConfigured)
{
logger.Warn(string.Format("Rejected a request to {0} which is unconfigured.", indexer.DisplayName));
return Request.CreateResponse(HttpStatusCode.Forbidden, "This indexer is not configured.");
}
if (!indexer.TorznabCaps.Categories.Select(c => c.ID).Any(i => MOVIE_CATS.Contains(i))){
logger.Warn(string.Format("Rejected a request to {0} which does not support searching for movies.", indexer.DisplayName));
return Request.CreateResponse(HttpStatusCode.Forbidden, "This indexer does not support movies.");
}
var year = 0;
if (string.IsNullOrWhiteSpace(request.search))
{
// We are searching by IMDB id so look up the name
var omdbapiRequest = new Utils.Clients.WebRequest("http://www.omdbapi.com/?type=movie&i=" + request.imdbid);
omdbapiRequest.Encoding = Encoding.UTF8;
var response = await webClient.GetString(omdbapiRequest);
if (response.Status == HttpStatusCode.OK)
{
JObject result = JObject.Parse(response.Content);
if (result["Title"] != null)
{
request.search = result["Title"].ToString();
year = ParseUtil.CoerceInt(result["Year"].ToString());
}
}
}
var torznabQuery = new TorznabQuery()
{
ApiKey = request.passkey,
Categories = MOVIE_CATS,
SearchTerm = request.search,
ImdbID = request.imdbid,
QueryType = "TorrentPotato"
};
IEnumerable<ReleaseInfo> releases = new List<ReleaseInfo>();
if (!string.IsNullOrWhiteSpace(torznabQuery.SanitizedSearchTerm))
{
releases = await indexer.PerformQuery(torznabQuery);
releases = indexer.CleanLinks(releases);
}
// Cache non query results
if (string.IsNullOrEmpty(torznabQuery.SanitizedSearchTerm))
{
cacheService.CacheRssResults(indexer, releases);
}
releases = indexer.FilterResults(torznabQuery, releases);
var serverUrl = string.Format("{0}://{1}:{2}{3}", Request.RequestUri.Scheme, Request.RequestUri.Host, Request.RequestUri.Port, serverService.BasePath());
var potatoResponse = new TorrentPotatoResponse();
releases = TorznabUtil.FilterResultsToTitle(releases, torznabQuery.SanitizedSearchTerm, year);
releases = TorznabUtil.FilterResultsToImdb(releases, request.imdbid);
foreach (var r in releases)
{
var release = Mapper.Map<ReleaseInfo>(r);
release.Link = serverService.ConvertToProxyLink(release.Link, serverUrl, indexerID, "dl", release.Title + ".torrent");
// Only accept torrent links, magnet is not supported
if (release.Link != null)
{
potatoResponse.results.Add(new TorrentPotatoResponseItem()
{
release_name = release.Title + "[" + indexer.DisplayName + "]", // Suffix the indexer so we can see which tracker we are using in CPS as it just says torrentpotato >.>
torrent_id = release.Guid.ToString(),
details_url = release.Comments.ToString(),
download_url = release.Link.ToString(),
imdb_id = release.Imdb.HasValue ? "tt" + release.Imdb : null,
freeleech = (release.DownloadVolumeFactor == 0 ? true : false),
type = "movie",
size = (long)release.Size / (1024 * 1024), // This is in MB
leechers = (int)release.Peers - (int)release.Seeders,
seeders = (int)release.Seeders,
publish_date = r.PublishDate == DateTime.MinValue ? null : release.PublishDate.ToUniversalTime().ToString("s")
});
}
}
// Log info
if (string.IsNullOrWhiteSpace(torznabQuery.SanitizedSearchTerm))
{
logger.Info(string.Format("Found {0} torrentpotato releases from {1}", releases.Count(), indexer.DisplayName));
}
else
{
logger.Info(string.Format("Found {0} torrentpotato releases from {1} for: {2}", releases.Count(), indexer.DisplayName, torznabQuery.GetQueryString()));
}
// Force the return as Json
return new HttpResponseMessage()
{
Content = new JsonContent(potatoResponse)
};
}
}
}
using AutoMapper;
using Jackett.Models;
using Jackett.Services;
using Jackett.Utils;
using Jackett.Utils.Clients;
using Newtonsoft.Json.Linq;
using NLog;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
namespace Jackett.Controllers
{
[AllowAnonymous]
[JackettAPINoCache]
public class PotatoController : ApiController
{
private IIndexerManagerService indexerService;
private Logger logger;
private IServerService serverService;
private ICacheService cacheService;
private IWebClient webClient;
public static int[] MOVIE_CATS
{
get
{
var torznabQuery = new TorznabQuery()
{
Categories = new int[1] { TorznabCatType.Movies.ID },
};
torznabQuery.ExpandCatsToSubCats();
return torznabQuery.Categories;
}
}
public PotatoController(IIndexerManagerService i, Logger l, IServerService s, ICacheService c, IWebClient w)
{
indexerService = i;
logger = l;
serverService = s;
cacheService = c;
webClient = w;
}
[HttpGet]
public async Task<HttpResponseMessage> Call(string indexerID, [FromUri]TorrentPotatoRequest request)
{
var indexer = indexerService.GetIndexer(indexerID);
var allowBadApiDueToDebug = false;
#if DEBUG
allowBadApiDueToDebug = Debugger.IsAttached;
#endif
if (!allowBadApiDueToDebug && !string.Equals(request.passkey, serverService.Config.APIKey, StringComparison.InvariantCultureIgnoreCase))
{
logger.Warn(string.Format("A request from {0} was made with an incorrect API key.", Request.GetOwinContext().Request.RemoteIpAddress));
return Request.CreateResponse(HttpStatusCode.Forbidden, "Incorrect API key");
}
if (!indexer.IsConfigured)
{
logger.Warn(string.Format("Rejected a request to {0} which is unconfigured.", indexer.DisplayName));
return Request.CreateResponse(HttpStatusCode.Forbidden, "This indexer is not configured.");
}
if (!indexer.TorznabCaps.Categories.Select(c => c.ID).Any(i => MOVIE_CATS.Contains(i))){
logger.Warn(string.Format("Rejected a request to {0} which does not support searching for movies.", indexer.DisplayName));
return Request.CreateResponse(HttpStatusCode.Forbidden, "This indexer does not support movies.");
}
var year = 0;
if (string.IsNullOrWhiteSpace(request.search))
{
// We are searching by IMDB id so look up the name
var omdbapiRequest = new Utils.Clients.WebRequest("http://www.omdbapi.com/?type=movie&i=" + request.imdbid);
omdbapiRequest.Encoding = Encoding.UTF8;
var response = await webClient.GetString(omdbapiRequest);
if (response.Status == HttpStatusCode.OK)
{
JObject result = JObject.Parse(response.Content);
if (result["Title"] != null)
{
request.search = result["Title"].ToString();
year = ParseUtil.CoerceInt(result["Year"].ToString());
}
}
}
var torznabQuery = new TorznabQuery()
{
ApiKey = request.passkey,
Categories = MOVIE_CATS,
SearchTerm = request.search,
ImdbID = request.imdbid,
QueryType = "TorrentPotato"
};
IEnumerable<ReleaseInfo> releases = new List<ReleaseInfo>();
if (!string.IsNullOrWhiteSpace(torznabQuery.SanitizedSearchTerm))
{
releases = await indexer.PerformQuery(torznabQuery);
releases = indexer.CleanLinks(releases);
}
// Cache non query results
if (string.IsNullOrEmpty(torznabQuery.SanitizedSearchTerm))
{
cacheService.CacheRssResults(indexer, releases);
}
releases = indexer.FilterResults(torznabQuery, releases);
var serverUrl = string.Format("{0}://{1}:{2}{3}", Request.RequestUri.Scheme, Request.RequestUri.Host, Request.RequestUri.Port, serverService.BasePath());
var potatoResponse = new TorrentPotatoResponse();
releases = TorznabUtil.FilterResultsToTitle(releases, torznabQuery.SanitizedSearchTerm, year);
releases = TorznabUtil.FilterResultsToImdb(releases, request.imdbid);
foreach (var r in releases)
{
var release = Mapper.Map<ReleaseInfo>(r);
release.Link = serverService.ConvertToProxyLink(release.Link, serverUrl, indexerID, "dl", release.Title + ".torrent");
// Only accept torrent links, magnet is not supported
// This seems to be no longer the case, allowing magnet URIs for now
if (release.Link != null || release.MagnetUri != null)
{
potatoResponse.results.Add(new TorrentPotatoResponseItem()
{
release_name = release.Title + "[" + indexer.DisplayName + "]", // Suffix the indexer so we can see which tracker we are using in CPS as it just says torrentpotato >.>
torrent_id = release.Guid.ToString(),
details_url = release.Comments.ToString(),
download_url = (release.Link != null ? release.Link.ToString() : release.MagnetUri.ToString()),
imdb_id = release.Imdb.HasValue ? "tt" + release.Imdb : null,
freeleech = (release.DownloadVolumeFactor == 0 ? true : false),
type = "movie",
size = (long)release.Size / (1024 * 1024), // This is in MB
leechers = (int)release.Peers - (int)release.Seeders,
seeders = (int)release.Seeders,
publish_date = r.PublishDate == DateTime.MinValue ? null : release.PublishDate.ToUniversalTime().ToString("s")
});
}
}
// Log info
if (string.IsNullOrWhiteSpace(torznabQuery.SanitizedSearchTerm))
{
logger.Info(string.Format("Found {0} torrentpotato releases from {1}", releases.Count(), indexer.DisplayName));
}
else
{
logger.Info(string.Format("Found {0} torrentpotato releases from {1} for: {2}", releases.Count(), indexer.DisplayName, torznabQuery.GetQueryString()));
}
// Force the return as Json
return new HttpResponseMessage()
{
Content = new JsonContent(potatoResponse)
};
}
}
}

View File

@@ -1,7 +1,7 @@
using AutoMapper;
using Jackett.Models;
using Jackett.Services;
using Jackett.Utils;
using Jackett.Utils;
using NLog;
using System;
using System.Collections.Generic;
@@ -13,8 +13,8 @@ using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
using System.Xml.Linq;
using System.Xml.Linq;
namespace Jackett.Controllers
{
[AllowAnonymous]
@@ -34,8 +34,8 @@ namespace Jackett.Controllers
cacheService = c;
}
public HttpResponseMessage GetErrorXML(int code, string description)
{
public HttpResponseMessage GetErrorXML(int code, string description)
{
var xdoc = new XDocument(
new XDeclaration("1.0", "UTF-8", null),
new XElement("error",
@@ -46,10 +46,10 @@ namespace Jackett.Controllers
var xml = xdoc.Declaration.ToString() + Environment.NewLine + xdoc.ToString();
return new HttpResponseMessage()
{
return new HttpResponseMessage()
{
Content = new StringContent(xml, Encoding.UTF8, "application/xml")
};
};
}
[HttpGet]
@@ -82,33 +82,33 @@ namespace Jackett.Controllers
{
logger.Warn(string.Format("Rejected a request to {0} which is unconfigured.", indexer.DisplayName));
return Request.CreateResponse(HttpStatusCode.Forbidden, "This indexer is not configured.");
}
}
if (torznabQuery.ImdbID != null)
{
if (torznabQuery.QueryType != "movie")
{
logger.Warn(string.Format("A non movie request with an imdbid was made from {0}.", Request.GetOwinContext().Request.RemoteIpAddress));
return GetErrorXML(201, "Incorrect parameter: only movie-search supports the imdbid parameter");
if (torznabQuery.QueryType != "movie")
{
logger.Warn(string.Format("A non movie request with an imdbid was made from {0}.", Request.GetOwinContext().Request.RemoteIpAddress));
return GetErrorXML(201, "Incorrect parameter: only movie-search supports the imdbid parameter");
}
if (!string.IsNullOrEmpty(torznabQuery.SearchTerm))
{
logger.Warn(string.Format("A movie-search request from {0} was made contining q and imdbid.", Request.GetOwinContext().Request.RemoteIpAddress));
return GetErrorXML(201, "Incorrect parameter: please specify either imdbid or q");
if (!string.IsNullOrEmpty(torznabQuery.SearchTerm))
{
logger.Warn(string.Format("A movie-search request from {0} was made contining q and imdbid.", Request.GetOwinContext().Request.RemoteIpAddress));
return GetErrorXML(201, "Incorrect parameter: please specify either imdbid or q");
}
torznabQuery.ImdbID = ParseUtil.GetFullImdbID(torznabQuery.ImdbID); // normalize ImdbID
if (torznabQuery.ImdbID == null)
if (torznabQuery.ImdbID == null)
{
logger.Warn(string.Format("A movie-search request from {0} was made with an invalid imdbid.", Request.GetOwinContext().Request.RemoteIpAddress));
return GetErrorXML(201, "Incorrect parameter: invalid imdbid format");
return GetErrorXML(201, "Incorrect parameter: invalid imdbid format");
}
if (!indexer.TorznabCaps.SupportsImdbSearch)
if (!indexer.TorznabCaps.SupportsImdbSearch)
{
logger.Warn(string.Format("A movie-search request with imdbid from {0} was made but the indexer {1} doesn't support it.", Request.GetOwinContext().Request.RemoteIpAddress, indexer.DisplayName));
return GetErrorXML(203, "Function Not Available: imdbid is not supported by this indexer");
return GetErrorXML(203, "Function Not Available: imdbid is not supported by this indexer");
}
}

View File

@@ -92,16 +92,16 @@ namespace Jackett
easy.BufferSize = 64 * 1024;
easy.UserAgent = BrowserUtil.ChromeUserAgent;
easy.FollowLocation = false;
easy.ConnectTimeout = 20;
if(curlRequest.Headers != null)
{
CurlSlist curlHeaders = new CurlSlist();
foreach (var header in curlRequest.Headers)
{
curlHeaders.Append(header.Key + ": " + header.Value);
}
easy.SetOpt(CurlOption.HttpHeader, curlHeaders);
}
easy.ConnectTimeout = 20;
if(curlRequest.Headers != null)
{
CurlSlist curlHeaders = new CurlSlist();
foreach (var header in curlRequest.Headers)
{
curlHeaders.Append(header.Key + ": " + header.Value);
}
easy.SetOpt(CurlOption.HttpHeader, curlHeaders);
}
easy.WriteFunction = (byte[] buf, int size, int nmemb, object data) =>
{
@@ -151,8 +151,8 @@ namespace Jackett
{
easy.SetOpt(CurlOption.SslVerifyhost, false);
easy.SetOpt(CurlOption.SslVerifyPeer, false);
}
}
if (Startup.ProxyConnection != null)
{
easy.SetOpt(CurlOption.HttpProxyTunnel, 1);
@@ -173,14 +173,14 @@ namespace Jackett
var headerBytes = Combine(headerBuffers.ToArray());
var headerString = Encoding.UTF8.GetString(headerBytes);
if (Startup.ProxyConnection != null)
{
var firstcrlf = headerString.IndexOf("\r\n\r\n");
var secondcrlf = headerString.IndexOf("\r\n\r\n", firstcrlf + 1);
if (secondcrlf > 0)
{
headerString = headerString.Substring(firstcrlf + 4, secondcrlf - (firstcrlf));
}
if (Startup.ProxyConnection != null)
{
var firstcrlf = headerString.IndexOf("\r\n\r\n");
var secondcrlf = headerString.IndexOf("\r\n\r\n", firstcrlf + 1);
if (secondcrlf > 0)
{
headerString = headerString.Substring(firstcrlf + 4, secondcrlf - (firstcrlf));
}
}
var headerParts = headerString.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
var headers = new List<string[]>();
@@ -231,28 +231,28 @@ namespace Jackett
}
// add some debug output to track down the problem causing people getting InternalServerError results
if (status == HttpStatusCode.NotImplemented || status == HttpStatusCode.InternalServerError)
{
try
{
OnErrorMessage("got NotImplemented/InternalServerError");
OnErrorMessage("request.Method: " + curlRequest.Method);
OnErrorMessage("request.Url: " + curlRequest.Url);
OnErrorMessage("request.Cookies: " + curlRequest.Cookies);
OnErrorMessage("request.Referer: " + curlRequest.Referer);
OnErrorMessage("request.RawPOSTDdata: " + curlRequest.RawPOSTDdata);
OnErrorMessage("cookies: "+ cookieBuilder.ToString().Trim());
OnErrorMessage("headerString:\n" + headerString);
foreach (var headerPart in headerParts)
{
OnErrorMessage("headerParts: "+headerPart);
}
if (status == HttpStatusCode.NotImplemented || status == HttpStatusCode.InternalServerError)
{
try
{
OnErrorMessage("got NotImplemented/InternalServerError");
OnErrorMessage("request.Method: " + curlRequest.Method);
OnErrorMessage("request.Url: " + curlRequest.Url);
OnErrorMessage("request.Cookies: " + curlRequest.Cookies);
OnErrorMessage("request.Referer: " + curlRequest.Referer);
OnErrorMessage("request.RawPOSTDdata: " + curlRequest.RawPOSTDdata);
OnErrorMessage("cookies: "+ cookieBuilder.ToString().Trim());
OnErrorMessage("headerString:\n" + headerString);
foreach (var headerPart in headerParts)
{
OnErrorMessage("headerParts: "+headerPart);
}
}
catch (Exception ex)
{
OnErrorMessage(string.Format("CurlHelper: error while handling NotImplemented/InternalServerError:\n{0}", ex));
}
catch (Exception ex)
{
OnErrorMessage(string.Format("CurlHelper: error while handling NotImplemented/InternalServerError:\n{0}", ex));
}
}
var contentBytes = Combine(contentBuffers.ToArray());

View File

@@ -1,139 +1,139 @@
---
site: 2fast4you
name: 2 Fast 4 You
language: fr-fr
type: private
encoding: UTF-8
links:
- http://www.2f4y.me/
caps:
categories:
10: TV/Anime # Animation: HD720P
11: TV/Anime # Animation: HD1080P
56: TV/Anime # Animation: DVDRip
13: TV/Anime # Animation: DVD
18: PC/0day # Applications: PC
16: PC/Games # Applications: Jeux
19: PC/Phone-Android # Applications: Android
38: PC/Phone-IOS # Applications: Mobile Phone
17: PC/0day # Applications: Autres
67: TV # Autres: Emission TV
68: TV/Sport # Autres: Sport
40: Other # Autres: Autres
14: TV/Documentary # Documentaires: DivX
15: TV/Documentary # Documentaires: HD
76: TV/Documentary # Documentaires: TVRip
62: Audio/Audiobook # E-Books: E-Books Audio
50: Books # E-Books: Manuel Français
49: Books # E-Books: Manuel Anglais
36: Books # E-Books: Livres Français
53: Books # E-Books: Livre Anglais
52: Books # E-Books: Revue - Journaux
51: Books # E-Books: BD
66: Movies # Films: VOSTFR
71: Movies/WEBDL # Films: WEB-DL
65: Movies # Films: VO
72: Movies/SD # Films: TVRip/HDTV
70: Movies/HD # Films: MHD X265
57: Movies/SD # Films: TS/CAM
59: Movies # Films: Spectacle
55: Movies/HD # Films: MHD 720P
54: Movies/HD # Films: MHD 1080P
1: Movies/HD # Films: HD720P
2: Movies/HD # Films: HD1080P
90: Movies/HD # Films: HD X265
92: Movies/HD # Films: 4K
69: Movies/3D # Films: Film 3D
3: Movies/DVD # Films: DVDRIP
4: Movies/DVD # Films: DVD5
5: Movies/DVD # Films: DVD9
91: Movies/HD # Films: RemuX
89: Movies/HD # Films: BD/BR Rip
88: Movies/BluRay # Films: Full BD/BR
77: Other # GPS: Cartes
78: Other # GPS: Radars
79: TV/Anime # Mangas: HD
80: TV/Anime # Mangas: HD VO
81: TV/Anime # Mangas: HD VOSTFR
82: TV/Anime # Mangas: DVDRIP
83: TV/Anime # Mangas: DVDRIP VO
84: TV/Anime # Mangas: DVDRIP VOSTFR
85: TV/Anime # Mangas: Web-DL
86: TV/Anime # Mangas: TV-RIP
75: Audio # Musique: Concert TVRip
25: Audio/MP3 # Musique: Single MP3
24: Audio/Lossless # Musique: Single Flac
22: Audio/MP3 # Musique: Album MP3
23: Audio/Lossless # Musique: Album Flac
64: Audio # Musique: Mégamix Maison
58: Audio # Musique: Concert
61: TV # Serie TV: Episode VOSTFR
63: TV # Serie TV: Episode VO
12: TV/Anime # Serie TV: Animation
74: TV # Serie TV: TVRip
73: TV/WEB-DL # Serie TV: WEB-DL
7: TV # Serie TV: Episode FR
6: TV # Serie TV: Saison FR
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: form:contains("Erreur")
message:
selector: form
remove: table
test:
path: torrents-search.php
search:
path: torrents-search.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
fields:
download:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["torrents-details.php", "download.php"]
title:
selector: a[href^="torrents-details.php?id="]
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
banner:
selector: img.rounded-img
attribute: src
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
downloadvolumefactor:
case:
img[title="freeleech"]: "0"
"*": "1"
uploadvolumefactor:
case:
---
site: 2fast4you
name: 2 Fast 4 You
language: fr-fr
type: private
encoding: UTF-8
links:
- http://www.2f4y.me/
caps:
categorymappings:
- {id: 10, cat: TV/Anime, desc: "Animation: HD720P"}
- {id: 11, cat: TV/Anime, desc: "Animation: HD1080P"}
- {id: 56, cat: TV/Anime, desc: "Animation: DVDRip"}
- {id: 13, cat: TV/Anime, desc: "Animation: DVD"}
- {id: 18, cat: PC/0day, desc: "Applications: PC"}
- {id: 16, cat: PC/Games, desc: "Applications: Jeux"}
- {id: 19, cat: PC/Phone-Android, desc: "Applications: Android"}
- {id: 38, cat: PC/Phone-IOS, desc: "Applications: Mobile Phone"}
- {id: 17, cat: PC/0day, desc: "Applications: Autres"}
- {id: 67, cat: TV, desc: "Autres: Emission TV"}
- {id: 68, cat: TV/Sport, desc: "Autres: Sport"}
- {id: 40, cat: Other, desc: "Autres: Autres"}
- {id: 14, cat: TV/Documentary, desc: "Documentaires: DivX"}
- {id: 15, cat: TV/Documentary, desc: "Documentaires: HD"}
- {id: 76, cat: TV/Documentary, desc: "Documentaires: TVRip"}
- {id: 62, cat: Audio/Audiobook, desc: "E-Books: E-Books Audio"}
- {id: 50, cat: Books, desc: "E-Books: Manuel Français"}
- {id: 49, cat: Books, desc: "E-Books: Manuel Anglais"}
- {id: 36, cat: Books, desc: "E-Books: Livres Français"}
- {id: 53, cat: Books, desc: "E-Books: Livre Anglais"}
- {id: 52, cat: Books, desc: "E-Books: Revue - Journaux"}
- {id: 51, cat: Books, desc: "E-Books: BD"}
- {id: 66, cat: Movies, desc: "Films: VOSTFR"}
- {id: 71, cat: Movies/WEBDL, desc: "Films: WEB-DL"}
- {id: 65, cat: Movies, desc: "Films: VO"}
- {id: 72, cat: Movies/SD, desc: "Films: TVRip/HDTV"}
- {id: 70, cat: Movies/HD, desc: "Films: MHD X265"}
- {id: 57, cat: Movies/SD, desc: "Films: TS/CAM"}
- {id: 59, cat: Movies, desc: "Films: Spectacle"}
- {id: 55, cat: Movies/HD, desc: "Films: MHD 720P"}
- {id: 54, cat: Movies/HD, desc: "Films: MHD 1080P"}
- {id: 1, cat: Movies/HD, desc: "Films: HD720P"}
- {id: 2, cat: Movies/HD, desc: "Films: HD1080P"}
- {id: 90, cat: Movies/HD, desc: "Films: HD X265"}
- {id: 92, cat: Movies/HD, desc: "Films: 4K"}
- {id: 69, cat: Movies/3D, desc: "Films: Film 3D"}
- {id: 3, cat: Movies/DVD, desc: "Films: DVDRIP"}
- {id: 4, cat: Movies/DVD, desc: "Films: DVD5"}
- {id: 5, cat: Movies/DVD, desc: "Films: DVD9"}
- {id: 91, cat: Movies/HD, desc: "Films: RemuX"}
- {id: 89, cat: Movies/HD, desc: "Films: BD/BR Rip"}
- {id: 88, cat: Movies/BluRay, desc: "Films: Full BD/BR"}
- {id: 77, cat: Other, desc: "GPS: Cartes"}
- {id: 78, cat: Other, desc: "GPS: Radars"}
- {id: 79, cat: TV/Anime, desc: "Mangas: HD"}
- {id: 80, cat: TV/Anime, desc: "Mangas: HD VO"}
- {id: 81, cat: TV/Anime, desc: "Mangas: HD VOSTFR"}
- {id: 82, cat: TV/Anime, desc: "Mangas: DVDRIP"}
- {id: 83, cat: TV/Anime, desc: "Mangas: DVDRIP VO"}
- {id: 84, cat: TV/Anime, desc: "Mangas: DVDRIP VOSTFR"}
- {id: 85, cat: TV/Anime, desc: "Mangas: Web-DL"}
- {id: 86, cat: TV/Anime, desc: "Mangas: TV-RIP"}
- {id: 75, cat: Audio, desc: "Musique: Concert TVRip"}
- {id: 25, cat: Audio/MP3, desc: "Musique: Single MP3"}
- {id: 24, cat: Audio/Lossless, desc: "Musique: Single Flac"}
- {id: 22, cat: Audio/MP3, desc: "Musique: Album MP3"}
- {id: 23, cat: Audio/Lossless, desc: "Musique: Album Flac"}
- {id: 64, cat: Audio, desc: "Musique: Mégamix Maison"}
- {id: 58, cat: Audio, desc: "Musique: Concert"}
- {id: 61, cat: TV, desc: "Serie TV: Episode VOSTFR"}
- {id: 63, cat: TV, desc: "Serie TV: Episode VO"}
- {id: 12, cat: TV/Anime, desc: "Serie TV: Animation"}
- {id: 74, cat: TV, desc: "Serie TV: TVRip"}
- {id: 73, cat: TV/WEB-DL, desc: "Serie TV: WEB-DL"}
- {id: 7, cat: TV, desc: "Serie TV: Episode FR"}
- {id: 6, cat: TV, desc: "Serie TV: Saison FR"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: form:contains("Erreur")
message:
selector: form
remove: table
test:
path: torrents-search.php
search:
path: torrents-search.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
fields:
download:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["torrents-details.php", "download.php"]
title:
selector: a[href^="torrents-details.php?id="]
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
banner:
selector: img.rounded-img
attribute: src
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
downloadvolumefactor:
case:
img[title="freeleech"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,102 @@
---
site: 3dtorrents
name: 3D Torrents
description: "3D Movie tracker"
language: en-us
type: private
encoding: UTF-8
links:
- http://www.3dtorrents.org/
caps:
categorymappings:
- {id: 14, cat: Movies, desc: "Movies XviD"}
- {id: 34, cat: Movies, desc: "Movies UltraHD"}
- {id: 15, cat: Movies, desc: "Movies DVD-R"}
- {id: 11, cat: Movies, desc: "Movies 720p"}
- {id: 13, cat: Movies, desc: "Movies 1080p"}
- {id: 16, cat: Movies, desc: "Movies 3DTV"}
- {id: 17, cat: Movies, desc: "Movies Blu-ray"}
- {id: 27, cat: Movies, desc: "Movies BD25 Encode"}
- {id: 33, cat: Movies, desc: "Movies BD9 AVCHD"}
- {id: 22, cat: Movies, desc: "Movies 2D to 3D Conv"}
- {id: 32, cat: Movies, desc: "Bluray MKV Remux"}
- {id: 23, cat: Movies, desc: "Movies Evo 3D"}
- {id: 21, cat: PC, desc: "3D Software"}
- {id: 2, cat: Audio, desc: "Music"}
- {id: 28, cat: XXX, desc: "Adult 720p"}
- {id: 29, cat: XXX, desc: "Adult 1080p"}
- {id: 30, cat: XXX, desc: "Adult Blu-ray"}
- {id: 31, cat: Other, desc: "Misc"}
- {id: 19, cat: Audio, desc: "Audio Packs"}
modes:
search: [q]
login:
path: index.php?page=login&amp;returnto=index.php
method: form
form: form
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
captcha:
type: image
image: img.captcha
input: private_key
error:
- selector: span.errormsg
test:
path: index.php
download:
selector: a[href^="download.php?id="]
search:
path: index.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
search: "{{ .Query.Keywords }}"
page: torrents
category: 0
3dformat: 0
active: 1
rows:
selector: table[cellspacing!="1"].lista > tbody > tr:has(a[href^="index.php?page=torrents&category="])
fields:
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
title:
remove: span
selector: td:nth-child(2)
download:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: href
filters:
- name: replace
args: ["index.php?page=torrent-details&id=", "download.php?id="]
details:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: href
size:
selector: td:nth-last-child(4)
seeders:
selector: td:nth-last-child(3)
# leechers:
# selector: td:nth-last-child(2)
date:
selector: td:nth-last-child(5)
filters:
- name: dateparse
args: "02/01/2006"
downloadvolumefactor:
case:
img[title^="You get 50% off download count on this torrent"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,132 @@
---
site: acidlounge
name: Acid-Lounge
language: en-us
type: private
encoding: UTF-8
links:
- https://www.acid-lounge.org.uk/
caps:
categorymappings:
- {id: 79, cat: PC/Phone-Android, desc: "Android"}
- {id: 61, cat: TV/Anime, desc: "Anime"}
- {id: 55, cat: PC/0day, desc: "Appz/0-Day"}
- {id: 59, cat: PC/Mac, desc: "Appz/Mac"}
- {id: 22, cat: PC, desc: "Appz/Misc"}
- {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: 60, cat: PC/Mac, desc: "Games/Mac"}
- {id: 54, cat: Console/NDS, desc: "Games/NDS"}
- {id: 4, cat: PC/Games, desc: "Games/PC"}
- {id: 42, cat: Console/PS3, desc: "Games/PS3"}
- {id: 56, cat: Console/Wii, desc: "Games/Wii"}
- {id: 36, cat: Console/Xbox360, desc: "Games/xbox360"}
- {id: 69, cat: Other, desc: "Halloween"}
- {id: 80, cat: PC/Phone-IOS, desc: "iPhone / iPad"}
- {id: 46, cat: Other, desc: "Kids"}
- {id: 63, cat: PC, desc: "Linux"}
- {id: 49, cat: Other, desc: "Misc"}
- {id: 77, cat: Movies/3D, desc: "Movies/3D BLURAY"}
- {id: 73, cat: Movies/HD, desc: "Movies/Boxsets HD"}
- {id: 74, cat: Movies/SD, desc: "Movies/Boxsets SD"}
- {id: 25, cat: Movies/DVD, desc: "Movies/DVD-R"}
- {id: 51, cat: Movies/HD, desc: "Movies/HD"}
- {id: 26, cat: Movies, desc: "Movies/Retro"}
- {id: 29, cat: Movies/SD, desc: "Movies/SD"}
- {id: 52, cat: Movies/SD, desc: "Movies/WMV"}
- {id: 85, cat: Movies/HD, desc: "Movies/X265"}
- {id: 66, cat: Audio/Lossless, desc: "Music/Flac"}
- {id: 35, cat: Audio/MP3, desc: "Music/MP3"}
- {id: 31, cat: Audio/Video, desc: "Music/Videos"}
- {id: 72, cat: Movies, desc: "Sci-Fi"}
- {id: 83, cat: Movies, desc: "Tribute Packs"}
- {id: 30, cat: TV, desc: "TV"}
- {id: 50, cat: TV/HD, desc: "TV-HD/X264"}
- {id: 71, cat: TV/SD, desc: "TV-SD/X264"}
- {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: 78, cat: XXX, desc: "XXX/3D"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: Main/?act=Login
method: form
form: form#login
captcha:
type: image
image: img[alt="Security code"]
input: code
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.errorWrap
test:
path: browse.php
search:
paths:
- path: browse.php
inputs:
$raw: "{{range .Categories}}cid[]={{.}}&{{end}}"
search: "{{ .Keywords }}"
search_type: "title"
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
attribute: href
filters:
- name: querystring
args: cat[]
details:
selector: a.torrent_name
attribute: href
download:
selector: a[href^="download.php?"]
attribute: href
size:
selector: td.torrent_table_size
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:
case:
"*": "1"
date:
selector: td.torrent_table_dateAdded
filters:
- name: append
args: " +01:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"

View File

@@ -1,83 +0,0 @@
---
site: alphareign
name: AlphaReign
description: "A DHT only tracker"
language: en-us
type: semi-private
encoding: UTF-8
links:
- https://alphareign.se
caps:
categories:
Movies: Movies
Movies/HD: Movies/HD
Movies/SD: Movies/SD
TV: TV
TV/HD: TV/HD
TV/SD: TV/SD
Other: Other
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /login
method: form
form: form[action^="/login"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- path: /login
selector: div.auth-form > div > div.alert-danger
test:
path: settings
selector: a[href="/logout"]
ratio:
text: "∞"
search:
path: /
method: get
inputs:
query: "{{ .Keywords }}"
rows:
selector: .result
fields:
title:
attribute: data-name
details:
selector: a[href^="/torrent"]
attribute: href
download:
selector: a[href^="magnet:"]
attribute: href
date:
attribute: data-added
size:
attribute: data-size
seeders:
attribute: data-seeders
leechers:
attribute: data-leechers
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"
category:
case:
"a[class=\"label label-primary\"]:contains(\"video\") + a[class=\"label label-success\"]:contains(\"movie\") + a[class=\"label label-info\"]:contains(\"HD\")": "Movies/HD"
"a[class=\"label label-primary\"]:contains(\"video\") + a[class=\"label label-success\"]:contains(\"movie\") + a[class=\"label label-info\"]:contains(\"720p\")": "Movies/HD"
"a[class=\"label label-primary\"]:contains(\"video\") + a[class=\"label label-success\"]:contains(\"movie\") + a[class=\"label label-info\"]:contains(\"1080p\")": "Movies/HD"
"a[class=\"label label-primary\"]:contains(\"video\") + a[class=\"label label-success\"]:contains(\"movie\") + a[class=\"label label-info\"]:contains(\"SD\")": "Movies/SD"
"a[class=\"label label-primary\"]:contains(\"video\") + a[class=\"label label-success\"]:contains(\"movie\")": "Movies"
"a[class=\"label label-primary\"]:contains(\"video\") + a[class=\"label label-success\"]:contains(\"show\") + a[class=\"label label-info\"]:contains(\"HD\")": "TV/HD"
"a[class=\"label label-primary\"]:contains(\"video\") + a[class=\"label label-success\"]:contains(\"show\") + a[class=\"label label-info\"]:contains(\"SD\")": "TV/SD"
"a[class=\"label label-primary\"]:contains(\"video\") + a[class=\"label label-success\"]:contains(\"show\")": "TV"
"*": "Other"

View File

@@ -1,124 +1,124 @@
---
site: aox
name: AOX
language: en-us
type: private
encoding: UTF-8
links:
- https://aox.to/
caps:
categories:
# Japanese
1: Movies # jMovies
2: TV # TV Shows
3: TV/Other # Variety Shows
# Korean
6: Movies # kMovies
4: TV # TV Shows
14: TV/Other # Variety Shows
# Chinese
8: Movies # cMovies
9: TV # TV Shows
13: TV/Other # Variety Shows
# Adult
13: XXX # Adult
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: body[onLoad^="makeAlert('"]
message:
selector: body[onLoad^="makeAlert('"]
attribute: onLoad
filters:
- name: replace
args: ["makeAlert('Error' , '", ""]
- name: replace
args: ["');", ""]
test:
path: index.php
download:
selector: a[href^="download.php?id="]
search:
path: index.php
inputs:
search: "{{ .Query.Keywords }}"
page: "torrents"
category: "{{range .Categories}}{{.}};{{end}}"
options: "0"
active: "0"
rows:
selector: table > tbody > tr > td > table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="])
fields:
download:
selector: a[href^="index.php?page=downloadcheck&id="]
attribute: href
title:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
banner:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) "
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
details:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: href
size:
selector: td:nth-child(12)
date:
selector: td:nth-child(7)
filters:
- name: append
args: " +01:00"
- name: dateparse
args: "02/01/2006 -07:00"
grabs:
selector: td:nth-child(10)
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
downloadvolumefactor:
case:
img[alt="Full Star 100% Free"]: "0"
img[alt="Half Star 50% Free"]: "0.5"
img[alt="Empty Star 25% Free"]: "0.75"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
description:
selector: td:nth-child(2)
remove: a
description|append:
selector: td:nth-child(3) > img
attribute: title
filters:
- name: prepend
args: "<br>Language: "
---
site: aox
name: AOX
language: en-us
type: private
encoding: UTF-8
links:
- https://aox.to/
caps:
categorymappings:
# Japanese
- {id: 1, cat: Movies, desc: "jMovies"}
- {id: 2, cat: TV, desc: "TV Shows"}
- {id: 3, cat: TV/Other, desc: "Variety Shows"}
# Korean
- {id: 6, cat: Movies, desc: "kMovies"}
- {id: 4, cat: TV, desc: "TV Shows"}
- {id: 14, cat: TV/Other, desc: "Variety Shows"}
# Chinese
- {id: 8, cat: Movies, desc: "cMovies"}
- {id: 9, cat: TV, desc: "TV Shows"}
- {id: 13, cat: TV/Other, desc: "Variety Shows"}
# Adult
- {id: 13, cat: XXX, desc: "Adult"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: body[onLoad^="makeAlert('"]
message:
selector: body[onLoad^="makeAlert('"]
attribute: onLoad
filters:
- name: replace
args: ["makeAlert('Error' , '", ""]
- name: replace
args: ["');", ""]
test:
path: index.php
download:
selector: a[href^="download.php?id="]
search:
path: index.php
inputs:
search: "{{ .Query.Keywords }}"
page: "torrents"
category: "{{range .Categories}}{{.}};{{end}}"
options: "0"
active: "0"
rows:
selector: table > tbody > tr > td > table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="])
fields:
download:
selector: a[href^="index.php?page=downloadcheck&id="]
attribute: href
title:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
banner:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) "
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
details:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: href
size:
selector: td:nth-child(12)
date:
selector: td:nth-child(7)
filters:
- name: append
args: " +01:00"
- name: dateparse
args: "02/01/2006 -07:00"
grabs:
selector: td:nth-child(10)
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
downloadvolumefactor:
case:
img[alt="Full Star 100% Free"]: "0"
img[alt="Half Star 50% Free"]: "0.5"
img[alt="Empty Star 25% Free"]: "0.75"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
description:
selector: td:nth-child(2)
remove: a
description|append:
selector: td:nth-child(3) > img
attribute: title
filters:
- name: prepend
args: "<br>Language: "

View File

@@ -1,95 +1,95 @@
---
site: apollo
name: Apollo
description: "A music tracker"
language: en-us
type: private
encoding: UTF-8
links:
- https://apollo.rip
caps:
categories:
1: Audio # Music
2: PC # Applications
3: Books # E-Books
4: Audio/Audiobook # Audiobooks
5: Movies # E-Learning Videos
6: TV # Comedy
7: Books/Comics # Comics
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: 1
login: "Log in"
error:
- selector: form#loginform > span.warning
test:
path: torrents.php
ratio:
path: torrents.php
selector: li#stats_ratio > span
search:
path: torrents.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Query.Keywords }}"
order_by: time
order_way: desc
action: basic
searchsubmit: 1
rows:
selector: table#torrent_table > tbody > tr.torrent
fields:
download:
selector: a[href^="torrents.php?action=download&id="]
attribute: href
description:
selector: div.group_info
remove: span
title:
selector: div.group_info
remove: span, div.tags
category:
selector: td.cats_col
case:
div.cats_music: 1
div.cats_applications: 2
div.cats_ebooks: 3
div.cats_audiobooks: 4
div.cats_elearningvideos: 5
div.cats_comedy: 6
div.cats_comics: 7
comments:
selector: a[href^="torrents.php?id="]
attribute: href
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(4)
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:
":root div.alertbar:contains(\"freeleech\")": "0"
":root div.alertbar:contains(\"FREELEECH\")": "0"
"*": "1"
uploadvolumefactor:
case:
---
site: apollo
name: Apollo
description: "A music tracker"
language: en-us
type: private
encoding: UTF-8
links:
- https://apollo.rip
caps:
categorymappings:
- {id: 1, cat: Audio, desc: "Music"}
- {id: 2, cat: PC, desc: "Applications"}
- {id: 3, cat: Books, desc: "E-Books"}
- {id: 4, cat: Audio/Audiobook, desc: "Audiobooks"}
- {id: 5, cat: Movies, desc: "E-Learning Videos"}
- {id: 6, cat: TV, desc: "Comedy"}
- {id: 7, cat: Books/Comics, desc: "Comics"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: 1
login: "Log in"
error:
- selector: form#loginform > span.warning
test:
path: torrents.php
ratio:
path: torrents.php
selector: li#stats_ratio > span
search:
path: torrents.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Query.Keywords }}"
order_by: time
order_way: desc
action: basic
searchsubmit: 1
rows:
selector: table#torrent_table > tbody > tr.torrent
fields:
download:
selector: a[href^="torrents.php?action=download&id="]
attribute: href
description:
selector: div.group_info
remove: span
title:
selector: div.group_info
remove: span, div.tags
category:
selector: td.cats_col
case:
div.cats_music: 1
div.cats_applications: 2
div.cats_ebooks: 3
div.cats_audiobooks: 4
div.cats_elearningvideos: 5
div.cats_comedy: 6
div.cats_comics: 7
comments:
selector: a[href^="torrents.php?id="]
attribute: href
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(4)
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:
":root div.alertbar:contains(\"freeleech\")": "0"
":root div.alertbar:contains(\"FREELEECH\")": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -1,164 +1,164 @@
---
site: arabafenice
name: ArabaFenice
language: it-it
type: private
encoding: UTF-8
links:
- http://www.arabafenice.me/
caps:
categories:
# HRS
34: Movies/HD # 1080p HRS x264
47: Movies/HD # 2160p 4k UltraHD HRS
35: TV # Serie TV HRS
36: Movies/SD # DVDRip HRS
41: Movies/SD # BDRip 576p HRS
39: Movies/HD # 1080p HRS x265 HEVC
# VIDEO
1: Movies # News Cinema
2: Movies/SD # BD-DVDRip
3: Movies/DVD # DVD 5
5: Movies/DVD # DVD 9
6: Movies/BluRay # BluRay Full
4: Movies/HD # 1080p 3D x264
7: Movies/HD # 1080p x264
46: Movies/HD # 1080p Video Untouch
44: Movies/HD # 1080p x265
9: TV/Anime # Cartoons
8: TV/Anime # 720p x264
12: TV # He concluded seasons
13: TV # Seasons in Onda
14: TV # TV Show
42: TV # Serie Tv Sub Ita
15: TV/Documentary # documentaries
33: TV # mp4
40: TV/HD # 2160p 4K UltraHD
38: XXX # xXx
43: Other # Arabic for social
# MUSICA
17: Audio # Italian music
45: Audio # Discography
18: Audio # MusicaInternazionale
19: Audio # Compilation
# PDF
21: Books # Ebook
22: Books/Comics # Comics
23: Books # Newsstand
# GAMES
25: Console/PS4 # Sony Games
26: Console/Xbox # XboX Games
27: Console/Other # Nintendo Games
28: PC/Games # PC Games
# SOFTWARE
30: PC/ISO # Windows APP
31: PC/Phone-IOS # Apple APP
32: PC/Phone-Android # Android APP
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: body[onLoad^="makeAlert('"]
message:
selector: body[onLoad^="makeAlert('"]
attribute: onLoad
filters:
- name: replace
args: ["makeAlert('Error' , '", ""]
- name: replace
args: ["');", ""]
test:
path: index.php
download:
before:
path: "thanks.php"
method: "post"
inputs:
infohash: "{{ .DownloadUri.Query.id }}"
thanks: "1"
rndval: "1487013827343"
selector: a[href^="download.php?id="]
search:
path: index.php
inputs:
search: "{{if .Query.IMDBID}}{{ .Query.IMDBIDShort }}{{else}}{{ .Keywords }}{{end}}"
page: "torrents"
category: "{{range .Categories}}{{.}};{{end}}"
options: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
active: "0"
rows:
selector: table > tbody > tr > td > table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="])
fields:
download:
selector: a[href^="index.php?page=downloadcheck&id="]
attribute: href
title:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
banner:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) "
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
details:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: href
size:
selector: td:nth-last-child(4)
date:
selector: td:nth-last-child(9)
filters:
- name: append
args: " +01:00"
- name: dateparse
args: "02/01/2006 -07:00"
grabs:
selector: td:nth-last-child(6)
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-last-child(8)
leechers:
selector: td:nth-last-child(7)
downloadvolumefactor:
case:
img[alt="Gold 100% Free"]: "0"
img[alt="Silver 50% Free"]: "0.5"
img[alt="Bronze 25% Free"]: "0.75"
"*": "1"
uploadvolumefactor:
case:
img[alt="2x Upload Multiplier"]: "2"
img[alt="3x Upload Multiplier"]: "3"
img[alt="4x Upload Multiplier"]: "4"
img[alt="5x Upload Multiplier"]: "5"
img[alt="6x Upload Multiplier"]: "6"
img[alt="7x Upload Multiplier"]: "7"
img[alt="8x Upload Multiplier"]: "8"
img[alt="9x Upload Multiplier"]: "9"
img[alt="10x Upload Multiplier"]: "10"
"*": "1"
---
site: arabafenice
name: ArabaFenice
language: it-it
type: private
encoding: UTF-8
links:
- http://www.arabafenice.me/
caps:
categorymappings:
# HRS
- {id: 34, cat: Movies/HD, desc: "1080p HRS x264"}
- {id: 47, cat: Movies/HD, desc: "2160p 4k UltraHD HRS"}
- {id: 35, cat: TV, desc: "Serie TV HRS"}
- {id: 36, cat: Movies/SD, desc: "DVDRip HRS"}
- {id: 41, cat: Movies/SD, desc: "BDRip 576p HRS"}
- {id: 39, cat: Movies/HD, desc: "1080p HRS x265 HEVC"}
# VIDEO
- {id: 1, cat: Movies, desc: "News Cinema"}
- {id: 2, cat: Movies/SD, desc: "BD-DVDRip"}
- {id: 3, cat: Movies/DVD, desc: "DVD 5"}
- {id: 5, cat: Movies/DVD, desc: "DVD 9"}
- {id: 6, cat: Movies/BluRay, desc: "BluRay Full"}
- {id: 4, cat: Movies/HD, desc: "1080p 3D x264"}
- {id: 7, cat: Movies/HD, desc: "1080p x264"}
- {id: 46, cat: Movies/HD, desc: "1080p Video Untouch"}
- {id: 44, cat: Movies/HD, desc: "1080p x265"}
- {id: 9, cat: TV/Anime, desc: "Cartoons"}
- {id: 8, cat: TV/Anime, desc: "720p x264"}
- {id: 12, cat: TV, desc: "He concluded seasons"}
- {id: 13, cat: TV, desc: "Seasons in Onda"}
- {id: 14, cat: TV, desc: "TV Show"}
- {id: 42, cat: TV, desc: "Serie Tv Sub Ita"}
- {id: 15, cat: TV/Documentary, desc: "documentaries"}
- {id: 33, cat: TV, desc: "mp4"}
- {id: 40, cat: TV/HD, desc: "2160p 4K UltraHD"}
- {id: 38, cat: XXX, desc: "xXx"}
- {id: 43, cat: Other, desc: "Arabic for social"}
# MUSICA
- {id: 17, cat: Audio, desc: "Italian music"}
- {id: 45, cat: Audio, desc: "Discography"}
- {id: 18, cat: Audio, desc: "MusicaInternazionale"}
- {id: 19, cat: Audio, desc: "Compilation"}
# PDF
- {id: 21, cat: Books, desc: "Ebook"}
- {id: 22, cat: Books/Comics, desc: "Comics"}
- {id: 23, cat: Books, desc: "Newsstand"}
# GAMES
- {id: 25, cat: Console/PS4, desc: "Sony Games"}
- {id: 26, cat: Console/Xbox, desc: "XboX Games"}
- {id: 27, cat: Console/Other, desc: "Nintendo Games"}
- {id: 28, cat: PC/Games, desc: "PC Games"}
# SOFTWARE
- {id: 30, cat: PC/ISO, desc: "Windows APP"}
- {id: 31, cat: PC/Phone-IOS, desc: "Apple APP"}
- {id: 32, cat: PC/Phone-Android, desc: "Android APP"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: body[onLoad^="makeAlert('"]
message:
selector: body[onLoad^="makeAlert('"]
attribute: onLoad
filters:
- name: replace
args: ["makeAlert('Error' , '", ""]
- name: replace
args: ["');", ""]
test:
path: index.php
download:
before:
path: "thanks.php"
method: "post"
inputs:
infohash: "{{ .DownloadUri.Query.id }}"
thanks: "1"
rndval: "1487013827343"
selector: a[href^="download.php?id="]
search:
path: index.php
inputs:
search: "{{if .Query.IMDBID}}{{ .Query.IMDBIDShort }}{{else}}{{ .Keywords }}{{end}}"
page: "torrents"
category: "{{range .Categories}}{{.}};{{end}}"
options: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
active: "0"
rows:
selector: table > tbody > tr > td > table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="])
fields:
download:
selector: a[href^="index.php?page=downloadcheck&id="]
attribute: href
title:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
banner:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) "
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
details:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: href
size:
selector: td:nth-last-child(4)
date:
selector: td:nth-last-child(9)
filters:
- name: append
args: " +01:00"
- name: dateparse
args: "02/01/2006 -07:00"
grabs:
selector: td:nth-last-child(6)
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-last-child(8)
leechers:
selector: td:nth-last-child(7)
downloadvolumefactor:
case:
img[alt="Gold 100% Free"]: "0"
img[alt="Silver 50% Free"]: "0.5"
img[alt="Bronze 25% Free"]: "0.75"
"*": "1"
uploadvolumefactor:
case:
img[alt="2x Upload Multiplier"]: "2"
img[alt="3x Upload Multiplier"]: "3"
img[alt="4x Upload Multiplier"]: "4"
img[alt="5x Upload Multiplier"]: "5"
img[alt="6x Upload Multiplier"]: "6"
img[alt="7x Upload Multiplier"]: "7"
img[alt="8x Upload Multiplier"]: "8"
img[alt="9x Upload Multiplier"]: "9"
img[alt="10x Upload Multiplier"]: "10"
"*": "1"

View File

@@ -8,23 +8,23 @@
- https://asiandvdclub.org/
caps:
categories:
19: TV/Anime # Anime
12: Movies/Foreign # China
15: Movies/Foreign # Hong Kong
27: Movies/Foreign # India
13: Movies/Foreign # Japan
14: Movies/Foreign # Korea
20: Movies/Foreign # Music DVDs
18: Movies/Foreign # Other Asian
25: Movies/Foreign # Patches
24: Movies/Foreign # Philippines
23: Movies/Foreign # Pinku
21: Audio # Soundtracks
26: Movies/Foreign # Taiwan
17: Movies/Foreign # Thailand
22: TV # TV Series
16: Movies/Foreign # Viet Nam
categorymappings:
- {id: 19, cat: TV/Anime, desc: "Anime"}
- {id: 12, cat: Movies/Foreign, desc: "China"}
- {id: 15, cat: Movies/Foreign, desc: "Hong Kong"}
- {id: 27, cat: Movies/Foreign, desc: "India"}
- {id: 13, cat: Movies/Foreign, desc: "Japan"}
- {id: 14, cat: Movies/Foreign, desc: "Korea"}
- {id: 20, cat: Movies/Foreign, desc: "Music DVDs"}
- {id: 18, cat: Movies/Foreign, desc: "Other Asian"}
- {id: 25, cat: Movies/Foreign, desc: "Patches"}
- {id: 24, cat: Movies/Foreign, desc: "Philippines"}
- {id: 23, cat: Movies/Foreign, desc: "Pinku"}
- {id: 21, cat: Audio, desc: "Soundtracks"}
- {id: 26, cat: Movies/Foreign, desc: "Taiwan"}
- {id: 17, cat: Movies/Foreign, desc: "Thailand"}
- {id: 22, cat: TV, desc: "TV Series"}
- {id: 16, cat: Movies/Foreign, desc: "Viet Nam"}
modes:
search: [q]

View File

@@ -0,0 +1,136 @@
---
site: audiobooktorrents
name: Audiobook Torrents
language: en-us
type: private
encoding: UTF-8
links:
- https://abtorrents.me
caps:
categorymappings:
- {id: 10, cat: Audio/Audiobook, desc: "Adventure"}
- {id: 20, cat: Audio/Audiobook, desc: "Biographies & Memoirs"}
- {id: 30, cat: Audio/Audiobook, desc: "Business "}
- {id: 40, cat: Audio/Audiobook, desc: "Childrens"}
- {id: 50, cat: Audio/Audiobook, desc: "Comedy"}
- {id: 60, cat: Audio/Audiobook, desc: "Comics"}
- {id: 70, cat: Audio/Audiobook, desc: "Computers "}
- {id: 80, cat: Audio/Audiobook, desc: "Erotica"}
- {id: 90, cat: Audio/Audiobook, desc: "Fantasy-General"}
- {id: 100, cat: Audio/Audiobook, desc: "Fantasy-Youth"}
- {id: 110, cat: Audio/Audiobook, desc: "Files"}
- {id: 120, cat: Audio/Audiobook, desc: "Foreign Language"}
- {id: 130, cat: Audio/Audiobook, desc: "General Fiction"}
- {id: 140, cat: Audio/Audiobook, desc: "Historical Fiction"}
- {id: 150, cat: Audio/Audiobook, desc: "History"}
- {id: 160, cat: Audio/Audiobook, desc: "Horror"}
- {id: 170, cat: Audio/Audiobook, desc: "Literature "}
- {id: 180, cat: Audio/Audiobook, desc: "Mystery "}
- {id: 190, cat: Audio/Audiobook, desc: "Non-Fiction"}
- {id: 200, cat: Audio/Audiobook, desc: "Radio Drama"}
- {id: 210, cat: Audio/Audiobook, desc: "Romance"}
- {id: 235, cat: Audio/Audiobook, desc: "Sci-Fi Apocalypse"}
- {id: 220, cat: Audio/Audiobook, desc: "Science"}
- {id: 230, cat: Audio/Audiobook, desc: "Science Fiction "}
- {id: 240, cat: Audio/Audiobook, desc: "Self Improvement"}
- {id: 250, cat: Audio/Audiobook, desc: "Suspense"}
- {id: 260, cat: Audio/Audiobook, desc: "Talk Radio"}
- {id: 245, cat: Audio/Audiobook, desc: "Thriller"}
- {id: 270, cat: Audio/Audiobook, desc: "Urban Fantasy"}
- {id: 280, cat: Audio/Audiobook, desc: "Western"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
use_ssl: "1"
perm_ssl: "1"
submitme: "X"
error:
- selector: td.embedded:has(h2:contains("Oops"))
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
searchin: "title"
incldead: "1"
rows:
selector: tr.browse_color, tr.freeleech_color, tr[id^="kdescr"]
after: 1
fields:
banner:
selector: a[href^="details.php?id="][onmouseover]
attribute: onmouseover
filters:
- name: regexp
args: src=\'(.*?)\'
title:
selector: a[href^="details.php?id="][onmouseover]
attribute: onmouseover
filters:
- name: regexp
args: Tip\('<b>(.*?)</b>
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="][onmouseover]
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
files:
selector: td:nth-child(4)
size:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: ([\d,]+)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
date:
selector: td:nth-child(6)
downloadvolumefactor:
case:
"a.info > b:contains(\"[FREE]\")": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
description:
selector: a[href^="details.php?id="][onmouseover]
attribute: onmouseover
filters:
- name: regexp
args: <br /><b>(.*?)</b><br />
description:
selector: td:nth-child(2) > i
optional: true
filters:
- name: prepend
args: "{{ .Result.description }}<br>\n"
description:
selector: td[colspan=13]
filters:
- name: prepend
args: "{{ .Result.description }}<br>\n"

View File

@@ -0,0 +1,97 @@
---
site: bigtorrent
name: BIGTorrent
description: "ratio-free Hungarian tracker"
language: hu
type: private
encoding: UTF-8
links:
- 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/Xbox360, 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/Phone-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]
login:
path: /login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
sent: "yes"
returnto: "/"
error:
- selector: table:contains("Login failed!")
test:
path: index.php
download:
selector: a[href^="download.php?id="]
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
search: "{{ .Query.Keywords }}"
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:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -8,27 +8,27 @@
- http://www.bithq.org
caps:
categories:
7: Movies # Approved Film Series
81: TV/HD # BD-MKV
62: Audio # CD-R/OST
51: Movies/DVD # DVD-R/Animation
48: Movies/DVD # DVD-R/Asian Cinema
50: Movies/DVD # DVD-R/Documentaries
64: Movies/DVD # DVD-R/Foreign Films
55: Movies/DVD # DVD-R/Kids
49: Movies/DVD # DVD-R/Movies
52: Audio/Video # DVD-R/Music
53: TV # DVD-R/TV
70: Movies # Empire's 500
80: Movies # Global Lens | trigon-film
65: Other # Hi-Res Covers
66: Movies/HD # High Quality
57: Movies/SD # Low Quality
54: PC/0day # Software/DVD/BD
61: PC/0day # Software/System Utilities
69: TV/Sport # Sporting Events
68: Movies # The Criterion Collection
categorymappings:
- {id: 7, cat: Movies, desc: "Approved Film Series"}
- {id: 81, cat: TV/HD, desc: "BD-MKV"}
- {id: 62, cat: Audio, desc: "CD-R/OST"}
- {id: 51, cat: Movies/DVD, desc: "DVD-R/Animation"}
- {id: 48, cat: Movies/DVD, desc: "DVD-R/Asian Cinema"}
- {id: 50, cat: Movies/DVD, desc: "DVD-R/Documentaries"}
- {id: 64, cat: Movies/DVD, desc: "DVD-R/Foreign Films"}
- {id: 55, cat: Movies/DVD, desc: "DVD-R/Kids"}
- {id: 49, cat: Movies/DVD, desc: "DVD-R/Movies"}
- {id: 52, cat: Audio/Video, desc: "DVD-R/Music"}
- {id: 53, cat: TV, desc: "DVD-R/TV"}
- {id: 70, cat: Movies, desc: "Empire's 500"}
- {id: 80, cat: Movies, desc: "Global Lens | trigon-film"}
- {id: 65, cat: Other, desc: "Hi-Res Covers"}
- {id: 66, cat: Movies/HD, desc: "High Quality"}
- {id: 57, cat: Movies/SD, desc: "Low Quality"}
- {id: 54, cat: PC/0day, desc: "Software/DVD/BD"}
- {id: 61, cat: PC/0day, desc: "Software/System Utilities"}
- {id: 69, cat: TV/Sport, desc: "Sporting Events"}
- {id: 68, cat: Movies, desc: "The Criterion Collection"}
modes:
search: [q]

View File

@@ -8,37 +8,37 @@
- https://bithumen.be/
caps:
categories:
23: Movies/SD # Film/Hun/SD
24: Movies/DVD # Film/Hun/DVD-R
25: Movies/HD # Film/Hun/720p
37: Movies/HD # Film/Hun/1080p
33: Movies/BluRay # Film/Hun/Blu-ray
30: XXX # XXX/SD
19: Movies/SD # Film/Eng/SD
20: Movies/DVD # Film/Eng/DVD-R
5: Movies/HD # Film/Eng/720p
39: Movies/HD # Film/Eng/1080p
40: Movies/BluRay # Film/Eng/Blu-ray
34: XXX # XXX/HD
7: TV/SD # Sorozat/Hun/SD
41: TV/HD # Sorozat/Hun/HD
26: TV/SD # Sorozat/Eng/SD
42: TV/HD # Sorozat/Eng/HD
28: Books # eBook/Hun
29: Books # eBook/Eng
9: Audio/MP3 # Mp3/Hun
35: Audio/Lossless # Lossless/Hun
1: PC/0day # Programok/ISO
4: PC/Games # Játékok/ISO
31: Console/PS4 # Játékok/PS
36: Console/Wii # Játékok/Wii
6: Audio/MP3 # Mp3/Eng
38: Audio/Lossless # Lossless/Eng
22: PC # Programok/egyéb
21: PC # Játékok/Rip/Dox
32: Console/Xbox360 # Játékok/Xbox360
27: Other # Klipek
categorymappings:
- {id: 23, cat: Movies/SD, desc: "Film/Hun/SD"}
- {id: 24, cat: Movies/DVD, desc: "Film/Hun/DVD-R"}
- {id: 25, cat: Movies/HD, desc: "Film/Hun/720p"}
- {id: 37, cat: Movies/HD, desc: "Film/Hun/1080p"}
- {id: 33, cat: Movies/BluRay, desc: "Film/Hun/Blu-ray"}
- {id: 30, cat: XXX, desc: "XXX/SD"}
- {id: 19, cat: Movies/SD, desc: "Film/Eng/SD"}
- {id: 20, cat: Movies/DVD, desc: "Film/Eng/DVD-R"}
- {id: 5, cat: Movies/HD, desc: "Film/Eng/720p"}
- {id: 39, cat: Movies/HD, desc: "Film/Eng/1080p"}
- {id: 40, cat: Movies/BluRay, desc: "Film/Eng/Blu-ray"}
- {id: 34, cat: XXX, desc: "XXX/HD"}
- {id: 7, cat: TV/SD, desc: "Sorozat/Hun/SD"}
- {id: 41, cat: TV/HD, desc: "Sorozat/Hun/HD"}
- {id: 26, cat: TV/SD, desc: "Sorozat/Eng/SD"}
- {id: 42, cat: TV/HD, desc: "Sorozat/Eng/HD"}
- {id: 28, cat: Books, desc: "eBook/Hun"}
- {id: 29, cat: Books, desc: "eBook/Eng"}
- {id: 9, cat: Audio/MP3, desc: "Mp3/Hun"}
- {id: 35, cat: Audio/Lossless, desc: "Lossless/Hun"}
- {id: 1, cat: PC/0day, desc: "Programok/ISO"}
- {id: 4, cat: PC/Games, desc: "Játékok/ISO"}
- {id: 31, cat: Console/PS4, desc: "Játékok/PS"}
- {id: 36, cat: Console/Wii, desc: "Játékok/Wii"}
- {id: 6, cat: Audio/MP3, desc: "Mp3/Eng"}
- {id: 38, cat: Audio/Lossless, desc: "Lossless/Eng"}
- {id: 22, cat: PC, desc: "Programok/egyéb"}
- {id: 21, cat: PC, desc: "Játékok/Rip/Dox"}
- {id: 32, cat: Console/Xbox360, desc: "Játékok/Xbox360"}
- {id: 27, cat: Other, desc: "Klipek"}
modes:
search: [q]

266
src/Jackett/Definitions/bitspyder.yml Normal file → Executable file
View File

@@ -1,133 +1,133 @@
---
site: bitspyder
name: Bitspyder
language: en-us
type: private
encoding: windows-1252
links:
- http://bitspyder.net/
caps:
categories:
61: Books # 3D
69: Books # Anim|GFX
56: Books # Art
40: Audio/Audiobook # Audio Books
55: Books # Business
46: Books # Career
2: Books # CBTs
39: Books # Cert QA
63: Books # College
53: Books # Cooking
42: Books # Documentary
37: Books # e-Books
65: Books # Engineering
54: Books # Health-Fitness
64: Books # Kids
47: Books # Languages
49: Books # Linux CBTs
43: Books # Lynda.com
57: Books/Magazines # Magazines
71: Books # Magic
60: Books # Medical
44: Books # Misc Learning
51: Books # Music Learning
41: Books # Others
52: Books # Photography
35: Books # PPT 'n Docs
38: Books # Religion
68: Books # Self Growth
72: Books # Templates
58: Books # Total Training
45: Books # Trainsignal
59: Books # VTC
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: processid.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.msg_info > font > b
test:
path: /browse.php
search:
path: /browse.php
method: post
inputs:
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table > tbody > tr[class]
filters:
- name: andmatch
fields:
# there are two styles, we support both
title:
selector: a[href^="details.php?id="]
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php/"]
- name: replace
args: ["&hit=1", "/dummy.torrent"]
size:
selector: td.rowcol:nth-child(6):has(br), font:contains("Size:") + font
files:
selector: a[href*="&filelist=1"]
grabs:
selector: td.rowcol:nth-child(7):contains("times"), font:contains("Snatches:")
filters:
- name: regexp
args: ([\d\,]+)
seeders:
selector: td.rowcol:nth-last-child(3)
leechers:
selector: td.rowcol:nth-last-child(2)
date|optional|1:
selector: font[color="5F5F5F"]
filters:
- name: split
args: [" (", 0]
- name: replace
args: ["\xA0", " "]
- name: append
args: " +00:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
date|optional|2:
selector: a[title^="Upploaded at"]
attribute: title
filters:
- name: replace
args: ["Upploaded at - ", ""]
- name: append
args: " +00:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"
description|optional:
selector: font[color="#990000"]
---
site: bitspyder
name: Bitspyder
language: en-us
type: private
encoding: windows-1252
links:
- http://bitspyder.net/
caps:
categorymappings:
- {id: 61, cat: Books, desc: "3D"}
- {id: 69, cat: Books, desc: "Anim|GFX"}
- {id: 56, cat: Books, desc: "Art"}
- {id: 40, cat: Audio/Audiobook, desc: "Audio Books"}
- {id: 55, cat: Books, desc: "Business"}
- {id: 46, cat: Books, desc: "Career"}
- {id: 2, cat: Books, desc: "CBTs"}
- {id: 39, cat: Books, desc: "Cert QA"}
- {id: 63, cat: Books, desc: "College"}
- {id: 53, cat: Books, desc: "Cooking"}
- {id: 42, cat: Books, desc: "Documentary"}
- {id: 37, cat: Books, desc: "e-Books"}
- {id: 65, cat: Books, desc: "Engineering"}
- {id: 54, cat: Books, desc: "Health-Fitness"}
- {id: 64, cat: Books, desc: "Kids"}
- {id: 47, cat: Books, desc: "Languages"}
- {id: 49, cat: Books, desc: "Linux CBTs"}
- {id: 43, cat: Books, desc: "Lynda.com"}
- {id: 57, cat: Books/Magazines, desc: "Magazines"}
- {id: 71, cat: Books, desc: "Magic"}
- {id: 60, cat: Books, desc: "Medical"}
- {id: 44, cat: Books, desc: "Misc Learning"}
- {id: 51, cat: Books, desc: "Music Learning"}
- {id: 41, cat: Books, desc: "Others"}
- {id: 52, cat: Books, desc: "Photography"}
- {id: 35, cat: Books, desc: "PPT 'n Docs"}
- {id: 38, cat: Books, desc: "Religion"}
- {id: 68, cat: Books, desc: "Self Growth"}
- {id: 72, cat: Books, desc: "Templates"}
- {id: 58, cat: Books, desc: "Total Training"}
- {id: 45, cat: Books, desc: "Trainsignal"}
- {id: 59, cat: Books, desc: "VTC"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: processid.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.msg_info > font > b
test:
path: /browse.php
search:
path: /browse.php
method: post
inputs:
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table > tbody > tr[class]
filters:
- name: andmatch
fields:
# there are two styles, we support both
title:
selector: a[href^="details.php?id="]
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php/"]
- name: replace
args: ["&hit=1", "/dummy.torrent"]
size:
selector: td.rowcol:nth-child(6):has(br), font:contains("Size:") + font
files:
selector: a[href*="&filelist=1"]
grabs:
selector: td.rowcol:nth-child(7):has(br)
filters:
- name: regexp
args: ([\d,]+)
seeders:
selector: td.rowcol:nth-last-child(3)
leechers:
selector: td.rowcol:nth-last-child(2)
date|optional|1:
selector: font[color="5F5F5F"]
filters:
- name: split
args: [" (", 0]
- name: replace
args: ["\xA0", " "]
- name: append
args: " +00:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
date|optional|2:
selector: a[title^="Upploaded at"]
attribute: title
filters:
- name: replace
args: ["Upploaded at - ", ""]
- name: append
args: " +00:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"
description|optional:
selector: font[color="#990000"]

View File

@@ -1,148 +1,148 @@
---
site: blubits
name: Blu-bits
description: "A HD tracker"
language: en-us
type: private
encoding: UTF-8
links:
- https://blu-bits.com/
caps:
categories:
# Movies
14: Movies/BluRay # Full Blu-ray
54: Movies/HD # HD-DVD
16: Movies/HD # Remux
55: Movies/HD # 2160p
15: Movies/HD # 1080p
19: Movies/HD # 1080i
18: Movies/HD # 720p
# Documentaries
21: Movies/BluRay # Full Blu-ray
39: Movies/HD # Remux
56: Movies/HD # 2160p
23: Movies/HD # 1080p
24: Movies/HD # 1080i
25: Movies/HD # 720p
# TV Series
27: TV/HD # Full Blu-ray
40: TV/HD # Remux
28: TV/HD # 1080p
29: TV/HD # 1080i
30: TV/HD # 720p
# HDTV
35: TV/HD # 1080i
36: TV/HD # 720p
# XXX
59: XXX # Full Blu-ray
46: XXX # 1080p
51: XXX # 720p
# Music
53: Audio/Video # Full Blu-ray
57: Audio/Video # Remux
45: Audio/Video # 1080p
58: Audio/Video # 720p
38: Audio/Lossless # Flac
41: TV/Sport # Sports
42: TV/Anime # Anime
44: PC # Windows Apps
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: table.lista > tbody > tr > td.lista > span[style="color:#FF0000;"]
test:
path: index.php
selector: ul#navlist
ratio:
path: index.php
selector: "ul#navlist > li:contains(\"Ratio: \")"
filters:
- name: split
args: ["\u00a0", 1]
- name: replace
args: ["---", "0"]
search:
path: index.php
inputs:
search: "{{ .Query.Keywords }}"
page: torrents
options: 0
active: 0
rows:
selector: div.b-content > table.lista > tbody > tr:has(a[href^="index.php?page=torrents&category="])
fields:
download:
selector: a[href^="download.php?id="]
attribute: href
title:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: title
filters:
- name: replace
args: ["View details: ", ""]
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
comments:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: href
size:
selector: p
filters:
- name: replace
args: ["\u00a0", ""]
- name: regexp
args: "\\|\\s+Size:\\s+([\\w\\d\\.,]+ \\w\\w)\\s+\\|"
date:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: onmouseover
filters:
- name: regexp
args: "<center>Added:(.*?)</center>"
grabs:
selector: a[href^="index.php?page=torrent_history&id="]
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: a[title="Click here to view peers details"]:nth-child(1)
leechers:
selector: a[title="Click here to view peers details"]:nth-child(2)
downloadvolumefactor:
case:
img[alt="gold"]: "0"
img[alt="silver"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
img[alt="2x Upload Multiplier"]: "2"
img[alt="3x Upload Multiplier"]: "3"
img[alt="4x Upload Multiplier"]: "4"
img[alt="5x Upload Multiplier"]: "5"
img[alt="6x Upload Multiplier"]: "6"
img[alt="7x Upload Multiplier"]: "7"
img[alt="8x Upload Multiplier"]: "8"
img[alt="9x Upload Multiplier"]: "9"
img[alt="10x Upload Multiplier"]: "10"
---
site: blubits
name: Blu-bits
description: "A HD tracker"
language: en-us
type: private
encoding: UTF-8
links:
- https://blu-bits.com/
caps:
categorymappings:
# Movies
- {id: 14, cat: Movies/BluRay, desc: "Full Blu-ray"}
- {id: 54, cat: Movies/HD, desc: "HD-DVD"}
- {id: 16, cat: Movies/HD, desc: "Remux"}
- {id: 55, cat: Movies/HD, desc: "2160p"}
- {id: 15, cat: Movies/HD, desc: "1080p"}
- {id: 19, cat: Movies/HD, desc: "1080i"}
- {id: 18, cat: Movies/HD, desc: "720p"}
# Documentaries
- {id: 21, cat: Movies/BluRay, desc: "Full Blu-ray"}
- {id: 39, cat: Movies/HD, desc: "Remux"}
- {id: 56, cat: Movies/HD, desc: "2160p"}
- {id: 23, cat: Movies/HD, desc: "1080p"}
- {id: 24, cat: Movies/HD, desc: "1080i"}
- {id: 25, cat: Movies/HD, desc: "720p"}
# TV Series
- {id: 27, cat: TV/HD, desc: "Full Blu-ray"}
- {id: 40, cat: TV/HD, desc: "Remux"}
- {id: 28, cat: TV/HD, desc: "1080p"}
- {id: 29, cat: TV/HD, desc: "1080i"}
- {id: 30, cat: TV/HD, desc: "720p"}
# HDTV
- {id: 35, cat: TV/HD, desc: "1080i"}
- {id: 36, cat: TV/HD, desc: "720p"}
# XXX
- {id: 59, cat: XXX, desc: "Full Blu-ray"}
- {id: 46, cat: XXX, desc: "1080p"}
- {id: 51, cat: XXX, desc: "720p"}
# Music
- {id: 53, cat: Audio/Video, desc: "Full Blu-ray"}
- {id: 57, cat: Audio/Video, desc: "Remux"}
- {id: 45, cat: Audio/Video, desc: "1080p"}
- {id: 58, cat: Audio/Video, desc: "720p"}
- {id: 38, cat: Audio/Lossless, desc: "Flac"}
- {id: 41, cat: TV/Sport, desc: "Sports"}
- {id: 42, cat: TV/Anime, desc: "Anime"}
- {id: 44, cat: PC, desc: "Windows Apps"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: table.lista > tbody > tr > td.lista > span[style="color:#FF0000;"]
test:
path: index.php
selector: ul#navlist
ratio:
path: index.php
selector: "ul#navlist > li:contains(\"Ratio: \")"
filters:
- name: split
args: ["\u00a0", 1]
- name: replace
args: ["---", "0"]
search:
path: index.php
inputs:
search: "{{ .Query.Keywords }}"
page: torrents
options: 0
active: 0
rows:
selector: div.b-content > table.lista > tbody > tr:has(a[href^="index.php?page=torrents&category="])
fields:
download:
selector: a[href^="download.php?id="]
attribute: href
title:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: title
filters:
- name: replace
args: ["View details: ", ""]
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
comments:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: href
size:
selector: p
filters:
- name: replace
args: ["\u00a0", ""]
- name: regexp
args: "\\|\\s+Size:\\s+([\\w\\d\\.,]+ \\w\\w)\\s+\\|"
date:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: onmouseover
filters:
- name: regexp
args: "<center>Added:(.*?)</center>"
grabs:
selector: a[href^="index.php?page=torrent_history&id="]
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: a[title="Click here to view peers details"]:nth-child(1)
leechers:
selector: a[title="Click here to view peers details"]:nth-child(2)
downloadvolumefactor:
case:
img[alt="gold"]: "0"
img[alt="silver"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
img[alt="2x Upload Multiplier"]: "2"
img[alt="3x Upload Multiplier"]: "3"
img[alt="4x Upload Multiplier"]: "4"
img[alt="5x Upload Multiplier"]: "5"
img[alt="6x Upload Multiplier"]: "6"
img[alt="7x Upload Multiplier"]: "7"
img[alt="8x Upload Multiplier"]: "8"
img[alt="9x Upload Multiplier"]: "9"
img[alt="10x Upload Multiplier"]: "10"
"*": "1"

View File

@@ -1,89 +1,89 @@
---
site: bluebirdhd
name: BlueBird
language: ru-ru
type: private
encoding: windows-1251
links:
- https://bluebird-hd.org/
caps:
categories:
1: Movies # Films
2: TV/Anime # Cartoons
3: TV/Documentary # documentary
4: Audio # Show / Music
5: TV/Sport # Sport
6: TV # TV series
7: XXX # erotica
8: Other # Demo / Misc
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.error
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table > tbody > tr:has(a[href^="details.php?id="])
fields:
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="download.php?id="]
attribute: href
grabs:
selector: a[href*="&snatched=1#snatched"]
filters:
- name: regexp
args: (\d+)
size:
selector: td:nth-child(7)
remove: a
date:
selector: div#cleft > font
seeders:
selector: td:nth-child(5)
leechers:
selector: td:nth-child(6)
banner:
selector: a.tname
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
downloadvolumefactor:
case:
img[src="pic/diamond.png"]: "0"
img[src="pic/freedownload.gif"]: "0"
img[src="pic/silver.gif"]: "0.5"
img[src="pic/bronze.gif"]: "0.75"
"*": "1"
uploadvolumefactor:
case:
img[src="pic/diamond.png"]: "2"
"*": "1"
---
site: bluebirdhd
name: BlueBird
language: ru-ru
type: private
encoding: windows-1251
links:
- https://bluebird-hd.org/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Films"}
- {id: 2, cat: TV/Anime, desc: "Cartoons"}
- {id: 3, cat: TV/Documentary, desc: "documentary"}
- {id: 4, cat: Audio, desc: "Show / Music"}
- {id: 5, cat: TV/Sport, desc: "Sport"}
- {id: 6, cat: TV, desc: "TV series"}
- {id: 7, cat: XXX, desc: "erotica"}
- {id: 8, cat: Other, desc: "Demo / Misc"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.error
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table > tbody > tr:has(a[href^="details.php?id="])
fields:
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="download.php?id="]
attribute: href
grabs:
selector: a[href*="&snatched=1#snatched"]
filters:
- name: regexp
args: (\d+)
size:
selector: td:nth-child(7)
remove: a
date:
selector: div#cleft > font
seeders:
selector: td:nth-child(5)
leechers:
selector: td:nth-child(6)
banner:
selector: a.tname
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
downloadvolumefactor:
case:
img[src="pic/diamond.png"]: "0"
img[src="pic/freedownload.gif"]: "0"
img[src="pic/silver.gif"]: "0.5"
img[src="pic/bronze.gif"]: "0.75"
"*": "1"
uploadvolumefactor:
case:
img[src="pic/diamond.png"]: "2"
"*": "1"

View File

@@ -8,78 +8,78 @@
- http://tracker.btnext.com/
caps:
categories:
86: Other # Freeleech
88: Movies # Movies
89: Console # Games
87: TV # Series
93: Audio # Musica
1: Movies # Movies
70: Movies/3D # 3D
71: Movies/Sd # 480p
72: Movies/BluRay # BD-R
31: Movies/HD # BDRIP/BRRip
16: Movies/SD # CAM
74: Movies/DVD # DvD-R
17: Movies/HD # HD
91: Movies/Other # Kids
76: Movies # Packs
77: Movies/WEBDL # WEB-DL
14: Movies/SD # DVDRip/XViD
85: Movies/DVD # Custom-DVDR
96: Movies/HD # 4K
6: PC # Applications
18: PC/ISO # PC Applications
19: PC/Mac # Macintosh Applications
34: PC/ISO # Linux Applications
7: Audio # Music
20: Audio/Video # MVideo
21: Audio/MP3 # Mp3
33: Audio/Other # Mp4
32: Audio/Lossless # FLAC
2: Console # Games
78: PC/Games # Linux
79: PC/Mac # MacOSX
28: Console/NDS # Nintendo DS
27: PC/Games # PC/Windows
80: Console/PS3 # PS2
81: Console/PS3 # PS3
82: Console/PS4 # PS4
83: Console/PSP # PSP
95: Console/PSVita # PSVITA
4: Console/Wii # Wii
26: Console/Xbox360 # XBOX360
84: Console/Xbox # XONE
42: TV # TV Series
45: TV/Documentary # Documentaries
46: TV/Sport # Sports
47: TV/HD # TV-Bluray
48: TV/SD # TV-Dvd-R
49: TV/SD # TV-DVDRiP
50: TV # TV-Packs
92: TV/Anime # TV-Kids
52: TV/SD # TV-SDx264
53: TV/WEB-DL # TV-WEB-DL
55: TV/HD # TV-X264
56: TV/SD # TV-XViD
44: TV # Miscellaneous
51: TV/Anime # Anime
54: Audio/Audiobook # Audiobook
57: Books # E-Books
58: Books/Comics # Comics
59: Books # Educational
60: Books # Magazines/Journals
61: Other # Pics/Wallpapers
62: PC/Phone-Android # Android
63: PC/Phone-IOS # iOS
66: PC/Phone-Other # WindowsPhone
90: Other # GPS
68: Other # Others
41: XXX # XXX
64: XXX # XXX-Magazines
65: XXX # XXX-Movies
67: XXX/Packs # XXX-Packs
69: XXX/Imageset # XXX-Pics/Wallpapers
categorymappings:
- {id: 86, cat: Other, desc: "Freeleech"}
- {id: 88, cat: Movies, desc: "Movies"}
- {id: 89, cat: Console, desc: "Games"}
- {id: 87, cat: TV, desc: "Series"}
- {id: 93, cat: Audio, desc: "Musica"}
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 70, cat: Movies/3D, desc: "3D"}
- {id: 71, cat: Movies/Sd, desc: "480p"}
- {id: 72, cat: Movies/BluRay, desc: "BD-R"}
- {id: 31, cat: Movies/HD, desc: "BDRIP/BRRip"}
- {id: 16, cat: Movies/SD, desc: "CAM"}
- {id: 74, cat: Movies/DVD, desc: "DvD-R"}
- {id: 17, cat: Movies/HD, desc: "HD"}
- {id: 91, cat: Movies/Other, desc: "Kids"}
- {id: 76, cat: Movies, desc: "Packs"}
- {id: 77, cat: Movies/WEBDL, desc: "WEB-DL"}
- {id: 14, cat: Movies/SD, desc: "DVDRip/XViD"}
- {id: 85, cat: Movies/DVD, desc: "Custom-DVDR"}
- {id: 96, cat: Movies/HD, desc: "4K"}
- {id: 6, cat: PC, desc: "Applications"}
- {id: 18, cat: PC/ISO, desc: "PC Applications"}
- {id: 19, cat: PC/Mac, desc: "Macintosh Applications"}
- {id: 34, cat: PC/ISO, desc: "Linux Applications"}
- {id: 7, cat: Audio, desc: "Music"}
- {id: 20, cat: Audio/Video, desc: "MVideo"}
- {id: 21, cat: Audio/MP3, desc: "Mp3"}
- {id: 33, cat: Audio/Other, desc: "Mp4"}
- {id: 32, cat: Audio/Lossless, desc: "FLAC"}
- {id: 2, cat: Console, desc: "Games"}
- {id: 78, cat: PC/Games, desc: "Linux"}
- {id: 79, cat: PC/Mac, desc: "MacOSX"}
- {id: 28, cat: Console/NDS, desc: "Nintendo DS"}
- {id: 27, cat: PC/Games, desc: "PC/Windows"}
- {id: 80, cat: Console/PS3, desc: "PS2"}
- {id: 81, cat: Console/PS3, desc: "PS3"}
- {id: 82, cat: Console/PS4, desc: "PS4"}
- {id: 83, cat: Console/PSP, desc: "PSP"}
- {id: 95, cat: Console/PSVita, desc: "PSVITA"}
- {id: 4, cat: Console/Wii, desc: "Wii"}
- {id: 26, cat: Console/Xbox360, desc: "XBOX360"}
- {id: 84, cat: Console/Xbox, desc: "XONE"}
- {id: 42, cat: TV, desc: "TV Series"}
- {id: 45, cat: TV/Documentary, desc: "Documentaries"}
- {id: 46, cat: TV/Sport, desc: "Sports"}
- {id: 47, cat: TV/HD, desc: "TV-Bluray"}
- {id: 48, cat: TV/SD, desc: "TV-Dvd-R"}
- {id: 49, cat: TV/SD, desc: "TV-DVDRiP"}
- {id: 50, cat: TV, desc: "TV-Packs"}
- {id: 92, cat: TV/Anime, desc: "TV-Kids"}
- {id: 52, cat: TV/SD, desc: "TV-SDx264"}
- {id: 53, cat: TV/WEB-DL, desc: "TV-WEB-DL"}
- {id: 55, cat: TV/HD, desc: "TV-X264"}
- {id: 56, cat: TV/SD, desc: "TV-XViD"}
- {id: 44, cat: TV, desc: "Miscellaneous"}
- {id: 51, cat: TV/Anime, desc: "Anime"}
- {id: 54, cat: Audio/Audiobook, desc: "Audiobook"}
- {id: 57, cat: Books, desc: "E-Books"}
- {id: 58, cat: Books/Comics, desc: "Comics"}
- {id: 59, cat: Books, desc: "Educational"}
- {id: 60, cat: Books, desc: "Magazines/Journals"}
- {id: 61, cat: Other, desc: "Pics/Wallpapers"}
- {id: 62, cat: PC/Phone-Android, desc: "Android"}
- {id: 63, cat: PC/Phone-IOS, desc: "iOS"}
- {id: 66, cat: PC/Phone-Other, desc: "WindowsPhone"}
- {id: 90, cat: Other, desc: "GPS"}
- {id: 68, cat: Other, desc: "Others"}
- {id: 41, cat: XXX, desc: "XXX"}
- {id: 64, cat: XXX, desc: "XXX-Magazines"}
- {id: 65, cat: XXX, desc: "XXX-Movies"}
- {id: 67, cat: XXX/Packs, desc: "XXX-Packs"}
- {id: 69, cat: XXX/Imageset, desc: "XXX-Pics/Wallpapers"}
modes:
search: [q]
@@ -119,7 +119,8 @@
keywords: "{{ .Keywords }}"
search_type: "name"
searchin: "title"
error:
- selector: div.error
rows:
selector: table#torrents_table_classic > tbody > tr:has(td.torrent_name)
fields:
@@ -145,8 +146,9 @@
selector: a[rel="torrent_leechers"]
grabs:
selector: a[rel="times_completed"]
banner|optional:
banner:
selector: a[rel="fancybox"]
optional: true
attribute: href
downloadvolumefactor:
case:
@@ -155,12 +157,14 @@
uploadvolumefactor:
case:
"*": "1"
date|optional|1:
selector: div.torrentOwner > abbr.timeago
date:
selector: td.torrent_name > abbr.timeago
optional: true
attribute: data-time
date|optional|2:
selector: div.torrentOwner:not(:has(abbr.timeago))
remove: span
date:
selector: td.torrent_name:not(:has(abbr.timeago))
optional: true
remove: span, a, br
filters:
- name: replace
args: ["Enviado ", ""] # Uploaded
@@ -185,8 +189,6 @@
- name: replace
args: ["Sábado", "Saturday"]
- name: replace
args: ["Domigo", "Sunday"]
args: ["Domingo", "Sunday"]
- name: dateparse
args: "02-01-2006 15:04"

View File

@@ -0,0 +1,130 @@
---
site: carpathians
name: Carpathians
language: hu-hu
type: private
encoding: UTF-8
links:
- https://mycarpathians.net/
caps:
categorymappings:
- {id: 186, cat: Books, desc: "E-book"}
- {id: 194, cat: Movies/SD, desc: "Film/CAM/Hun"}
- {id: 60, cat: Movies/DVD, desc: "Film/DVD-R/Eng"}
- {id: 10, cat: Movies/DVD, desc: "Film/DVD-R/Hun"}
- {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: 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"}
- {id: 30, cat: Movies/SD, desc: "Film/XviD/Hun"}
- {id: 140, cat: PC/Games, desc: "Játék/DOX"}
- {id: 130, cat: PC/Games, desc: "Játék/PCiso"}
- {id: 160, cat: Console/PS3, desc: "Játék/PS2-PS3"}
- {id: 189, cat: Console/PSP, desc: "Játék/PSP"}
- {id: 184, cat: Console/Wii, desc: "Játék/Wii"}
- {id: 150, cat: Console/Xbox, desc: "Játék/XBOX (XBOX360)"}
- {id: 182, cat: Audio/Lossless, desc: "Lossless"}
- {id: 90, cat: Audio/MP3, desc: "Mp3/Eng"}
- {id: 50, cat: Audio/MP3, desc: "Mp3/Hun"}
- {id: 100, cat: Audio/Video, desc: "Music-Video"}
- {id: 180, cat: PC/Phone-Other, desc: "Program/Mobil"}
- {id: 170, cat: PC/0day, desc: "Program/PC"}
- {id: 80, cat: TV, desc: "Sorozat/Eng"}
- {id: 40, cat: TV, desc: "Sorozat/Hun"}
- {id: 110, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
test:
path: browse.php
search:
paths:
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: 0
onlyname: 1
onlyname2: true
rows:
selector: table[id!="torrent_ajanlo"] > tbody > tr[id]
fields:
download:
selector: a[href^="download.php/"]
attribute: href
title:
selector: a[id][href^="details.php?"]
attribute: title
description:
selector: font.line
filters:
- name: regexp
args: .*?\|\s*(.*)
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[id][href^="details.php?"]
attribute: href
imdb:
selector: a[href*="https://www.imdb.com/title/"]
optional: true
attribute: href
banner:
selector: a[rel^="prettyPhoto["]
optional: true
attribute: href
files:
selector: td:nth-child(4)
size:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(7)
filters:
- name: regexp
args: ([\d\.]+)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
date:
selector: font.line
filters:
- name: split
args: ["|", 0]
- name: replace
args: ["Feltöltve: ", ""]
- name: replace
args: ["Feltöltve : ", ""]
- name: replace
args: ["perce", "minute"]
- name: replace
args: ["órája", "hour"]
- name: replace
args: ["napja", "day"]
- name: replace
args: ["hete", "week"]
- name: timeago
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
img[src="pic/double.png"]: "2"
"*": "1"

View File

@@ -1,104 +1,104 @@
---
site: chdbits
name: CHDBits
description: "A general tracker"
language: zh-cn
type: private
encoding: UTF-8
links:
- https://chdbits.co
caps:
categories:
401: Movies # Movies
404: TV/Documentary # Documentaries
405: TV/Anime # Animations
402: TV # TV Series
403: TV # TV Shows
406: Audio/Video # Music Videos
407: TV/Sport # Sports
409: Other # Misc
408: Audio # HQ Audio
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
ratio:
path: /torrents.php
selector: table#info_block
filters:
- name: regexp
args: "Ratio:\\s(.*?)\\s\\s"
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title:
selector: a[href^="details.php?id="]
title|optional:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
date:
selector: td:nth-child(4) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
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
---
site: chdbits
name: CHDBits
description: "A general tracker"
language: zh-cn
type: private
encoding: UTF-8
links:
- https://chdbits.co
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries"}
- {id: 405, cat: TV/Anime, desc: "Animations"}
- {id: 402, cat: TV, desc: "TV Series"}
- {id: 403, cat: TV, desc: "TV Shows"}
- {id: 406, cat: Audio/Video, desc: "Music Videos"}
- {id: 407, cat: TV/Sport, desc: "Sports"}
- {id: 409, cat: Other, desc: "Misc"}
- {id: 408, cat: Audio, desc: "HQ Audio"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
ratio:
path: /torrents.php
selector: table#info_block
filters:
- name: regexp
args: "Ratio:\\s(.*?)\\s\\s"
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title:
selector: a[href^="details.php?id="]
title|optional:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
date:
selector: td:nth-child(4) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
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

View File

@@ -0,0 +1,99 @@
---
site: cinemageddon
name: Cinemageddon
description: "B-movie tracker"
language: en-us
type: private
encoding: UTF-8
links:
- http://cinemageddon.net/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Action"}
- {id: 2, cat: Movies, desc: "Horror"}
- {id: 3, cat: Movies, desc: "Martial Arts"}
- {id: 4, cat: Movies, desc: "Comedy"}
- {id: 5, cat: Movies, desc: "Other"}
- {id: 6, cat: Movies, desc: "Hidden Gems"}
- {id: 7, cat: Movies, desc: "Sci-Fi"}
- {id: 8, cat: Movies, desc: "Gore"}
- {id: 9, cat: Movies, desc: "Exploitation"}
- {id: 11, cat: Movies, desc: "OST"}
- {id: 12, cat: Movies, desc: "XXX"}
- {id: 13, cat: Movies, desc: "Thriller"}
- {id: 14, cat: Movies, desc: "Adventure"}
- {id: 15, cat: Movies, desc: "Documentary"}
- {id: 16, cat: Movies, desc: "Western"}
- {id: 17, cat: Movies, desc: "Family"}
- {id: 18, cat: Movies, desc: "Drama"}
- {id: 19, cat: Movies, desc: "Ebooks"}
- {id: 20, cat: Movies, desc: "Softcore"}
- {id: 21, cat: Movies, desc: "Tinfoil Hat"}
- {id: 22, cat: Movies, desc: "Trailers"}
modes:
search: [q]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table:contains("Login failed!")
test:
path: index.php
download:
selector: a[href^="download.php?id="]
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
search: "{{ .Query.Keywords }}"
rows:
selector: table.torrenttable > tbody > tr:has(a[href^="browse.php?cat="])
fields:
category:
text: 1
title:
selector: td:nth-child(2)
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
grabs:
selector: td:nth-child(6)
files:
selector: td:nth-child(5)
filters:
- name: regexp
args: (\d+)\s+file
size:
selector: td:nth-child(5)
filters:
- name: regexp
args: (\d+.*(MB|GB)+)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
date:
selector: td:nth-child(4)
filters:
- name: regexp
args: (\d{4}-\d{2}-\d{2})
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,94 @@
---
site: cinematik
name: Cinematik
description: "Non-Hollywood movie tracker"
language: en-us
type: private
encoding: UTF-8
links:
- https://www.cinematik.net
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Comedy"}
- {id: 4, cat: Movies, desc: "Action"}
- {id: 6, cat: Movies, desc: "Drama"}
- {id: 7, cat: Movies, desc: "Documentary"}
- {id: 9, cat: Movies, desc: "Crime"}
- {id: 12, cat: Movies, desc: "Sci-Fi"}
- {id: 17, cat: Movies, desc: "War"}
- {id: 21, cat: Movies, desc: "Silent Films"}
- {id: 23, cat: Movies, desc: "TV-Series"}
- {id: 24, cat: Movies, desc: "Animation"}
- {id: 25, cat: Movies, desc: "Exploitation"}
- {id: 26, cat: Movies, desc: "Experimental"}
- {id: 27, cat: Movies, desc: "Fantasy"}
- {id: 29, cat: Movies, desc: "Short"}
- {id: 30, cat: Movies, desc: "Western"}
- {id: 32, cat: Movies, desc: "Foreign Languages"}
- {id: 33, cat: Movies, desc: "Thriller"}
- {id: 34, cat: Movies, desc: "Opera and Musical"}
modes:
search: [q]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table:contains("Login failed!")
test:
path: my.php
download:
selector: a[href^="download.php?id="]
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
search: "{{ .Query.Keywords }}"
rows:
selector: table[border="1"] tr:not(:first-child)
fields:
category:
text: 1
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
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: ([\d,]+)
files:
selector: td:nth-child(5)
size:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
date:
selector: td:nth-child(11) div.addedtor
downloadvolumefactor:
case:
"img[title=\"Golden Torrent: No Download Stats are Recorded\"]": "0"
"img[title=\"Silver Torrent: Download Stats are 25% Recorded\"]": "0.25"
"img[title=\"Platinum Torrent: No Download Stats are Recorded, Upload Stats are Doubled!\"]": "0"
"*": "1"
uploadvolumefactor:
case:
"img[title=\"Platinum Torrent: No Download Stats are Recorded, Upload Stats are Doubled!\"]": "2"
"*": "1"

View File

@@ -0,0 +1,64 @@
---
site: classix
name: Classix
description: "Classic movie tracker"
language: en-us
type: private
encoding: UTF-8
links:
- http://classix-unlimited.co.uk/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
modes:
search: [q]
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.myContent:contains("Access Denied")
test:
path: index.php
download:
selector: a[href^="download.php?id="]
search:
path: torrents-search.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
search: "{{ .Query.Keywords }}"
rows:
selector: table > tbody > tr:has(a[href^="torrents.php?cat="])
fields:
category:
text: 1
title:
selector: td:nth-child(3)
download:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["torrents-details.php?id=", "download.php?id="]
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
size:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,94 @@
---
site: czteam
name: CZTeam
language: cs-cz
type: private
encoding: UTF-8
links:
- https://czteam.club/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV-Eps"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: PC/Games, desc: "Games"}
- {id: 5, cat: PC/ISO, desc: "Software"}
- {id: 6, cat: XXX, desc: "XxX"}
- {id: 7, cat: Other, desc: "Other"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: 1
login: "Log in"
error:
- selector: form#loginform > span.warning
test:
path: torrents.php
search:
path: torrents.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Query.Keywords }}"
order_by: time
order_way: desc
action: basic
searchsubmit: 1
rows:
selector: table#torrent_table > tbody > tr.torrent
fields:
download:
selector: a[href^="torrents.php?action=download&id="]
attribute: href
title:
selector: a.torrent_name
category:
selector: td.cats_col
case:
div.cats_movies: 1
div.cats_tveps: 2
div.cats_music: 3
div.cats_games: 4
div.cats_software: 5
div.cats_xxx: 6
div.cats_other: 7
details:
selector: a.torrent_name
attribute: href
banner:
selector: a.torrent_name
optional: true
attribute: cover
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(4)
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
downloadvolumefactor:
case:
"strong.tl_free": "0"
"strong.tl_neutral": "0"
"*": "1"
uploadvolumefactor:
case:
"strong.tl_neutral": "0"
"*": "1"
description:
selector: div.torrent_info
remove: strong

View File

@@ -1,119 +1,119 @@
---
site: datascene
name: DataScene
language: ro-ro
type: private
encoding: windows-1252
links:
- http://datascene.net/
caps:
categories:
3: TV/Anime # Anime | Cartoon
15: PC/0day # Appz | Win
4: PC/0day # Appz | Linux
6: Books # E-Book
10: PC/Games # Games | PC Iso
9: PC/Games # Games | PC Rips
11: Console # Games | Pack
43: Console # Games | Console
29: Other # Images
2: Other # MiSC
5: PC/Phone-Other # Mobile
27: Movies # Movies | Pack
46: Movies/3D # Movies | 3D
26: Movies/SD # Movies | Cam
25: Movies # Movies | Documentary
24: Movies/DVD # Movies | DVD-R
32: Movies/DVD # Movies | DVD-RO
23: Movies/HD # Movies | HD
31: Movies/HD # Movies | HD-Ro
34: Movies/Foreign # Movies | Hindi
30: Movies/SD # Movies | Xvid
36: Movies/SD # Movies | Xvid-Ro
21: Audio/Video # Music | Video
19: Audio # Music | Mp3/Flac
18: Other # Other
42: Other # Premiera | DsT
14: TV/Sport # Sport
47: TV/SD # Tv | Episodes
28: TV/HD # Tv-HD | Episodes
13: Other # Tutoriale
12: XXX # XxX
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /browse.php
ratio:
path: /browse.php
selector: font:contains("Ratio:") > span
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: 1
rows:
selector: tr:has(a.tname)
fields:
title:
selector: a.tname
attribute: title
details:
selector: a.tname
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="/download.php/"]
attribute: href
grabs:
selector: td:nth-child(7)
filters:
- name: regexp
args: (\d+)
size:
selector: td:nth-child(6)
date:
selector: td:nth-child(2) > right > div:has(font:contains("Uploaded"))
remove: div > font
filters:
- name: trim
args: ":"
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
banner:
selector: a.tname
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
downloadvolumefactor:
case:
"img[src=\"pic/free.gif\"]": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
description:
selector: td:nth-child(2) > right
---
site: datascene
name: DataScene
language: ro-ro
type: private
encoding: windows-1252
links:
- http://datascene.net/
caps:
categorymappings:
- {id: 3, cat: TV/Anime, desc: "Anime | Cartoon"}
- {id: 15, cat: PC/0day, desc: "Appz | Win"}
- {id: 4, cat: PC/0day, desc: "Appz | Linux"}
- {id: 6, cat: Books, desc: "E-Book"}
- {id: 10, cat: PC/Games, desc: "Games | PC Iso"}
- {id: 9, cat: PC/Games, desc: "Games | PC Rips"}
- {id: 11, cat: Console, desc: "Games | Pack"}
- {id: 43, cat: Console, desc: "Games | Console"}
- {id: 29, cat: Other, desc: "Images"}
- {id: 2, cat: Other, desc: "MiSC"}
- {id: 5, cat: PC/Phone-Other, desc: "Mobile"}
- {id: 27, cat: Movies, desc: "Movies | Pack"}
- {id: 46, cat: Movies/3D, desc: "Movies | 3D"}
- {id: 26, cat: Movies/SD, desc: "Movies | Cam"}
- {id: 25, cat: Movies, desc: "Movies | Documentary"}
- {id: 24, cat: Movies/DVD, desc: "Movies | DVD-R"}
- {id: 32, cat: Movies/DVD, desc: "Movies | DVD-RO"}
- {id: 23, cat: Movies/HD, desc: "Movies | HD"}
- {id: 31, cat: Movies/HD, desc: "Movies | HD-Ro"}
- {id: 34, cat: Movies/Foreign, desc: "Movies | Hindi"}
- {id: 30, cat: Movies/SD, desc: "Movies | Xvid"}
- {id: 36, cat: Movies/SD, desc: "Movies | Xvid-Ro"}
- {id: 21, cat: Audio/Video, desc: "Music | Video"}
- {id: 19, cat: Audio , desc: "Music | Mp3/Flac"}
- {id: 18, cat: Other, desc: "Other"}
- {id: 42, cat: Other, desc: "Premiera | DsT"}
- {id: 14, cat: TV/Sport, desc: "Sport"}
- {id: 47, cat: TV/SD, desc: "Tv | Episodes"}
- {id: 28, cat: TV/HD, desc: "Tv-HD | Episodes"}
- {id: 13, cat: Other, desc: "Tutoriale"}
- {id: 12, cat: XXX, desc: "XxX"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /browse.php
ratio:
path: /browse.php
selector: font:contains("Ratio:") > span
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: 1
rows:
selector: tr:has(a.tname)
fields:
title:
selector: a.tname
attribute: title
details:
selector: a.tname
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="/download.php/"]
attribute: href
grabs:
selector: td:nth-child(7)
filters:
- name: regexp
args: (\d+)
size:
selector: td:nth-child(6)
date:
selector: td:nth-child(2) > right > div:has(font:contains("Uploaded"))
remove: div > font
filters:
- name: trim
args: ":"
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
banner:
selector: a.tname
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
downloadvolumefactor:
case:
"img[src=\"pic/free.gif\"]": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
description:
selector: td:nth-child(2) > right
remove: div

View File

@@ -8,48 +8,48 @@
- https://diablotorrent.net/
caps:
categories:
49: Movies/SD # film / Cam
21: Movies/SD # film / Cam [magyar]
6: Movies/SD # film / DVDRip/XviD
5: Movies/SD # film / DVDRip/XviD [magyar]
32: Movies/SD # film / BDRip/XviD
33: Movies/SD # film / BDRip/XviD [magyar]
50: Movies/SD # film / BDRip/x264
51: Movies/SD # film / BDRip/x264 [magyar]
4: Movies/DVD # film / DVD-R
3: Movies/DVD # film / DVD-R [magyar]
45: Movies/DVD # film / DVD9
46: Movies/DVD # film / DVD9 [magyar]
30: Movies/HD # film / HD
31: Movies/HD # film / HD [magyar]
48: Movies/BluRay # film / Bluray
47: Movies/BluRay # film / Bluray [magyar]
10: TV/SD # Sorozat / XviD
11: TV/SD # Sorozat / XviD [magyar]
43: TV/SD # Sorozat / DVD-R
41: TV/SD # Sorozat / DVD-R [magyar]
44: TV/HD # Sorozat / HD
42: TV/HD # Sorozat / HD [magyar]
8: Audio/MP3 # Zene / MP3
9: Audio/MP3 # Zene / MP3 [magyar]
38: Audio/Lossless # Zene / Lossless
37: Audio/Lossless # Zene / Lossless [magyar]
27: Other # Egyéb / !! Feltöltési segédlet !!
29: Other # Egyéb / Képek
12: PC/Games # Játék / PC
14: Console/PS4 # Játék / PS
39: Console/Xbox # Játék / Xbox
40: Console/Other # Játék / Egyéb
16: PC/ISO # Programok / PC
24: PC/Phone-Other # Programok / Mobil
53: PC/0day # Programok / Egyéb
17: XXX/Xvid # Pornó / XviD
34: XXX/DVD # Pornó / DVD-R
35: XXX # Pornó / HD
36: XXX # Pornó / Képek
20: Books # E-Book / Magyar
52: Books # E-Book / Egyéb
categorymappings:
- {id: 49, cat: Movies/SD, desc: "film / Cam"}
- {id: 21, cat: Movies/SD, desc: "film / Cam [magyar]"}
- {id: 6, cat: Movies/SD, desc: "film / DVDRip/XviD"}
- {id: 5, cat: Movies/SD, desc: "film / DVDRip/XviD [magyar]"}
- {id: 32, cat: Movies/SD, desc: "film / BDRip/XviD"}
- {id: 33, cat: Movies/SD, desc: "film / BDRip/XviD [magyar]"}
- {id: 50, cat: Movies/SD, desc: "film / BDRip/x264"}
- {id: 51, cat: Movies/SD, desc: "film / BDRip/x264 [magyar]"}
- {id: 4, cat: Movies/DVD, desc: "film / DVD-R"}
- {id: 3, cat: Movies/DVD, desc: "film / DVD-R [magyar]"}
- {id: 45, cat: Movies/DVD, desc: "film / DVD9"}
- {id: 46, cat: Movies/DVD, desc: "film / DVD9 [magyar]"}
- {id: 30, cat: Movies/HD, desc: "film / HD"}
- {id: 31, cat: Movies/HD, desc: "film / HD [magyar]"}
- {id: 48, cat: Movies/BluRay, desc: "film / Bluray"}
- {id: 47, cat: Movies/BluRay, desc: "film / Bluray [magyar]"}
- {id: 10, cat: TV/SD, desc: "Sorozat / XviD"}
- {id: 11, cat: TV/SD, desc: "Sorozat / XviD [magyar]"}
- {id: 43, cat: TV/SD, desc: "Sorozat / DVD-R"}
- {id: 41, cat: TV/SD, desc: "Sorozat / DVD-R [magyar]"}
- {id: 44, cat: TV/HD, desc: "Sorozat / HD"}
- {id: 42, cat: TV/HD, desc: "Sorozat / HD [magyar]"}
- {id: 8, cat: Audio/MP3, desc: "Zene / MP3"}
- {id: 9, cat: Audio/MP3, desc: "Zene / MP3 [magyar]"}
- {id: 38, cat: Audio/Lossless, desc: "Zene / Lossless"}
- {id: 37, cat: Audio/Lossless, desc: "Zene / Lossless [magyar]"}
- {id: 27, cat: Other, desc: "Egyéb / !! Feltöltési segédlet !!"}
- {id: 29, cat: Other, desc: "Egyéb / Képek"}
- {id: 12, cat: PC/Games, desc: "Játék / PC"}
- {id: 14, cat: Console/PS4, desc: "Játék / PS"}
- {id: 39, cat: Console/Xbox, desc: "Játék / Xbox"}
- {id: 40, cat: Console/Other, desc: "Játék / Egyéb"}
- {id: 16, cat: PC/ISO, desc: "Programok / PC"}
- {id: 24, cat: PC/Phone-Other, desc: "Programok / Mobil"}
- {id: 53, cat: PC/0day, desc: "Programok / Egyéb"}
- {id: 17, cat: XXX/Xvid, desc: "Pornó / XviD"}
- {id: 34, cat: XXX/DVD, desc: "Pornó / DVD-R"}
- {id: 35, cat: XXX, desc: "Pornó / HD"}
- {id: 36, cat: XXX, desc: "Pornó / Képek"}
- {id: 20, cat: Books, desc: "E-Book / Magyar"}
- {id: 52, cat: Books, desc: "E-Book / Egyéb"}
modes:

View File

@@ -0,0 +1,154 @@
---
site: dragonworld
name: Dragon World (DTW)
language: de-de
type: private
encoding: UTF-8
links:
- http://dtw.sytes.net/
caps:
categorymappings:
# Dokumentation
- {id: 46, cat: TV/Documentary, desc: "Dokumentation"}
- {id: 55, cat: TV/Documentary, desc: "Dokumentation/HD"}
- {id: 56, cat: TV/Documentary, desc: "Dokumentation/SD"}
# Ebooks
- {id: 36, cat: Books, desc: "Ebooks"}
- {id: 37, cat: Books, desc: "Ebooks"}
- {id: 38, cat: Books, desc: "Ebooks/Hoerspiele/Hoerbuecher"}
# Games
- {id: 21, cat: Console, desc: "Games"}
- {id: 24, cat: Console/Other, desc: "Games/Nintendo"}
- {id: 22, cat: PC/Games, desc: "Games/PC"}
- {id: 23, cat: Console/PS4, desc: "Games/Playstation"}
- {id: 25, cat: Console/Xbox, desc: "Games/Xbox"}
# Kinder
- {id: 10, cat: Other, desc: "Kinder"}
- {id: 14, cat: Other, desc: "Kinder/Diverses"}
- {id: 12, cat: Movies, desc: "Kinder/Filme"}
- {id: 11, cat: PC/Games, desc: "Kinder/Games"}
- {id: 13, cat: Audio, desc: "Kinder/Musik"}
# Movies
- {id: 15, cat: Movies, desc: "Movies"}
- {id: 50, cat: Movies/3D, desc: "Movies/3D"}
- {id: 48, cat: Movies/HD, desc: "Movies/HD"}
- {id: 53, cat: Movies/HD, desc: "Movies/HD Pack"}
- {id: 45, cat: Movies/HD, desc: "Movies/Remuxe"}
- {id: 17, cat: Movies/SD, desc: "Movies/SD"}
- {id: 54, cat: Movies/SD, desc: "Movies/SD Pack"}
# Musik
- {id: 4, cat: Audio, desc: "Musik"}
- {id: 57, cat: Audio, desc: "Musik/Album"}
- {id: 8, cat: Audio/Lossless, desc: "Musik/Flac"}
- {id: 7, cat: Audio/MP3, desc: "Musik/Mp3"}
- {id: 9, cat: Audio/Video, desc: "Musik/Video"}
# Serien
- {id: 26, cat: TV, desc: "Serien"}
- {id: 27, cat: TV/HD, desc: "Serien/HD"}
- {id: 28, cat: TV/SD, desc: "Serien/SD"}
# Software
- {id: 29, cat: PC/0day, desc: "Software"}
- {id: 32, cat: PC/0day, desc: "Software/Diverses"}
- {id: 31, cat: PC/Mac, desc: "Software/Mac"}
- {id: 30, cat: PC/0day, desc: "Software/Windows"}
# Sport
- {id: 39, cat: TV/Sport, desc: "Sport"}
- {id: 40, cat: TV/Sport, desc: "Sport HD"}
- {id: 58, cat: TV/Sport, desc: "Sport SD"}
# XXX
- {id: 33, cat: XXX, desc: "XXX"}
- {id: 34, cat: XXX, desc: "XXX/HD"}
- {id: 35, cat: XXX, desc: "XXX/SD"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table:has(td:contains("Ein Fehler ist aufgetreten"))
test:
path: browse.php
selector: a[href*="/logout.php"]
download:
before:
path: "takethanks.php"
method: "post"
inputs:
torrentid: "{{ .DownloadUri.Query.id }}"
search:
path: browse.php
keywordsfilters:
- name: re_replace
args: ["[^a-zA-Z0-9]+", "%"]
inputs:
do: "search"
keywords: "{{ .Keywords }}"
search_type: "t_name"
category: "0" # multi cat search not supported
include_dead_torrents: "yes"
rows:
selector: table#sortabletable > tbody > tr:has(a[href*="/details.php?id="])
filters:
- name: andmatch
args: 66
fields:
download:
selector: a[href*="/download.php?id="]
attribute: href
magnet:
selector: a[href^="magnet:"]
attribute: href
title:
selector: a[href*="/details.php?id="]
title:
selector: div.tooltip-content > div
optional: true
details:
selector: a[href*="/details.php?id="]
attribute: href
category:
selector: a[href*="/browse.php?category="]
attribute: href
filters:
- name: querystring
args: category
banner:
selector: div.tooltip-content > img
attribute: src
optional: true
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:
img[alt^="OnlyUp Torrent"]: "0"
img[alt^="50% "]: "0.5"
"*": "1"
uploadvolumefactor:
case:
img[alt^="multi2 Torrent"]: "2"
"*": "1"
date:
selector: "td:nth-child(2) > div:has(span[style=\"float: right;\"])"
remove: span
filters:
- name: append
args: " +01:00"
- name: dateparse
args: "02-01-2006 15:04 -07:00"

View File

@@ -0,0 +1,238 @@
---
site: dragonworldreloaded
name: Dragonworld Reloaded
language: de-de
type: private
encoding: UTF-8
links:
- https://dragonworld-reloaded.net/
caps:
categorymappings:
# Kino
- {id: 118, cat: Movies/HD, desc: "Kino - HD"}
- {id: 4, cat: Movies/SD, desc: "Kino - SD"}
# Movies
- {id: 18, cat: Movies/SD, desc: "Movies - x264/XviD"}
- {id: 2, cat: Movies, desc: "Movies - Pack SD/HD"}
- {id: 22, cat: Movies/DVD, desc: "Movies - DVD/HD2"}
- {id: 52, cat: Movies, desc: "Movies - Kids"}
- {id: 19, cat: Movies/HD, desc: "Movies - HD"}
- {id: 25, cat: Movies/3D, desc: "Movies - 3D"}
- {id: 26, cat: Movies/BluRay, desc: "Movies - Blu-Ray"}
# Serien
- {id: 40, cat: TV/SD, desc: "Serien - SD"}
- {id: 41, cat: TV/HD, desc: "Serien - HD"}
- {id: 42, cat: TV/SD, desc: "Serien - Pack SD"}
- {id: 80, cat: TV/HD, desc: "Serien - Pack HD"}
# Musik
- {id: 119, cat: Audio, desc: "Musik - ALBEN"}
- {id: 5, cat: Audio/MP3, desc: "Musik - Mp3"}
- {id: 6, cat: Audio, desc: "Musik - Mixe"}
- {id: 92, cat: Audio, desc: "Musik - Discography"}
- {id: 114, cat: Audio, desc: "Musik - Musik Pack"}
- {id: 48, cat: Audio/Video, desc: "Musik - Video"}
# Doku
- {id: 37, cat: TV/Documentary, desc: "Doku - SD"}
- {id: 38, cat: TV/Documentary, desc: "Doku - HD"}
- {id: 81, cat: TV/Documentary, desc: "Doku - Pack "}
# Anime
- {id: 73, cat: TV/Anime, desc: "Anime - Movies"}
- {id: 74, cat: TV/Anime, desc: "Anime - Serien"}
# Games
- {id: 16, cat: PC/Games, desc: "Games - PC"}
- {id: 14, cat: Console/Other, desc: "Games - Wimmelbild"}
- {id: 7, cat: Console/PSP, desc: "Games - PSP"}
- {id: 17, cat: Console/PS3, desc: "Games - PS2/PS3"}
- {id: 29, cat: Console/NDS, desc: "Games - NDS/3DS"}
- {id: 15, cat: Console/Wii, desc: "Games - Wii"}
- {id: 8, cat: Console/Xbox, desc: "Games - XboX "}
# Appz
- {id: 30, cat: PC/0day, desc: "Appz - Windows"}
- {id: 31, cat: PC/0day, desc: "Appz - Linux"}
- {id: 32, cat: PC/Mac, desc: "Appz - Mac"}
- {id: 106, cat: PC/Phone-Android, desc: "Appz - Android"}
# Sport
- {id: 43, cat: TV/Sport, desc: "Sport - SD"}
- {id: 50, cat: TV/Sport, desc: "Sport - HD"}
# Sonstiges
- {id: 34, cat: Books, desc: "Sonstiges - E-Books"}
- {id: 35, cat: Audio/Audiobook, desc: "Sonstiges - Audiobook"}
- {id: 36, cat: Other, desc: "Sonstiges - Diverses"}
# XXX
- {id: 46, cat: XXX, desc: "XXX - SD"}
- {id: 47, cat: XXX, desc: "XXX - HD"}
- {id: 45, cat: XXX, desc: "XXX - Pack"}
- {id: 49, cat: XXX, desc: "XXX - Sonstiges"}
- {id: 110, cat: XXX, desc: "XXX - Hentai Serie"}
- {id: 111, cat: XXX, desc: "XXX - Hentai Movie"}
- {id: 116, cat: XXX, desc: "XXX - SexBooks"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: /login.php
method: form
form: form[action="/login.php"]
cookies: ["JAVA=OK"] # avoid jscheck redirect
captcha:
type: image
image: img[src^="cap/captcha_math.php"]
input: stringCaptcha
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
loggiin: "einloggen"
error:
- selector: div#login_error
test:
path: selection.php
download:
before:
path: "ajax_det_poll.php"
method: "post"
inputs:
set_thanks: "thanks"
det_id: "{{ .DownloadUri.Query.torrent }}"
ajax: "yes"
search:
path: selection.php
inputs:
search: "{{ .Keywords }}"
blah: "0"
orderby: "added"
sort: "desc"
rows:
selector: div.selection_wrap
fields:
download:
selector: a.selection_a
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php?torrent="]
title:
selector: a.selection_a
details:
selector: a.selection_a
attribute: href
category:
selector: div.kat_cat_pic
case:
# Kino
":has(div.kat_cat_pic_name:contains(\"Kino\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "118"
":has(div.kat_cat_pic_name:contains(\"Kino\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "4"
# Movies
":has(div.kat_cat_pic_name:contains(\"Movies\")):has(div.kat_cat_pic_name_b:contains(\"x264/XviD\"))": "18"
":has(div.kat_cat_pic_name:contains(\"Movies\")):has(div.kat_cat_pic_name_b:contains(\"Pack SD/HD\"))": "2"
":has(div.kat_cat_pic_name:contains(\"Movies\")):has(div.kat_cat_pic_name_b:contains(\"DVD/HD2\"))": "22"
":has(div.kat_cat_pic_name:contains(\"Movies\")):has(div.kat_cat_pic_name_b:contains(\"Kids\"))": "52"
":has(div.kat_cat_pic_name:contains(\"Movies\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "19"
":has(div.kat_cat_pic_name:contains(\"Movies\")):has(div.kat_cat_pic_name_b:contains(\"3D\"))": "25"
":has(div.kat_cat_pic_name:contains(\"Movies\")):has(div.kat_cat_pic_name_b:contains(\"Blu-Ray\"))": "26"
# Serien
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "40"
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "41"
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack SD\"))": "42"
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack HD\"))": "80"
# Musik
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"ALBEN\"))": "119"
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Mp3\"))": "5"
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Mixe\"))": "6"
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Discography\"))": "92"
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Musik Pack\"))": "114"
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Video\"))": "48"
# Doku
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "37"
":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(\"Pack \"))": "81"
# Anime
":has(div.kat_cat_pic_name:contains(\"Anime\")):has(div.kat_cat_pic_name_b:contains(\"Movies\"))": "73"
":has(div.kat_cat_pic_name:contains(\"Anime\")):has(div.kat_cat_pic_name_b:contains(\"Serien\"))": "74"
# 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"
":has(div.kat_cat_pic_name:contains(\"Games\")):has(div.kat_cat_pic_name_b:contains(\"PSP\"))": "7"
":has(div.kat_cat_pic_name:contains(\"Games\")):has(div.kat_cat_pic_name_b:contains(\"PS2/PS3\"))": "17"
":has(div.kat_cat_pic_name:contains(\"Games\")):has(div.kat_cat_pic_name_b:contains(\"NDS/3DS\"))": "29"
":has(div.kat_cat_pic_name:contains(\"Games\")):has(div.kat_cat_pic_name_b:contains(\"Wii\"))": "15"
":has(div.kat_cat_pic_name:contains(\"Games\")):has(div.kat_cat_pic_name_b:contains(\"XboX \"))": "8"
# Appz
":has(div.kat_cat_pic_name:contains(\"Appz\")):has(div.kat_cat_pic_name_b:contains(\"Windows\"))": "30"
":has(div.kat_cat_pic_name:contains(\"Appz\")):has(div.kat_cat_pic_name_b:contains(\"Linux\"))": "31"
":has(div.kat_cat_pic_name:contains(\"Appz\")):has(div.kat_cat_pic_name_b:contains(\"Mac\"))": "32"
":has(div.kat_cat_pic_name:contains(\"Appz\")):has(div.kat_cat_pic_name_b:contains(\"Android\"))": "106"
# Sport
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "43"
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "50"
# Sonstiges
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"E-Books\"))": "34"
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Audiobook\"))": "35"
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Diverses\"))": "36"
# XXX
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "46"
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "47"
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "45"
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiges\"))": "49"
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Hentai Serie\"))": "110"
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Hentai Movie\"))": "111"
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"SexBooks\"))": "116"
banner:
selector: div[id^="details"] img
attribute: src
size:
selector: div.selection_unter_ad
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
grabs:
selector: div.selection_unter_ae
filters:
- name: trim
args: "x"
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
seeders:
selector: div.selection_unter_aa
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
leechers:
selector: div.selection_unter_aaa
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
downloadvolumefactor:
case:
":root:has(div.onlyup)": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
date:
selector: div.selection_unter_ab
filters:
- name: replace
args: ["Heute", "Today"]
- name: replace
args: ["Gestern", "Yesterday"]
- name: replace
args: [" um", ""]
- name: dateparse
args: "02.01.2006 15:04:05"
description:
selector: selection_unter_af
optional: true

View File

@@ -1,320 +1,320 @@
---
site: dreamteam
name: Dream Team
language: el-gr
type: private
encoding: UTF-8
links:
- http://dream-team.ml/
caps:
categories:
# 115: #
115: Movies # One foreign films external subtitles
130: Movies # CAM / TS / TC
131: Movies # DVDSCR / PPVRiP / WebRip / R5
132: Movies # DVDRrip
133: Movies # BDRip / BRRip / HDRip
134: Movies # MicroHD
135: Movies # HD - WEB-DL
136: Movies # HD - 480p
137: Movies # HD - 720p
138: Movies # HD - 1080p
139: Movies # 9.01 3D HD 720p Half SBS & OU
140: Movies # 9.2 3D HD 1080p Half SBS & OU
141: Movies # 9.3 3D Bluray Disc HD 720p / 1080p
142: Movies # 9.4 3D MicroHD 720p / 1080p
144: Movies # 9.5 packages
145: Movies # 9.6 filmography
143: Movies # 9.7 Tv Movies
# 130: #
# 131: #
# 132: #
# 133: #
# 134: #
# 135: #
# 136: #
# 137: #
# 138: #
# 139: #
# 140: #
# 141: #
# 142: #
# 144: #
# 145: #
# 143: #
# 116: #
116: Movies # Two foreign films integrated subtitles
146: Movies # CAM / TS / TC
147: Movies # DVDSCR / PPVRiP / WebRip / R5
148: Movies # DVDRrip
149: Movies # BDRip / BRRip / HDRip
150: Movies # MicroHD
151: Movies # HD - WEB-DL
152: Movies # Tv Movies
# 242: #
153: Movies # Packages
154: Movies # filmography
243: Movies # HD 1080p
244: Movies # HD 480p
# 146: #
# 147: #
# 148: #
# 149: #
# 150: #
# 151: #
# 152: #
# 242: #
# 153: #
# 154: #
# 243: #
# 244: #
# 117: #
117: Movies # ???????e? ?a???e?
155: Movies # CAM / TS / TC
156: Movies # SCR / PPVRiP / Webrip / R5
157: Movies # DVDRrip 3
158: Movies # BDRip / BRRip / HDRip
159: Movies # MicroHD 5
160: Movies # HD - 480p
161: Movies # 6.1 HD - 720p
162: Movies # HD 6.2 - 1080
163: Movies # TV Movies
164: Movies # ?a?eta 8
165: Movies # F??µ???af?e?
# 155: #
# 156: #
# 157: #
# 158: #
# 159: #
# 160: #
# 161: #
# 162: #
# 163: #
# 164: #
# 165: #
# 118: #
118: TV # Foreign Television external subtitles
166: TV # SD
167: TV # 720p
168: TV # 1080p
169: TV # Sport
170: TV # documentaries
171: TV # Packages
# 166: #
# 167: #
# 168: #
# 169: #
# 170: #
# 171: #
# 119: #
119: TV # foreign Television integrated subtitles
172: TV # SD
173: TV # 720p
174: TV # 1080p
175: TV # Sport
176: TV # documentaries
177: TV # Tv Rips
178: TV # Packages
# 172: #
# 173: #
# 174: #
# 175: #
# 176: #
# 177: #
# 178: #
# 120: #
120: TV # Greek Television
179: TV # SD
180: TV # 720p
181: TV # 1080p
182: TV # Sport
183: TV # five documentaries
184: TV # six Tv Rips
185: TV # Packages
# 179: #
# 180: #
# 181: #
# 182: #
# 183: #
# 184: #
# 185: #
# 122: #
122: Audio # ?e?? ???s???
216: Audio # 1. DJs Stuff & Promos
217: Audio # 2. DJs Stuff & Promos (Flac)
218: Audio # 3. Singles
219: Audio # 4. Singles (Flac)
220: Audio # 5. ??s????af?e?
221: Audio # 6. ??s????af?e? (Flac)
222: Audio # 7. ??af??e? S?????e?
223: Audio # 8. ??af??e? S?????e? (Flac)
224: Audio # 9. SoundTracks
225: Audio # 9.1 Varius Artist
226: Audio # 9.2 Compact Disc Club
227: Audio # 9.3 ???s??a Video Clips
# 123: #
123: Audio # ???????? ???s???
228: Audio # 1. DJs Stuff & Promos
229: Audio # 2. DJs Stuff & Promos (Flac)
230: Audio # 3. Singles
231: Audio # 4. Singles (Flac)
232: Audio # 5. ??s????af?e?
233: Audio # 6. ??s????af?e? (Flac)
234: Audio # 7. ??af??e? S?????e?
235: Audio # 8. ??af??e? S?????e? (Flac)
236: Audio # 9. ?a?d??a
237: Audio # 9.1 SoundTracks
238: Audio # 9.2 Varius Artist
239: Audio # 9.3 Compact Disc Club
240: Audio # 9.4 ???s??a Video Clips
# 121: #
121: Movies # children
186: Movies # children's films external subtitles
187: Movies # two children's films integrated subtitles
188: Movies # three children's films Metaglotismenes
189: Movies # four cartoon series external subtitles
190: Movies # five children's series integrated subtitles
191: Movies # six children's series Metaglotismenes
192: Movies # Anime external subtitles
193: Movies # Anime integrated subtitles
194: Movies # Anime Metaglotismenes
# 186: #
# 187: #
# 188: #
# 189: #
# 190: #
# 191: #
# 192: #
# 193: #
# 194: #
# 128: #
128: Console # 9.1 ?a????d?a
195: Console # Windows Games
196: Console # Nintendo DS
197: Console # Sony PS1
198: Console # Sony PS2
199: Console # Sony PS3
200: Console # Sony PSP
201: Console # Wii
202: Console # XboX 360
# 124: #
124: PC # 9.2 Applications
203: PC # Applications Windows
204: PC # Applications Mac
205: PC # Linux Applications
# 203: #
# 204: #
# 205: #
# 126: #
126: Books # 9.3 Electronic Books
206: Books # Electronic books
207: Books # Magazines
208: Books # Comic Books
# 206: #
# 207: #
# 208: #
# 125: #
125: Other # 9.4 Gallery
209: Other # Gallery
210: Other # Gallery HD
211: Other # Photos 3D
212: Other # Wallpapers
213: Other # Screensavers
# 209: #
# 210: #
# 211: #
# 212: #
# 213: #
# 127: #
127: PC/Phone-Other # 9.5 Mobile / Miscellaneous
214: PC/Phone-Other # Mobile
215: PC/Phone-Other # Miscellaneous
# 214: #
# 215: #
# 129: #
129: Other # 9.6 Blocked DREAM TEAM
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td:contains("remaining tries")
test:
path: browse.php
selector: a[href^="http://dream-team.ml/logout.php"]
download:
before:
path: "takethanks.php"
method: "post"
inputs:
torrentid: "{{ .DownloadUri.Query.id }}"
search:
path: browse.php
keywordsfilters:
# remove words <= 3 characters and surrounding special characters
- name: re_replace
args: ["(?:^|\\s)[_\\+\\/\\.\\-\\(\\)]*[\\S]{0,3}[_\\+\\/\\.\\-\\(\\)]*(?:\\s|$)", " "]
inputs:
do: "search"
keywords: "{{ .Keywords }}"
search_type: "t_name"
category: "0" # multi cat search not supported
include_dead_torrents: "yes"
rows:
selector: table#sortabletable > tbody > tr:has(a[href^="http://dream-team.ml/details.php?id="])
filters:
- name: andmatch
args: 66
fields:
download:
selector: a[href^="http://dream-team.ml/download.php?id="]
attribute: href
title:
selector: a[href^="http://dream-team.ml/details.php?id="]
title|optional:
selector: div.tooltip-content > div
details:
selector: a[href^="http://dream-team.ml/details.php?id="]
attribute: href
category:
selector: a[href^="http://dream-team.ml/browse.php?category="]
attribute: href
filters:
- name: querystring
args: category
banner|optional:
selector: div.tooltip-content > img
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:
img[alt^="Free Torrent "]: "0"
img[alt^="Silver Torrent "]: "0.5"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
date:
selector: "td:nth-child(2) > div:has(span[style=\"float: right;\"])"
remove: span
filters:
- name: append
args: " +00:00"
- name: dateparse
args: "02-01-2006 15:04 -07:00"
---
site: dreamteam
name: Dream Team
language: el-gr
type: private
encoding: UTF-8
links:
- http://dream-team.ml/
caps:
categorymappings:
# - {id: 115, cat: , desc: ""}
- {id: 115, cat: Movies, desc: "One foreign films external subtitles"}
- {id: 130, cat: Movies, desc: "CAM / TS / TC"}
- {id: 131, cat: Movies, desc: "DVDSCR / PPVRiP / WebRip / R5"}
- {id: 132, cat: Movies, desc: "DVDRrip"}
- {id: 133, cat: Movies, desc: "BDRip / BRRip / HDRip"}
- {id: 134, cat: Movies, desc: "MicroHD"}
- {id: 135, cat: Movies, desc: "HD - WEB-DL"}
- {id: 136, cat: Movies, desc: "HD - 480p"}
- {id: 137, cat: Movies, desc: "HD - 720p"}
- {id: 138, cat: Movies, desc: "HD - 1080p"}
- {id: 139, cat: Movies, desc: "9.01 3D HD 720p Half SBS & OU"}
- {id: 140, cat: Movies, desc: "9.2 3D HD 1080p Half SBS & OU"}
- {id: 141, cat: Movies, desc: "9.3 3D Bluray Disc HD 720p / 1080p"}
- {id: 142, cat: Movies, desc: "9.4 3D MicroHD 720p / 1080p"}
- {id: 144, cat: Movies, desc: "9.5 packages"}
- {id: 145, cat: Movies, desc: "9.6 filmography"}
- {id: 143, cat: Movies, desc: "9.7 Tv Movies"}
# - {id: 130, cat: , desc: ""}
# - {id: 131, cat: , desc: ""}
# - {id: 132, cat: , desc: ""}
# - {id: 133, cat: , desc: ""}
# - {id: 134, cat: , desc: ""}
# - {id: 135, cat: , desc: ""}
# - {id: 136, cat: , desc: ""}
# - {id: 137, cat: , desc: ""}
# - {id: 138, cat: , desc: ""}
# - {id: 139, cat: , desc: ""}
# - {id: 140, cat: , desc: ""}
# - {id: 141, cat: , desc: ""}
# - {id: 142, cat: , desc: ""}
# - {id: 144, cat: , desc: ""}
# - {id: 145, cat: , desc: ""}
# - {id: 143, cat: , desc: ""}
# - {id: 116, cat: , desc: ""}
- {id: 116, cat: Movies, desc: "Two foreign films integrated subtitles"}
- {id: 146, cat: Movies, desc: "CAM / TS / TC"}
- {id: 147, cat: Movies, desc: "DVDSCR / PPVRiP / WebRip / R5"}
- {id: 148, cat: Movies, desc: "DVDRrip"}
- {id: 149, cat: Movies, desc: "BDRip / BRRip / HDRip"}
- {id: 150, cat: Movies, desc: "MicroHD"}
- {id: 151, cat: Movies, desc: "HD - WEB-DL"}
- {id: 152, cat: Movies, desc: "Tv Movies"}
# - {id: 242, cat: , desc: ""}
- {id: 153, cat: Movies, desc: "Packages"}
- {id: 154, cat: Movies, desc: "filmography"}
- {id: 243, cat: Movies, desc: "HD 1080p"}
- {id: 244, cat: Movies, desc: "HD 480p"}
# - {id: 146, cat: , desc: ""}
# - {id: 147, cat: , desc: ""}
# - {id: 148, cat: , desc: ""}
# - {id: 149, cat: , desc: ""}
# - {id: 150, cat: , desc: ""}
# - {id: 151, cat: , desc: ""}
# - {id: 152, cat: , desc: ""}
# - {id: 242, cat: , desc: ""}
# - {id: 153, cat: , desc: ""}
# - {id: 154, cat: , desc: ""}
# - {id: 243, cat: , desc: ""}
# - {id: 244, cat: , desc: ""}
# - {id: 117, cat: , desc: ""}
- {id: 117, cat: Movies, desc: "???????e? ?a???e?"}
- {id: 155, cat: Movies, desc: "CAM / TS / TC"}
- {id: 156, cat: Movies, desc: "SCR / PPVRiP / Webrip / R5"}
- {id: 157, cat: Movies, desc: "DVDRrip 3"}
- {id: 158, cat: Movies, desc: "BDRip / BRRip / HDRip"}
- {id: 159, cat: Movies, desc: "MicroHD 5"}
- {id: 160, cat: Movies, desc: "HD - 480p"}
- {id: 161, cat: Movies, desc: "6.1 HD - 720p"}
- {id: 162, cat: Movies, desc: "HD 6.2 - 1080"}
- {id: 163, cat: Movies, desc: "TV Movies"}
- {id: 164, cat: Movies, desc: "?a?eta 8"}
- {id: 165, cat: Movies, desc: "F??µ???af?e?"}
# - {id: 155, cat: , desc: ""}
# - {id: 156, cat: , desc: ""}
# - {id: 157, cat: , desc: ""}
# - {id: 158, cat: , desc: ""}
# - {id: 159, cat: , desc: ""}
# - {id: 160, cat: , desc: ""}
# - {id: 161, cat: , desc: ""}
# - {id: 162, cat: , desc: ""}
# - {id: 163, cat: , desc: ""}
# - {id: 164, cat: , desc: ""}
# - {id: 165, cat: , desc: ""}
# - {id: 118, cat: , desc: ""}
- {id: 118, cat: TV, desc: "Foreign Television external subtitles"}
- {id: 166, cat: TV, desc: "SD"}
- {id: 167, cat: TV, desc: "720p"}
- {id: 168, cat: TV, desc: "1080p"}
- {id: 169, cat: TV, desc: "Sport"}
- {id: 170, cat: TV, desc: "documentaries"}
- {id: 171, cat: TV, desc: "Packages"}
# - {id: 166, cat: , desc: ""}
# - {id: 167, cat: , desc: ""}
# - {id: 168, cat: , desc: ""}
# - {id: 169, cat: , desc: ""}
# - {id: 170, cat: , desc: ""}
# - {id: 171, cat: , desc: ""}
# - {id: 119, cat: , desc: ""}
- {id: 119, cat: TV, desc: "foreign Television integrated subtitles"}
- {id: 172, cat: TV, desc: "SD"}
- {id: 173, cat: TV, desc: "720p"}
- {id: 174, cat: TV, desc: "1080p"}
- {id: 175, cat: TV, desc: "Sport"}
- {id: 176, cat: TV, desc: "documentaries"}
- {id: 177, cat: TV, desc: "Tv Rips"}
- {id: 178, cat: TV, desc: "Packages"}
# - {id: 172, cat: , desc: ""}
# - {id: 173, cat: , desc: ""}
# - {id: 174, cat: , desc: ""}
# - {id: 175, cat: , desc: ""}
# - {id: 176, cat: , desc: ""}
# - {id: 177, cat: , desc: ""}
# - {id: 178, cat: , desc: ""}
# - {id: 120, cat: , desc: ""}
- {id: 120, cat: TV, desc: "Greek Television"}
- {id: 179, cat: TV, desc: "SD"}
- {id: 180, cat: TV, desc: "720p"}
- {id: 181, cat: TV, desc: "1080p"}
- {id: 182, cat: TV, desc: "Sport"}
- {id: 183, cat: TV, desc: "five documentaries"}
- {id: 184, cat: TV, desc: "six Tv Rips"}
- {id: 185, cat: TV, desc: "Packages"}
# - {id: 179, cat: , desc: ""}
# - {id: 180, cat: , desc: ""}
# - {id: 181, cat: , desc: ""}
# - {id: 182, cat: , desc: ""}
# - {id: 183, cat: , desc: ""}
# - {id: 184, cat: , desc: ""}
# - {id: 185, cat: , desc: ""}
# - {id: 122, cat: , desc: ""}
- {id: 122, cat: Audio, desc: "?e?? ???s???"}
- {id: 216, cat: Audio, desc: "1. DJs Stuff & Promos"}
- {id: 217, cat: Audio, desc: "2. DJs Stuff & Promos (Flac)"}
- {id: 218, cat: Audio, desc: "3. Singles"}
- {id: 219, cat: Audio, desc: "4. Singles (Flac)"}
- {id: 220, cat: Audio, desc: "5. ??s????af?e?"}
- {id: 221, cat: Audio, desc: "6. ??s????af?e? (Flac)"}
- {id: 222, cat: Audio, desc: "7. ??af??e? S?????e?"}
- {id: 223, cat: Audio, desc: "8. ??af??e? S?????e? (Flac)"}
- {id: 224, cat: Audio, desc: "9. SoundTracks"}
- {id: 225, cat: Audio, desc: "9.1 Varius Artist"}
- {id: 226, cat: Audio, desc: "9.2 Compact Disc Club"}
- {id: 227, cat: Audio, desc: "9.3 ???s??a Video Clips"}
# - {id: 123, cat: , desc: ""}
- {id: 123, cat: Audio, desc: "???????? ???s???"}
- {id: 228, cat: Audio, desc: "1. DJs Stuff & Promos"}
- {id: 229, cat: Audio, desc: "2. DJs Stuff & Promos (Flac)"}
- {id: 230, cat: Audio, desc: "3. Singles"}
- {id: 231, cat: Audio, desc: "4. Singles (Flac)"}
- {id: 232, cat: Audio, desc: "5. ??s????af?e?"}
- {id: 233, cat: Audio, desc: "6. ??s????af?e? (Flac)"}
- {id: 234, cat: Audio, desc: "7. ??af??e? S?????e?"}
- {id: 235, cat: Audio, desc: "8. ??af??e? S?????e? (Flac)"}
- {id: 236, cat: Audio, desc: "9. ?a?d??a"}
- {id: 237, cat: Audio, desc: "9.1 SoundTracks"}
- {id: 238, cat: Audio, desc: "9.2 Varius Artist"}
- {id: 239, cat: Audio, desc: "9.3 Compact Disc Club"}
- {id: 240, cat: Audio, desc: "9.4 ???s??a Video Clips"}
# - {id: 121, cat: , desc: ""}
- {id: 121, cat: Movies, desc: "children"}
- {id: 186, cat: Movies, desc: "children's films external subtitles"}
- {id: 187, cat: Movies, desc: "two children's films integrated subtitles"}
- {id: 188, cat: Movies, desc: "three children's films Metaglotismenes"}
- {id: 189, cat: Movies, desc: "four cartoon series external subtitles"}
- {id: 190, cat: Movies, desc: "five children's series integrated subtitles"}
- {id: 191, cat: Movies, desc: "six children's series Metaglotismenes"}
- {id: 192, cat: Movies, desc: "Anime external subtitles"}
- {id: 193, cat: Movies, desc: "Anime integrated subtitles"}
- {id: 194, cat: Movies, desc: "Anime Metaglotismenes"}
# - {id: 186, cat: , desc: ""}
# - {id: 187, cat: , desc: ""}
# - {id: 188, cat: , desc: ""}
# - {id: 189, cat: , desc: ""}
# - {id: 190, cat: , desc: ""}
# - {id: 191, cat: , desc: ""}
# - {id: 192, cat: , desc: ""}
# - {id: 193, cat: , desc: ""}
# - {id: 194, cat: , desc: ""}
# - {id: 128, cat: , desc: ""}
- {id: 128, cat: Console, desc: "9.1 ?a????d?a"}
- {id: 195, cat: Console, desc: "Windows Games"}
- {id: 196, cat: Console, desc: "Nintendo DS"}
- {id: 197, cat: Console, desc: "Sony PS1"}
- {id: 198, cat: Console, desc: "Sony PS2"}
- {id: 199, cat: Console, desc: "Sony PS3"}
- {id: 200, cat: Console, desc: "Sony PSP"}
- {id: 201, cat: Console, desc: "Wii"}
- {id: 202, cat: Console, desc: "XboX 360"}
# - {id: 124, cat: , desc: ""}
- {id: 124, cat: PC, desc: "9.2 Applications"}
- {id: 203, cat: PC, desc: "Applications Windows"}
- {id: 204, cat: PC, desc: "Applications Mac"}
- {id: 205, cat: PC, desc: "Linux Applications"}
# - {id: 203, cat: , desc: ""}
# - {id: 204, cat: , desc: ""}
# - {id: 205, cat: , desc: ""}
# - {id: 126, cat: , desc: ""}
- {id: 126, cat: Books, desc: "9.3 Electronic Books"}
- {id: 206, cat: Books, desc: "Electronic books"}
- {id: 207, cat: Books, desc: "Magazines"}
- {id: 208, cat: Books, desc: "Comic Books"}
# - {id: 206, cat: , desc: ""}
# - {id: 207, cat: , desc: ""}
# - {id: 208, cat: , desc: ""}
# - {id: 125, cat: , desc: ""}
- {id: 125, cat: Other, desc: "9.4 Gallery"}
- {id: 209, cat: Other, desc: "Gallery"}
- {id: 210, cat: Other, desc: "Gallery HD"}
- {id: 211, cat: Other, desc: "Photos 3D"}
- {id: 212, cat: Other, desc: "Wallpapers"}
- {id: 213, cat: Other, desc: "Screensavers"}
# - {id: 209, cat: , desc: ""}
# - {id: 210, cat: , desc: ""}
# - {id: 211, cat: , desc: ""}
# - {id: 212, cat: , desc: ""}
# - {id: 213, cat: , desc: ""}
# - {id: 127, cat: , desc: ""}
- {id: 127, cat: PC/Phone-Other, desc: "9.5 Mobile / Miscellaneous"}
- {id: 214, cat: PC/Phone-Other, desc: "Mobile"}
- {id: 215, cat: PC/Phone-Other, desc: "Miscellaneous"}
# - {id: 214, cat: , desc: ""}
# - {id: 215, cat: , desc: ""}
# - {id: 129, cat: , desc: ""}
- {id: 129, cat: Other, desc: "9.6 Blocked DREAM TEAM"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td:contains("remaining tries")
test:
path: browse.php
selector: a[href^="http://dream-team.ml/logout.php"]
download:
before:
path: "takethanks.php"
method: "post"
inputs:
torrentid: "{{ .DownloadUri.Query.id }}"
search:
path: browse.php
keywordsfilters:
# remove words <= 3 characters and surrounding special characters
- name: re_replace
args: ["(?:^|\\s)[_\\+\\/\\.\\-\\(\\)]*[\\S]{0,3}[_\\+\\/\\.\\-\\(\\)]*(?:\\s|$)", " "]
inputs:
do: "search"
keywords: "{{ .Keywords }}"
search_type: "t_name"
category: "0" # multi cat search not supported
include_dead_torrents: "yes"
rows:
selector: table#sortabletable > tbody > tr:has(a[href^="http://dream-team.ml/details.php?id="])
filters:
- name: andmatch
args: 66
fields:
download:
selector: a[href^="http://dream-team.ml/download.php?id="]
attribute: href
title:
selector: a[href^="http://dream-team.ml/details.php?id="]
title|optional:
selector: div.tooltip-content > div
details:
selector: a[href^="http://dream-team.ml/details.php?id="]
attribute: href
category:
selector: a[href^="http://dream-team.ml/browse.php?category="]
attribute: href
filters:
- name: querystring
args: category
banner|optional:
selector: div.tooltip-content > img
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:
img[alt^="Free Torrent "]: "0"
img[alt^="Silver Torrent "]: "0.5"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
date:
selector: "td:nth-child(2) > div:has(span[style=\"float: right;\"])"
remove: span
filters:
- name: append
args: " +00:00"
- name: dateparse
args: "02-01-2006 15:04 -07:00"

View File

@@ -1,178 +1,180 @@
---
site: eotforum
name: EoT-Forum
description: "A German gerneral tracker"
language: de-de
type: private
encoding: windows-1252
links:
- http://eot-forum.net
caps:
categories:
# Filme
14: Movies/SD # SD XviD
15: Movies/SD # SD x264
16: Movies/HD # HD
68: Movies/HD # UHD
17: Movies/3D # 3D
18: Movies/DVD # DVD-R
19: Movies # Pack
20: Movies # International
21: XXX # XXX
# Serien/TV
23: TV/SD # SD XviD
24: TV/SD # SD x264
25: TV/HD # HD
26: TV/SD # DVD-R
27: TV # Pack
28: TV # International
29: TV/Sport # Sport
# Dokus
31: TV/Documentary # SD XviD
32: TV/Documentary # SD x264
33: TV/Documentary # HD
34: TV/Documentary # 3D
35: TV/Documentary # Pack
67: TV/Documentary # DVD-R
36: TV/Documentary # International
# Audio
38: Audio # Charts
39: Audio/MP3 # MP3
40: Audio/Lossless # Flac
41: Audio # Pack
42: Audio/Video # MusikVideo
43: Audio/Audiobook # Hörbücher
# Spiele
45: PC/Games # Windows
46: PC/Mac # MacOS
47: Console/PS4 # Sony PS
48: Console/Xbox # Microsoft XBox
49: Console/NDS # Nintendo
50: PC/Games # Linux
51: Console # Andere
# Software
53: PC # Windows
54: PC/Mac # MacOS
55: PC # Linux
56: PC/Phone-Android # Android
57: PC/Phone-IOS # Apple IOS
58: PC/Phone-Other # Andere
# Sonstiges
60: Books # EBooks
61: Other # Bilder
62: TV/Anime # Anime
63: Other # MISC
64: XXX # XXX-Bilder/EBooks/Audio
# EOT-Specials
66: Other # Special
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
rememberme: "forever"
submit: "Login"
error:
- selector: td.lista[align="center"][colspan="2"] > span
test:
path: index.php
selector: img[alt="Ratio"]
ratio:
path: index.php
selector: img[alt="Ratio"] + font
search:
path: index.php
inputs:
page: "torrents"
search: "{{ .Query.Keywords }}"
options: "0"
active: "0"
gold: "0"
rows:
selector: table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="])
dateheaders:
selector: ":has(td.header > b)"
filters:
- name: replace
args: ["Torrents vom ", ""]
- name: replace
args: ["Januar", "January"]
- name: replace
args: ["Februar", "February"]
- name: replace
args: ["March", "März"]
- name: replace
args: ["Mai", "May"]
- name: replace
args: ["Juni", "June"]
- name: replace
args: ["Juli", "July"]
- name: replace
args: ["Oktober", "October"]
- name: replace
args: ["Dezember", "December"]
- name: dateparse
args: "02.January.2006"
fields:
download:
selector: a[href^="download.php?id="]
attribute: href
title:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: title
filters:
- name: replace
args: ["Details anzeigen: ", ""]
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-child(3)
grabs:
selector: td:nth-child(5) > font:nth-child(3)
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-child(5) > font:nth-child(1)
leechers:
selector: td:nth-child(5) > font:nth-child(2)
downloadvolumefactor:
case:
img[alt="gold"]: "0"
img[alt="silver"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
img[alt="2x Upload Multiplier"]: "2"
img[alt="3x Upload Multiplier"]: "3"
img[alt="4x Upload Multiplier"]: "4"
img[alt="5x Upload Multiplier"]: "5"
img[alt="6x Upload Multiplier"]: "6"
img[alt="7x Upload Multiplier"]: "7"
img[alt="8x Upload Multiplier"]: "8"
img[alt="9x Upload Multiplier"]: "9"
img[alt="10x Upload Multiplier"]: "10"
"*": "1"
---
site: eotforum
name: EoT-Forum
description: "A German gerneral tracker"
language: de-de
type: private
encoding: windows-1252
links:
- http://eot-forum.net
caps:
categorymappings:
# Filme
- {id: 14, cat: Movies/SD, desc: "SD XviD"}
- {id: 15, cat: Movies/SD, desc: "SD x264"}
- {id: 16, cat: Movies/HD, desc: "HD"}
- {id: 68, cat: Movies/HD, desc: "UHD"}
- {id: 17, cat: Movies/3D, desc: "3D"}
- {id: 18, cat: Movies/DVD, desc: "DVD-R"}
- {id: 19, cat: Movies, desc: "Pack"}
- {id: 20, cat: Movies, desc: "International"}
- {id: 21, cat: XXX, desc: "XXX"}
# Serien/TV
- {id: 23, cat: TV/SD, desc: "SD XviD"}
- {id: 24, cat: TV/SD, desc: "SD x264"}
- {id: 25, cat: TV/HD, desc: "HD"}
- {id: 26, cat: TV/SD, desc: "DVD-R"}
- {id: 27, cat: TV, desc: "Pack"}
- {id: 28, cat: TV, desc: "International"}
- {id: 29, cat: TV/Sport, desc: "Sport"}
# Dokus
- {id: 31, cat: TV/Documentary, desc: "SD XviD"}
- {id: 32, cat: TV/Documentary, desc: "SD x264"}
- {id: 33, cat: TV/Documentary, desc: "HD"}
- {id: 34, cat: TV/Documentary, desc: "3D"}
- {id: 35, cat: TV/Documentary, desc: "Pack"}
- {id: 67, cat: TV/Documentary, desc: "DVD-R"}
- {id: 36, cat: TV/Documentary, desc: "International"}
# Audio
- {id: 38, cat: Audio, desc: "Charts"}
- {id: 39, cat: Audio/MP3, desc: "MP3"}
- {id: 40, cat: Audio/Lossless, desc: "Flac"}
- {id: 41, cat: Audio, desc: "Pack"}
- {id: 42, cat: Audio/Video, desc: "MusikVideo"}
- {id: 43, cat: Audio/Audiobook, desc: "Hörbücher"}
# Spiele
- {id: 45, cat: PC/Games, desc: "Windows"}
- {id: 46, cat: PC/Mac, desc: "MacOS"}
- {id: 47, cat: Console/PS4, desc: "Sony PS"}
- {id: 48, cat: Console/Xbox , desc: "Microsoft XBox"}
- {id: 49, cat: Console/NDS, desc: "Nintendo"}
- {id: 50, cat: PC/Games, desc: "Linux"}
- {id: 51, cat: Console, desc: "Andere"}
# Software
- {id: 53, cat: PC, desc: "Windows"}
- {id: 54, cat: PC/Mac, desc: "MacOS"}
- {id: 55, cat: PC, desc: "Linux"}
- {id: 56, cat: PC/Phone-Android, desc: "Android"}
- {id: 57, cat: PC/Phone-IOS, desc: "Apple IOS"}
- {id: 58, cat: PC/Phone-Other, desc: "Andere"}
# Sonstiges
- {id: 60, cat: Books, desc: "EBooks"}
- {id: 61, cat: Other, desc: "Bilder"}
- {id: 62, cat: TV/Anime, desc: "Anime"}
- {id: 63, cat: Other, desc: "MISC"}
- {id: 64, cat: XXX, desc: "XXX-Bilder/EBooks/Audio"}
# EOT-Specials
- {id: 66, cat: Other, desc: "Special"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
rememberme: "forever"
submit: "Login"
error:
- selector: td.lista[align="center"][colspan="2"] > span
test:
path: index.php
selector: img[alt="Ratio"]
ratio:
path: index.php
selector: img[alt="Ratio"] + font
search:
path: index.php
inputs:
page: "torrents"
search: "{{ .Query.Keywords }}"
options: "0"
active: "0"
gold: "0"
rows:
selector: table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="])
dateheaders:
selector: ":has(td.header > b)"
filters:
- name: replace
args: ["Torrents vom ", ""]
- name: replace
args: ["Januar", "January"]
- name: replace
args: ["Februar", "February"]
- name: replace
args: ["März", "March"]
- name: replace
args: ["Mai", "May"]
- name: replace
args: ["Juni", "June"]
- name: replace
args: ["Juli", "July"]
- name: replace
args: ["Oktober", "October"]
- name: replace
args: ["Dezember", "December"]
- name: dateparse
args: "02.January.2006"
fields:
download:
selector: a[href^="download.php?id="]
attribute: href
title:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: title
filters:
- name: replace
args: ["Details anzeigen: ", ""]
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
comments:
selector: a[href*="#comments"]
attribute: href
size:
selector: td:nth-child(3)
grabs:
selector: td:nth-child(5)
filters:
- name: split
args: ["", 2]
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-child(5) > a:nth-child(1)
leechers:
selector: td:nth-child(5) > a:nth-child(2)
downloadvolumefactor:
case:
img[alt="gold"]: "0"
img[alt="silver"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
img[alt="2x Upload Multiplier"]: "2"
img[alt="3x Upload Multiplier"]: "3"
img[alt="4x Upload Multiplier"]: "4"
img[alt="5x Upload Multiplier"]: "5"
img[alt="6x Upload Multiplier"]: "6"
img[alt="7x Upload Multiplier"]: "7"
img[alt="8x Upload Multiplier"]: "8"
img[alt="9x Upload Multiplier"]: "9"
img[alt="10x Upload Multiplier"]: "10"
"*": "1"

View File

@@ -1,119 +1,119 @@
---
site: estone
name: eStone
language: hu-hu
type: private
encoding: UTF-8
links:
- http://estone.cc/
caps:
categories:
24: Movies/SD # Film/XviD/Hun
38: Movies/SD # Film/XviD/Eng
51: Movies/SD # Film/SD/Hun
52: Movies/SD # Film/SD/Eng
25: Movies/DVD # Film/DVD/Hun
26: Movies/DVD # Film/DVD/Eng
42: Movies/HD # Film/HD/Hun
50: Movies/HD # Film/HD/Eng
36: TV # Sorozat/Hun
47: TV # Sorozat/Eng
41: Audio/MP3 # Mp3/Hun
40: Audio/MP3 # Mp3/Eng
35: PC/0day # Program
28: PC/Games # Játék/ISO
30: PC/Games # Játék/Rip
32: Console # Konzol
34: PC/Phone-Other # Mobil
44: Books # Könyv/Hun
33: Books # Könyv/Eng
31: Other # Képek
39: XXX # XXX/Film
49: XXX/Imageset # XXX/Kép
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: login.php
method: post
inputs:
login_username: "{{ .Config.username }}"
login_password: "{{ .Config.password }}"
error:
- selector: script:contains("hiba(\"")
message:
selector: script:contains("hiba(\"")
filters:
- name: replace
args: ["hiba(\"", ""]
- name: replace
args: ["\");", ""]
test:
path: /letoltes.php
search:
path: /letoltes.php
method: get
inputs:
$raw: "{{range .Categories}}kat[]={{.}}&{{end}}"
kereses_nev: "{{ .Query.Keywords }}"
rows:
selector: body > div[id^="torrent_"]
fields:
title:
selector: a[title]
attribute: title
category:
selector: div#kategoria_torrent > a
attribute: href
filters:
- name: querystring
args: cat
details:
attribute: id
filters:
- name: replace
args: ["torrent_", "adatlap.php?id="]
download:
attribute: id
filters:
- name: replace
args: ["torrent_", "download.php?id="]
banner:
selector: img[onmouseover]
attribute: onmouseover
filters:
- name: regexp
args: borito\("(.*?) +?",
size:
selector: input[id^="meret_"]
attribute: value
grabs:
selector: div:nth-child(8) > div
seeders:
selector: div:nth-child(6) > div > a
leechers:
selector: div:nth-child(7) > div > a
date:
selector: div:nth-child(4)
filters:
- name: split
args: ["(", 0]
- name: append
args: "+01:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
downloadvolumefactor:
case:
img[src="pic/free.png"]: "0"
"*": "1"
uploadvolumefactor:
case:
img[src="pic/dupla_up.png"]: "2"
"*": "1"
description:
selector: div:nth-child(2)
remove: a
---
site: estone
name: eStone
language: hu-hu
type: private
encoding: UTF-8
links:
- http://estone.cc/
caps:
categorymappings:
- {id: 24, cat: Movies/SD, desc: "Film/XviD/Hun"}
- {id: 38, cat: Movies/SD, desc: "Film/XviD/Eng"}
- {id: 51, cat: Movies/SD, desc: "Film/SD/Hun"}
- {id: 52, cat: Movies/SD, desc: "Film/SD/Eng"}
- {id: 25, cat: Movies/DVD, desc: "Film/DVD/Hun"}
- {id: 26, cat: Movies/DVD, desc: "Film/DVD/Eng"}
- {id: 42, cat: Movies/HD, desc: "Film/HD/Hun"}
- {id: 50, cat: Movies/HD, desc: "Film/HD/Eng"}
- {id: 36, cat: TV, desc: "Sorozat/Hun"}
- {id: 47, cat: TV, desc: "Sorozat/Eng"}
- {id: 41, cat: Audio/MP3, desc: "Mp3/Hun"}
- {id: 40, cat: Audio/MP3, desc: "Mp3/Eng"}
- {id: 35, cat: PC/0day, desc: "Program"}
- {id: 28, cat: PC/Games, desc: "Játék/ISO"}
- {id: 30, cat: PC/Games, desc: "Játék/Rip"}
- {id: 32, cat: Console, desc: "Konzol"}
- {id: 34, cat: PC/Phone-Other, desc: "Mobil"}
- {id: 44, cat: Books, desc: "Könyv/Hun"}
- {id: 33, cat: Books, desc: "Könyv/Eng"}
- {id: 31, cat: Other, desc: "Képek"}
- {id: 39, cat: XXX, desc: "XXX/Film"}
- {id: 49, cat: XXX/Imageset, desc: "XXX/Kép"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: login.php
method: post
inputs:
login_username: "{{ .Config.username }}"
login_password: "{{ .Config.password }}"
error:
- selector: script:contains("hiba(\"")
message:
selector: script:contains("hiba(\"")
filters:
- name: replace
args: ["hiba(\"", ""]
- name: replace
args: ["\");", ""]
test:
path: /letoltes.php
search:
path: /letoltes.php
method: get
inputs:
$raw: "{{range .Categories}}kat[]={{.}}&{{end}}"
kereses_nev: "{{ .Query.Keywords }}"
rows:
selector: body > div[id^="torrent_"]
fields:
title:
selector: a[title]
attribute: title
category:
selector: div#kategoria_torrent > a
attribute: href
filters:
- name: querystring
args: cat
details:
attribute: id
filters:
- name: replace
args: ["torrent_", "adatlap.php?id="]
download:
attribute: id
filters:
- name: replace
args: ["torrent_", "download.php?id="]
banner:
selector: img[onmouseover]
attribute: onmouseover
filters:
- name: regexp
args: borito\("(.*?) +?",
size:
selector: input[id^="meret_"]
attribute: value
grabs:
selector: div:nth-child(8) > div
seeders:
selector: div:nth-child(6) > div > a
leechers:
selector: div:nth-child(7) > div > a
date:
selector: div:nth-child(4)
filters:
- name: split
args: ["(", 0]
- name: append
args: "+01:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
downloadvolumefactor:
case:
img[src="pic/free.png"]: "0"
"*": "1"
uploadvolumefactor:
case:
img[src="pic/dupla_up.png"]: "2"
"*": "1"
description:
selector: div:nth-child(2)
remove: a

View File

@@ -1,119 +1,119 @@
---
site: ethor
name: Ethor.net (Thor's Land)
description: "A French gerneral tracker"
language: fr-fr
type: private
encoding: UTF-8
links:
- https://ethor.net/
caps:
categories:
22: PC # Applications/Divers
1: PC # Applications/PC ISO
44: PC # Applications/Portable
47: Movies/BluRay # Films/Bluray
20: Movies/DVD # Films/DVDr
42: Movies/HD # Films/HD Rip
19: Movies/SD # Films/SD Rip
5: Movies/SD # Films/VCD
4: PC/Games # Jeux/PC
41: Console # Jeux/Portable
34: Console/PS4 # Jeux/PS2-PS3
38: Console/Wii # Jeux/Wii-GC
40: Console/Xbox # Jeux/Xbox360
6: Audio # Musique
37: Audio/Video # Musique/Video
48: TV/HD # Série-Télé/Bluray
45: TV/SD # Série-Télé/DVDr
43: TV/HD # Série-Télé/HD Rip
7: TV/SD # Série-Télé/SD Rip
23: Books # E-Books
46: Other # Évé. sportif
36: Other # Kidz
25: Other # Misc
9: XXX # XXX
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q, imdbid]
login:
path: login3.php
method: form
form: form[action="login3.php?takelogin=1"]
captcha:
type: image
image: img#validationimage
input: validationcode
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
secure_cookie: "0"
test:
path: browse.php
ratio:
path: browse.php
selector: span#ratioRatio
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Query.Keywords }}{{end}}"
advcat: "0"
incldead: "1"
stype: "b"
dp: "0"
isUserClick: "0"
rows:
selector: p + table > tbody > tr:has(a[href^="/details.php"])
fields:
download:
selector: a[href^="/details.php"]:has(b)
attribute: href
filters:
- name: replace
args: ["/details.php", "/download.php"]
title:
selector: a[href^="/details.php"]:has(b)
category:
selector: a[href^="/browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
comments:
selector: a[href^="/details.php"]:has(b)
attribute: href
files:
selector: a[href*="#filelist"]
size:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(7)
filters:
- name: regexp
args: "(\\d+)"
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
date:
selector: td:nth-child(5)
filters:
- name: append
args: " -05:00" # timezone offset
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
downloadvolumefactor:
case:
"img[title^=\"Freeleech: \"]": "0"
"img[title^=\"Half Freeleech: \"]": "0.5"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
---
site: ethor
name: Ethor.net (Thor's Land)
description: "A French gerneral tracker"
language: fr-fr
type: private
encoding: UTF-8
links:
- https://ethor.net/
caps:
categorymappings:
- {id: 22, cat: PC, desc: "Applications/Divers"}
- {id: 1, cat: PC, desc: "Applications/PC ISO"}
- {id: 44, cat: PC, desc: "Applications/Portable"}
- {id: 47, cat: Movies/BluRay, desc: "Films/Bluray"}
- {id: 20, cat: Movies/DVD, desc: "Films/DVDr"}
- {id: 42, cat: Movies/HD, desc: "Films/HD Rip"}
- {id: 19, cat: Movies/SD, desc: "Films/SD Rip"}
- {id: 5, cat: Movies/SD, desc: "Films/VCD"}
- {id: 4, cat: PC/Games, desc: "Jeux/PC"}
- {id: 41, cat: Console, desc: "Jeux/Portable"}
- {id: 34, cat: Console/PS4, desc: "Jeux/PS2-PS3"}
- {id: 38, cat: Console/Wii, desc: "Jeux/Wii-GC"}
- {id: 40, cat: Console/Xbox, desc: "Jeux/Xbox360"}
- {id: 6, cat: Audio, desc: "Musique"}
- {id: 37, cat: Audio/Video, desc: "Musique/Video"}
- {id: 48, cat: TV/HD, desc: "Série-Télé/Bluray"}
- {id: 45, cat: TV/SD, desc: "Série-Télé/DVDr"}
- {id: 43, cat: TV/HD, desc: "Série-Télé/HD Rip"}
- {id: 7, cat: TV/SD, desc: "Série-Télé/SD Rip"}
- {id: 23, cat: Books, desc: "E-Books"}
- {id: 46, cat: Other, desc: "Évé. sportif"}
- {id: 36, cat: Other, desc: "Kidz"}
- {id: 25, cat: Other, desc: "Misc"}
- {id: 9, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q, imdbid]
login:
path: login3.php
method: form
form: form[action="login3.php?takelogin=1"]
captcha:
type: image
image: img#validationimage
input: validationcode
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
secure_cookie: "0"
test:
path: browse.php
ratio:
path: browse.php
selector: span#ratioRatio
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Query.Keywords }}{{end}}"
advcat: "0"
incldead: "1"
stype: "b"
dp: "0"
isUserClick: "0"
rows:
selector: p + table > tbody > tr:has(a[href^="/details.php"])
fields:
download:
selector: a[href^="/details.php"]:has(b)
attribute: href
filters:
- name: replace
args: ["/details.php", "/download.php"]
title:
selector: a[href^="/details.php"]:has(b)
category:
selector: a[href^="/browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
comments:
selector: a[href^="/details.php"]:has(b)
attribute: href
files:
selector: a[href*="#filelist"]
size:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(7)
filters:
- name: regexp
args: "(\\d+)"
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
date:
selector: td:nth-child(5)
filters:
- name: append
args: " -05:00" # timezone offset
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
downloadvolumefactor:
case:
"img[title^=\"Freeleech: \"]": "0"
"img[title^=\"Half Freeleech: \"]": "0.5"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -17,7 +17,10 @@
settings: []
search:
path: "{{if .Query.Keywords}}search/{{ .Query.Keywords}}{{else}}/{{end}}"
path: "{{if .Keywords}}search/{{ .Keywords}}{{else}}/{{end}}"
keywordsfilters:
- name: re_replace
args: ["S[0-9]{2}([^E]|$)", ""] # remove season tag without episode (search doesn't support it)
rows:
selector: "table.forum_header_border tr[name='hover'].forum_header_border"
filters:

View File

@@ -8,46 +8,46 @@
- https://www.fano.in
caps:
categories:
20: Movies/SD # Movies/SD
6: TV/SD # TV/SD
7: PC/Games # Games/PC ISO
5: Audio # Music
47: Movies # Packs/Movies
44: Audio/Audiobook # A-Books
27: TV/Anime # Anime
17: Movies/Foreign # Movies/Rus
33: TV/Foreign # TV/Rus
12: PC/Games # Games/PC Rips
31: Audio/Lossless # Music/HQ
49: TV # Packs/TV
41: Books # E-Books
29: Books # Cartoons
24: Movies/Foreign # Movies/Lat
25: TV/Foreign # TV/Lat
34: Console/Xbox # Games/Xbox
19: Audio/Video # Music Videos
46: Console # Packs/Games
42: Other # Study
52: Movies/3D # 3D
37: Movies/HD # Movies/HD
35: TV/HD # TV/HD
43: Console/PS4 # Games/PS
38: PC/Phone-Other # Mobile
48: Audio # Packs/Music
36: Other # X-mas
53: Movies/SD # Movies/CAM
4: Movies/DVD # Movies/DVD-R
32: TV # TV/Facts
40: Console/Wii # Games/Wii
22: PC/0day # Appz/misc
50: XXX/Packs # Packs/XXX
9: XXX # XXX
45: XXX # XXX/HD
54: Movies # Movies/Retro
23: TV/Sport # TV/Sport
51: Console # Games/Misc
1: PC/0day # Appz/PC ISO
categorymappings:
- {id: 20, cat: Movies/SD, desc: "Movies/SD"}
- {id: 6, cat: TV/SD, desc: "TV/SD"}
- {id: 7, cat: PC/Games, desc: "Games/PC ISO"}
- {id: 5, cat: Audio, desc: "Music"}
- {id: 47, cat: Movies, desc: "Packs/Movies"}
- {id: 44, cat: Audio/Audiobook, desc: "A-Books"}
- {id: 27, cat: TV/Anime, desc: "Anime"}
- {id: 17, cat: Movies/Foreign, desc: "Movies/Rus"}
- {id: 33, cat: TV/Foreign, desc: "TV/Rus"}
- {id: 12, cat: PC/Games, desc: "Games/PC Rips"}
- {id: 31, cat: Audio/Lossless, desc: "Music/HQ"}
- {id: 49, cat: TV, desc: "Packs/TV"}
- {id: 41, cat: Books, desc: "E-Books"}
- {id: 29, cat: Books, desc: "Cartoons"}
- {id: 24, cat: Movies/Foreign, desc: "Movies/Lat"}
- {id: 25, cat: TV/Foreign, desc: "TV/Lat"}
- {id: 34, cat: Console/Xbox, desc: "Games/Xbox"}
- {id: 19, cat: Audio/Video, desc: "Music Videos"}
- {id: 46, cat: Console, desc: "Packs/Games"}
- {id: 42, cat: Other, desc: "Study"}
- {id: 52, cat: Movies/3D, desc: "3D"}
- {id: 37, cat: Movies/HD, desc: "Movies/HD"}
- {id: 35, cat: TV/HD, desc: "TV/HD"}
- {id: 43, cat: Console/PS4, desc: "Games/PS"}
- {id: 38, cat: PC/Phone-Other, desc: "Mobile"}
- {id: 48, cat: Audio, desc: "Packs/Music"}
- {id: 36, cat: Other, desc: "X-mas"}
- {id: 53, cat: Movies/SD, desc: "Movies/CAM"}
- {id: 4, cat: Movies/DVD, desc: "Movies/DVD-R"}
- {id: 32, cat: TV, desc: "TV/Facts"}
- {id: 40, cat: Console/Wii, desc: "Games/Wii"}
- {id: 22, cat: PC/0day, desc: "Appz/misc"}
- {id: 50, cat: XXX/Packs, desc: "Packs/XXX"}
- {id: 9, cat: XXX, desc: "XXX"}
- {id: 45, cat: XXX, desc: "XXX/HD"}
- {id: 54, cat: Movies, desc: "Movies/Retro"}
- {id: 23, cat: TV/Sport, desc: "TV/Sport"}
- {id: 51, cat: Console, desc: "Games/Misc"}
- {id: 1, cat: PC/0day, desc: "Appz/PC ISO"}
modes:
search: [q]

View File

@@ -1,130 +1,130 @@
---
site: freedomhd
name: Freedom-HD
language: fr-fr
type: private
encoding: UTF-8
links:
- http://freedom-paradise.eu/
caps:
categories:
# ANIMES
105: TV/Anime # 1080p
104: TV/Anime # 720p
90: TV/Anime # HDRIP-720p
93: TV/Anime # HDRIP1080p
131: TV/Anime # SD
120: TV/Anime # X265-1080p
119: TV/Anime # X265-720p
107: TV/Anime # 1080p
106: TV/Anime # 720p
94: TV/Anime # HDRIP1080p
91: TV/Anime # HDRIP720p
# EBOOK
124: Books # Livres et Magazines
# FILMS
97: Movies/HD # 1080p
103: Movies/3D # 3D
111: Movies/HD # 4K
96: Movies/HD # 720p
127: Movies/HD # BDrip
128: Movies/HD # BRrip
126: Movies/SD # DVDrip
89: Movies/HD # HDRIP-720p
92: Movies/HD # HDRIP1080p
112: Movies/SD # Team-Hush
129: Movies/HD # Team-Romkent
125: Movies/Other # WEBrip
110: Movies/HD # X265-1080p
109: Movies/HD # X265-720p
# MUSIQUES
114: Audio/Lossless # Flac
113: Audio/MP3 # MP3
132: Audio # Musiques-HQ
130: Audio/Video # video clip
# SERIE-sd
121: TV/SD # SD
# SERIES-HD
102: TV/HD # 1080p
101: TV/HD # 720p
100: TV/HD # HDrip1080p
99: TV/HD # HDrip720p
# SPECTACLES
118: TV/Sport # HDRIP1080p
117: TV/Sport # HDRIP720p
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: "yes"
returnto: "/"
error:
- selector: div.myFrame:has(font.error)
test:
path: torrents-search.php
search:
path: torrents-search.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
filters:
- name: andmatch
after: 1
fields:
download:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["torrents-details.php", "download.php"]
title:
selector: a[href^="torrents-details.php?id="]
attribute: title
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
description:
selector: ul
banner:
selector: img.rounded-img
attribute: src
size:
selector: td:nth-child(3)
grabs:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(4)
leechers:
selector: td:nth-child(5)
downloadvolumefactor:
case:
img[alt="freeleech"]: "0"
"*": "1"
uploadvolumefactor:
case:
---
site: freedomhd
name: Freedom-HD
language: fr-fr
type: private
encoding: UTF-8
links:
- http://freedom-paradise.eu/
caps:
categorymappings:
# ANIMES
- {id: 105, cat: TV/Anime, desc: "1080p"}
- {id: 104, cat: TV/Anime, desc: "720p"}
- {id: 90, cat: TV/Anime, desc: "HDRIP-720p"}
- {id: 93, cat: TV/Anime, desc: "HDRIP1080p"}
- {id: 131, cat: TV/Anime, desc: "SD"}
- {id: 120, cat: TV/Anime, desc: "X265-1080p"}
- {id: 119, cat: TV/Anime, desc: "X265-720p"}
- {id: 107, cat: TV/Anime, desc: "1080p"}
- {id: 106, cat: TV/Anime, desc: "720p"}
- {id: 94, cat: TV/Anime, desc: "HDRIP1080p"}
- {id: 91, cat: TV/Anime, desc: "HDRIP720p"}
# EBOOK
- {id: 124, cat: Books, desc: "Livres et Magazines"}
# FILMS
- {id: 97, cat: Movies/HD, desc: "1080p"}
- {id: 103, cat: Movies/3D, desc: "3D"}
- {id: 111, cat: Movies/HD, desc: "4K"}
- {id: 96, cat: Movies/HD, desc: "720p"}
- {id: 127, cat: Movies/HD, desc: "BDrip"}
- {id: 128, cat: Movies/HD, desc: "BRrip"}
- {id: 126, cat: Movies/SD, desc: "DVDrip"}
- {id: 89, cat: Movies/HD, desc: "HDRIP-720p"}
- {id: 92, cat: Movies/HD, desc: "HDRIP1080p"}
- {id: 112, cat: Movies/SD, desc: "Team-Hush"}
- {id: 129, cat: Movies/HD, desc: "Team-Romkent"}
- {id: 125, cat: Movies/Other, desc: "WEBrip"}
- {id: 110, cat: Movies/HD, desc: "X265-1080p"}
- {id: 109, cat: Movies/HD, desc: "X265-720p"}
# MUSIQUES
- {id: 114, cat: Audio/Lossless, desc: "Flac"}
- {id: 113, cat: Audio/MP3, desc: "MP3"}
- {id: 132, cat: Audio, desc: "Musiques-HQ"}
- {id: 130, cat: Audio/Video, desc: "video clip"}
# SERIE-sd
- {id: 121, cat: TV/SD, desc: "SD"}
# SERIES-HD
- {id: 102, cat: TV/HD, desc: "1080p"}
- {id: 101, cat: TV/HD, desc: "720p"}
- {id: 100, cat: TV/HD, desc: "HDrip1080p"}
- {id: 99, cat: TV/HD, desc: "HDrip720p"}
# SPECTACLES
- {id: 118, cat: TV/Sport, desc: "HDRIP1080p"}
- {id: 117, cat: TV/Sport, desc: "HDRIP720p"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: "yes"
returnto: "/"
error:
- selector: div.myFrame:has(font.error)
test:
path: torrents-search.php
search:
path: torrents-search.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
filters:
- name: andmatch
after: 1
fields:
download:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["torrents-details.php", "download.php"]
title:
selector: a[href^="torrents-details.php?id="]
attribute: title
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
description:
selector: ul
banner:
selector: img.rounded-img
attribute: src
size:
selector: td:nth-child(3)
grabs:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(4)
leechers:
selector: td:nth-child(5)
downloadvolumefactor:
case:
img[alt="freeleech"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -1,80 +1,80 @@
---
site: gfxpeers
name: GFXPeers
language: en-us
type: private
encoding: UTF-8
links:
- https://gfxpeers.net/
caps:
categories:
1: PC/0day # Applications
2: PC/0day # Plug-ins
3: Other # Tutorials
4: Other # Textures
5: Other # 3D Models
6: Other # Game-Dev
7: Other # Miscellaneous
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: "1"
error:
- selector: .auth_form > .warning
test:
path: /torrents.php
search:
path: /torrents.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Query.Keywords }}"
order_by: "time"
order_way: "desc"
action: "advanced"
searchsubmit: "1"
rows:
selector: table#torrent_table > tbody > tr.torrent
fields:
download:
selector: a[href^="torrents.php?action=download&id="]
attribute: href
title:
selector: a[href^="torrents.php?id="]
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"
category:
selector: a[href^="torrents.php?filter_cat"]
attribute: href
filters:
- name: regexp
args: "\\[(\\d+?)\\]"
details:
selector: a[href^="torrents.php?id="]
attribute: href
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
files:
selector: td:nth-child(3)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
date:
selector: td:nth-child(4)
---
site: gfxpeers
name: GFXPeers
language: en-us
type: private
encoding: UTF-8
links:
- https://gfxpeers.net/
caps:
categorymappings:
- {id: 1, cat: PC/0day, desc: "Applications"}
- {id: 2, cat: PC/0day, desc: "Plug-ins"}
- {id: 3, cat: Other, desc: "Tutorials"}
- {id: 4, cat: Other, desc: "Textures"}
- {id: 5, cat: Other, desc: "3D Models"}
- {id: 6, cat: Other, desc: "Game-Dev"}
- {id: 7, cat: Other, desc: "Miscellaneous"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: "1"
error:
- selector: .auth_form > .warning
test:
path: /torrents.php
search:
path: /torrents.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Query.Keywords }}"
order_by: "time"
order_way: "desc"
action: "advanced"
searchsubmit: "1"
rows:
selector: table#torrent_table > tbody > tr.torrent
fields:
download:
selector: a[href^="torrents.php?action=download&id="]
attribute: href
title:
selector: a[href^="torrents.php?id="]
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"
category:
selector: a[href^="torrents.php?filter_cat"]
attribute: href
filters:
- name: regexp
args: "\\[(\\d+?)\\]"
details:
selector: a[href^="torrents.php?id="]
attribute: href
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
files:
selector: td:nth-child(3)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
date:
selector: td:nth-child(4)

View File

@@ -0,0 +1,141 @@
---
site: gigatorrents
name: GigaTorrents
language: hu-hu
type: private
encoding: UTF-8
links:
- https://gigatorrents.ws/
caps:
categorymappings:
- {id: 81, cat: TV/SD, desc: "Sorozat/SD-x264/Hun"}
- {id: 62, cat: Movies/BluRay, desc: "Bluray Disc"}
- {id: 80, cat: Movies/SD, desc: "CAM/Eng"}
- {id: 79, cat: Movies/SD, desc: "CAM/Hun"}
- {id: 71, cat: Movies/DVD, desc: "DVD 9"}
- {id: 67, cat: Movies/DVD, desc: "DVD 9 Hun"}
- {id: 74, cat: Movies/HD, desc: "Film HD/Eng"}
- {id: 75, cat: Movies/HD, desc: "Film HD/Hun"}
- {id: 73, cat: Movies/SD, desc: "Film x264/Eng"}
- {id: 72, cat: Movies/SD, desc: "Film x264/Hun"}
- {id: 19, cat: Movies/SD, desc: "Film Xvid/Eng"}
- {id: 37, cat: Movies/SD, desc: "Film Xvid/Hun"}
- {id: 20, cat: Movies/DVD, desc: "Film/DVD-R"}
- {id: 45, cat: Movies/DVD, desc: "Film/DVD-R Hun"}
- {id: 47, cat: PC/Games, desc: "Játékok/ISO"}
- {id: 64, cat: PC/Games, desc: "Játékok/Rip"}
- {id: 48, cat: Other, desc: "Képek"}
- {id: 49, cat: XXX, desc: "Képek XXX"}
- {id: 51, cat: Other, desc: "Klip"}
- {id: 39, cat: Books, desc: "Könyvek/Eng"}
- {id: 52, cat: Books, desc: "Könyvek/Hun"}
- {id: 33, cat: Console, desc: "Konzol"}
- {id: 1, cat: Audio/Lossless, desc: "Lossless"}
- {id: 55, cat: PC/Phone-Other, desc: "Mobil/PDA"}
- {id: 77, cat: PC/ISO, desc: "PC/ISO"}
- {id: 78, cat: PC/0day, desc: "PC/Rip"}
- {id: 85, cat: TV/HD, desc: "Sorozat HD/Eng"}
- {id: 84, cat: TV/HD, desc: "Sorozat HD/Hun"}
- {id: 8, cat: TV/SD, desc: "Sorozat/SD-x264/Eng"}
- {id: 83, cat: TV/SD, desc: "Sorozat/SD-Xvid/Eng"}
- {id: 7, cat: TV/SD, desc: "Sorozat/SD-Xvid/Hun"}
- {id: 46, cat: XXX, desc: "XXX"}
- {id: 42, cat: Audio, desc: "Zene/Eng"}
- {id: 53, cat: Audio, desc: "Zene/Hun"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: /login.php
method: form
form: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.box:has(div.title:contains("bejelentkez"))
test:
path: /torrentek.php
search:
path: /torrentek.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: "1"
blah: "0"
rows:
selector: table#torrenttable > tbody > tr:has()
fields:
download:
selector: a[href^="/details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php?id="]
title:
selector: a[href^="/details.php?id="]
details:
selector: a[href^="/details.php?id="]
attribute: href
imdb:
selector: a[href^="http://anonym.to/?http://imdb.com/title/"]
optional: true
attribute: href
banner:
selector: img.imdb-info
optional: true
attribute: data-url
category:
selector: a[href^="/torrentek.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
seeders:
selector: td:nth-child(8)
filters:
- name: split
args: ["/", 0]
leechers:
selector: td:nth-child(8)
filters:
- name: split
args: ["/", 1]
grabs:
selector: td:nth-child(7)
filters:
- name: regexp
args: ([\d,]+)
files:
selector: td:nth-child(4)
downloadvolumefactor:
text: "1"
downloadvolumefactor:
selector: td:nth-child(6) > span:nth-last-child(2)
optional: true
filters:
- name: trim
args: "x"
uploadvolumefactor:
text: "1"
uploadvolumefactor:
selector: td:nth-child(6) > span:nth-last-child(1)
optional: true
filters:
- name: trim
args: "x"
date:
selector: td:nth-child(2)
remove: a
filters:
- name: regexp
args: "Feltöltve:\\s*([\\d-]+\\s*[\\d:]+)"
size:
selector: td:nth-child(6)
remove: span

View File

@@ -1,162 +1,162 @@
---
site: gods
name: GODS
language: de-de
type: private
encoding: windows-1252
links:
- https://gods.lu/
caps:
categories:
# Movie
132: Movies/BluRay # BluRay
146: Movies/HD # Remux
186: Movies/HD # UHD
189: Movies/HD # HD
190: Movies/SD # SD
20: Movies/DVD # DVD
131: Movies/3D # 3D
16: Movies # Packs
# Serien
187: TV/HD # Staffeln UHD
173: TV/HD # Staffeln HD
133: TV/SD # Staffeln SD
188: TV/HD # Folgen UHD
174: TV/HD # Folgen HD
7: TV/SD # Folgen SD
# Doku
152: TV/Documentary # HD
153: TV/Documentary # SD
# Spiele
4: PC/Games # Windows
29: Console/XBox360 # XBOX 360
126: Console/Wii # Wii
183: Console/Wii # Wii U
128: Console/PS3 # PS3
154: Console/Other # Andere
# Musik
6: Audio # Alben
139: Audio/Lossless # Lossless
177: Audio # Singles
157: Audio # Charts
192: Audio # Packs
161: Audio/Video # Video
22: PC/0day # Windows
129: PC/Mac # Mac OS
164: PC/0day # Linux
124: PC/Phone-Android # Android
165: PC/Phone-IOS # Apple iOS
167: PC/Phone-Other # Andere
# Sport
130: TV/Sport # HD
135: TV/Sport # SD
# International
170: Movies/Foreign # Filme HD
134: Movies/Foreign # Filme SD
171: TV/Foreign # Folgen HD
172: TV/Foreign # Folgen SD
# Sonstiges
28: TV/Anime # Anime
13: Books # e-Book
11: Audio/Audiobook # Hören
136: Other # Bilder
9: Other # Tutorial
178: Other # Anderes
modes:
search: [q]
tv-search: [q, season, ep]
settings:
- name: pin
type: text
label: Pin
- name: username
type: text
label: Username
- name: password
type: password
label: Password
login:
path: /login/
method: form
form: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
pin: "{{ .Config.pin }}"
test:
path: browse.php
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
intitle: "1"
incldead: "1"
team: "0"
orderby: "added"
sort: desc
rows:
selector: table.tableinborder > tbody > tr:has(a[href^="details.php"])
fields:
title:
selector: a[href^="details.php"]
banner:
selector: a[href^="details.php"] > span > img
attribute: src
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php"]
attribute: href
comments:
selector: a[href*="&tocomm="]
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
files:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(2)
grabs:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(3) > b:nth-child(1)
size:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(1)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
seeders:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(3) > b:nth-child(1)
leechers:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(3) > b:nth-child(3)
date:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(6)
filters:
- name: replace
args: ["\xA0", " "]
- name: dateparse
args: "02.01.2006 15:04:05"
downloadvolumefactor:
case:
img[alt="onlyupload"]: "0"
"*": "1"
uploadvolumefactor:
case:
---
site: gods
name: GODS
language: de-de
type: private
encoding: windows-1252
links:
- https://gods.lu/
caps:
categorymappings:
# Movie
- {id: 132, cat: Movies/BluRay, desc: "BluRay"}
- {id: 146, cat: Movies/HD, desc: "Remux"}
- {id: 186, cat: Movies/HD, desc: "UHD"}
- {id: 189, cat: Movies/HD, desc: "HD"}
- {id: 190, cat: Movies/SD, desc: "SD"}
- {id: 20, cat: Movies/DVD, desc: "DVD"}
- {id: 131, cat: Movies/3D, desc: "3D"}
- {id: 16, cat: Movies, desc: "Packs"}
# Serien
- {id: 187, cat: TV/HD, desc: "Staffeln UHD"}
- {id: 173, cat: TV/HD, desc: "Staffeln HD"}
- {id: 133, cat: TV/SD, desc: "Staffeln SD"}
- {id: 188, cat: TV/HD, desc: "Folgen UHD"}
- {id: 174, cat: TV/HD, desc: "Folgen HD"}
- {id: 7, cat: TV/SD, desc: "Folgen SD"}
# Doku
- {id: 152, cat: TV/Documentary, desc: "HD"}
- {id: 153, cat: TV/Documentary, desc: "SD"}
# Spiele
- {id: 4, cat: PC/Games, desc: "Windows"}
- {id: 29, cat: Console/XBox360, desc: "XBOX 360"}
- {id: 126, cat: Console/Wii, desc: "Wii"}
- {id: 183, cat: Console/Wii, desc: "Wii U"}
- {id: 128, cat: Console/PS3, desc: "PS3"}
- {id: 154, cat: Console/Other, desc: "Andere"}
# Musik
- {id: 6, cat: Audio, desc: "Alben"}
- {id: 139, cat: Audio/Lossless, desc: "Lossless"}
- {id: 177, cat: Audio, desc: "Singles"}
- {id: 157, cat: Audio, desc: "Charts"}
- {id: 192, cat: Audio, desc: "Packs"}
- {id: 161, cat: Audio/Video, desc: "Video"}
- {id: 22, cat: PC/0day, desc: "Windows"}
- {id: 129, cat: PC/Mac, desc: "Mac OS"}
- {id: 164, cat: PC/0day, desc: "Linux"}
- {id: 124, cat: PC/Phone-Android, desc: "Android"}
- {id: 165, cat: PC/Phone-IOS, desc: "Apple iOS"}
- {id: 167, cat: PC/Phone-Other, desc: "Andere"}
# Sport
- {id: 130, cat: TV/Sport, desc: "HD"}
- {id: 135, cat: TV/Sport, desc: "SD"}
# International
- {id: 170, cat: Movies/Foreign, desc: "Filme HD"}
- {id: 134, cat: Movies/Foreign, desc: "Filme SD"}
- {id: 171, cat: TV/Foreign, desc: "Folgen HD"}
- {id: 172, cat: TV/Foreign, desc: "Folgen SD"}
# Sonstiges
- {id: 28, cat: TV/Anime, desc: "Anime"}
- {id: 13, cat: Books, desc: "e-Book"}
- {id: 11, cat: Audio/Audiobook, desc: "Hören"}
- {id: 136, cat: Other, desc: "Bilder"}
- {id: 9, cat: Other, desc: "Tutorial"}
- {id: 178, cat: Other, desc: "Anderes"}
modes:
search: [q]
tv-search: [q, season, ep]
settings:
- name: pin
type: text
label: Pin
- name: username
type: text
label: Username
- name: password
type: password
label: Password
login:
path: /login/
method: form
form: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
pin: "{{ .Config.pin }}"
test:
path: browse.php
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
intitle: "1"
incldead: "1"
team: "0"
orderby: "added"
sort: desc
rows:
selector: table.tableinborder > tbody > tr:has(a[href^="details.php"])
fields:
title:
selector: a[href^="details.php"]
banner:
selector: a[href^="details.php"] > span > img
attribute: src
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php"]
attribute: href
comments:
selector: a[href*="&tocomm="]
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
files:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(2)
grabs:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(3) > b:nth-child(1)
size:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(1)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
seeders:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(3) > b:nth-child(1)
leechers:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(3) > b:nth-child(3)
date:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(6)
filters:
- name: replace
args: ["\xA0", " "]
- name: dateparse
args: "02.01.2006 15:04:05"
downloadvolumefactor:
case:
img[alt="onlyupload"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -1,193 +1,193 @@
---
site: gormogon
name: Gormogon
language: en-us
type: private
encoding: UTF-8
links:
- http://www.gormogon.com
caps:
categories:
# Movies:
1: Movies/DVD # DVD-R
2: Movies # Action
14: Movies # Adventure
15: Movies # Animation
16: Movies # Biography
17: Movies # Comedy
18: Movies # Crime
19: Movies # Disney
92: Movies # Documentary
20: Movies # Drama
21: Movies # Family
22: Movies # Fantasy
23: Movies # Film Noir
97: Movies # History
24: Movies # Horror
25: Movies # Martial Arts
26: Movies # Musicals
27: Movies # Mystery
28: Movies # Romance
29: Movies # Sci-Fi
30: Movies # Thriller
31: Movies # War
32: Movies # Western
33: Movies # Other
# Classic TV:
34: TV # Action
35: TV # Adventure
36: TV # Animation
37: TV # Biography
38: TV # Comedy
39: TV # Crime
40: TV # Disney
41: TV # Documentary
42: TV # Drama
43: TV # Family
44: TV # Fantasy
45: TV # TV Noir
46: TV # Horror
47: TV # Martial Arts
49: TV # Musicals
50: TV # Mystery
51: TV # Romance
52: TV # Sci-Fi
48: TV # Shows
53: TV # Thriller
54: TV # War
55: TV # Western
56: TV # Other
90: TV # TV Movies
# Old Time Radio
57: Audio # Action
58: Audio # Adventure
59: Audio # Biography
60: Audio # Comedy
61: Audio # Crime
62: Audio # Documentary
63: Audio # Drama
64: Audio # Family
65: Audio # Fantasy
66: Audio # Radio Noir
67: Audio # Horror
68: Audio # Musicals
69: Audio # Mystery
70: Audio # Romance
71: Audio # Sci-Fi
72: Audio # Shows
73: Audio # Thriller
74: Audio # War
75: Audio # Western
76: Audio # Other
# Music:
77: Audio # Official Sountracks
78: Audio # Theme Tunes
79: Audio # Music 30s
80: Audio # Music 40s
81: Audio # Music 50s
85: Audio # Music 60s
86: Audio # Music 70s
87: Audio # Music '80 - '84
# Printed:
82: Books # Books
91: Books # Newspaper
83: Books # Scripts
84: Books # Posters
88: Books # Comics
89: Books # Magazines
# Software:
94: Other # Screensavers
95: PC # Programs
96: Other # Other
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: index.php?page=login&returnto=index.php
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: td.lista > span[style="color:#FF0000;"]
test:
path: index.php
selector: form[name="jump1"]
ratio:
path: index.php
selector: form[name="jump1"] > table > tbody > tr > td:contains("SR ")
filters:
- name: trim
args: ")"
- name: split
args: [" ", 1]
download:
selector: a[href^="download.php?id="]
search:
path: index.php
inputs:
search: "{{ .Query.Keywords }}"
category: "{{range .Categories}}{{.}};{{end}}"
page: torrents
active: 0
rows:
selector: table.lista > tbody > tr:has(a[href^="index.php?page=torrents&category="])
fields:
download:
selector: a[href^="index.php?page=downloadcheck&id="]
attribute: href
title:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
details:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: href
size:
selector: td:nth-child(10)
date:
selector: td:nth-child(5)
filters:
- name: dateparse
args: "02/01/2006"
grabs:
selector: td:nth-child(8)
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
downloadvolumefactor:
case:
img[alt="gold"]: "0"
img[alt="silver"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
img[alt="2x Upload Multiplier"]: "2"
img[alt="3x Upload Multiplier"]: "3"
img[alt="4x Upload Multiplier"]: "4"
img[alt="5x Upload Multiplier"]: "5"
img[alt="6x Upload Multiplier"]: "6"
img[alt="7x Upload Multiplier"]: "7"
img[alt="8x Upload Multiplier"]: "8"
img[alt="9x Upload Multiplier"]: "9"
img[alt="10x Upload Multiplier"]: "10"
---
site: gormogon
name: Gormogon
language: en-us
type: private
encoding: UTF-8
links:
- http://www.gormogon.com
caps:
categorymappings:
# Movies:
- {id: 1, cat: Movies/DVD, desc: "DVD-R"}
- {id: 2, cat: Movies, desc: "Action"}
- {id: 14, cat: Movies, desc: "Adventure"}
- {id: 15, cat: Movies, desc: "Animation"}
- {id: 16, cat: Movies, desc: "Biography"}
- {id: 17, cat: Movies, desc: "Comedy"}
- {id: 18, cat: Movies, desc: "Crime"}
- {id: 19, cat: Movies, desc: "Disney"}
- {id: 92, cat: Movies, desc: "Documentary"}
- {id: 20, cat: Movies, desc: "Drama"}
- {id: 21, cat: Movies, desc: "Family"}
- {id: 22, cat: Movies, desc: "Fantasy"}
- {id: 23, cat: Movies, desc: "Film Noir"}
- {id: 97, cat: Movies, desc: "History"}
- {id: 24, cat: Movies, desc: "Horror"}
- {id: 25, cat: Movies, desc: "Martial Arts"}
- {id: 26, cat: Movies, desc: "Musicals"}
- {id: 27, cat: Movies, desc: "Mystery"}
- {id: 28, cat: Movies, desc: "Romance"}
- {id: 29, cat: Movies, desc: "Sci-Fi"}
- {id: 30, cat: Movies, desc: "Thriller"}
- {id: 31, cat: Movies, desc: "War"}
- {id: 32, cat: Movies, desc: "Western"}
- {id: 33, cat: Movies, desc: "Other"}
# Classic TV:
- {id: 34, cat: TV, desc: "Action"}
- {id: 35, cat: TV, desc: "Adventure"}
- {id: 36, cat: TV, desc: "Animation"}
- {id: 37, cat: TV, desc: "Biography"}
- {id: 38, cat: TV, desc: "Comedy"}
- {id: 39, cat: TV, desc: "Crime"}
- {id: 40, cat: TV, desc: "Disney"}
- {id: 41, cat: TV, desc: "Documentary"}
- {id: 42, cat: TV, desc: "Drama"}
- {id: 43, cat: TV, desc: "Family"}
- {id: 44, cat: TV, desc: "Fantasy"}
- {id: 45, cat: TV, desc: "TV Noir"}
- {id: 46, cat: TV, desc: "Horror"}
- {id: 47, cat: TV, desc: "Martial Arts"}
- {id: 49, cat: TV, desc: "Musicals"}
- {id: 50, cat: TV, desc: "Mystery"}
- {id: 51, cat: TV, desc: "Romance"}
- {id: 52, cat: TV, desc: "Sci-Fi"}
- {id: 48, cat: TV, desc: "Shows"}
- {id: 53, cat: TV, desc: "Thriller"}
- {id: 54, cat: TV, desc: "War"}
- {id: 55, cat: TV, desc: "Western"}
- {id: 56, cat: TV, desc: "Other"}
- {id: 90, cat: TV, desc: "TV Movies"}
# Old Time Radio
- {id: 57, cat: Audio, desc: "Action"}
- {id: 58, cat: Audio, desc: "Adventure"}
- {id: 59, cat: Audio, desc: "Biography"}
- {id: 60, cat: Audio, desc: "Comedy"}
- {id: 61, cat: Audio, desc: "Crime"}
- {id: 62, cat: Audio, desc: "Documentary"}
- {id: 63, cat: Audio, desc: "Drama"}
- {id: 64, cat: Audio, desc: "Family"}
- {id: 65, cat: Audio, desc: "Fantasy"}
- {id: 66, cat: Audio, desc: "Radio Noir"}
- {id: 67, cat: Audio, desc: "Horror"}
- {id: 68, cat: Audio, desc: "Musicals"}
- {id: 69, cat: Audio, desc: "Mystery"}
- {id: 70, cat: Audio, desc: "Romance"}
- {id: 71, cat: Audio, desc: "Sci-Fi"}
- {id: 72, cat: Audio, desc: "Shows"}
- {id: 73, cat: Audio, desc: "Thriller"}
- {id: 74, cat: Audio, desc: "War"}
- {id: 75, cat: Audio, desc: "Western"}
- {id: 76, cat: Audio, desc: "Other"}
# Music:
- {id: 77, cat: Audio, desc: "Official Sountracks"}
- {id: 78, cat: Audio, desc: "Theme Tunes"}
- {id: 79, cat: Audio, desc: "Music 30s"}
- {id: 80, cat: Audio, desc: "Music 40s"}
- {id: 81, cat: Audio, desc: "Music 50s"}
- {id: 85, cat: Audio, desc: "Music 60s"}
- {id: 86, cat: Audio, desc: "Music 70s"}
- {id: 87, cat: Audio, desc: "Music '80 - '84"}
# Printed:
- {id: 82, cat: Books, desc: "Books"}
- {id: 91, cat: Books, desc: "Newspaper"}
- {id: 83, cat: Books, desc: "Scripts"}
- {id: 84, cat: Books, desc: "Posters"}
- {id: 88, cat: Books, desc: "Comics"}
- {id: 89, cat: Books, desc: "Magazines"}
# Software:
- {id: 94, cat: Other, desc: "Screensavers"}
- {id: 95, cat: PC, desc: "Programs"}
- {id: 96, cat: Other, desc: "Other"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: index.php?page=login&returnto=index.php
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: td.lista > span[style="color:#FF0000;"]
test:
path: index.php
selector: form[name="jump1"]
ratio:
path: index.php
selector: form[name="jump1"] > table > tbody > tr > td:contains("SR ")
filters:
- name: trim
args: ")"
- name: split
args: [" ", 1]
download:
selector: a[href^="download.php?id="]
search:
path: index.php
inputs:
search: "{{ .Query.Keywords }}"
category: "{{range .Categories}}{{.}};{{end}}"
page: torrents
active: 0
rows:
selector: table.lista > tbody > tr:has(a[href^="index.php?page=torrents&category="])
fields:
download:
selector: a[href^="index.php?page=downloadcheck&id="]
attribute: href
title:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
details:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: href
size:
selector: td:nth-child(10)
date:
selector: td:nth-child(5)
filters:
- name: dateparse
args: "02/01/2006"
grabs:
selector: td:nth-child(8)
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
downloadvolumefactor:
case:
img[alt="gold"]: "0"
img[alt="silver"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
img[alt="2x Upload Multiplier"]: "2"
img[alt="3x Upload Multiplier"]: "3"
img[alt="4x Upload Multiplier"]: "4"
img[alt="5x Upload Multiplier"]: "5"
img[alt="6x Upload Multiplier"]: "6"
img[alt="7x Upload Multiplier"]: "7"
img[alt="8x Upload Multiplier"]: "8"
img[alt="9x Upload Multiplier"]: "9"
img[alt="10x Upload Multiplier"]: "10"
"*": "1"

View File

@@ -0,0 +1,142 @@
---
site: greekteam
name: Greek Team
language: el-gr
type: private
encoding: windows-1253
links:
- http://www.greek-team.cc/
caps:
categorymappings:
- {id: 59, cat: TV/Anime, desc: "Anime DVD/BR-rip Gr Sub - Emb"}
- {id: 27, cat: TV/Anime, desc: "Anime/Cartoon DVD-R"}
- {id: 35, cat: TV/Anime, desc: "Anime/Cartoon DVDRip/BR-rip"}
- {id: 10, cat: Books, desc: "Books/Magazines"}
- {id: 31, cat: Console/Other, desc: "Games Other"}
- {id: 30, cat: Console/PS4, desc: "Games PSx"}
- {id: 20, cat: PC/Games, desc: "Games Windows"}
- {id: 29, cat: Console/Xbox, desc: "Games XBOX"}
- {id: 54, cat: TV/Sport, desc: "HDTV Sport"}
- {id: 9, cat: Movies/HD, desc: "HiDef Anime/Cartoon"}
- {id: 18, cat: Movies/BluRay, desc: "HiDef Bluray-BD25"}
- {id: 25, cat: Movies/HD, desc: "HiDef Documentaries"}
- {id: 49, cat: TV/HD, desc: "HiDef Greek Tv"}
- {id: 52, cat: Movies/HD, desc: "HiDef Movie Packages"}
- {id: 19, cat: Movies/HD, desc: "HiDef Movies"}
- {id: 36, cat: TV/HD, desc: "HiDef Series "}
- {id: 62, cat: TV/HD, desc: "HiDef Series Packages"}
- {id: 11, cat: Other, desc: "Misc"}
- {id: 47, cat: PC/Phone-Other, desc: "Mobile Stuff"}
- {id: 15, cat: Movies/DVD, desc: "Movies - DVD-r"}
- {id: 40, cat: Movies/SD, desc: "Movies - DVD-rip x264"}
- {id: 60, cat: Movies/SD, desc: "Movies - DVD-rip x264 Packages"}
- {id: 39, cat: Movies/SD, desc: "Movies - DVD/BR-rip "}
- {id: 41, cat: Movies/Other, desc: "Movies - Others"}
- {id: 53, cat: Movies/3D, desc: "Movies 3D"}
- {id: 14, cat: Movies/SD, desc: "Movies DVD/BR-rip Gr Sub - Emb"}
- {id: 13, cat: Movies/DVD, desc: "Movies Greek - DVD-r"}
- {id: 12, cat: Movies/SD, desc: "Movies Greek - DVD/BRrip"}
- {id: 43, cat: Movies/Other, desc: "Movies Greek - Others"}
- {id: 61, cat: Movies/SD, desc: "Movies-DVD/BR-rip XviD Package"}
- {id: 17, cat: XXX, desc: "Movies/others XXX"}
- {id: 48, cat: Audio, desc: "Music-DJs Stuff & Promos"}
- {id: 22, cat: Audio, desc: "Music-Foreign"}
- {id: 33, cat: Audio/Lossless, desc: "Music-Foreign Flac"}
- {id: 2, cat: Audio, desc: "Music-Foreign-All Discographie"}
- {id: 28, cat: Audio, desc: "Music-Greek DVD-r/DVDrip"}
- {id: 50, cat: Audio/Lossless, desc: "Music-Greek Flac"}
- {id: 21, cat: Audio, desc: "Music-Greek-All Discographies"}
- {id: 1, cat: Audio, desc: "Music-Greek-Old & Classic"}
- {id: 51, cat: Audio, desc: "Music-Greek-Recent(2005-)&New "}
- {id: 16, cat: Audio/Video, desc: "Music-Video clips"}
- {id: 46, cat: PC, desc: "Programs Linux"}
- {id: 45, cat: PC, desc: "Programs MAC"}
- {id: 32, cat: PC, desc: "Programs Other"}
- {id: 23, cat: PC, desc: "Programs Windows"}
- {id: 58, cat: PC, desc: "Tutorials"}
- {id: 55, cat: TV/SD, desc: "TV-Greek Movies"}
- {id: 56, cat: TV/SD, desc: "TV-Movies Gr Sub - Emb"}
- {id: 57, cat: TV/SD, desc: "TV-Shows Cartoon/Anime"}
- {id: 34, cat: TV/SD, desc: "TV-Shows Foreign"}
- {id: 8, cat: TV/SD, desc: "TV-Shows Foreign DVD-rip Emb"}
- {id: 7, cat: TV/SD, desc: "TV-Shows Foreign HDTV Emb"}
- {id: 42, cat: TV/SD, desc: "TV-Shows Foreign Packages"}
- {id: 5, cat: TV/SD, desc: "TV-Shows Greek Doc"}
- {id: 26, cat: TV/SD, desc: "TV-Shows Greek Other"}
- {id: 37, cat: TV/SD, desc: "TV-Shows Greek Packages"}
- {id: 44, cat: TV/SD, desc: "TV-Shows Greek Packages x264"}
- {id: 3, cat: TV/SD, desc: "TV-Shows Greek Series"}
- {id: 4, cat: TV/SD, desc: "TV-Shows Greek Shows"}
- {id: 6, cat: TV/SD, desc: "TV-Shows Greek Sport"}
- {id: 38, cat: TV/SD, desc: "TV-Shows Greek x264"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: /login.php
method: post
inputs:
take_login: "1"
logout: "no"
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: "1"
blah: "0"
rows:
selector: table.row1 > tbody > tr:has(a.torname)
fields:
_id:
selector: a.torname
attribute: href
filters:
- name: querystring
args: id
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a.torname
details:
selector: a.torname
attribute: href
download:
text: "download2.php?torrent={{ .Result._id }}"
size:
selector: td:nth-last-child(3)
date:
selector: td:nth-last-child(5)
filters:
- name: append
args: " +02:00"
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
files:
selector: td:nth-last-child(7)
seeders:
selector: td:nth-last-child(2)
leechers:
selector: td:nth-last-child(1)
downloadvolumefactor:
case:
"img[src=\"pic/free.png\"]": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,83 @@
---
site: hdbits
name: HDBits
description: "Best HD Tracker"
language: en-us
type: private
encoding: UTF-8
links:
- https://hdbits.org
caps:
categorymappings:
- {id: 1, cat: "Movies", desc: "Movie"}
- {id: 2, cat: "TV", desc: "TV"}
- {id: 3, cat: "TV/Documentary", desc: "Documentary"}
- {id: 4, cat: "Audio", desc: "Music"}
- {id: 5, cat: "TV/Sport", desc: "Sport"}
- {id: 6, cat: "Audio", desc: "Audio Track"}
- {id: 7, cat: "XXX", desc: "XXX"}
- {id: 8, cat: "Other", desc: "Misc/Demo"}
modes:
search: [q]
login:
path: /login
method: form
form: form
inputs:
uname: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.main:contains("Login Failed!")
test:
path: my.php
download:
selector: a[href^="/download.php"]
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
search: "{{ .Query.Keywords }}"
rows:
selector: table#torrent-list > tbody > tr:has(a[href^="/details.php?id="])
fields:
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: td:nth-child(3) a
download:
selector: a[href^="/download.php"]
attribute: href
details:
selector: a[href^="/details.php?id="]
attribute: href
grabs:
selector: td:nth-child(7) a
size:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
date:
selector: td:nth-child(5)
filters:
- name: append
args: " ago"
downloadvolumefactor:
case:
"a[title=\"25% Free Leech: only 75% of the download is counted.\"]": "0.25"
"a[title=\"50% Free Leech: only half the download is counted.\"]": "0.5"
"a[title=\"100% FL: no download is counted.\"]": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,97 @@
---
site: hdbitscom
name: HD-Bits.com
description: "HD tracker"
language: en-us
encoding: UTF-8
type: private
links:
- https://www.hd-bits.com
caps:
categorymappings:
- {id: 1, cat: Audio, desc: "Music"}
- {id: 2, cat: Movies, desc: "Movies"}
- {id: 3, cat: TV, desc: "TV-Series"}
- {id: 4, cat: PC, desc: "Applications"}
- {id: 5, cat: XXX, desc: "Adult"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: 1
login: "Log in"
error:
- selector: form#loginform > span.warning
test:
path: torrents.php
ratio:
path: torrents.php
selector: li#stats_ratio > span
search:
path: torrents.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Query.Keywords }}"
order_by: time
order_way: desc
action: basic
searchsubmit: 1
rows:
selector: table#torrent_table > tbody > tr.torrent
fields:
download:
selector: a[href^="torrents.php?action=download&id="]
attribute: href
description:
selector: div.group_info div.tags
title:
selector: div.group_info a[href^="torrents.php?id="]
category:
selector: td.cats_col
case:
div.cats_music: 1
div.cats_movies: 2
div.cats_tvseries: 3
div.cats_applications: 4
div.cats_xxx: 5
comments:
selector: a[href^="torrents.php?id="]
attribute: href
imdb:
selector: a[href*="http://www.imdb.com/title/"]
optional: true
attribute: href
banner:
selector: img[alt="Cover"]
optional: true
attribute: src
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(4)
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:
"div.freeleech:contains('Freeleech!')": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,121 @@
---
site: hdchina
name: HDChina
description: "A chinese tracker"
language: zh-cn
type: private
encoding: UTF-8
links:
- https://hdchina.club/
caps:
categorymappings:
- {id: 20, cat: Movies/BluRay, desc: "Movie Full BD"}
- {id: 17, cat: Movies/HD, desc: "Movie 1080p"}
- {id: 16, cat: Movies/HD, desc: "Movie 1080i"}
- {id: 9, cat: Movies/HD, desc: "Movie 720p"}
- {id: 13, cat: TV, desc: "EU/US TV series"}
- {id: 25, cat: TV, desc: "Chinese TV series"}
- {id: 26, cat: TV, desc: "Kor Drama"}
- {id: 24, cat: TV, desc: "Jpn Drama"}
- {id: 21, cat: TV, desc: "EU/US TV series pack"}
- {id: 22, cat: TV, desc: "Chinese TV series pack"}
- {id: 23, cat: TV, desc: "JPN/KOR drama pack"}
- {id: 27, cat: Movies/SD, desc: "iPad Video"}
- {id: 5, cat: TV/Documentary, desc: "Documentary"}
- {id: 15, cat: TV/Sport, desc: "Sports"}
- {id: 14, cat: TV/Anime, desc: "Animation"}
- {id: 401, cat: TV, desc: "TV Shows"}
- {id: 402, cat: Audio, desc: "Vocal Concert"}
- {id: 406, cat: Audio, desc: "Music Video"}
- {id: 408, cat: Audio, desc: "Music"}
- {id: 19, cat: Audio, desc: "Audio Track"}
- {id: 405, cat: Audio, desc: "Drama"}
- {id: 404, cat: Books, desc: "Book"}
- {id: 409, cat: Other, desc: "Other"}
- {id: 410, cat: Movies/HD, desc: "4K UltraHD"}
- {id: 411, cat: TV, desc: "Travel"}
- {id: 412, cat: TV, desc: "Food"}
modes:
search: [q]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
captcha:
type: image
image: img[alt="CAPTCHA"]
input: imagestring
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "0"
spstate: "0"
inclbookmarked: "0"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: "0"
rows:
selector: table.torrent_list > tbody > tr:has(a[href^="?cat="])
fields:
title:
selector: td:nth-child(2) a
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php", "download.php"]
size:
selector: td.t_size
grabs:
selector: td.t_completed
seeders:
selector: td.t_torrents
leechers:
selector: td.t_leech
date:
selector: td.t_time
filters:
- name: replace
args: ["时", " hours"]
- name: replace
args: ["分", " minutes"]
- name: replace
args: ["天", " days"]
- name: replace
args: ["年", " year"]
- name: replace
args: ["月", " months"]
- name: append
args: " ago"
downloadvolumefactor:
case:
img.pro_50pctdown: ".5"
img.pro_30pctdown: ".3"
img.pro_free: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -8,15 +8,15 @@
- http://hdclub.org
caps:
categories:
70: Movies # Animation
71: Movies # Movie
81: Audio # HD Audio
78: TV/Documentary # Documentary
68: Audio/Video # Music Video
64: TV # TV Show
62: TV/Sport # Sport
82: Other # Demo
categorymappings:
- {id: 70, cat: Movies, desc: "Animation"}
- {id: 71, cat: Movies, desc: "Movie"}
- {id: 81, cat: Audio, desc: "HD Audio"}
- {id: 78, cat: TV/Documentary, desc: "Documentary"}
- {id: 68, cat: Audio/Video, desc: "Music Video"}
- {id: 64, cat: TV, desc: "TV Show"}
- {id: 62, cat: TV/Sport, desc: "Sport"}
- {id: 82, cat: Other, desc: "Demo"}
modes:
search: [q]

View File

@@ -1,105 +1,142 @@
---
site: hdhome
name: HDHome
language: zh-cn
type: private
encoding: UTF-8
links:
- https://hdhome.org
caps:
categories:
401: Movies # Movies/电影
404: TV/Documentary # Documentaries/纪录片
410: Movies # iPad/iPad影视
405: TV/Anime # Animations/动漫
402: TV # TV Series/剧集
403: TV # TV Shows/综艺
406: Audio/Video # Music Videos/音乐MV
407: TV/Sport # Sports/体育
408: Audio # HQ Audio/无损音乐
409: Other # Misc/其他
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
image: img[alt="CAPTCHA"]
input: imagestring
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("失败"))
test:
path: /torrents.php
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
spstate: "0"
inclbookmarked: "0"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: "0"
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[title][href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
size:
selector: td.rowfollow:nth-child(5)
grabs:
selector: td.rowfollow:nth-child(8)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
date:
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
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)
---
site: hdhome
name: HDHome
language: zh-cn
type: private
encoding: UTF-8
links:
- https://hdhome.org
caps:
categorymappings:
- {id: 411, cat: Movies/SD, desc: "Movies SD"}
- {id: 412, cat: Movies/SD, desc: "Movies IPad"}
- {id: 413, cat: Movies/HD, desc: "Movies 720p"}
- {id: 414, cat: Movies/HD, desc: "Movies 1080p"}
- {id: 415, cat: Movies/HD, desc: "Movies REMUX"}
- {id: 450, cat: Movies/BluRay, desc: "Movies Bluray"}
- {id: 416, cat: Movies/HD, desc: "Movies 2160p"}
- {id: 417, cat: TV/Documentary, desc: "Doc SD"}
- {id: 418, cat: TV/Documentary, desc: "Doc IPad"}
- {id: 419, cat: TV/Documentary, desc: "Doc 720p"}
- {id: 420, cat: TV/Documentary, desc: "Doc 1080p"}
- {id: 421, cat: TV/Documentary, desc: "Doc REMUX"}
- {id: 451, cat: TV/Documentary, desc: "Doc Bluray"}
- {id: 422, cat: TV/Documentary, desc: "Doc 2160p"}
- {id: 423, cat: TV/HD, desc: "TVMusic 720p"}
- {id: 424, cat: TV/HD, desc: "TVMusic 1080i"}
- {id: 425, cat: TV/SD, desc: "TVShow SD"}
- {id: 426, cat: TV/SD, desc: "TVShow IPad"}
- {id: 427, cat: TV/HD, desc: "TVShow 720p"}
- {id: 428, cat: TV/HD, desc: "TVShow 1080i"}
- {id: 429, cat: TV/HD, desc: "TVShow 1080p"}
- {id: 430, cat: TV/HD, desc: "TVShow REMUX"}
- {id: 452, cat: TV/HD, desc: "TVShows Bluray"}
- {id: 431, cat: TV/HD, desc: "TVShow 2160p"}
- {id: 432, cat: TV/SD, desc: "TVSeries SD"}
- {id: 433, cat: TV/SD, desc: "TVSeries IPad"}
- {id: 434, cat: TV/HD, desc: "TVSeries 720p"}
- {id: 435, cat: TV/HD, desc: "TVSeries 1080i"}
- {id: 436, cat: TV/HD, desc: "TVSeries 1080p"}
- {id: 437, cat: TV/HD, desc: "TVSeries REMUX"}
- {id: 453, cat: TV/HD, desc: "TVSereis Bluray"}
- {id: 438, cat: TV/HD, desc: "TVSeries 2160p"}
- {id: 439, cat: Audio/Other, desc: "Musics APE"}
- {id: 440, cat: Audio/Lossless, desc: "Musics FLAC"}
- {id: 441, cat: Audio/Video, desc: "Musics MV"}
- {id: 442, cat: TV/Sport, desc: "Sports 720p"}
- {id: 443, cat: TV/Sport, desc: "Sports 1080i"}
- {id: 444, cat: TV/Anime, desc: "Anime SD"}
- {id: 445, cat: TV/Anime, desc: "Anime IPad"}
- {id: 446, cat: TV/Anime, desc: "Anime 720p"}
- {id: 447, cat: TV/Anime, desc: "Anime 1080p"}
- {id: 448, cat: TV/Anime, desc: "Anime REMUX"}
- {id: 454, cat: TV/Anime, desc: "Anime Bluray"}
- {id: 409, cat: Other, desc: "Misc"}
- {id: 449, cat: TV/Anime, desc: "Anime 2160p"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
image: img[alt="CAPTCHA"]
input: imagestring
inputs:
logintype: "username"
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("姿势不正确"))
- selector: td.embedded:has(h2:contains("失败"))
test:
path: /torrents.php
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
spstate: "0"
inclbookmarked: "0"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: "0"
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[title][href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
size:
selector: td.rowfollow:nth-child(5)
grabs:
selector: td.rowfollow:nth-child(8)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
date:
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
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

View File

@@ -8,34 +8,34 @@
- https://hdme.eu
caps:
categories:
24: TV/Anime # Anime
25: PC/0day # Appz
47: Movies/HD # AVCHD
26: Movies/BluRay # Bluray
54: Movies/HD # dbREMUX
41: Movies/HD # Documentaries
50: Movies/HD # FourGHD
44: Movies/HD # HDME
28: Audio/Lossless # HQ Music
48: Movies/HD # iCandy
45: Movies/HD # INtL
29: Other # Misc
49: PC/Phone-Other # Mobile
30: Movies/HD # Movie 1080i
31: Movies/HD # Movie 1080p
32: Movies/HD # Movie 720p
33: Audio/Video # Music Videos
34: TV # Packs
53: Movies/HD # Remux
56: Movies/HD # RUXi
55: Movies/HD # SiNiSteR
36: TV/Sport # Sports
37: TV/HD # TV Series 1080i
38: TV/HD # TV Series 1080p
39: TV/HD # TV Series 720p
57: Movies # UHD 2160p
40: XXX # XXX
categorymappings:
- {id: 24, cat: TV/Anime , desc: "Anime"}
- {id: 25, cat: PC/0day , desc: "Appz"}
- {id: 47, cat: Movies/HD , desc: "AVCHD"}
- {id: 26, cat: Movies/BluRay , desc: "Bluray"}
- {id: 54, cat: Movies/HD , desc: "dbREMUX"}
- {id: 41, cat: Movies/HD , desc: "Documentaries"}
- {id: 50, cat: Movies/HD , desc: "FourGHD"}
- {id: 44, cat: Movies/HD , desc: "HDME"}
- {id: 28, cat: Audio/Lossless, desc: "HQ Music"}
- {id: 48, cat: Movies/HD , desc: "iCandy"}
- {id: 45, cat: Movies/HD , desc: "INtL"}
- {id: 29, cat: Other , desc: "Misc"}
- {id: 49, cat: PC/Phone-Other, desc: "Mobile"}
- {id: 30, cat: Movies/HD , desc: "Movie 1080i"}
- {id: 31, cat: Movies/HD , desc: "Movie 1080p"}
- {id: 32, cat: Movies/HD , desc: "Movie 720p"}
- {id: 33, cat: Audio/Video , desc: "Music Videos"}
- {id: 34, cat: TV , desc: "Packs"}
- {id: 53, cat: Movies/HD , desc: "Remux"}
- {id: 56, cat: Movies/HD , desc: "RUXi"}
- {id: 55, cat: Movies/HD , desc: "SiNiSteR"}
- {id: 36, cat: TV/Sport , desc: "Sports"}
- {id: 37, cat: TV/HD , desc: "TV Series 1080i"}
- {id: 38, cat: TV/HD , desc: "TV Series 1080p"}
- {id: 39, cat: TV/HD , desc: "TV Series 720p"}
- {id: 57, cat: Movies , desc: "UHD 2160p"}
- {id: 40, cat: XXX , desc: "XXX"}
modes:
search: [q]

View File

@@ -1,119 +1,119 @@
---
site: hdsky
name: HDSky
description: "A chinese tracker"
language: zh-cn
type: private
encoding: UTF-8
links:
- https://hdsky.me
caps:
categories:
401: Movies # Movies/电影
404: TV/Documentary # Documentaries/纪录片
410: Movies # iPad/iPad影视
405: TV/Anime # Animations/动漫
402: TV # TV Series/剧集
403: TV # TV Shows/综艺
406: Audio/Video # Music Videos/音乐MV
407: TV/Sport # Sports/体育
408: Audio # HQ Audio/无损音乐
409: Other # Misc/其他
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
image: img[alt="CAPTCHA"]
input: imagestring
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
ratio:
path: /torrents.php
selector: table#info_block
filters:
- name: regexp
args: "Ratio:\\s(.*?)\\s\\s"
download:
method: post
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
spstate: "0"
inclbookmarked: "0"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: "0"
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[title][href^="details.php?id="]
attribute: href
download:
selector: form[action^="download.php?id="]
attribute: action
imdb:
selector: a[href^="http://www.imdb.com/title/tt"]
attribute: href
size:
selector: td.rowfollow:nth-child(5)
grabs:
selector: td.rowfollow:nth-child(8)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
date:
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
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)
---
site: hdsky
name: HDSky
description: "A chinese tracker"
language: zh-cn
type: private
encoding: UTF-8
links:
- https://hdsky.me
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies/电影"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 410, cat: Movies, desc: "iPad/iPad影视"}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
- {id: 402, cat: TV, desc: "TV Series/剧集"}
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
- {id: 406, cat: Audio/Video, desc: "Music Videos/音乐MV"}
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 408, cat: Audio, desc: "HQ Audio/无损音乐"}
- {id: 409, cat: Other, desc: "Misc/其他"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
image: img[alt="CAPTCHA"]
input: imagestring
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
ratio:
path: /torrents.php
selector: table#info_block
filters:
- name: regexp
args: "Ratio:\\s(.*?)\\s\\s"
download:
method: post
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
spstate: "0"
inclbookmarked: "0"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: "0"
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[title][href^="details.php?id="]
attribute: href
download:
selector: form[action^="download.php?id="]
attribute: action
imdb:
selector: a[href^="http://www.imdb.com/title/tt"]
attribute: href
size:
selector: td.rowfollow:nth-child(5)
grabs:
selector: td.rowfollow:nth-child(8)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
date:
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
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

View File

@@ -0,0 +1,98 @@
---
site: hdtorrentsit
name: HDTorrents.it
language: it-it
type: private
encoding: UTF-8
links:
- http://hdtorrents.it/
caps:
categorymappings:
- {id: 2040, cat: Movies/HD}
- {id: 5040, cat: TV/HD}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.error
test:
path: browse.php
search:
paths:
- path: browse.php
method: post
inputs:
ajax: false
search: "{{ .Query.Keywords }}"
incldead: 0
rows:
selector: tbody#highlighted tr
fields:
title-no-filters:
selector: td:nth-child(2) a:nth-child(1)
title:
selector: td:nth-child(2) a:nth-child(1)
filters:
- name: re_replace
args: ["Stagione (\\d{0,1})", "S0$1"]
- name: re_replace
args: ["Stagione (\\d{2})", "S$1"]
- name: re_replace
args: ["Episodio{0,1} \\[(\\d{0,1})", "E0$1"]
- name: re_replace
args: ["Episodio{0,1} \\[(\\d{2})", "E$1"]
- name: re_replace
args: ["-(\\d{0,1}) ", "-0$1 "]
- name: re_replace
args: ["-(\\d{2}) ", "-$1 "]
- name: re_replace
args: ["(\\d) *\\/ *(E)", "$1$2"]
- name: replace
args: ["]", ""]
details:
selector: td:nth-child(2) a:nth-child(1)
attribute: href
banner:
selector: td:nth-child(2)[onmousemove]
attribute: onmousemove
filters:
- name: regexp
args: ".*\\(.*,.*,.*,'(.*?)'\\)"
download:
selector: a[href^="download.php?id="]
attribute: href
size:
selector: td:nth-child(3)
seeders:
selector: td:nth-child(4)
filters:
- name: re_replace
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$1"]
leechers:
selector: td:nth-child(4)
filters:
- name: re_replace
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$2"]
date:
selector: td:nth-child(2) i
filters:
- name: dateparse
args: "2006-02-01 15:04:05"
category:
case:
"a[href^=\"details.php\"]:contains(\"Stagione\")": 5040 # TV/HD
"*": 2040 # default to Movies/HD
downloadvolumefactor:
text: "1"
uploadvolumefactor:
text: "1"

View File

@@ -8,42 +8,42 @@
- https://hon3yhd.com/
caps:
categories:
31: Movies/BluRay # 1080p BluRay
70: Movies/3D # 3D Movies
30: Movies/BluRay # 720p BluRay
68: TV/Anime # Animation
9: Movies/BluRay # BD25
10: Movies/BluRay # BD50
8: Movies/DVD # DVD5
7: Movies/DVD # DvD9
1: Movies/SD # DVDRips
26: Books # Ebooks
13: PC/Games # Games
2: Movies/HD # HDRips
32: Movies/HD # HEVC Movies
33: Movies # Hollywood Dub
4: Movies # Hollywood Movies
21: TV # Hollywood TV
20: TV # Indian TV
18: Movies # Malayalam Movies
25: Audio # Music
24: Audio/Video # Music Videos
5: Movies # Pakistani Movies
19: TV # Pakistani TV
36: Other # Pre Releases
15: Movies # Punjabi Movies
28: Other # Religious
11: Movies # Remux
12: PC # Softwares
34: Movies # South Dub
14: TV/Sport # Sports
35: TV # Stage Drama
17: Movies # Tamil Movies
16: Movies # Telugu Movies
27: Other # Tutorial
29: Movies/SD # Upscaled DvDRips
3: Movies # WEB-HD
categorymappings:
- {id: 31, cat: Movies/BluRay, desc: "1080p BluRay"}
- {id: 70, cat: Movies/3D, desc: "3D Movies"}
- {id: 30, cat: Movies/BluRay, desc: "720p BluRay"}
- {id: 68, cat: TV/Anime, desc: "Animation"}
- {id: 9, cat: Movies/BluRay, desc: "BD25"}
- {id: 10, cat: Movies/BluRay, desc: "BD50"}
- {id: 8, cat: Movies/DVD, desc: "DVD5"}
- {id: 7, cat: Movies/DVD, desc: "DvD9"}
- {id: 1, cat: Movies/SD, desc: "DVDRips"}
- {id: 26, cat: Books, desc: "Ebooks"}
- {id: 13, cat: PC/Games, desc: "Games"}
- {id: 2, cat: Movies/HD, desc: "HDRips"}
- {id: 32, cat: Movies/HD, desc: "HEVC Movies"}
- {id: 33, cat: Movies, desc: "Hollywood Dub"}
- {id: 4, cat: Movies, desc: "Hollywood Movies"}
- {id: 21, cat: TV, desc: "Hollywood TV"}
- {id: 20, cat: TV, desc: "Indian TV"}
- {id: 18, cat: Movies, desc: "Malayalam Movies"}
- {id: 25, cat: Audio, desc: "Music"}
- {id: 24, cat: Audio/Video, desc: "Music Videos"}
- {id: 5, cat: Movies, desc: "Pakistani Movies"}
- {id: 19, cat: TV, desc: "Pakistani TV"}
- {id: 36, cat: Other, desc: "Pre Releases"}
- {id: 15, cat: Movies, desc: "Punjabi Movies"}
- {id: 28, cat: Other, desc: "Religious"}
- {id: 11, cat: Movies, desc: "Remux"}
- {id: 12, cat: PC, desc: "Softwares"}
- {id: 34, cat: Movies, desc: "South Dub"}
- {id: 14, cat: TV/Sport, desc: "Sports"}
- {id: 35, cat: TV, desc: "Stage Drama"}
- {id: 17, cat: Movies, desc: "Tamil Movies"}
- {id: 16, cat: Movies, desc: "Telugu Movies"}
- {id: 27, cat: Other, desc: "Tutorial"}
- {id: 29, cat: Movies/SD, desc: "Upscaled DvDRips"}
- {id: 3, cat: Movies, desc: "WEB-HD"}
modes:
search: [q]
@@ -69,6 +69,7 @@
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
searchin: "title"
incldead: "1"
rows:
selector: table > tbody > tr.tt

View File

@@ -1,106 +1,107 @@
---
site: hyperay
name: Hyperay
language: zh-cn
type: private
encoding: UTF-8
links:
- https://www.hyperay.cc
caps:
categories:
410: Movies/HD # Movies 1080p
411: Movies/HD # Movies 720p
401: Movies/BluRay # Movies Blu-ray
415: Movies # Movies REMUX
416: Movies/3D # Movies 3D
414: Movies/DVD # Movies DVD
412: Movies/WEBDL # Movies WEB-DL
413: Movies/SD # Movies HDTV
417: Movies/Other # Movies iPad
402: TV # TV Series
403: TV # TV Shows
404: TV/Documentary # Documentaries
405: TV/Anime # Animations
406: Audio/Video # Music Videos
407: TV/Sport # Sports
408: Audio # HQ Audio
418: Books # Book
409: Other # Misc
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
spstate: "0"
inclbookmarked: "0"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: "0"
rows:
selector: table.torrents > tbody > tr[class]
fields:
title:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[title][href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
imdb:
selector: a[href^="http://www.imdb.com/title/"]
attribute: href
banner:
selector: a[title][onmouseover][href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "showmenu\\(this,'.*','(.*)'\\);"
size:
selector: td.rowfollow:nth-child(6)
grabs:
selector: td.rowfollow:nth-child(9)
seeders:
selector: td.rowfollow:nth-child(7)
leechers:
selector: td.rowfollow:nth-child(8)
date:
selector: td.rowfollow:nth-child(5) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"
---
site: hyperay
name: Hyperay
language: zh-cn
type: private
encoding: UTF-8
links:
- https://www.hyperay.cc
caps:
categorymappings:
- {id: 410, cat: Movies/HD, desc: "Movies 1080p"}
- {id: 411, cat: Movies/HD, desc: "Movies 720p"}
- {id: 401, cat: Movies/BluRay, desc: "Movies Blu-ray"}
- {id: 415, cat: Movies, desc: "Movies REMUX"}
- {id: 416, cat: Movies/3D, desc: "Movies 3D"}
- {id: 414, cat: Movies/DVD, desc: "Movies DVD"}
- {id: 412, cat: Movies/WEBDL, desc: "Movies WEB-DL"}
- {id: 413, cat: Movies/SD, desc: "Movies HDTV"}
- {id: 417, cat: Movies/Other, desc: "Movies iPad"}
- {id: 402, cat: TV, desc: "TV Series"}
- {id: 403, cat: TV, desc: "TV Shows"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries"}
- {id: 405, cat: TV/Anime, desc: "Animations"}
- {id: 406, cat: Audio/Video, desc: "Music Videos"}
- {id: 407, cat: TV/Sport, desc: "Sports"}
- {id: 408, cat: Audio, desc: "HQ Audio"}
- {id: 418, cat: Books, desc: "Book"}
- {id: 409, cat: Other, desc: "Misc"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
authcode: ""
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
spstate: "0"
inclbookmarked: "0"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: "0"
rows:
selector: table.torrents > tbody > tr[class]
fields:
title:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[title][href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
imdb:
selector: a[href^="http://www.imdb.com/title/"]
attribute: href
banner:
selector: a[title][onmouseover][href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "showmenu\\(this,'.*','(.*)'\\);"
size:
selector: td.rowfollow:nth-child(6)
grabs:
selector: td.rowfollow:nth-child(9)
seeders:
selector: td.rowfollow:nth-child(7)
leechers:
selector: td.rowfollow:nth-child(8)
date:
selector: td.rowfollow:nth-child(5) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"

281
src/Jackett/Definitions/icetorrent.yml Normal file → Executable file
View File

@@ -1,130 +1,151 @@
---
site: icetorrent
name: ICE Torrent
language: ro-ro
type: private
encoding: UTF-8
links:
- https://www.icetorrent.org
caps:
categories:
1: PC/0day # Appz
85: Audio/Audiobook # AudioBooks
68: Books # Carti/Reviste
23: Books # Cartoons
73: Audio/Video # Concert/Videoclip
75: Other # Diverse
69: Books # Documentare
51: TV/Documentary # Documentaries
43: Books # eBooks
63: Movies/DVD # Filme DVD
65: Movies/HD # Filme HD
64: Movies/SD # Filme Xvid
40: Console # Games/Console
26: PC/Games # Games/PC
38: PC/Phone-Other # Mobile
59: Movies/3D # Movies/3D
92: Movies/HD # Movies/4K-UHD
32: Movies/BluRay # Movies/Blu-Ray
28: Movies/DVD # Movies/DVD
42: Movies/HD # Movies/HD-x264
91: Movies/HD # Movies/HEVC-x265
79: Movies/HD # Movies/microHD
29: Movies/SD # Movies/SD
72: Audio/Lossless # Music/FLAC
6: Audio/MP3 # Music/MP3
37: Audio/Video # Music/Video
70: Audio/Lossless # Muzica FLAC
71: Audio/MP3 # Muzica MP3
74: Other # Other
41: Other # Pictures
67: TV # Seriale TV
48: TV/Sport # Sports
87: Other # TUTS
33: TV/SD # TV Episodes
34: TV/HD # TVHD Episodes
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /login.php
method: form
form: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: font:contains("failed") + table
test:
path: /browse.php
ratio:
text: -1
search:
path: /browse.php
inputs:
cat: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: 1
search_by: "name"
rows:
selector: td.torrenttable > table > tbody > tr:has(a[title][href^="details.php?id="])
fields:
title:
selector: a[title][href^="details.php?id="]
attribute: title
details:
selector: a[title][href^="details.php?id="]
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
imdb:
selector: a[title="IMDB"]
attribute: href
banner:
attribute: rel
download:
selector: a[href^="download.php"]
attribute: href
files:
selector: td:nth-child(5) > a
filters:
- name: regexp
args: (\d+)
size:
selector: td:nth-child(5)
remove: a
date:
selector: td:nth-child(2) > div
filters:
- name: replace
args: ["Added on: ", ""]
- name: trim
args: "\xA0"
- name: append
args: " +03:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
grabs:
selector: td:nth-child(6)
downloadvolumefactor:
case:
"*": "0"
uploadvolumefactor:
case:
"*": "1"
description:
selector: td:nth-child(2)
remove: a[title][href^="details.php?id="], div
seeders:
text: "9999"
leechers:
text: "9999"
---
site: icetorrent
name: ICE Torrent
language: ro-ro
type: private
encoding: UTF-8
links:
- https://www.icetorrent.org
caps:
categorymappings:
- {id: 1, cat: PC/0day , desc: "Appz"}
- {id: 85, cat: Audio/Audiobook, desc: "AudioBooks"}
- {id: 68, cat: Books, desc: "Carti/Reviste"}
- {id: 23, cat: Books, desc: "Cartoons"}
- {id: 73, cat: Audio/Video, desc: "Concert/Videoclip"}
- {id: 75, cat: Other, desc: "Diverse"}
- {id: 69, cat: Books, desc: "Documentare"}
- {id: 51, cat: TV/Documentary, desc: "Documentaries"}
- {id: 43, cat: Books, desc: "eBooks"}
- {id: 63, cat: Movies/DVD, desc: "Filme DVD"}
- {id: 65, cat: Movies/HD, desc: "Filme HD"}
- {id: 64, cat: Movies/SD, desc: "Filme Xvid"}
- {id: 40, cat: Console, desc: "Games/Console"}
- {id: 26, cat: PC/Games, desc: "Games/PC"}
- {id: 38, cat: PC/Phone-Other, desc: "Mobile"}
- {id: 59, cat: Movies/3D, desc: "Movies/3D"}
- {id: 92, cat: Movies/HD, desc: "Movies/4K-UHD"}
- {id: 32, cat: Movies/BluRay, desc: "Movies/Blu-Ray"}
- {id: 28, cat: Movies/DVD, desc: "Movies/DVD"}
- {id: 42, cat: Movies/HD, desc: "Movies/HD-x264"}
- {id: 91, cat: Movies/HD, desc: "Movies/HEVC-x265"}
- {id: 79, cat: Movies/HD, desc: "Movies/microHD"}
- {id: 29, cat: Movies/SD, desc: "Movies/SD"}
- {id: 72, cat: Audio/Lossless, desc: "Music/FLAC"}
- {id: 6, cat: Audio/MP3, desc: "Music/MP3"}
- {id: 37, cat: Audio/Video, desc: "Music/Video"}
- {id: 70, cat: Audio/Lossless, desc: "Muzica FLAC"}
- {id: 71, cat: Audio/MP3, desc: "Muzica MP3"}
- {id: 74, cat: Other, desc: "Other"}
- {id: 41, cat: Other, desc: "Pictures"}
- {id: 67, cat: TV, desc: "Seriale TV"}
- {id: 48, cat: TV/Sport, desc: "Sports"}
- {id: 87, cat: Other, desc: "TUTS"}
- {id: 33, cat: TV/SD, desc: "TV Episodes"}
- {id: 34, cat: TV/HD, desc: "TVHD Episodes"}
- {id: 9, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: /login.php
method: form
form: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: font:contains("failed") + table
test:
path: /browse.php
ratio:
text: -1
search:
paths:
- path: browse.php
categorymappings: ["!", 9]
- path: browseadult.php
categorymappings: [9]
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBIDShort }}{{else}}{{ .Keywords }}{{end}}"
incldead: 1
search_by: "{{ if .Query.IMDBID }}imdb{{else}}name{{end}}"
rows:
selector: table.torrenttable > tbody > tr:has(a[title][href^="details.php?id="])
fields:
title:
selector: a[title][href^="details.php?id="]
attribute: title
details:
selector: a[title][href^="details.php?id="]
attribute: href
category:
selector: a[href*=".php?cat="]
attribute: href
filters:
- name: querystring
args: cat
imdb:
selector: a[title="IMDB"]
attribute: href
banner:
attribute: rel
imdb:
selector: a[href^="http://www.imdb.com/title/"]
optional: true
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
files:
selector: td:nth-child(5) > a
filters:
- name: regexp
args: (\d+)
size:
selector: td:nth-child(5)
remove: a
date:
selector: td:nth-child(2) > div
remove: b
filters:
- name: replace
args: ["\xA0", " "]
- name: replace
args: ["Added on ", ""]
- name: replace
args: ["st ", " "]
- name: replace
args: ["nd ", " "]
- name: replace
args: ["rd ", " "]
- name: replace
args: ["th ", " "]
- name: replace
args: [" by", ""]
- name: append
args: " +02:00"
- name: dateparse
args: "2 Jan 2006 15:04:05 -07:00"
grabs:
selector: td:nth-child(6)
downloadvolumefactor:
case:
"*": "0"
uploadvolumefactor:
case:
"*": "1"
description:
selector: td:nth-child(2)
remove: a[title][href^="details.php?id="], div
seeders:
text: "9999"
leechers:
text: "9999"

View File

@@ -0,0 +1,106 @@
---
site: ilcorsaronero
name: Il Corsaro Nero
language: it-it
type: public
encoding: UTF-8
links:
- https://ilcorsaronero.info/
caps:
categorymappings:
- {id: 1, cat: Movies/HD, desc: "BDRiP"}
- {id: 5, cat: TV/Anime, desc: "Anime"}
- {id: 15, cat: TV, desc: "TV Series"}
- {id: 19, cat: Movies/SD, desc: "Screener"}
- {id: 20, cat: Movies/SD, desc: "Full DVD"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: itorrents-links
type: checkbox
label: Add download links via itorrents.org
- name: advanced-search
type: checkbox
label: Use the advanced search of IlCorsaroNero (experimental)
search:
##### Are the "not" and "and" functions implemented? Or am I doing it wrong?
# path: "{{if and .Query.Keywords .advanced-search}}adv/{{ .Query.Keywords}}.html
# {{else if and .Query.Keywords (not .advanced-search)}}argh.php?search={{ .Query.Keywords}}
# {{else}}/recenti
# {{end}}"
path: "{{if .Query.Keywords}}argh.php?search={{ .Query.Keywords}}
{{else}}/recenti
{{end}}"
rows:
selector: "tr.odd,tr.odd2"
fields:
title:
selector: td:nth-child(2) a.tab
attribute: href
filters:
- name: split
args: [ "/", -1 ]
- name: urldecode
- name: replace
args: [ "_", " "]
- name: replace
args: [ " ", " "]
# normalize to SXXEYY format
- name: re_replace
args: ["(\\d{2})x(\\d{2})", "S$1E$2"]
- name: re_replace
args: ["(\\d{1})x(\\d{2})", "S0$1E$2"]
category:
selector: td:nth-child(1) a
attribute: href
filters:
- name: split
args: [ "/", -1 ]
details:
selector: td:nth-child(4) a
attribute: href
download-itorrents:
selector: input.downarrow
attribute: value
filters:
- name: prepend
args: "http://itorrents.org/torrent/"
- name: append
args: ".torrent"
download:
text: "{{if .Config.itorrents-links}}{{ .Result.download-itorrents }}{{else}}{{end}}"
magnet:
selector: input.downarrow
attribute: value
filters:
- name: prepend
args: "magnet:?xt=urn:btih:"
- name: append
args: "&dn={{ .Result.title }}.torrent"
size:
selector: td:nth-child(3) font
date:
selector: td:nth-child(5) font
filters:
- name: dateparse
args: "02.01.06"
seeders:
selector: td:nth-child(6) font
filters:
- name: replace
args: ["n/a", "0"]
leechers:
selector: td:nth-child(7) font
filters:
- name: replace
args: ["n/a", "0"]
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -0,0 +1,106 @@
---
site: iloveclassics
name: I Love Classics
description: "Classics movie tracker"
language: en-us
type: private
encoding: UTF-8
links:
- http://www.iloveclassics.com/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Action/Adventure"}
- {id: 22, cat: Movies, desc: "Animation"}
- {id: 18, cat: Movies, desc: "Audio"}
- {id: 2, cat: Movies, desc: "Comedy"}
- {id: 12, cat: Movies, desc: "Crime/Mystery"}
- {id: 4, cat: Movies, desc: "Documentary"}
- {id: 3, cat: Movies, desc: "Drama"}
- {id: 24, cat: Movies, desc: "E-Book"}
- {id: 9, cat: Movies, desc: "Family"}
- {id: 23, cat: Movies, desc: "Fantasy"}
- {id: 6, cat: Movies, desc: "Film Noir"}
- {id: 7, cat: Movies, desc: "Film Short"}
- {id: 8, cat: Movies, desc: "Horror"}
- {id: 10, cat: Movies, desc: "Martial Arts"}
- {id: 11, cat: Movies, desc: "Musical"}
- {id: 20, cat: Movies, desc: "Other"}
- {id: 13, cat: Movies, desc: "Romance"}
- {id: 5, cat: Movies, desc: "Sci-Fi"}
- {id: 14, cat: Movies, desc: "Silent"}
- {id: 15, cat: Movies, desc: "Thriller"}
- {id: 19, cat: Movies, desc: "TV Shows"}
- {id: 16, cat: Movies, desc: "War"}
- {id: 17, cat: Movies, desc: "Western"}
modes:
search: [q]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table:contains("Login failed!")
test:
path: index.php
download:
selector: a[href^="download.php?id="]
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
search: "{{ .Query.Keywords }}"
rows:
selector: table#hover-over > tbody > tr.table_col1
filters:
- name: andmatch
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
grabs:
selector: td:nth-child(9)
filters:
- name: regexp
args: (\d+\s+)(?=x)
files:
selector: td:nth-child(4)
size:
selector: td:nth-child(9)
filters:
- name: regexp
args: (\d+.*(MB|GB)+)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
date:
selector: td:nth-child(2)
downloadvolumefactor:
case:
"img[title=\"This Torrent is on Free Leech. Download amounts do not count to your ratio\"]": "0"
"img[title=\"This Torrent is Free Leech because it has 5 or more seeders. Download amounts do not count to your ratio while 5 seeders remain\"]": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -1,106 +1,106 @@
---
site: infinityt
name: Infinity-T
language: da-dk
type: private
encoding: UTF-8
links:
- https://infinity-t.org/
caps:
categories:
22: Audio/Audiobook # aBook
13: PC/Phone-Android # Appz/Android
14: PC/Phone-IOS # Appz/iPhone
12: PC/Mac # Appz/Mac
11: PC/0day # Appz/Win
19: Movies # AU/NEED
20: Books # eBook
17: Console # Games/Console
16: PC/Mac # Games/Mac
15: PC/Games # Games/PC
8: Movies # Movie/Boxset
7: Movies/DVD # Movie/DVD
5: Movies/HD # Movie/HD
6: Movies/SD # Movie/SD
10: Audio/Lossless # Music/FLAC
9: Audio/MP3 # Music/MP3
21: Movies/Bluray # REMUX/Bluray
4: TV # TV/Boxset
3: TV # TV/DVD
1: TV/HD # TV/HD
2: TV/SD # TV/SD
18: XXX # XXX
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: 1
rows:
selector: td.outer > table > tbody > tr[id]
fields:
imdb:
selector: a[href^="https://www.nullrefer.com/?http://imdb.com/title/"]
attribute: href
banner:
selector: a[rel]
attribute: rel
filters:
- name: replace
args: ["pic/noposter.jpg", ""]
title:
selector: a[href^="details.php?id="]
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
files:
selector: td:nth-child(3)
size:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
date:
selector: td:nth-child(5)
filters:
- name: replace
args: ["I Dag", "Today"]
- name: replace
args: ["I Går", "Yesterday"]
grabs:
selector: td:nth-child(8)
downloadvolumefactor:
case:
td[style*="/pic/free.png"]: "0"
"*": "1"
uploadvolumefactor:
case:
---
site: infinityt
name: Infinity-T
language: da-dk
type: private
encoding: UTF-8
links:
- https://infinity-t.org/
caps:
categorymappings:
- {id: 22, cat: Audio/Audiobook, desc: "aBook"}
- {id: 13, cat: PC/Phone-Android, desc: "Appz/Android"}
- {id: 14, cat: PC/Phone-IOS, desc: "Appz/iPhone"}
- {id: 12, cat: PC/Mac, desc: "Appz/Mac"}
- {id: 11, cat: PC/0day, desc: "Appz/Win"}
- {id: 19, cat: Movies, desc: "AU/NEED"}
- {id: 20, cat: Books, desc: "eBook"}
- {id: 17, cat: Console, desc: "Games/Console"}
- {id: 16, cat: PC/Mac, desc: "Games/Mac"}
- {id: 15, cat: PC/Games, desc: "Games/PC"}
- {id: 8, cat: Movies, desc: "Movie/Boxset"}
- {id: 7, cat: Movies/DVD, desc: "Movie/DVD"}
- {id: 5, cat: Movies/HD, desc: "Movie/HD"}
- {id: 6, cat: Movies/SD, desc: "Movie/SD"}
- {id: 10, cat: Audio/Lossless, desc: "Music/FLAC"}
- {id: 9, cat: Audio/MP3, desc: "Music/MP3"}
- {id: 21, cat: Movies/Bluray, desc: "REMUX/Bluray"}
- {id: 4, cat: TV, desc: "TV/Boxset"}
- {id: 3, cat: TV, desc: "TV/DVD"}
- {id: 1, cat: TV/HD, desc: "TV/HD"}
- {id: 2, cat: TV/SD, desc: "TV/SD"}
- {id: 18, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: 1
rows:
selector: td.outer > table > tbody > tr[id]
fields:
imdb:
selector: a[href^="https://www.nullrefer.com/?http://imdb.com/title/"]
attribute: href
banner:
selector: a[rel]
attribute: rel
filters:
- name: replace
args: ["pic/noposter.jpg", ""]
title:
selector: a[href^="details.php?id="]
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
files:
selector: td:nth-child(3)
size:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
date:
selector: td:nth-child(5)
filters:
- name: replace
args: ["I Dag", "Today"]
- name: replace
args: ["I Går", "Yesterday"]
grabs:
selector: td:nth-child(8)
downloadvolumefactor:
case:
td[style*="/pic/free.png"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -1,104 +1,104 @@
---
site: inperil
name: inPeril
type: private
language: lv-lv
type: private
encoding: UTF-8
links:
- http://www.inperil.net/
caps:
categories:
34: TV/Anime # Animation
22: PC/0day # Appz
25: PC/Games # Games/Console
4: PC/Games # Games/PC
27: Other/Misc # Misc
35: Movies/HD # Movies/HD
37: Movies/Foreign # Movies/LAT
42: Movies # Movies/Pack
38: Movies # Movies/Retro
36: Movies/Foreign # Movies/RUS
19: Movies/SD # Movies/SD
6: Audio # Music
26: Audio/Video # Music Videos
31: Audio/Lossless # Music/FLAC
39: TV/HD # TV/HD
43: TV # TV/Pack
7: TV/SD # TV/SD
40: XXX # XXX/HD
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: font.logintext
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: 1
rows:
selector: table > tbody > tr:has(a[href^="details.php?id="])
fields:
title:
selector: a[href^="details.php?id="][title]
attribute: title
details:
selector: a[href^="details.php?id="]
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="download.php/"]
attribute: href
files:
selector: td:nth-child(3)
size:
selector: td:nth-child(6)
date:
selector: td:nth-child(5)
filters:
- name: append
args: " +02:00"
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
grabs:
selector: td:nth-child(7)
filters:
- name: regexp
args: ([,\d]+)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
banner:
selector: a[onmouseover][href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
downloadvolumefactor:
case:
"img[alt=\"Zelta Torrents\"]": "0"
"img[alt=\"Sudraba Torrents\"]": "0.5"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
---
site: inperil
name: inPeril
type: private
language: lv-lv
type: private
encoding: UTF-8
links:
- http://www.inperil.net/
caps:
categorymappings:
- {id: 34, cat: TV/Anime, desc: "Animation"}
- {id: 22, cat: PC/0day, desc: "Appz"}
- {id: 25, cat: PC/Games, desc: "Games/Console"}
- {id: 4, cat: PC/Games, desc: "Games/PC"}
- {id: 27, cat: Other/Misc, desc: "Misc"}
- {id: 35, cat: Movies/HD, desc: "Movies/HD"}
- {id: 37, cat: Movies/Foreign, desc: "Movies/LAT"}
- {id: 42, cat: Movies, desc: "Movies/Pack"}
- {id: 38, cat: Movies, desc: "Movies/Retro"}
- {id: 36, cat: Movies/Foreign, desc: "Movies/RUS"}
- {id: 19, cat: Movies/SD, desc: "Movies/SD"}
- {id: 6, cat: Audio, desc: "Music"}
- {id: 26, cat: Audio/Video, desc: "Music Videos"}
- {id: 31, cat: Audio/Lossless, desc: "Music/FLAC"}
- {id: 39, cat: TV/HD, desc: "TV/HD"}
- {id: 43, cat: TV, desc: "TV/Pack"}
- {id: 7, cat: TV/SD, desc: "TV/SD"}
- {id: 40, cat: XXX, desc: "XXX/HD"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: font.logintext
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: 1
rows:
selector: table > tbody > tr:has(a[href^="details.php?id="])
fields:
title:
selector: a[href^="details.php?id="][title]
attribute: title
details:
selector: a[href^="details.php?id="]
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="download.php/"]
attribute: href
files:
selector: td:nth-child(3)
size:
selector: td:nth-child(6)
date:
selector: td:nth-child(5)
filters:
- name: append
args: " +02:00"
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
grabs:
selector: td:nth-child(7)
filters:
- name: regexp
args: ([,\d]+)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
banner:
selector: a[onmouseover][href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
downloadvolumefactor:
case:
"img[alt=\"Zelta Torrents\"]": "0"
"img[alt=\"Sudraba Torrents\"]": "0.5"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -1,140 +1,140 @@
---
site: insanetracker
name: Insane Tracker
language: hu-hu
type: private
encoding: UTF-8
links:
- https://newinsane.info/
caps:
categories:
8: TV/SD # Sorozat/Hun
40: TV/HD # Sorozat/Hun/HD
41: Movies/SD # Film/Hun/SD
15: Movies/DVD # Film/Hun/DVD-R
27: Movies/HD # Film/Hun/HD
44: Movies/HD # Film/Hun/UHD
2: Books # eBook/Hun
7: TV/SD # Sorozat/Eng
39: TV/HD # Sorozat/Eng/HD
42: Movies/SD # Film/Eng/SD
14: Movies/DVD # Film/Eng/DVD-R
25: Movies/HD # Film/Eng/HD
45: Movies/HD # Film/Eng/UHD
1: Books # eBook/Eng
38: Audio/Audiobook # Hangoskönyv
21: XXX # XXX
4: PC/ISO # Program/ISO
19: Audio/Other # Zene/Hun
37: Audio/Lossless # Lossless/Hun
9: PC/Games # Játék/ISO
43: Console # Játék/Konzol
29: Other # Képek
28: XXX/Imageset # XXX Képek
3: PC/0day # Program/Egyéb
18: Audio/Other # Zene/Eng
26: Audio/Lossless # Lossless/Eng
11: PC/Games # Játék/Rip
13: PC/Phone-Other # Mobil
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q, imdbid]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
notsecure: "1"
error:
- selector: div.login_error_content
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Query.Keywords }}{{end}}"
t: "all"
rows:
selector: table.torrentable > tbody > tr:has(td.maintd)
fields:
title:
selector: div.tortitle > a
attribute: title
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: div.tortitle > a
attribute: href
download:
selector: a[href^="download.php/"]
attribute: href
imdb|optional:
selector: a[title="IMDb link"]
attribute: href
banner|optional|1:
selector: img[alt="offer"]
attribute: src
banner|optional|2:
selector: a.cover
attribute: href
files:
selector: td:nth-child(6)
filters:
- name: replace
args: [".", ""]
size:
selector: td:nth-child(8)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
grabs:
selector: td:nth-child(9) > div:first-child
filters:
- name: replace
args: [".", ""]
- name: regexp
args: "^([\\d]+)"
seeders:
selector: td:nth-child(9) > div:first-child
filters:
- name: replace
args: [".", ""]
- name: regexp
args: "\\|\\s*([\\d]+)\\s*\\|"
leechers:
selector: td:nth-child(9) > div:first-child
filters:
- name: replace
args: [".", ""]
- name: regexp
args: "([\\d]+)$"
date:
selector: td.date
filters:
- name: dateparse
args: "2006.01.02 15:04:05"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
case:
img[src^="pic/4x.gif"]: "4"
img[src^="pic/3x.gif"]: "3"
img[src^="pic/2x.gif"]: "2"
"*": "1"
description:
selector: td.maintd
remove: div.tortitle, div.markcont, div.tablebuttons, div.tablebigbuttons
---
site: insanetracker
name: Insane Tracker
language: hu-hu
type: private
encoding: UTF-8
links:
- https://newinsane.info/
caps:
categorymappings:
- {id: 8, cat: TV/SD, desc: "Sorozat/Hun"}
- {id: 40, cat: TV/HD, desc: "Sorozat/Hun/HD"}
- {id: 41, cat: Movies/SD, desc: "Film/Hun/SD"}
- {id: 15, cat: Movies/DVD, desc: "Film/Hun/DVD-R"}
- {id: 27, cat: Movies/HD, desc: "Film/Hun/HD"}
- {id: 44, cat: Movies/HD, desc: "Film/Hun/UHD"}
- {id: 2, cat: Books, desc: "eBook/Hun"}
- {id: 7, cat: TV/SD, desc: "Sorozat/Eng"}
- {id: 39, cat: TV/HD, desc: "Sorozat/Eng/HD"}
- {id: 42, cat: Movies/SD, desc: "Film/Eng/SD"}
- {id: 14, cat: Movies/DVD, desc: "Film/Eng/DVD-R"}
- {id: 25, cat: Movies/HD, desc: "Film/Eng/HD"}
- {id: 45, cat: Movies/HD, desc: "Film/Eng/UHD"}
- {id: 1, cat: Books, desc: "eBook/Eng"}
- {id: 38, cat: Audio/Audiobook, desc: "Hangoskönyv"}
- {id: 21, cat: XXX, desc: "XXX"}
- {id: 4, cat: PC/ISO, desc: "Program/ISO"}
- {id: 19, cat: Audio/Other, desc: "Zene/Hun"}
- {id: 37, cat: Audio/Lossless, desc: "Lossless/Hun"}
- {id: 9, cat: PC/Games, desc: "Játék/ISO"}
- {id: 43, cat: Console, desc: "Játék/Konzol"}
- {id: 29, cat: Other, desc: "Képek"}
- {id: 28, cat: XXX/Imageset, desc: "XXX Képek"}
- {id: 3, cat: PC/0day, desc: "Program/Egyéb"}
- {id: 18, cat: Audio/Other, desc: "Zene/Eng"}
- {id: 26, cat: Audio/Lossless, desc: "Lossless/Eng"}
- {id: 11, cat: PC/Games, desc: "Játék/Rip"}
- {id: 13, cat: PC/Phone-Other, desc: "Mobil"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q, imdbid]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
notsecure: "1"
error:
- selector: div.login_error_content
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Query.Keywords }}{{end}}"
t: "all"
rows:
selector: table.torrentable > tbody > tr:has(td.maintd)
fields:
title:
selector: div.tortitle > a
attribute: title
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: div.tortitle > a
attribute: href
download:
selector: a[href^="download.php/"]
attribute: href
imdb|optional:
selector: a[title="IMDb link"]
attribute: href
banner|optional|1:
selector: img[alt="offer"]
attribute: src
banner|optional|2:
selector: a.cover
attribute: href
files:
selector: td:nth-child(6)
filters:
- name: replace
args: [".", ""]
size:
selector: td:nth-child(8)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
grabs:
selector: td:nth-child(9) > div:first-child
filters:
- name: replace
args: [".", ""]
- name: regexp
args: "^([\\d]+)"
seeders:
selector: td:nth-child(9) > div:first-child
filters:
- name: replace
args: [".", ""]
- name: regexp
args: "\\|\\s*([\\d]+)\\s*\\|"
leechers:
selector: td:nth-child(9) > div:first-child
filters:
- name: replace
args: [".", ""]
- name: regexp
args: "([\\d]+)$"
date:
selector: td.date
filters:
- name: dateparse
args: "2006.01.02 15:04:05"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
case:
img[src^="pic/4x.gif"]: "4"
img[src^="pic/3x.gif"]: "3"
img[src^="pic/2x.gif"]: "2"
"*": "1"
description:
selector: td.maintd
remove: div.tortitle, div.markcont, div.tablebuttons, div.tablebigbuttons

View File

@@ -1,105 +1,105 @@
---
site: jpopsuki
name: JPopsuki
language: en-us
type: private
encoding: UTF-8
links:
- https://jpopsuki.eu/
caps:
categories:
1: Audio # Album
2: Audio # Single
3: Movies # PV
4: Movies/DVD # DVD
5: TV # TV-Music
6: TV # TV-Variety
7: TV # TV-Drama
8: Other # Fansubs
9: Other # Pictures
10: Other/Misc # Misc
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: 1
login: "Log in"
error:
- selector: form#loginform > span.warning
test:
path: torrents.php
ratio:
path: torrents.php
selector: li#stats_ratio > span
search:
path: torrents.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Query.Keywords }}"
order_by: time
order_way: desc
action: basic
searchsubmit: 1
rows:
selector: table#torrent_table > tbody > tr[class^="torrent"]
fields:
download:
selector: a[href^="torrents.php?action=download&id="]
attribute: href
description:
selector: div.tags
title:
selector: td:nth-child(4)
remove: span, div.tags, a[title="View Comments"]
filters:
- name: replace
args: [" ()", ""]
- name: replace
args: [" / Freeleech!", ""]
category:
selector: a[href*="filter_cat"]
attribute: href
filters:
- name: regexp
args: "%5B(\\d+?)%5D"
details:
selector: a[href^="torrents.php?id="]
attribute: href
banner:
selector: td:nth-child(3) img
attribute: src
files:
selector: td:nth-child(5)
date:
selector: td:nth-child(6)
attribute: title
filters:
- name: append
args: " +00:00"
- name: dateparse
args: "Jan 02 2006, 15:04 -07:00"
size:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
downloadvolumefactor:
case:
"strong:contains(\"Freeleech!\")": "0"
"*": "1"
uploadvolumefactor:
case:
---
site: jpopsuki
name: JPopsuki
language: en-us
type: private
encoding: UTF-8
links:
- https://jpopsuki.eu/
caps:
categorymappings:
- {id: 1, cat: Audio, desc: "Album"}
- {id: 2, cat: Audio, desc: "Single"}
- {id: 3, cat: Movies, desc: "PV"}
- {id: 4, cat: Movies/DVD, desc: "DVD"}
- {id: 5, cat: TV, desc: "TV-Music"}
- {id: 6, cat: TV, desc: "TV-Variety"}
- {id: 7, cat: TV, desc: "TV-Drama"}
- {id: 8, cat: Other, desc: "Fansubs"}
- {id: 9, cat: Other, desc: "Pictures"}
- {id: 10, cat: Other/Misc, desc: "Misc"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: 1
login: "Log in"
error:
- selector: form#loginform > span.warning
test:
path: torrents.php
ratio:
path: torrents.php
selector: li#stats_ratio > span
search:
path: torrents.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Query.Keywords }}"
order_by: time
order_way: desc
action: basic
searchsubmit: 1
rows:
selector: table#torrent_table > tbody > tr[class^="torrent"]
fields:
download:
selector: a[href^="torrents.php?action=download&id="]
attribute: href
description:
selector: div.tags
title:
selector: td:nth-child(4)
remove: span, div.tags, a[title="View Comments"]
filters:
- name: replace
args: [" ()", ""]
- name: replace
args: [" / Freeleech!", ""]
category:
selector: a[href*="filter_cat"]
attribute: href
filters:
- name: regexp
args: "%5B(\\d+?)%5D"
details:
selector: a[href^="torrents.php?id="]
attribute: href
banner:
selector: td:nth-child(3) img
attribute: src
files:
selector: td:nth-child(5)
date:
selector: td:nth-child(6)
attribute: title
filters:
- name: append
args: " +00:00"
- name: dateparse
args: "Jan 02 2006, 15:04 -07:00"
size:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
downloadvolumefactor:
case:
"strong:contains(\"Freeleech!\")": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,83 @@
---
site: karagarga
name: Karagarga
description: "Rare and obscure movie tracker"
language: en-us
type: private
encoding: UTF-8
links:
- https://karagarga.in/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
modes:
search: [q]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
captcha:
type: image
image: img#captcha_img
input: imagestring
error:
- selector: table:contains("Login failed!")
test:
path: index.php
download:
selector: a[href^="download.php?id="]
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
search: "\"{{ .Query.Keywords }}\""
search_type: "title"
rows:
selector: table#browse > tbody > tr:has(a[href^="browse.php?genre="])
fields:
category:
text: 1
title:
selector: td:nth-child(2) span
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
grabs:
selector: td:nth-child(12)
filters:
- name: regexp
args: ([\d,]+)
files:
selector: td:nth-child(10)
size:
selector: td:nth-child(11)
seeders:
selector: td:nth-child(13)
leechers:
selector: td:nth-child(14)
date:
selector: td:nth-child(9)
filters:
- name: replace
args: ["'", ""]
- name: dateparse
args: "Jan 02 06"
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -8,78 +8,78 @@
- https://katcr.co/
caps:
categories:
118: TV/Anime # Anime - English Translated
133: TV/Anime # Anime - Other
144: PC/Phone-Other # Applications - Handheld
142: PC/0day # Applications - Linux
140: PC/Mac # Applications - Mac
131: PC/0day # Applications - Other
139: PC/0day # Applications - Windows
109: Audio/Audiobook # Books - Audio books
110: Books # Books - Biography
102: Books # Books - Children
103: Books/Comics # Books - Comics
113: Books # Books - Computers & Technology
115: Books # Books - Cooking
114: Books # Books - Educational
107: Books # Books - Fiction
112: Books # Books - History
105: Books # Books - Magazines
104: Books # Books - Manga
108: Books # Books - Non-fiction
132: Books # Books - Other
111: Books # Books - Religion
116: Books # Books - Sport
106: Books # Books - Textbooks
92: Console/Other # Games - Handheld
87: PC/Games # Games - Linux
130: Console/Other # Games - Other
97: Console/PS4 # Games - Playstation
91: Console/Wii # Games - Wii
85: PC/Games # Games - Windows
90: Console/Xbox # Games - Xbox
69: Movies/3D # Movies - 3D Movies
80: Movies # Movies - Animation
79: Movies # Movies - Asian/Bollywood
148: Movies/BluRay # Movies - Blu-Ray Disc
149: Movies/SD # Movies - Cam
81: Movies # Movies - Documentary
78: Movies # Movies - Dubbed Movies
150: Movies/DVD # Movies - DVD ISO
71: Movies/HD # Movies - HD
128: Movies/Other # Movies - Other
74: Movies/SD # Movies - Screener
75: Movies/HD # Movies - UltraHD
64: Audio/Other # Music - AAC
67: Audio/Other # Music - Karaoke
23: Audio/Lossless # Music - Lossless
22: Audio/MP3 # Music - MP3
129: Audio/Other # Music - Other
26: Audio/Other # Music - Radio Shows
66: Audio/Other # Music - Soundtrack
65: Audio/Other # Music - Transcode
68: Audio/Video # Music - Videos/Concerts
154: Other # Other - DazPoser
138: Other # Other - Other
136: Other # Other - Pictures
134: Other # Other - Subtitles
145: Other # Other - Tutorials
153: Other # Other - Wordpress
6: TV/HD # TV - Blu-Ray Disc
7: TV/Documentary # TV - Documentary
5: TV/SD # TV - DVD Disc
41: TV/HD # TV - HD
151: TV/Other # TV - Other
146: TV/Sport # TV - Sport
152: TV/HD # TV - Ultra HD
124: XXX # XXX - Books
125: XXX # XXX - Hentai
123: XXX # XXX - Magazines
122: XXX/Imageset # XXX - Pictures
121: XXX # XXX - UltraHD
119: XXX # XXX - Videos
126: XXX # XXX - XXX Games
categorymappings:
- {id: 118, cat: TV/Anime, desc: "Anime - English Translated"}
- {id: 133, cat: TV/Anime, desc: "Anime - Other"}
- {id: 144, cat: PC/Phone-Other, desc: "Applications - Handheld"}
- {id: 142, cat: PC/0day, desc: "Applications - Linux"}
- {id: 140, cat: PC/Mac, desc: "Applications - Mac"}
- {id: 131, cat: PC/0day, desc: "Applications - Other"}
- {id: 139, cat: PC/0day, desc: "Applications - Windows"}
- {id: 109, cat: Audio/Audiobook, desc: "Books - Audio books"}
- {id: 110, cat: Books, desc: "Books - Biography"}
- {id: 102, cat: Books, desc: "Books - Children"}
- {id: 103, cat: Books/Comics, desc: "Books - Comics"}
- {id: 113, cat: Books, desc: "Books - Computers & Technology"}
- {id: 115, cat: Books, desc: "Books - Cooking"}
- {id: 114, cat: Books, desc: "Books - Educational"}
- {id: 107, cat: Books, desc: "Books - Fiction"}
- {id: 112, cat: Books, desc: "Books - History"}
- {id: 105, cat: Books, desc: "Books - Magazines"}
- {id: 104, cat: Books, desc: "Books - Manga"}
- {id: 108, cat: Books, desc: "Books - Non-fiction"}
- {id: 132, cat: Books, desc: "Books - Other"}
- {id: 111, cat: Books, desc: "Books - Religion"}
- {id: 116, cat: Books, desc: "Books - Sport"}
- {id: 106, cat: Books, desc: "Books - Textbooks"}
- {id: 92, cat: Console/Other, desc: "Games - Handheld"}
- {id: 87, cat: PC/Games, desc: "Games - Linux"}
- {id: 130, cat: Console/Other, desc: "Games - Other"}
- {id: 97, cat: Console/PS4, desc: "Games - Playstation"}
- {id: 91, cat: Console/Wii, desc: "Games - Wii"}
- {id: 85, cat: PC/Games, desc: "Games - Windows"}
- {id: 90, cat: Console/Xbox, desc: "Games - Xbox"}
- {id: 69, cat: Movies/3D, desc: "Movies - 3D Movies"}
- {id: 80, cat: Movies, desc: "Movies - Animation"}
- {id: 79, cat: Movies, desc: "Movies - Asian/Bollywood"}
- {id: 148, cat: Movies/BluRay, desc: "Movies - Blu-Ray Disc"}
- {id: 149, cat: Movies/SD, desc: "Movies - Cam"}
- {id: 81, cat: Movies, desc: "Movies - Documentary"}
- {id: 78, cat: Movies, desc: "Movies - Dubbed Movies"}
- {id: 150, cat: Movies/DVD, desc: "Movies - DVD ISO"}
- {id: 71, cat: Movies/HD, desc: "Movies - HD"}
- {id: 128, cat: Movies/Other, desc: "Movies - Other"}
- {id: 74, cat: Movies/SD, desc: "Movies - Screener"}
- {id: 75, cat: Movies/HD, desc: "Movies - UltraHD"}
- {id: 64, cat: Audio/Other, desc: "Music - AAC"}
- {id: 67, cat: Audio/Other, desc: "Music - Karaoke"}
- {id: 23, cat: Audio/Lossless, desc: "Music - Lossless"}
- {id: 22, cat: Audio/MP3, desc: "Music - MP3"}
- {id: 129, cat: Audio/Other, desc: "Music - Other"}
- {id: 26, cat: Audio/Other, desc: "Music - Radio Shows"}
- {id: 66, cat: Audio/Other, desc: "Music - Soundtrack"}
- {id: 65, cat: Audio/Other, desc: "Music - Transcode"}
- {id: 68, cat: Audio/Video, desc: "Music - Videos/Concerts"}
- {id: 154, cat: Other, desc: "Other - DazPoser"}
- {id: 138, cat: Other, desc: "Other - Other"}
- {id: 136, cat: Other, desc: "Other - Pictures"}
- {id: 134, cat: Other, desc: "Other - Subtitles"}
- {id: 145, cat: Other, desc: "Other - Tutorials"}
- {id: 153, cat: Other, desc: "Other - Wordpress"}
- {id: 6, cat: TV/HD, desc: "TV - Blu-Ray Disc"}
- {id: 7, cat: TV/Documentary, desc: "TV - Documentary"}
- {id: 5, cat: TV/SD, desc: "TV - DVD Disc"}
- {id: 41, cat: TV/HD, desc: "TV - HD"}
- {id: 151, cat: TV/Other, desc: "TV - Other"}
- {id: 146, cat: TV/Sport, desc: "TV - Sport"}
- {id: 152, cat: TV/HD, desc: "TV - Ultra HD"}
- {id: 124, cat: XXX, desc: "XXX - Books"}
- {id: 125, cat: XXX, desc: "XXX - Hentai"}
- {id: 123, cat: XXX, desc: "XXX - Magazines"}
- {id: 122, cat: XXX/Imageset, desc: "XXX - Pictures"}
- {id: 121, cat: XXX, desc: "XXX - UltraHD"}
- {id: 119, cat: XXX, desc: "XXX - Videos"}
- {id: 126, cat: XXX, desc: "XXX - XXX Games"}
modes:
search: [q]
@@ -91,7 +91,7 @@
path: "/new/torrents-search.php"
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
search: "\"{{ .Query.Keywords }}\""
rows:
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
filters:

View File

@@ -1,163 +1,163 @@
---
site: leparadisdunet
name: Le Paradis Du Net
language: fr-fr
type: semi-private
encoding: UTF-8
links:
- https://le-paradis-du-net.com/
caps:
categories:
10: Movies/3D # 3D
9: XXX # Adultes
1: PC # APPLICATION
33: PC/Phone-Other # Iphone/Ipod/Android
3: PC/0day # Linux
32: PC/Mac # Mac
4: PC/0day # Windows
70: Movies/HD # BDRIP
69: Movies/BluRay # Blueray
73: Movies/HD # BRRIP
22: Movies/SD # CAM TS SCREENER
39: Movies/DVD # R5
13: TV/Anime # DESSINS ANIMES
48: TV/Anime # Animations
47: TV/Anime # Mangas
14: TV/Documentary # DOCUMENTAIRE
52: TV/Documentary # EmissionsTV
49: TV/Documentary # Tv docs
15: Movies/DVD # DVDR
16: Movies/SD # DVDRIP
35: Movies # Action
64: Movies # Autres
36: Movies # Aventure
55: Movies # Comédie
37: Movies # Drame
38: Movies # Fantastique
63: Movies # Guerre
72: Movies # Historique/Biopic
67: Movies # Horreur
65: Movies # Thriller
71: Movies # Werstern
17: Movies/SD # DVDRIP VOSTFR
19: Books # EBOOK
54: Books # Journaux
81: Books # Magazines
82: Books # People
40: Movies/HD # HD
41: Movies/HD # 1080p
42: Movies/HD # 720P
77: Movies/HD # HD LIGHT
86: TV/SD # HDTV
20: Console/Other # JEUX
56: Console/NDS # DS
57: PC/Games # Pc
26: Console/PS3 # PS3
58: Console/PSP # PSP
25: Console/Wii # Wii
24: Console/Xbox360 # Xbox360
21: Audio # MUSIQUES
29: Audio/Video # Clip
68: Audio/Video # Concert
31: Audio/Lossless # FLAC
30: Audio/MP3 # mp3
28: Audio/Lossless # wave
27: Audio/Other # wma
5: TV # SERIES
79: TV/HD # SERIES HD 1080P
80: TV/HD # SERIES HD 720p
75: TV # TV pack
8: TV # vf
6: TV # vo
7: TV # vost
12: TV/Sport # SPORTS
61: TV/Sport # Autres
45: TV/Sport # Catch VF
59: TV/Sport # Catch VO
44: TV/Sport # Football
60: TV/Sport # UFC/MMA
76: TV # Télévision
78: Movies/WEBDL # WEBRIP
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table:has(td:contains("Une erreur est survenue"))
test:
path: browse.php
download:
before:
path: "/takethanks.php"
method: "post"
inputs:
torrentid: "{{ re_replace .DownloadUri.AbsolutePath \"^.*download-torrent-(\\d+)/.*$\" \"$1\" }}"
search:
path: browse.php
inputs:
do: "chercher"
keywords: "{{ .Query.Keywords }}"
search_type: "t_name"
category: "0" # multi cat search not supported
include_dead_torrents: "yes"
rows:
selector: table#sortabletable > tbody > tr:has(a[href*="/torrent-details-"])
fields:
download:
selector: a[href*="/torrent-details-"]
attribute: href
filters:
- name: replace
args: ["torrent-details-", "download-torrent-"]
title:
selector: a[href*="/torrent-details-"]
details:
selector: a[href*="/torrent-details-"]
attribute: href
category:
selector: a[href*="/torrent-category-"]
attribute: href
filters:
- name: regexp
args: torrent-category-(\d+)
size:
selector: td:nth-child(4)
date:
selector: td:nth-child(2) > div > font[color="white"]
filters:
- name: replace
args: ["le ", ""]
- name: replace
args: [" à ", " "]
- name: trim
args: "\t"
- name: trim
args: "\n"
- name: append
args: " +01:00"
- name: dateparse
args: "02-01-2006 15:04 -07:00"
grabs:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
downloadvolumefactor:
case:
img[alt^="Free Torrent "]: "0"
img[alt^="Silver Torrent "]: "0.5"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
---
site: leparadisdunet
name: Le Paradis Du Net
language: fr-fr
type: semi-private
encoding: UTF-8
links:
- https://le-paradis-du-net.com/
caps:
categorymappings:
- {id: 10, cat: Movies/3D, desc: "3D"}
- {id: 9, cat: XXX, desc: "Adultes"}
- {id: 1, cat: PC, desc: "APPLICATION"}
- {id: 33, cat: PC/Phone-Other, desc: " Iphone/Ipod/Android"}
- {id: 3, cat: PC/0day, desc: " Linux"}
- {id: 32, cat: PC/Mac, desc: " Mac"}
- {id: 4, cat: PC/0day, desc: " Windows"}
- {id: 70, cat: Movies/HD, desc: "BDRIP"}
- {id: 69, cat: Movies/BluRay, desc: "Blueray"}
- {id: 73, cat: Movies/HD, desc: "BRRIP"}
- {id: 22, cat: Movies/SD, desc: "CAM TS SCREENER"}
- {id: 39, cat: Movies/DVD, desc: " R5"}
- {id: 13, cat: TV/Anime, desc: "DESSINS ANIMES"}
- {id: 48, cat: TV/Anime, desc: " Animations"}
- {id: 47, cat: TV/Anime, desc: " Mangas"}
- {id: 14, cat: TV/Documentary, desc: "DOCUMENTAIRE"}
- {id: 52, cat: TV/Documentary, desc: " EmissionsTV"}
- {id: 49, cat: TV/Documentary, desc: " Tv docs"}
- {id: 15, cat: Movies/DVD, desc: "DVDR"}
- {id: 16, cat: Movies/SD, desc: "DVDRIP"}
- {id: 35, cat: Movies, desc: " Action"}
- {id: 64, cat: Movies, desc: " Autres"}
- {id: 36, cat: Movies, desc: " Aventure"}
- {id: 55, cat: Movies, desc: " Comédie"}
- {id: 37, cat: Movies, desc: " Drame"}
- {id: 38, cat: Movies, desc: " Fantastique"}
- {id: 63, cat: Movies, desc: " Guerre"}
- {id: 72, cat: Movies, desc: " Historique/Biopic"}
- {id: 67, cat: Movies, desc: " Horreur"}
- {id: 65, cat: Movies, desc: " Thriller"}
- {id: 71, cat: Movies, desc: " Werstern"}
- {id: 17, cat: Movies/SD, desc: "DVDRIP VOSTFR"}
- {id: 19, cat: Books, desc: "EBOOK"}
- {id: 54, cat: Books, desc: " Journaux"}
- {id: 81, cat: Books, desc: " Magazines"}
- {id: 82, cat: Books, desc: " People"}
- {id: 40, cat: Movies/HD, desc: "HD"}
- {id: 41, cat: Movies/HD, desc: " 1080p"}
- {id: 42, cat: Movies/HD, desc: " 720P"}
- {id: 77, cat: Movies/HD, desc: " HD LIGHT"}
- {id: 86, cat: TV/SD, desc: " HDTV"}
- {id: 20, cat: Console/Other, desc: "JEUX"}
- {id: 56, cat: Console/NDS, desc: " DS"}
- {id: 57, cat: PC/Games, desc: " Pc"}
- {id: 26, cat: Console/PS3, desc: " PS3"}
- {id: 58, cat: Console/PSP, desc: " PSP"}
- {id: 25, cat: Console/Wii, desc: " Wii"}
- {id: 24, cat: Console/Xbox360, desc: " Xbox360"}
- {id: 21, cat: Audio, desc: "MUSIQUES"}
- {id: 29, cat: Audio/Video, desc: " Clip"}
- {id: 68, cat: Audio/Video, desc: " Concert"}
- {id: 31, cat: Audio/Lossless, desc: " FLAC"}
- {id: 30, cat: Audio/MP3, desc: " mp3"}
- {id: 28, cat: Audio/Lossless, desc: " wave"}
- {id: 27, cat: Audio/Other, desc: " wma"}
- {id: 5, cat: TV, desc: "SERIES"}
- {id: 79, cat: TV/HD, desc: " SERIES HD 1080P"}
- {id: 80, cat: TV/HD, desc: " SERIES HD 720p"}
- {id: 75, cat: TV, desc: " TV pack"}
- {id: 8, cat: TV, desc: " vf"}
- {id: 6, cat: TV, desc: " vo"}
- {id: 7, cat: TV, desc: " vost"}
- {id: 12, cat: TV/Sport, desc: "SPORTS"}
- {id: 61, cat: TV/Sport, desc: " Autres "}
- {id: 45, cat: TV/Sport, desc: " Catch VF"}
- {id: 59, cat: TV/Sport, desc: " Catch VO"}
- {id: 44, cat: TV/Sport, desc: " Football"}
- {id: 60, cat: TV/Sport, desc: " UFC/MMA"}
- {id: 76, cat: TV, desc: "Télévision"}
- {id: 78, cat: Movies/WEBDL, desc: "WEBRIP"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table:has(td:contains("Une erreur est survenue"))
test:
path: browse.php
download:
before:
path: "/takethanks.php"
method: "post"
inputs:
torrentid: "{{ re_replace .DownloadUri.AbsolutePath \"^.*download-torrent-(\\d+)/.*$\" \"$1\" }}"
search:
path: browse.php
inputs:
do: "chercher"
keywords: "{{ .Query.Keywords }}"
search_type: "t_name"
category: "0" # multi cat search not supported
include_dead_torrents: "yes"
rows:
selector: table#sortabletable > tbody > tr:has(a[href*="/torrent-details-"])
fields:
download:
selector: a[href*="/torrent-details-"]
attribute: href
filters:
- name: replace
args: ["torrent-details-", "download-torrent-"]
title:
selector: a[href*="/torrent-details-"]
details:
selector: a[href*="/torrent-details-"]
attribute: href
category:
selector: a[href*="/torrent-category-"]
attribute: href
filters:
- name: regexp
args: torrent-category-(\d+)
size:
selector: td:nth-child(4)
date:
selector: td:nth-child(2) > div > font[color="white"]
filters:
- name: replace
args: ["le ", ""]
- name: replace
args: [" à ", " "]
- name: trim
args: "\t"
- name: trim
args: "\n"
- name: append
args: " +01:00"
- name: dateparse
args: "02-01-2006 15:04 -07:00"
grabs:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
downloadvolumefactor:
case:
img[alt^="Free Torrent "]: "0"
img[alt^="Silver Torrent "]: "0.5"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -27,7 +27,10 @@
selector: a.csprite_dltorrent
search:
path: "{{if .Query.Keywords}}search/all/{{ .Query.Keywords}}/{{else}}/index.php?page=latest100{{end}}"
path: "{{if .Keywords}}search/all/{{ .Keywords}}/{{else}}/index.php?page=latest100{{end}}"
keywordsfilters:
- name: re_replace
args: ["S[0-9]{2}([^E]|$)", ""] #remove season tag without episode
rows:
selector: ".table2 > tbody > tr[bgcolor]"
fields:
@@ -64,4 +67,4 @@
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"
text: "1"

View File

@@ -8,38 +8,38 @@
- https://www.linkomanija.net
caps:
categories:
29: Movies/SD # movies
52: Movies/HD # movies HD
30: TV/SD # TV
60: TV/HD # HD TV
45: PC/Games # PC Games
37: Audio # Music
56: Books # Books
40: Other/Misc # misc
53: Movies/SD # movies E
61: Movies/HD # E HD Movies
28: TV/SD # TV E
62: TV/HD # E HD TV
63: PC/Games # PC Games Misc
33: Audio # Music E
57: Books # Books E
43: Other/Misc # misc E
51: Movies/SD # movies RU
64: Movies/HD # RU Movies HD
65: TV # TV RU
25: Movies/DVD # DVD
42: Console/Xbox # XBOX
66: Audio/Lossless # Music Lossless
41: PC/Mac # MAC
69: PC/Phone-Android # Android
46: TV/Sport # Sports
58: TV/Documentary # Documentaries
38: TV/Anime # Anime
26: Movies/DVD # DVD E
44: Console/Other # Consoles
31: Audio/Video # Music Videos
32: PC/0day # Appz
categorymappings:
- {id: 29, cat: Movies/SD, desc: "movies"}
- {id: 52, cat: Movies/HD, desc: "movies HD"}
- {id: 30, cat: TV/SD, desc: "TV"}
- {id: 60, cat: TV/HD, desc: "HD TV"}
- {id: 45, cat: PC/Games, desc: "PC Games"}
- {id: 37, cat: Audio, desc: "Music"}
- {id: 56, cat: Books, desc: "Books"}
- {id: 40, cat: Other/Misc, desc: "misc"}
- {id: 53, cat: Movies/SD, desc: "movies E"}
- {id: 61, cat: Movies/HD, desc: "E HD Movies"}
- {id: 28, cat: TV/SD, desc: "TV E"}
- {id: 62, cat: TV/HD, desc: "E HD TV"}
- {id: 63, cat: PC/Games, desc: "PC Games Misc"}
- {id: 33, cat: Audio, desc: "Music E"}
- {id: 57, cat: Books, desc: "Books E"}
- {id: 43, cat: Other/Misc, desc: "misc E"}
- {id: 51, cat: Movies/SD, desc: "movies RU"}
- {id: 64, cat: Movies/HD, desc: "RU Movies HD"}
- {id: 65, cat: TV, desc: "TV RU"}
- {id: 25, cat: Movies/DVD, desc: "DVD"}
- {id: 42, cat: Console/Xbox, desc: "XBOX"}
- {id: 66, cat: Audio/Lossless, desc: "Music Lossless"}
- {id: 41, cat: PC/Mac, desc: "MAC"}
- {id: 69, cat: PC/Phone-Android, desc: "Android"}
- {id: 46, cat: TV/Sport, desc: "Sports"}
- {id: 58, cat: TV/Documentary, desc: "Documentaries"}
- {id: 38, cat: TV/Anime, desc: "Anime"}
- {id: 26, cat: Movies/DVD, desc: "DVD E"}
- {id: 44, cat: Console/Other, desc: "Consoles"}
- {id: 31, cat: Audio/Video, desc: "Music Videos"}
- {id: 32, cat: PC/0day, desc: "Appz"}
modes:
search: [q]

View File

@@ -1,82 +1,82 @@
---
site: losslessclub
name: LosslessClub
language: ru-ru
type: private
encoding: windows-1251
links:
- https://losslessclub.com/
caps:
categories:
1: Audio/Lossless
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded > div.error
test:
path: /browse.php
selector: span.bar_user_welcome
search:
path: /browse.php
inputs:
search: "{{ .Query.Keywords }}"
t: "all"
rows:
selector: div#releases-table > table > tbody > tr:has(a.browselink)
fields:
title:
selector: a.browselink
category:
text: "1"
details:
selector: a.browselink
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
banner|optional:
selector: img.thumbnail
attribute: src
size:
selector: td:nth-child(5)
grabs|optional:
selector: td:nth-child(6) br + span
seeders:
selector: td:nth-child(6)
remove: br + span
filters:
- name: regexp
args: "([\\.\\d]+)\\s+\\|"
leechers:
selector: td:nth-child(6)
remove: br + span
filters:
- name: regexp
args: "\\|\\s*([\\.\\d]+)"
date:
selector: td:nth-child(7)
remove: a, i
filters:
- name: replace
args: ["by", ""]
- name: dateparse
args: "2/01/06"
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"
description:
selector: div.tag_list_browse
---
site: losslessclub
name: LosslessClub
language: ru-ru
type: private
encoding: windows-1251
links:
- https://losslessclub.com/
caps:
categories:
1: Audio/Lossless
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded > div.error
test:
path: /browse.php
selector: span.bar_user_welcome
search:
path: /browse.php
inputs:
search: "{{ .Query.Keywords }}"
t: "all"
rows:
selector: div#releases-table > table > tbody > tr:has(a.browselink)
fields:
title:
selector: a.browselink
category:
text: "1"
details:
selector: a.browselink
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
banner|optional:
selector: img.thumbnail
attribute: src
size:
selector: td:nth-child(5)
grabs|optional:
selector: td:nth-child(6) br + span
seeders:
selector: td:nth-child(6)
remove: br + span
filters:
- name: regexp
args: "([\\.\\d]+)\\s+\\|"
leechers:
selector: td:nth-child(6)
remove: br + span
filters:
- name: regexp
args: "\\|\\s*([\\.\\d]+)"
date:
selector: td:nth-child(7)
remove: a, i
filters:
- name: replace
args: ["by", ""]
- name: dateparse
args: "2/01/06"
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"
description:
selector: div.tag_list_browse

View File

@@ -5,90 +5,90 @@
type: private
encoding: UTF-8
links:
- http://magico.info/
- https://magico.info/
caps:
categories:
1: Movies # Movies
84: Movies # N ees (2016, 2017)
14: Movies/SD # DVDRip-BDRip-BRRip (e?? 2015) FREE
16: Movies/SD # In Avouri (CAM) FREE
17: Movies/BluRay # B LU-RAY
44: Movies # E English Movies
76: Movies # N tokimanter
82: Movies # I EATP
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 84, cat: Movies, desc: "N ees (2016, 2017)"}
- {id: 14, cat: Movies/SD, desc: "DVDRip-BDRip-BRRip (e?? 2015) FREE"}
- {id: 16, cat: Movies/SD, desc: "In Avouri (CAM) FREE"}
- {id: 17, cat: Movies/BluRay, desc: "B LU-RAY"}
- {id: 44, cat: Movies, desc: "E English Movies"}
- {id: 76, cat: Movies, desc: "N tokimanter"}
- {id: 82, cat: Movies, desc: "I EATP"}
52: TV # series
53: TV/SD # , O Enes
70: TV/HD # O Enes (720p)
54: TV # E English
86: TV # O Enes Complete Seasons
92: TV # O Enes Complete Seasons (720p)
87: TV # E English Complete Seasons
63: TV # Y ychagogikes Emissions
83: TV/Sport # TV Sports
- {id: 52, cat: TV, desc: "series"}
- {id: 53, cat: TV/SD, desc: ", O Enes"}
- {id: 70, cat: TV/HD, desc: "O Enes (720p)"}
- {id: 54, cat: TV, desc: "E English"}
- {id: 86, cat: TV, desc: "O Enes Complete Seasons"}
- {id: 92, cat: TV, desc: "O Enes Complete Seasons (720p)"}
- {id: 87, cat: TV, desc: "E English Complete Seasons"}
- {id: 63, cat: TV, desc: "Y ychagogikes Emissions"}
- {id: 83, cat: TV/Sport, desc: "TV Sports"}
55: Movies # Children
38: Movies # M etaglotismena (Movies)
39: Movies # M e Subtitled (Movies)
93: Movies # M etaglotismena (Series)
94: Movies # M e Subtitled (Series)
45: Movies # I absent Anime
98: Movies # M etaglotismena 3D
64: Movies # M music for Children
- {id: 55, cat: Movies, desc: "Children"}
- {id: 38, cat: Movies, desc: "M etaglotismena (Movies)"}
- {id: 39, cat: Movies, desc: "M e Subtitled (Movies)"}
- {id: 93, cat: Movies, desc: "M etaglotismena (Series)"}
- {id: 94, cat: Movies, desc: "M e Subtitled (Series)"}
- {id: 45, cat: Movies, desc: "I absent Anime"}
- {id: 98, cat: Movies, desc: "M etaglotismena 3D"}
- {id: 64, cat: Movies, desc: "M music for Children"}
7: Audio # Foreign music
21: Audio # N ees Releases
46: Audio # P. Alai Releases
32: Audio # D. iskografies
20: Audio # In ylloges
102: Audio # M AGICO Radio
81: Audio # K araoke
95: Audio # Soundtrack
- {id: 7, cat: Audio, desc: "Foreign music"}
- {id: 21, cat: Audio, desc: "N ees Releases"}
- {id: 46, cat: Audio, desc: "P. Alai Releases"}
- {id: 32, cat: Audio, desc: "D. iskografies"}
- {id: 20, cat: Audio, desc: "In ylloges"}
- {id: 102, cat: Audio, desc: "M AGICO Radio"}
- {id: 81, cat: Audio, desc: "K araoke"}
- {id: 95, cat: Audio, desc: "Soundtrack"}
47: Audio # Greek music
48: Audio # N ees Releases
49: Audio # P. Alai Releases
51: Audio # D. iskografies
50: Audio # In ylloges
101: Audio # M AGICO Radio
97: Audio # Live Cd 's
57: Audio # P empetika
58: Audio # D. imotika
59: Audio # K exception of preservatives
60: Audio # N isiotika
62: Audio # P. ontiaka
80: Audio # K araoke
96: Audio # Soundtracks
- {id: 47, cat: Audio, desc: "Greek music"}
- {id: 48, cat: Audio, desc: "N ees Releases"}
- {id: 49, cat: Audio, desc: "P. Alai Releases"}
- {id: 51, cat: Audio, desc: "D. iskografies"}
- {id: 50, cat: Audio, desc: "In ylloges"}
- {id: 101, cat: Audio, desc: "M AGICO Radio"}
- {id: 97, cat: Audio, desc: "Live Cd 's"}
- {id: 57, cat: Audio, desc: "P empetika"}
- {id: 58, cat: Audio, desc: "D. imotika"}
- {id: 59, cat: Audio, desc: "K exception of preservatives"}
- {id: 60, cat: Audio, desc: "N isiotika"}
- {id: 62, cat: Audio, desc: "P. ontiaka"}
- {id: 80, cat: Audio, desc: "K araoke"}
- {id: 96, cat: Audio, desc: "Soundtracks"}
73: Audio # seasonal Music
74: Audio # X ristougenna
79: Audio # P. ascha
75: Audio # A pokriatika
78: Audio # A Tariff Valentine
- {id: 73, cat: Audio, desc: "seasonal Music"}
- {id: 74, cat: Audio, desc: "X ristougenna"}
- {id: 79, cat: Audio, desc: "P. ascha"}
- {id: 75, cat: Audio, desc: "A pokriatika"}
- {id: 78, cat: Audio, desc: "A Tariff Valentine"}
33: Books # Books
41: Books # E nglis
65: Books # K omix
43: Books # P. periods
72: Books # P. aidika
66: Books # L. exika - Educational
42: Books # O enoglossa
67: Books # E. Konya-Photos
- {id: 33, cat: Books, desc: "Books"}
- {id: 41, cat: Books, desc: "E nglis"}
- {id: 65, cat: Books, desc: "K omix"}
- {id: 43, cat: Books, desc: "P. periods"}
- {id: 72, cat: Books, desc: "P. aidika"}
- {id: 66, cat: Books, desc: "L. exika - Educational"}
- {id: 42, cat: Books, desc: "O enoglossa"}
- {id: 67, cat: Books, desc: "E. Konya-Photos"}
6: PC # programs
18: PC/0day # PC
40: PC/Phone-Android # Android
19: PC/Mac # Mac
- {id: 6, cat: PC, desc: "programs"}
- {id: 18, cat: PC/0day, desc: "PC"}
- {id: 40, cat: PC/Phone-Android, desc: "Android"}
- {id: 19, cat: PC/Mac, desc: "Mac"}
2: PC/Games # Games
27: PC/Games # PC
68: PC/Phone-Android # Android
- {id: 2, cat: PC/Games, desc: "Games"}
- {id: 27, cat: PC/Games, desc: "PC"}
- {id: 68, cat: PC/Phone-Android, desc: "Android"}
88: Other # Design / Tutorials / Accessories
89: Other # Photoshop Tutorials
91: Other # Illustrator Tutorials
90: Other # After Effects Tutorials
- {id: 88, cat: Other, desc: "Design / Tutorials / Accessories"}
- {id: 89, cat: Other, desc: "Photoshop Tutorials"}
- {id: 91, cat: Other, desc: "Illustrator Tutorials"}
- {id: 90, cat: Other, desc: "After Effects Tutorials"}
modes:
search: [q]
@@ -130,7 +130,8 @@
keywords: "{{ .Keywords }}"
search_type: "name"
searchin: "title"
error:
- selector: div#show_error font
rows:
selector: div#content > div.torrent-box[id^="torrent_"]
filters:

View File

@@ -8,44 +8,44 @@
- https://majomparade.eu/
caps:
categories:
4: Movies/3D # 3D/Magyar
5: Movies/3D # 3D/Külföldi
48: Movies/HD # Film/BR-BDRIP/Külföldi
50: Movies/HD # Film/BR-BDRIP/Magyar
75: Movies/SD # Film/Cam/Külföldi
76: Movies/SD # Film/Cam/Magyar
26: Movies/DVD # Film/DVD/Külföldi
25: Movies/DVD # Film/DVD/Magyar
58: Movies/DVD # Film/DVD9/Külföld
59: Movies/DVD # Film/DVD9/Magyar
42: Movies/HD # Film/HD/Külföldi
51: Movies/HD # Film/HD/Magyar
38: Movies/SD # Film/XviD/Külföldi
24: Movies/Sd # Film/XviD/Magyar
85: TV/Sport # Sport/Külföldi
87: TV/Sport # Sport/Magyar
47: TV/SD # Sorozat/Külföldi
36: TV/SD # Sorozat/Magyar
6: TV/HD # Sorozat/HD/Magyar
7: TV/HD # Sorozat/HD/Külföldi
56: Audio/Audiobook # Hangoskönyv
33: Books # Könyv/Külföldi
44: Books # Könyv/Magyar
28: PC/Games # Játék/ISO
32: Console # Játék/Konzol
30: PC/Games # Játék/RIP
53: Audio/Lossless # Lossless/Külföldi
74: Audio/Lossless # Lossless/Magyar
40: Audio/Other # Zene/Külföldi
41: Audio/Other # Zene/Magyar
34: PC/Phone-Other # Mobil
35: PC/ISO # Programok/ISO
46: PC/0day # Programok/RIP
categorymappings:
- {id: 4, cat: Movies/3D, desc: "3D/Magyar"}
- {id: 5, cat: Movies/3D, desc: "3D/Külföldi"}
- {id: 48, cat: Movies/HD, desc: "Film/BR-BDRIP/Külföldi"}
- {id: 50, cat: Movies/HD, desc: "Film/BR-BDRIP/Magyar"}
- {id: 75, cat: Movies/SD, desc: "Film/Cam/Külföldi"}
- {id: 76, cat: Movies/SD, desc: "Film/Cam/Magyar"}
- {id: 26, cat: Movies/DVD, desc: "Film/DVD/Külföldi"}
- {id: 25, cat: Movies/DVD, desc: "Film/DVD/Magyar"}
- {id: 58, cat: Movies/DVD, desc: "Film/DVD9/Külföld"}
- {id: 59, cat: Movies/DVD, desc: "Film/DVD9/Magyar"}
- {id: 42, cat: Movies/HD, desc: "Film/HD/Külföldi"}
- {id: 51, cat: Movies/HD, desc: "Film/HD/Magyar"}
- {id: 38, cat: Movies/SD, desc: "Film/XviD/Külföldi"}
- {id: 24, cat: Movies/Sd, desc: "Film/XviD/Magyar"}
- {id: 85, cat: TV/Sport, desc: "Sport/Külföldi"}
- {id: 87, cat: TV/Sport, desc: "Sport/Magyar"}
- {id: 47, cat: TV/SD, desc: "Sorozat/Külföldi"}
- {id: 36, cat: TV/SD, desc: "Sorozat/Magyar"}
- {id: 6, cat: TV/HD, desc: "Sorozat/HD/Magyar"}
- {id: 7, cat: TV/HD, desc: "Sorozat/HD/Külföldi"}
- {id: 56, cat: Audio/Audiobook, desc: "Hangoskönyv"}
- {id: 33, cat: Books, desc: "Könyv/Külföldi"}
- {id: 44, cat: Books, desc: "Könyv/Magyar"}
- {id: 28, cat: PC/Games, desc: "Játék/ISO"}
- {id: 32, cat: Console, desc: "Játék/Konzol"}
- {id: 30, cat: PC/Games, desc: "Játék/RIP"}
- {id: 53, cat: Audio/Lossless, desc: "Lossless/Külföldi"}
- {id: 74, cat: Audio/Lossless, desc: "Lossless/Magyar"}
- {id: 40, cat: Audio/Other, desc: "Zene/Külföldi"}
- {id: 41, cat: Audio/Other, desc: "Zene/Magyar"}
- {id: 34, cat: PC/Phone-Other, desc: "Mobil"}
- {id: 35, cat: PC/ISO, desc: "Programok/ISO"}
- {id: 46, cat: PC/0day, desc: "Programok/RIP"}
70: XXX/DVD # XXX/DVD
39: XXX/Xvid # XXX/XviD
57: XXX # XXX/HD
- {id: 70, cat: XXX/DVD, desc: "XXX/DVD"}
- {id: 39, cat: XXX/Xvid, desc: "XXX/XviD"}
- {id: 57, cat: XXX, desc: "XXX/HD"}
modes:
@@ -69,12 +69,21 @@
path: letoltes.php
search:
path: letoltes.php
paths:
- path: letoltes.php
categorymappings: ["!", 70, 39, 57]
inputs:
tipus: "1"
- path: letoltes.php
categorymappings: ["!", 70, 39, 57]
inputs:
tipus: "2"
- path: xxx.php
categorymappings: [70, 39, 57]
inputs:
$raw: "{{range .Categories}}category[]={{.}}&{{end}}"
name: "{{if .Query.IMDBID}}http://www.imdb.com/title/{{ .Query.IMDBID }}{{else}}{{ .Query.Keywords }}{{end}}"
imdb_search: "{{ if .Query.IMDBID }}yes{{else}}{{end}}"
tipus: "1"
k: "yes"
tipuska: "1"
rows:
@@ -87,16 +96,16 @@
selector: a[href^="details.php?id="] > b
attribute: title
filters:
- name: regexp
args: "^Torrent neve: (.*?)<br />"
- name: re_replace
args: ["^Torrent neve: ", ""]
- name: re_replace
args: ["<br />.*", ""]
description:
selector: a[href^="details.php?id="] > b
attribute: title
filters:
- name: strdump
- name: regexp
args: "<br />(.*)"
- name: strdump
category:
selector: a[href*="&category[]="]
attribute: href

View File

@@ -1,123 +1,132 @@
---
site: mteamtp
name: M-Team - TP
description: "A chinese tracker"
language: zh-cn
type: private
encoding: UTF-8
links:
- https://tp.m-team.cc
caps:
categories:
401: Movies/SD # Movie(電影)/SD
419: Movies/HD # Movie(電影)/HD
420: Movies/DVD # Movie(電影)/DVDiSo
421: Movies/BluRay # Movie(電影)/Blu-Ray
439: Movies/Other # Movie(電影)/Remux
403: TV/SD # TV Series(影劇/綜藝)/SD
402: TV/HD # TV Series(影劇/綜藝)/HD
435: TV/SD # TV Series(影劇/綜藝)/DVDiSo
438: TV/HD # TV Series(影劇/綜藝)/BD
404: TV/Documentary # 紀錄教育
405: TV/Anime # Anime(動畫)
406: Audio/Video # MV(演唱)
408: Audio/Other # Music(AAC/ALAC)
434: Audio # Music(無損)
407: TV/Sport # Sports(運動)
422: PC/0day # Software(軟體)
423: PC/Games # PCGame(PC遊戲)
427: Books # eBook(電子書)
409: Other # Misc(其他)
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
ratio:
path: /torrents.php
selector: table#info_block
filters:
- name: regexp
args: "Ratio:\\s(.*?)\\s\\s"
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
spstate: "0"
inclbookmarked: "0"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: "0"
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[title][href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
banner:
selector: img[alt="torrent thumbnail"]
attribute: src
filters:
- name: replace
args: ["pic/nopic.jpg", ""]
size:
selector: td.rowfollow:nth-child(5)
grabs:
selector: td.rowfollow:nth-child(8)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
date:
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
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)
---
site: mteamtp
name: M-Team - TP
description: "A chinese tracker"
language: zh-cn
type: private
encoding: UTF-8
links:
- https://tp.m-team.cc
caps:
categorymappings:
- {id: 401, cat: Movies/SD, desc: "Movie(電影)/SD"}
- {id: 419, cat: Movies/HD, desc: "Movie(電影)/HD"}
- {id: 420, cat: Movies/DVD, desc: "Movie(電影)/DVDiSo"}
- {id: 421, cat: Movies/BluRay, desc: "Movie(電影)/Blu-Ray"}
- {id: 439, cat: Movies/Other, desc: "Movie(電影)/Remux"}
- {id: 403, cat: TV/SD, desc: "TV Series(影劇/綜藝)/SD"}
- {id: 402, cat: TV/HD, desc: "TV Series(影劇/綜藝)/HD"}
- {id: 435, cat: TV/SD, desc: "TV Series(影劇/綜藝)/DVDiSo"}
- {id: 438, cat: TV/HD, desc: "TV Series(影劇/綜藝)/BD"}
- {id: 404, cat: TV/Documentary, desc: "紀錄教育"}
- {id: 405, cat: TV/Anime, desc: "Anime(動畫)"}
- {id: 406, cat: Audio/Video, desc: "MV(演唱)"}
- {id: 408, cat: Audio/Other, desc: "Music(AAC/ALAC)"}
- {id: 434, cat: Audio, desc: "Music(無損)"}
- {id: 407, cat: TV/Sport, desc: "Sports(運動)"}
- {id: 422, cat: PC/0day, desc: "Software(軟體)"}
- {id: 423, cat: PC/Games, desc: "PCGame(PC遊戲)"}
- {id: 427, cat: Books, desc: "eBook(電子書)"}
- {id: 409, cat: Other, desc: "Misc(其他)"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
ratio:
path: /torrents.php
selector: table#info_block
filters:
- name: regexp
args: "Ratio:\\s(.*?)\\s\\s"
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "0"
spstate: "0"
inclbookmarked: "0"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: "0"
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[title][href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
banner:
selector: img[alt="torrent thumbnail"]
attribute: src
filters:
- name: replace
args: ["pic/nopic.jpg", ""]
size:
selector: td.rowfollow:nth-child(5)
grabs:
selector: td.rowfollow:nth-child(8)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
date:
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
date:
selector: td.rowfollow:nth-child(4) > span[title]
optional: true
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
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

View File

@@ -1,99 +1,99 @@
---
site: myspleen
name: MySpleen
language: en-us
type: private
encoding: UTF-8
links:
- https://www.myspleen.org
caps:
categories:
31: TV # Adult Swim
30: TV # Animation
25: TV # Cartoon Network
3: TV # Comedy
26: TV # Comedy Central
24: TV # MST3K
28: TV # MTV
29: TV # Nick
20: Other # Other
32: TV # Star Wars
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: "/"
error:
- selector: div#content:has(h2:contains("Login Failed"))
test:
path: /browse.php
selector: span.key:contains("Ratio") + span.value
ratio:
path: /browse.php
selector: span.key:contains("Ratio") + span.value
search:
path: /browse.php
method: post
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
title: "0"
rows:
selector: table#main-torrents > tbody > tr
fields:
title:
selector: td.tor-name > a
attribute: title
category:
selector: td[class^="cat-"] > a
attribute: href
filters:
- name: querystring
args: cat
details:
selector: td.tor-name > a
attribute: href
download:
selector: td.tor-down > a
attribute: href
files:
selector: td:nth-child(5)
size:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(9)
filters:
- name: regexp
args: "(\\d+)"
seeders:
selector: td:nth-child(10)
filters:
- name: regexp
args: "^(\\d+)"
leechers:
selector: td:nth-child(11)
filters:
- name: regexp
args: "^(\\d+)"
date:
selector: td:nth-child(7)
downloadvolumefactor:
case:
span.star: "0"
span.fltime: "0"
":root li[id=\"alert-fl\"][class=\"alert\"]:contains(\"Freeleech ends in \")": 0
"*": "1"
uploadvolumefactor:
case:
---
site: myspleen
name: MySpleen
language: en-us
type: private
encoding: UTF-8
links:
- https://www.myspleen.org
caps:
categorymappings:
- {id: 31, cat: TV, desc: "Adult Swim"}
- {id: 30, cat: TV, desc: "Animation"}
- {id: 25, cat: TV, desc: "Cartoon Network"}
- {id: 3, cat: TV, desc: "Comedy"}
- {id: 26, cat: TV, desc: "Comedy Central"}
- {id: 24, cat: TV, desc: "MST3K"}
- {id: 28, cat: TV, desc: "MTV"}
- {id: 29, cat: TV, desc: "Nick"}
- {id: 20, cat: Other, desc: "Other"}
- {id: 32, cat: TV, desc: "Star Wars"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: "/"
error:
- selector: div#content:has(h2:contains("Login Failed"))
test:
path: /browse.php
selector: span.key:contains("Ratio") + span.value
ratio:
path: /browse.php
selector: span.key:contains("Ratio") + span.value
search:
path: /browse.php
method: post
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
title: "0"
rows:
selector: table#main-torrents > tbody > tr
fields:
title:
selector: td.tor-name > a
attribute: title
category:
selector: td[class^="cat-"] > a
attribute: href
filters:
- name: querystring
args: cat
details:
selector: td.tor-name > a
attribute: href
download:
selector: td.tor-down > a
attribute: href
files:
selector: td:nth-child(5)
size:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(9)
filters:
- name: regexp
args: "(\\d+)"
seeders:
selector: td:nth-child(10)
filters:
- name: regexp
args: "^(\\d+)"
leechers:
selector: td:nth-child(11)
filters:
- name: regexp
args: "^(\\d+)"
date:
selector: td:nth-child(7)
downloadvolumefactor:
case:
span.star: "0"
span.fltime: "0"
":root li[id=\"alert-fl\"][class=\"alert\"]:contains(\"Freeleech ends in \")": 0
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -1,152 +1,152 @@
---
site: nachtwerk
name: Nachtwerk
language: de-de
type: private
encoding: ISO-8859-15
links:
- https://nwtracker.com/
caps:
categories:
75: Movies/3D # Filme - 3D
34: Movies # Filme - Xvid / x264
55: Movies/BluRay # Filme - Blu-Ray
20: Movies/DVD # Filme - DVD-R
71: Movies/HD # Filme - HD 1080p
70: Movies/HD # Filme - HD 720p
35: Movies/Foreign # Filme - Inter
104: Movies/HD # Filme - UHD
107: Movies/Other # Filme - Remux
7: TV/SD # Serien - Xvid / x264
72: TV/HD # Serien - HD
82: TV/Foreign # Serien - Inter
69: TV # Serien - Pack's
42: TV # Serien - TV Show
105: TV/HD # Serien - UHD
51: XXX # XXX - Xvid / x264
73: XXX # XXX - HD
84: XXX # XXX - Pack's
85: XXX # XXX - Sonstiges
102: XXX # XXX - Hentai
103: XXX # XXX - UHD
6: Audio/MP3 # Audio - MP3
74: Audio/Lossless # Audio - Flac
86: Audio/Video # Audio - Videos
24: Audio/Audiobook # Audio - Hörspiel/Hörbuch
93: PC/Mac # Appz - Mac
67: PC/0day # Appz - Windows
31: PC/Phone-Other # Appz - Handy
81: PC # Appz - Sonstiges
25: TV/Documentary # Dokus - Xvid / x264
76: TV/Documentary # Dokus - HD
99: TV/Documentary # Dokus - Pack's
100: TV/Documentary # Dokus - 3D
106: TV/Documentary # Dokus - UHD
90: Console/PS3 # Games - PSX
56: Console/Wii # Games - WII
43: Console/Xbox # Games - XboX
4: PC/Games # Games - PC
88: Console/NDS # Games - xDS
91: PC/Mac # Games - Mac
92: Console # Games - Sonstiges
23: TV/Anime # Anime - Xvid / x264
80: TV/Anime # Anime - HD
98: TV/Anime # Anime - Serien
94: Books/Magazines # eBooks - Magazine/Zeitungen
95: Books/Comics # eBooks - Comics
30: Books # eBooks - Bücher
96: TV/Sport # Sport - Wrestling
97: TV/Sport # Sport - Fussball
45: TV/Sport # Sport - Sonstiges
9: Other # Diverses - Sonstiges
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /browse.php
download:
selector: a[href^="download.php?torrent="]
search:
path: /browse.php
method: post
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
spstate: "0"
inclbookmarked: "0"
search_area: "0"
search_mode: "0"
rows:
selector: table.tableinborder[cellspacing="1"][cellpadding="0"] > tbody > tr
fields:
title:
selector: a[href^="details.php?id="]
filters:
- name: replace
args: ["[NW] ", ""]
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php?id=", "thanks1.php?torrentid="]
banner:
selector: a[onmouseover][href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=.*'\\);"
size:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(1)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
files:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(2)
grabs:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(3) > b:nth-child(1)
seeders:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(2) > b:nth-child(1)
leechers:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(2) > b:nth-child(3)
date:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(5)
filters:
- name: replace
args: ["\xA0", " "]
- name: append
args: " +01:00"
- name: dateparse
args: "02.01.2006 15:04:05 -07:00"
downloadvolumefactor:
case:
img[src="pic/onlyuploadd.gif"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
---
site: nachtwerk
name: Nachtwerk
language: de-de
type: private
encoding: ISO-8859-15
links:
- https://nwtracker.com/
caps:
categorymappings:
- {id: 75, cat: Movies/3D, desc: "Filme - 3D"}
- {id: 34, cat: Movies, desc: "Filme - Xvid / x264"}
- {id: 55, cat: Movies/BluRay, desc: "Filme - Blu-Ray"}
- {id: 20, cat: Movies/DVD, desc: "Filme - DVD-R"}
- {id: 71, cat: Movies/HD, desc: "Filme - HD 1080p"}
- {id: 70, cat: Movies/HD, desc: "Filme - HD 720p"}
- {id: 35, cat: Movies/Foreign, desc: "Filme - Inter"}
- {id: 104, cat: Movies/HD, desc: "Filme - UHD"}
- {id: 107, cat: Movies/Other, desc: "Filme - Remux"}
- {id: 7, cat: TV/SD, desc: "Serien - Xvid / x264"}
- {id: 72, cat: TV/HD, desc: "Serien - HD"}
- {id: 82, cat: TV/Foreign, desc: "Serien - Inter"}
- {id: 69, cat: TV, desc: "Serien - Pack's"}
- {id: 42, cat: TV, desc: "Serien - TV Show"}
- {id: 105, cat: TV/HD, desc: "Serien - UHD"}
- {id: 51, cat: XXX, desc: "XXX - Xvid / x264"}
- {id: 73, cat: XXX, desc: "XXX - HD"}
- {id: 84, cat: XXX, desc: "XXX - Pack's"}
- {id: 85, cat: XXX, desc: "XXX - Sonstiges"}
- {id: 102, cat: XXX, desc: "XXX - Hentai"}
- {id: 103, cat: XXX, desc: "XXX - UHD"}
- {id: 6, cat: Audio/MP3, desc: "Audio - MP3"}
- {id: 74, cat: Audio/Lossless, desc: "Audio - Flac"}
- {id: 86, cat: Audio/Video, desc: "Audio - Videos"}
- {id: 24, cat: Audio/Audiobook, desc: "Audio - Hörspiel/Hörbuch"}
- {id: 93, cat: PC/Mac, desc: "Appz - Mac"}
- {id: 67, cat: PC/0day, desc: "Appz - Windows"}
- {id: 31, cat: PC/Phone-Other, desc: "Appz - Handy"}
- {id: 81, cat: PC, desc: "Appz - Sonstiges"}
- {id: 25, cat: TV/Documentary, desc: "Dokus - Xvid / x264"}
- {id: 76, cat: TV/Documentary, desc: "Dokus - HD"}
- {id: 99, cat: TV/Documentary, desc: "Dokus - Pack's"}
- {id: 100, cat: TV/Documentary, desc: "Dokus - 3D"}
- {id: 106, cat: TV/Documentary, desc: "Dokus - UHD"}
- {id: 90, cat: Console/PS3, desc: "Games - PSX"}
- {id: 56, cat: Console/Wii, desc: "Games - WII"}
- {id: 43, cat: Console/Xbox, desc: "Games - XboX"}
- {id: 4, cat: PC/Games, desc: "Games - PC"}
- {id: 88, cat: Console/NDS, desc: "Games - xDS"}
- {id: 91, cat: PC/Mac, desc: "Games - Mac"}
- {id: 92, cat: Console, desc: "Games - Sonstiges"}
- {id: 23, cat: TV/Anime, desc: "Anime - Xvid / x264"}
- {id: 80, cat: TV/Anime, desc: "Anime - HD"}
- {id: 98, cat: TV/Anime, desc: "Anime - Serien"}
- {id: 94, cat: Books/Magazines, desc: "eBooks - Magazine/Zeitungen"}
- {id: 95, cat: Books/Comics, desc: "eBooks - Comics"}
- {id: 30, cat: Books, desc: "eBooks - Bücher"}
- {id: 96, cat: TV/Sport, desc: "Sport - Wrestling"}
- {id: 97, cat: TV/Sport, desc: "Sport - Fussball"}
- {id: 45, cat: TV/Sport, desc: "Sport - Sonstiges"}
- {id: 9, cat: Other, desc: "Diverses - Sonstiges"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /browse.php
download:
selector: a[href^="download.php?torrent="]
search:
path: /browse.php
method: post
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
spstate: "0"
inclbookmarked: "0"
search_area: "0"
search_mode: "0"
rows:
selector: table.tableinborder[cellspacing="1"][cellpadding="0"] > tbody > tr
fields:
title:
selector: a[href^="details.php?id="]
filters:
- name: replace
args: ["[NW] ", ""]
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php?id=", "thanks1.php?torrentid="]
banner:
selector: a[onmouseover][href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=.*'\\);"
size:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(1)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
files:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(2)
grabs:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(3) > b:nth-child(1)
seeders:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(2) > b:nth-child(1)
leechers:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(2) > b:nth-child(3)
date:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(5)
filters:
- name: replace
args: ["\xA0", " "]
- name: append
args: " +01:00"
- name: dateparse
args: "02.01.2006 15:04:05 -07:00"
downloadvolumefactor:
case:
img[src="pic/onlyuploadd.gif"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -1,99 +1,99 @@
---
site: nethd
name: NetHD
description: "A vietnamese tracker"
language: vi-vn
type: semi-private
encoding: UTF-8
links:
- http://nethd.org/
caps:
categories:
401: Movies # Movies
402: Audio # Music
403: PC/Games # Game
404: PC # Software
405: Other # Image
406: Books # Book
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: form#loginform > span.warning
test:
path: /torrents.php
ratio:
path: /torrents.php
selector: div.user-info-extend > dl > dt:contains("Ratio:") + dd
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: 0
spstate: 0
inclbookmarked: 0
incldead: 1
rows:
selector: tr:has(td.name)
fields:
title:
selector: td.name > div > a.poster-preview[title]
attribute: title
category:
selector: td.category > a
attribute: href
filters:
- name: querystring
args: cat
details:
selector: td.name > div > a.poster-preview[title]
attribute: href
comments:
selector: a[href*="#comments"]
attribute: href
download:
selector: a.bookmark[onclick]
attribute: onclick
filters:
- name: replace
args: [",false)", ""]
- name: replace
args: ["return bookmark(", "download.php?id="]
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
date:
selector: td:nth-child(4)
filters:
- name: append
args: " +0700"
- name: dateparse
args: "2006-01-0215:04:05 -0700"
downloadvolumefactor:
case:
"span.label:contains(\"Free\")": "0"
"span.label:contains(\"50%\")": "0.5"
"*": "1"
uploadvolumefactor:
case:
"span.label:contains(\"2X\")": "2"
---
site: nethd
name: NetHD
description: "A vietnamese tracker"
language: vi-vn
type: semi-private
encoding: UTF-8
links:
- http://nethd.org/
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies"}
- {id: 402, cat: Audio, desc: "Music"}
- {id: 403, cat: PC/Games, desc: "Game"}
- {id: 404, cat: PC, desc: "Software"}
- {id: 405, cat: Other, desc: "Image"}
- {id: 406, cat: Books, desc: "Book"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: form#loginform > span.warning
test:
path: /torrents.php
ratio:
path: /torrents.php
selector: div.user-info-extend > dl > dt:contains("Ratio:") + dd
search:
path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: 0
spstate: 0
inclbookmarked: 0
incldead: 1
rows:
selector: tr:has(td.name)
fields:
title:
selector: td.name > div > a.poster-preview[title]
attribute: title
category:
selector: td.category > a
attribute: href
filters:
- name: querystring
args: cat
details:
selector: td.name > div > a.poster-preview[title]
attribute: href
comments:
selector: a[href*="#comments"]
attribute: href
download:
selector: a.bookmark[onclick]
attribute: onclick
filters:
- name: replace
args: [",false)", ""]
- name: replace
args: ["return bookmark(", "download.php?id="]
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
date:
selector: td:nth-child(4)
filters:
- name: append
args: " +0700"
- name: dateparse
args: "2006-01-0215:04:05 -0700"
downloadvolumefactor:
case:
"span.label:contains(\"Free\")": "0"
"span.label:contains(\"50%\")": "0.5"
"*": "1"
uploadvolumefactor:
case:
"span.label:contains(\"2X\")": "2"
"*": "1"

View File

@@ -1,121 +1,121 @@
---
site: newretro
name: The New Retro
description: "A German gerneral tracker"
language: de-de
type: private
encoding: windows-1252
links:
- http://new-retro.eu/
caps:
categories:
101: TV/Anime # Filme - Animie
102: Movies/BluRay # Filme - Bluray
131: Movies/Other # Filme - Bollywood
103: Movies/DVD # Filme - DVD
104: Movies/DVD # Filme - DVD-R
132: Movies/DVD # Filme - HD2DVD
130: Movies # Filme - Klassiker
105: Movies # Filme - x264
106: Movies # Filme - XviD / DivX
69: XXX # XXX
124: Audio # Musik - Alben
122: Audio/Audiobook # Musik - Hörbuch
123: Audio # Musik - Mixe
133: Audio/MP3 # Musik - MP3
125: Audio/Video # Musik - Video
113: PC # Programme - Linux
114: PC/Mac # Programme - Mac
115: PC # Programme - Windows
117: TV # Allgemein - Serien
116: TV/Documentary # Serien - Dokus
118: TV/Sport # Serien - Sport
119: Other # Bilder
120: Books # Ebook
127: Other # Für Unsere kleinsten
121: Other # Handy Stuff
129: Other # Sonstiges
109: Other # Spiele - Handy
112: Console # Spiele - Konsolen
111: PC/Games # Spiele - Mac / Linux
110: PC/Games # Spiele - PC
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: "/"
error:
- selector: table.tableinborder:contains("Anmeldung Gescheitert!") > tbody > tr > td.tablea
test:
path: /usercp.php
ratio:
path: /usercp.php
selector: div#lmtd table > tbody > tr:contains("Ratio:") > td:nth-child(2)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
showsearch: "1"
orderby: "added"
sort: "desc"
incldead: "1"
rows:
selector: table.tableinborder[summary] > tbody > tr
filters:
- name: andmatch
fields:
download:
selector: a[href^="download.php?torrent="]
attribute: href
title:
selector: a[href^="details.php?id="]:has(b)
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
comments:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(4) > a
attribute: href
size:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(1)
grabs:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(3) > b
files:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(2)
seeders:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(2) > b:nth-child(1)
leechers:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(2) > b:nth-child(3)
date:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(5)
filters:
- name: replace
args: ["\u00a0", " "]
- name: dateparse
args: "02.01.2006 15:04:05"
downloadvolumefactor:
case:
"font[color=\"red\"]:contains(\"Only Upload\")": "0"
"*": "1"
uploadvolumefactor:
case:
---
site: newretro
name: The New Retro
description: "A German gerneral tracker"
language: de-de
type: private
encoding: windows-1252
links:
- http://new-retro.eu/
caps:
categorymappings:
- {id: 101, cat: TV/Anime, desc: "Filme - Animie"}
- {id: 102, cat: Movies/BluRay, desc: "Filme - Bluray"}
- {id: 131, cat: Movies/Other, desc: "Filme - Bollywood"}
- {id: 103, cat: Movies/DVD, desc: "Filme - DVD"}
- {id: 104, cat: Movies/DVD, desc: "Filme - DVD-R"}
- {id: 132, cat: Movies/DVD, desc: "Filme - HD2DVD"}
- {id: 130, cat: Movies, desc: "Filme - Klassiker"}
- {id: 105, cat: Movies, desc: "Filme - x264"}
- {id: 106, cat: Movies, desc: "Filme - XviD / DivX"}
- {id: 69, cat: XXX, desc: " XXX"}
- {id: 124, cat: Audio, desc: "Musik - Alben"}
- {id: 122, cat: Audio/Audiobook, desc: "Musik - Hörbuch"}
- {id: 123, cat: Audio, desc: "Musik - Mixe"}
- {id: 133, cat: Audio/MP3, desc: "Musik - MP3"}
- {id: 125, cat: Audio/Video, desc: "Musik - Video"}
- {id: 113, cat: PC, desc: "Programme - Linux"}
- {id: 114, cat: PC/Mac, desc: "Programme - Mac"}
- {id: 115, cat: PC, desc: "Programme - Windows"}
- {id: 117, cat: TV, desc: "Allgemein - Serien"}
- {id: 116, cat: TV/Documentary, desc: "Serien - Dokus"}
- {id: 118, cat: TV/Sport, desc: "Serien - Sport"}
- {id: 119, cat: Other, desc: "Bilder"}
- {id: 120, cat: Books, desc: "Ebook"}
- {id: 127, cat: Other, desc: "Für Unsere kleinsten"}
- {id: 121, cat: Other, desc: "Handy Stuff"}
- {id: 129, cat: Other, desc: "Sonstiges"}
- {id: 109, cat: Other, desc: "Spiele - Handy"}
- {id: 112, cat: Console, desc: "Spiele - Konsolen"}
- {id: 111, cat: PC/Games, desc: "Spiele - Mac / Linux"}
- {id: 110, cat: PC/Games, desc: "Spiele - PC"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: "/"
error:
- selector: table.tableinborder:contains("Anmeldung Gescheitert!") > tbody > tr > td.tablea
test:
path: /usercp.php
ratio:
path: /usercp.php
selector: div#lmtd table > tbody > tr:contains("Ratio:") > td:nth-child(2)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
showsearch: "1"
orderby: "added"
sort: "desc"
incldead: "1"
rows:
selector: table.tableinborder[summary] > tbody > tr
filters:
- name: andmatch
fields:
download:
selector: a[href^="download.php?torrent="]
attribute: href
title:
selector: a[href^="details.php?id="]:has(b)
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
comments:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(4) > a
attribute: href
size:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(1)
grabs:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(3) > b
files:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(1) > b:nth-child(2)
seeders:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(2) > b:nth-child(1)
leechers:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(2) > b:nth-child(3)
date:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(5)
filters:
- name: replace
args: ["\u00a0", " "]
- name: dateparse
args: "02.01.2006 15:04:05"
downloadvolumefactor:
case:
"font[color=\"red\"]:contains(\"Only Upload\")": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,74 @@
---
site: nyaa
name: Nyaa
language: en-en
type: public
encoding: UTF-8
links:
- https://www.nyaa.se/
settings: []
caps:
categorymappings:
# Anime
- {id: 1_32, cat: TV/Anime, desc: "Anime music videos"}
- {id: 1_37, cat: TV/Anime, desc: "English subtitled animes"}
- {id: 1_38, cat: TV/Anime, desc: "Non-english subtitled animes"}
- {id: 1_11, cat: TV/Anime, desc: "Raw animes"}
# Audio
- {id: 3_14, cat: Audio, desc: "Lossless audio"}
- {id: 3_15, cat: Audio, desc: "Lossy audio"}
# Literature
- {id: 2_12, cat: Books, desc: "Literature english translated"}
- {id: 2_39, cat: Books, desc: "Literature non-english translated"}
- {id: 2_13, cat: Books, desc: "Raw literature"}
# Software
- {id: 6_23, cat: PC/ISO, desc: "Applications"}
- {id: 6_24, cat: PC/Games, desc: "Games"}
modes:
search: [q]
tv-search: [q, season, ep]
search:
path: /
inputs:
page: "search"
term: "{{ .Query.Keywords}}"
rows:
selector: tr.tlistrow
fields:
title:
selector: td.tlistname a
category:
selector: td.tlisticon a
attribute: href
filters:
- name: split
args: [ "=", -1 ]
details:
selector: td.tlistname a
attribute: href
download:
selector: a[title="Download"]
attribute: href
size:
selector: td.tlistsize
seeders:
text: 0
seeders:
selector: td.tlistsn
optional: true
leechers:
text: 0
leechers:
selector: td.tlistln
optional: true
grabs:
selector: td.tlistdn
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -1,109 +1,109 @@
---
site: hdpter
name: HDPter
language: zh-cn
type: private
encoding: UTF-8
links:
- https://www.hdpter.net/
caps:
categories:
401: Movies/BluRay # Movies Blu-ray
402: Movies/HD # Movies REMUX
419: Movies/HD # Movies 1080p
404: Movies/HD # Movies 720p
405: Movies/3D # Movies 3D
406: Movies/DVD # Movies DVD
407: Movies/WEBDL # Movies WEB-DL
408: Movies/SD # Movies HDTV
409: Movies/Other # Movies iPad
410: TV/Documentary # Documentaries
411: TV/Anime # Animations
412: TV # TV Series
413: TV # TV Shows
414: Audio/Video # Music Videos
415: TV/Sport # Sports
416: Audio # Music
420: Other # Other
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [imdbid]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("登录失败"))
test:
path: /torrents.php
search:
path: /torrents.php
method: get
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title:
selector: a[href^="details.php?id="]
title|optional:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
imdb|optional:
selector: div.imdb_100 > a
attribute: href
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
date:
selector: td:nth-child(4) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
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
---
site: ourbits
name: Ourbits
language: zh-cn
type: private
encoding: UTF-8
links:
- https://ourbits.club/
caps:
categorymappings:
- {id: 401, cat: Movies/BluRay, desc: "Movies Blu-ray"}
- {id: 402, cat: Movies/HD, desc: "Movies REMUX"}
- {id: 419, cat: Movies/HD, desc: "Movies 1080p"}
- {id: 404, cat: Movies/HD, desc: "Movies 720p"}
- {id: 405, cat: Movies/3D, desc: "Movies 3D"}
- {id: 406, cat: Movies/DVD, desc: "Movies DVD"}
- {id: 407, cat: Movies/WEBDL, desc: "Movies WEB-DL"}
- {id: 408, cat: Movies/SD, desc: "Movies HDTV"}
- {id: 409, cat: Movies/Other, desc: "Movies iPad"}
- {id: 410, cat: TV/Documentary, desc: "Documentaries"}
- {id: 411, cat: TV/Anime, desc: "Animations"}
- {id: 412, cat: TV, desc: "TV Series"}
- {id: 413, cat: TV, desc: "TV Shows"}
- {id: 414, cat: Audio/Video, desc: "Music Videos"}
- {id: 415, cat: TV/Sport, desc: "Sports"}
- {id: 416, cat: Audio, desc: "Music"}
- {id: 420, cat: Other, desc: "Other"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [imdbid]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("登录失败"))
test:
path: /torrents.php
search:
path: /torrents.php
method: get
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title:
selector: a[href^="details.php?id="]
title|optional:
selector: a[title][href^="details.php?id="]
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
imdb|optional:
selector: div.imdb_100 > a
attribute: href
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
date:
selector: td:nth-child(4) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
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

View File

@@ -0,0 +1,158 @@
---
site: passionetorrent
name: Passione Torrent
language: it-it
type: private
encoding: UTF-8
links:
- http://www.passionetorrent.info/
caps:
categorymappings:
# VIDEO
- {id: 1, cat: Movies, desc: "News Cinema"}
- {id: 2, cat: Movies/SD, desc: "BDRip"}
- {id: 17, cat: Movies/SD, desc: "DVDRip"}
- {id: 21, cat: TV, desc: "TV"}
- {id: 22, cat: Movies/HD, desc: "720p/1080p"}
- {id: 23, cat: Movies/HD, desc: "1080p HRS x265 HEVC"}
- {id: 42, cat: Movies/HD, desc: "2160p 4k UltraHD HRS"}
- {id: 30, cat: TV/Anime, desc: "Cartoons"}
- {id: 38, cat: Movies/SD, desc: "BD-BR-DvdRip sub ita"}
- {id: 39, cat: Movies/SD, desc: "Introvabili"}
- {id: 40, cat: TV/Documentary, desc: "documentaries"}
- {id: 24, cat: Movies/SD, desc: "Filmografie"}
# MUSICA
- {id: 32, cat: Audio, desc: "Italian music"}
- {id: 41, cat: Audio, desc: "Discography"}
- {id: 33, cat: Audio, desc: "MusicaInternazionale"}
- {id: 34, cat: Audio, desc: "Compilation"}
# PDF
- {id: 28, cat: Books, desc: "Ebook"}
# GAMES
- {id: 14, cat: PC/Games, desc: "PC Games"}
# SOFTWARE
- {id: 7, cat: PC/ISO, desc: "Sistemi operativi"}
- {id: 36, cat: PC/ISO, desc: "Windows APP"}
- {id: 9, cat: PC/Phone-IOS, desc: "Apple APP"}
- {id: 37, cat: PC/Phone-Android, desc: "Android APP"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: body[onLoad^="makeAlert('"]
message:
selector: body[onLoad^="makeAlert('"]
attribute: onLoad
filters:
- name: replace
args: ["makeAlert('Error' , '", ""]
- name: replace
args: ["');", ""]
test:
path: index.php
download:
before:
path: "thanks.php"
method: "post"
inputs:
infohash: "{{ .DownloadUri.Query.id }}"
thanks: "1"
rndval: "1487013827343"
selector: a[href^="download.php?id="]
search:
path: index.php
keywordsfilters:
# most ITA TV torrents are in XXxYY format, so we search without S/E prefixes and filter later
- name: re_replace
args: ["S0?(\\d{1,2})", " $1 "]
- name: re_replace
args: ["E(\\d{2,3})", " $1 "]
- name: replace
args: ["-", ""]
inputs:
search: "{{if .Query.IMDBID}}{{ .Query.IMDBIDShort }}{{else}}{{ .Keywords }}{{end}}"
page: "torrents"
category: "{{range .Categories}}{{.}};{{end}}"
options: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
active: "0"
rows:
selector: table > tbody > tr > td > table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="])
fields:
download:
selector: a[href^="index.php?page=downloadcheck&id="]
attribute: href
title:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
filters:
# normalize to SXXEYY format
- name: re_replace
args: ["(\\d{2})x(\\d{2})", "S$1E$2"]
- name: re_replace
args: ["(\\d{1})x(\\d{2})", "S0$1E$2"]
banner:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) "
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
details:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: href
size:
selector: td:nth-last-child(4)
date:
selector: td:nth-last-child(8)
filters:
- name: append
args: " +01:00"
- name: dateparse
args: "02/01/2006 -07:00"
grabs:
selector: td:nth-last-child(7)
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-last-child(5)
leechers:
selector: td:nth-last-child(6)
downloadvolumefactor:
case:
img[alt="Gold 100% Free"]: "0"
img[alt="Silver 50% Free"]: "0.5"
img[alt="Bronze 25% Free"]: "0.75"
"*": "1"
uploadvolumefactor:
case:
img[alt="2x Upload Multiplier"]: "2"
img[alt="3x Upload Multiplier"]: "3"
img[alt="4x Upload Multiplier"]: "4"
img[alt="5x Upload Multiplier"]: "5"
img[alt="6x Upload Multiplier"]: "6"
img[alt="7x Upload Multiplier"]: "7"
img[alt="8x Upload Multiplier"]: "8"
img[alt="9x Upload Multiplier"]: "9"
img[alt="10x Upload Multiplier"]: "10"
"*": "1"

View File

@@ -1,115 +1,115 @@
---
site: polishsource
name: PolishSource
language: pl-pl
type: private
encoding: ISO-8859-2
links:
- https://polishsource.cz/
caps:
categories:
12: Movies/SD # Movies/SD
11: Movies/HD # Movies/HD
45: Movies/3D # Movies/3D
4: Movies/DVD # Movies/DVD
43: Movies/BluRay # Movies/BD
10: TV/SD # TV/SD
39: TV/HD # TV/HD
8: PC/Games # Games/PC
3: Console # Games/Consoles
5: Books # E-Books
42: Audio # Music
18: PC/0day # Apps
13: XXX # XXX
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
image: img[src="img.php"]
input: vImageCodP
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
- selector: td.embedded:has(h2:contains("Error"))
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
scene: "0"
pl: "0"
sub: ""
search_in: "title"
rows:
selector: table#restable > tbody > tr:has(a[href^="details.php?id="])
fields:
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="downloadssl.php?id="]
attribute: href
description|optional:
selector: td:nth-child(2) > small
filters:
- name: prepend
args: "Genre: "
- name: append
args: "\n<br>"
description|optional|append|1:
selector: img[src="pic/pl.png"]
filters:
- name: append
args: "Language: polish\n<br>"
description|optional|append|2:
selector: img[src="pic/napisy.png"]
filters:
- name: append
args: "Subbed\n<br>"
imdb|optional:
selector: a[href^="http://www.imdb.com/title/tt"]
grabs:
selector: td:nth-child(6)
filters:
- name: regexp
args: (\d+)
size:
selector: td:nth-child(5)
date:
selector: td:nth-child(4)
filters:
- name: append
args: " +00:00"
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"
---
site: polishsource
name: PolishSource
language: pl-pl
type: private
encoding: ISO-8859-2
links:
- https://polishsource.cz/
caps:
categorymappings:
- {id: 12, cat: Movies/SD, desc: "Movies/SD"}
- {id: 11, cat: Movies/HD, desc: "Movies/HD"}
- {id: 45, cat: Movies/3D, desc: "Movies/3D"}
- {id: 4, cat: Movies/DVD, desc: "Movies/DVD"}
- {id: 43, cat: Movies/BluRay, desc: "Movies/BD"}
- {id: 10, cat: TV/SD, desc: "TV/SD"}
- {id: 39, cat: TV/HD, desc: "TV/HD"}
- {id: 8, cat: PC/Games, desc: "Games/PC"}
- {id: 3, cat: Console, desc: "Games/Consoles"}
- {id: 5, cat: Books, desc: "E-Books"}
- {id: 42, cat: Audio, desc: "Music"}
- {id: 18, cat: PC/0day, desc: "Apps"}
- {id: 13, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
image: img[src="img.php"]
input: vImageCodP
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
- selector: td.embedded:has(h2:contains("Error"))
test:
path: /browse.php
search:
path: /browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
scene: "0"
pl: "0"
sub: ""
search_in: "title"
rows:
selector: table#restable > tbody > tr:has(a[href^="details.php?id="])
fields:
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="downloadssl.php?id="]
attribute: href
description|optional:
selector: td:nth-child(2) > small
filters:
- name: prepend
args: "Genre: "
- name: append
args: "\n<br>"
description|optional|append|1:
selector: img[src="pic/pl.png"]
filters:
- name: append
args: "Language: polish\n<br>"
description|optional|append|2:
selector: img[src="pic/napisy.png"]
filters:
- name: append
args: "Subbed\n<br>"
imdb|optional:
selector: a[href^="http://www.imdb.com/title/tt"]
grabs:
selector: td:nth-child(6)
filters:
- name: regexp
args: (\d+)
size:
selector: td:nth-child(5)
date:
selector: td:nth-child(4)
filters:
- name: append
args: " +00:00"
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

Some files were not shown because too many files have changed in this diff Show More