Compare commits

...

75 Commits

Author SHA1 Message Date
Garfield69
75222975af parabellumhd: fix year input 2025-05-12 07:17:03 +12:00
Garfield69
3d919aa88b Update rudub.yml 2025-05-12 05:50:10 +12:00
Garfield69
030926a549 danishbytes: new cat 2025-05-11 05:31:13 +12:00
Garfield69
90abe2e4d8 Update rudub.yml 2025-05-11 05:30:56 +12:00
Garfield69
84abb69984 dontorrent: new domain 2025-05-10 17:36:24 +12:00
Garfield69
b218635d10 ebook-shares: -> xbitFM v4.1.31 resolves #5515
https://github.com/Prowlarr/Indexers/issues/508
2025-05-10 17:03:10 +12:00
Garfield69
f703702fbd uindex: update cat 2025-05-10 05:41:50 +12:00
Garfield69
1e7074f3ba Update rudub.yml 2025-05-10 05:41:37 +12:00
Garfield69
f4f1c0a33d piratesparadise: use year for keywordless. resolves #15932 2025-05-10 05:41:33 +12:00
Garfield69
51fbb82da1 torrentsir: bump domain 2025-05-09 17:38:21 +12:00
Alessandro
e4b8cfae04 EraiRaws: add custom RSS feed options (#15948) 2025-05-09 17:19:07 +12:00
Garfield69
b89fb33815 parabellumhd: refine year handling 2025-05-09 13:07:52 +12:00
Garfield69
5b0a038f5b superbits: update cat 13. resolves #15985 2025-05-09 08:38:20 +12:00
Garfield69
1b19e3853d torrentqq: bump alternate domain 2025-05-09 05:09:54 +12:00
Garfield69
32e2683927 Update rudub.yml 2025-05-09 05:09:27 +12:00
Garfield69
e39e6b8ed5 kickasstorrents-to: domain updates 2025-05-09 05:09:24 +12:00
Garfield69
4ae36c4f5c 0magnet: domain update 2025-05-09 05:08:57 +12:00
Garfield69
ae7efd5934 assorted unit3d: bump engine tag 2025-05-08 05:53:36 +12:00
Garfield69
54792d3060 abtorrents: cat typo fix 2025-05-08 05:07:35 +12:00
Garfield69
bcf513a122 torrenttip: bump domain 2025-05-08 04:44:29 +12:00
Garfield69
bbe84bfb71 torrentsome: bump domain 2025-05-08 04:44:17 +12:00
Garfield69
7d4f73bd04 Update rudub.yml 2025-05-08 04:44:05 +12:00
Garfield69
abd2674f42 enthralled: removed. resolves #14897 2025-05-08 04:44:01 +12:00
Garfield69
7e2a012d28 zktorrent: bump domain 2025-05-07 17:39:19 +12:00
Garfield69
789a4c37c6 hd-unit3d; limit 100 -> 90 to avoind http 500 after 9.0.7 upgrade 2025-05-07 07:49:54 +12:00
Garfield69
4c0f76dbde parabellum: fix year extraction 2025-05-07 07:10:00 +12:00
Garfield69
19b528cbd7 parabellum: refine year extract 2025-05-07 06:51:09 +12:00
Garfield69
23c4c4e353 torrentqq: bump domain 2025-05-07 06:42:40 +12:00
Garfield69
1c24de57b0 52bt: bump alternate domain 2025-05-07 06:34:17 +12:00
Garfield69
3a045ef7ee uindex: update cat 2025-05-07 06:33:57 +12:00
Garfield69
69df7d7d61 Update rudub.yml 2025-05-07 06:33:46 +12:00
Garfield69
bddba36702 Update README.md 2025-05-07 06:33:41 +12:00
Garfield69
34d9392d85 parabellumhd: extract the year from .Query.Keywords and pass it to the search inputs parm year 2025-05-06 20:43:05 +12:00
Garfield69
57b2eac692 oxtorrent-vip: bump domains 2025-05-06 17:41:01 +12:00
Garfield69
df8779e9ab nortorrent: bump domain 2025-05-06 17:40:35 +12:00
Garfield69
a8504cd3a6 assorted unit3d: bump engine tag 2025-05-06 05:31:03 +12:00
Garfield69
3c2c2afb7f sktorrent-org: only return entries with DL 2025-05-06 05:30:46 +12:00
Garfield69
2cafa025c2 Update rudub.yml 2025-05-06 05:29:24 +12:00
Garfield69
beb3b0de6d oxtorrent-vip: bump domain 2025-05-06 05:29:14 +12:00
Garfield69
2abca57494 divxtotal: new domain 2025-05-05 17:36:57 +12:00
Garfield69
85c5acf0ab Update rudub.yml 2025-05-05 05:16:20 +12:00
Garfield69
adcb01309f parabellumhd: strip season from query and convert temporada back to season 2025-05-04 08:42:38 +12:00
Garfield69
6a20fd4cdf parabellumhd: strip year from keywords, add query.year 2025-05-04 06:18:55 +12:00
Garfield69
1b59de35f2 parabellumhd: add Spanish to the end of the titles 2025-05-04 05:14:05 +12:00
Garfield69
51f5bd90ff Update rudub.yml 2025-05-04 05:13:23 +12:00
Garfield69
148928b3de zktorrent: new selectors for cat title details 2025-05-03 17:41:43 +12:00
Garfield69
c4cc225d92 filmeshdtorrent: clean up 2025-05-03 13:44:20 +12:00
Garfield69
8612ef2153 parabellumhd: add category as a description 2025-05-03 13:39:46 +12:00
garfield69
ace2e6e011 add ParabellumHD a Spanish private site. resolves #15977 (#15979) 2025-05-03 07:46:15 +12:00
Garfield69
0d8353863c Update rudub.yml 2025-05-03 05:28:52 +12:00
Garfield69
2fefae0c58 torrentseeds: removed. resolves #4842 2025-05-02 15:27:18 +12:00
Garfield69
4b98243670 assorted: standardise search path usage 2025-05-02 11:34:20 +12:00
Garfield69
3e4fd585fe okpt: lint 2025-05-02 06:53:42 +12:00
Garfield69
a4cee83367 okpt: update MST 1.5d -> 3d, update config account info 2025-05-02 06:05:53 +12:00
Garfield69
027e6edeee torrentqq: bump alternate domain 2025-05-02 05:44:41 +12:00
Garfield69
3d7111df7a Update rudub.yml 2025-05-02 05:44:27 +12:00
Garfield69
3517a0d1f0 hdt-lafenice: new cat 2025-05-02 05:44:24 +12:00
Lyfer_Lu
9823e8929b 52bt: domain update (#15976) 2025-05-02 05:37:53 +12:00
Bogdan
d0a942a68e passthepopcorn: fix release sorting 2025-05-01 17:05:47 +03:00
Bogdan
38d4a749e0 passthepopcorn: category mapping for search results 2025-05-01 17:05:01 +03:00
Garfield69
0a2236536f samaritano: perpage back to 100 resolves #15786 2025-05-01 04:56:45 +12:00
Garfield69
46dd3f3875 Update rudub.yml 2025-05-01 04:55:42 +12:00
Garfield69
526a96c834 torrenttip: bump domain 2025-04-30 17:45:52 +12:00
Garfield69
351c2563b0 torrentsome: bump domain 2025-04-30 17:45:31 +12:00
Garfield69
4593db5c21 torrentqq: bump domainl 2025-04-30 17:45:18 +12:00
Garfield69
65881c6f57 Update README.md 2025-04-30 13:40:15 +12:00
Garfield69
da2f3a5df3 lapumia: removed. resolves #15719 2025-04-30 13:39:44 +12:00
Garfield69
024149f7ee rotorrent: removed. resolves #15175 2025-04-30 10:49:15 +12:00
Garfield69
e7ef111efc bithdtv: update config inactivity info 2025-04-30 08:17:25 +12:00
Garfield69
c42baa456c aither: bump engine tag 2025-04-30 05:53:18 +12:00
Garfield69
2bbf687c45 learnbits: removed. resolves #12204 2025-04-30 05:52:38 +12:00
Garfield69
a47f3f3ed2 dontorrent: new domain 2025-04-30 05:25:15 +12:00
Garfield69
1c12ee62a2 Update rudub.yml 2025-04-30 05:24:50 +12:00
Garfield69
ab4fe6874f libronube: removed. resolves #15522 2025-04-30 05:24:40 +12:00
Garfield69
3f822fb173 Update rudub.yml 2025-04-29 05:29:55 +12:00
51 changed files with 481 additions and 1333 deletions

View File

@@ -81,9 +81,7 @@ Prior versions of Jackett are no longer supported.
* kickasstorrents.to
* kickasstorrents.ws
* Knaben
* LAPUMiA
* LePorno.info
* Libronube
* LimeTorrents
* LinuxTracker
* Mac Torrents Download
@@ -336,7 +334,6 @@ Prior versions of Jackett are no longer supported.
* Ebooks-Shares [![(invite needed)][inviteneeded]](#)
* Empornium (EMP) [![(invite needed)][inviteneeded]](#)
* eMuwarez
* Enthralled
* eShareNet
* eStone (BigTorrent)
* Exitorrent.org [![(invite needed)][inviteneeded]](#)
@@ -431,12 +428,11 @@ Prior versions of Jackett are no longer supported.
* Lat-Team
* Le Saloon [![(invite needed)][inviteneeded]](#)
* Le-Cinephile
* LearnBits
* LearnFlakes
* Leech24
* LemonHD [![(invite needed)][inviteneeded]](#)
* Lesbians4u
* LetSeed
* LetSeed [![(invite needed)][inviteneeded]](#)
* Libble
* LibraNet (LN)
* LinkoManija
@@ -482,6 +478,7 @@ Prior versions of Jackett are no longer supported.
* OurBits (HDPter)
* P2PBG
* Panda
* ParabellumHD
* Party-Tracker
* PassThePopcorn (PTP) [![(invite needed)][inviteneeded]](#)
* Peeratiko
@@ -528,7 +525,6 @@ Prior versions of Jackett are no longer supported.
* RevolutionTT [![(invite needed)][inviteneeded]](#)
* RocketHD
* Romanian Metal Torrents (RMT)
* RoTorrent
* Rousi
* SAMARITANO
* SATClubbing
@@ -597,7 +593,6 @@ Prior versions of Jackett are no longer supported.
* Torrenting (TT)
* TorrentLeech (TL)
* TorrentLeech.pl [![(invite needed)][inviteneeded]](#)
* TorrentSeeds (TS)
* ToTheGlory (TTG) [![(invite needed)][inviteneeded]](#)
* TrackerMK
* TranceTraffic

View File

@@ -6,12 +6,12 @@ language: en-US
type: public
encoding: UTF-8
links:
- https://0magnet.co/
- https://13mag.net/
- https://16mag.net/
legacylinks:
- https://0magnet.com/
- https://9mag.net/
- https://0magnet.co/
caps:
categories:

View File

@@ -8,13 +8,16 @@ encoding: UTF-8
requestDelay: 2
links:
# Send any content to 52btbtbt@gmail.com to get the latest address. or visit https://521.52btbt.cyou/
- https://www.529053.xyz/
- https://www.529055.xyz/
- https://www.529056.xyz/
- https://www.529058.xyz/
legacylinks:
- https://529050.xyz/
- https://529048.xyz/
- https://529049.xyz/
- https://www.529052.xyz/
- https://www.529053.xyz/
- https://www.529055.xyz/
- https://www.529057.xyz/
caps:
categorymappings:

View File

@@ -17,7 +17,7 @@ caps:
- {id: 20, cat: Audio/Audiobook, desc: "Biography/Memoirs"}
- {id: 30, cat: Audio/Audiobook, desc: "Business"}
- {id: 40, cat: Audio/Audiobook, desc: "Childrens"}
- {id: 70, cat: Audio/Audiobook, desc: "Computers "}
- {id: 70, cat: Audio/Audiobook, desc: "Computers"}
- {id: 260, cat: Audio/Audiobook, desc: "Crime/Thriller"}
- {id: 90, cat: Audio/Audiobook, desc: "Fantasy-General"}
- {id: 100, cat: Audio/Audiobook, desc: "Fantasy-Youth"}

View File

@@ -5,6 +5,7 @@ description: "Aither is a Private Torrent Tracker for HD MOVIES / TV"
language: en-US
type: private
encoding: UTF-8
# status https://status.aither.cc/
links:
- https://aither.cc/
@@ -188,4 +189,4 @@ search:
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 9.0.1
# json UNIT3D 9.0.6

View File

@@ -191,4 +191,4 @@ search:
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 9.0.6
# json UNIT3D 9.0.7

View File

@@ -190,4 +190,4 @@ search:
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# json UNIT3D 9.0.6
# json UNIT3D 9.0.7

View File

@@ -19,9 +19,10 @@ caps:
- {id: 2, cat: TV, desc: "TV"}
- {id: 5, cat: PC/0day, desc: "Apps"}
- {id: 4, cat: PC/Games, desc: "Games"}
- {id: 3, cat: Audio, desc: "Sound"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 8, cat: Books, desc: "Books"}
- {id: 17, cat: Audio/Audiobook, desc: "AudioBooks"}
- {id: 19, cat: Audio, desc: "Podcasts"}
modes:
search: [q]

View File

@@ -10,254 +10,62 @@ links:
caps:
categorymappings:
- {id: 274, cat: Audio/Audiobook, desc: "Audio: Poetry"}
- {id: 1, cat: Audio/Audiobook, desc: "Audio: Adventure"}
- {id: 2, cat: Audio/Audiobook, desc: "Audio: Radio Programs ie Dramas, Talk"}
- {id: 3, cat: Audio/Audiobook, desc: "Audio: Non English"}
- {id: 42, cat: Audio/Audiobook, desc: "Audio: Biography/Memoirs"}
- {id: 4, cat: Audio/Audiobook, desc: "Audio: Business"}
- {id: 5, cat: Audio/Audiobook, desc: "Audio: Childrens"}
- {id: 7, cat: Audio/Audiobook, desc: "Audio: Classics"}
- {id: 41, cat: Audio/Audiobook, desc: "Audio: Comedy"}
- {id: 9, cat: Audio/Audiobook, desc: "Audio: Crime/Mystery/Thriller"}
- {id: 10, cat: Audio/Audiobook, desc: "Audio: Factual"}
- {id: 11, cat: Audio/Audiobook, desc: "Audio: Graphic Audio Books"}
- {id: 43, cat: Audio/Audiobook, desc: "Audio: Historical Fiction"}
- {id: 12, cat: Audio/Audiobook, desc: "Audio: History/Military"}
- {id: 269, cat: Audio/Audiobook, desc: "Audio: History"}
- {id: 14, cat: Audio/Audiobook, desc: "Audio: Horror"}
- {id: 15, cat: Audio/Audiobook, desc: "Audio: Medical"}
- {id: 16, cat: Audio/Audiobook, desc: "Audio: Music"}
- {id: 45, cat: Audio/Audiobook, desc: "Audio: Non-Fict/Ref"}
- {id: 46, cat: Audio/Audiobook, desc: "Audio: Novels"}
- {id: 17, cat: Audio/Audiobook, desc: "Audio: General"}
- {id: 22, cat: Audio/Audiobook, desc: "Audio: Philosophy/Belief"}
- {id: 23, cat: Audio/Audiobook, desc: "Audio: Romance"}
- {id: 24, cat: Audio/Audiobook, desc: "Audio: Sci-Fi/Fantasy"}
- {id: 25, cat: Audio/Audiobook, desc: "Audio: Self-Improvement"}
- {id: 26, cat: Audio/Audiobook, desc: "Audio: Mod. Scholar/TTC"}
- {id: 27, cat: Audio/Audiobook, desc: "Audio: Travel"}
- {id: 33, cat: Audio/Audiobook, desc: "Audio: Tutorials"}
- {id: 34, cat: Audio/Audiobook, desc: "Audio: Western"}
- {id: 35, cat: Audio/Audiobook, desc: "Audio: Young Adult"}
- {id: 275, cat: Audio/Audiobook, desc: "Audio: Language"}
- {id: 276, cat: Audio/Audiobook, desc: "Audio: Military Fiction"}
- {id: 299, cat: Audio/Audiobook, desc: "Audio: Magazines"}
- {id: 301, cat: Audio/Audiobook, desc: "Audio: Collections"}
- {id: 314, cat: Audio/Audiobook, desc: "Audio: Dystopian/Post Apocalyptic Bks"}
- {id: 47, cat: Books/EBook, desc: "Children's: Adventure"}
- {id: 48, cat: Books/EBook, desc: "Children's: Novels"}
- {id: 49, cat: Books/EBook, desc: "Children's: Collections"}
- {id: 50, cat: Books/EBook, desc: "Children's: Educational"}
- {id: 51, cat: Books/EBook, desc: "Children's: Games"}
- {id: 52, cat: Books/EBook, desc: "Children's: General"}
- {id: 283, cat: Books/EBook, desc: "Children's: Sci-Fi/Fantasy"}
- {id: 284, cat: Books/EBook, desc: "Children's: Mystery"}
- {id: 286, cat: Books/EBook, desc: "Children's: Early Years / Picture"}
- {id: 295, cat: Books/EBook, desc: "Children's: Nonfiction"}
- {id: 296, cat: Books/EBook, desc: "Children's: Leveled / Decodable Readers"}
- {id: 288, cat: Books/EBook, desc: "Collections: Same Author"}
- {id: 289, cat: Books/EBook, desc: "Collections: Same Series"}
- {id: 291, cat: Books/EBook, desc: "Collections: Fiction"}
- {id: 292, cat: Books/EBook, desc: "Collections: Non Fiction"}
- {id: 220, cat: Books/Comics, desc: "Comics: Archie"}
- {id: 222, cat: Books/Comics, desc: "Comics: Books & Mags - Comics"}
- {id: 225, cat: Books/Comics, desc: "Comics: ComicStrip Collection"}
- {id: 228, cat: Books/Comics, desc: "Comics: DC"}
- {id: 244, cat: Books/Comics, desc: "Comics: Manga"}
- {id: 245, cat: Books/Comics, desc: "Comics: Marvel"}
- {id: 258, cat: Books/Comics, desc: "Comics: Other Pub - Humor/Satire"}
- {id: 262, cat: Books/Comics, desc: "Comics: Other Pub - Educational"}
- {id: 264, cat: Books/Comics, desc: "Comics: Independent Publishers"}
- {id: 265, cat: Books/Comics, desc: "Comics: General/Misc"}
- {id: 281, cat: Books/Technical, desc: "Computer: Tutorials"}
- {id: 38, cat: Books/Technical, desc: "Computer: Applications"}
- {id: 55, cat: Books/Technical, desc: "Computer: Gaming "}
- {id: 56, cat: Books/Technical, desc: "Computer: General"}
- {id: 57, cat: Books/Technical, desc: "Computer: Graphics"}
- {id: 58, cat: Books/Technical, desc: "Computer: Internet-WWW"}
- {id: 59, cat: Books/Technical, desc: "Computer: Networking"}
- {id: 60, cat: Books/Technical, desc: "Computer: OS/Mac"}
- {id: 61, cat: Books/Technical, desc: "Computer: OS/Other"}
- {id: 62, cat: Books/Technical, desc: "Computer: OS/Windows"}
- {id: 63, cat: Books/Technical, desc: "Computer: Programming "}
- {id: 66, cat: Books/EBook, desc: "Doc/Vid/Tut: Computer"}
- {id: 67, cat: Books/EBook, desc: "Doc/Vid/Tut: Crafts"}
- {id: 68, cat: Books/EBook, desc: "Doc/Vid/Tut: Educational"}
- {id: 69, cat: Books/EBook, desc: "Doc/Vid/Tut: General"}
- {id: 70, cat: Books/EBook, desc: "Doc/Vid/Tut: History"}
- {id: 71, cat: Books/EBook, desc: "Doc/Vid/Tut: Medical/Health"}
- {id: 72, cat: Books/EBook, desc: "Doc/Vid/Tut: Military"}
- {id: 73, cat: Books/EBook, desc: "Doc/Vid/Tut: Modelling"}
- {id: 74, cat: Books/EBook, desc: "Doc/Vid/Tut: Sciences"}
- {id: 75, cat: Books/EBook, desc: "Doc/Vid/Tut: Transportation"}
- {id: 76, cat: Books/EBook, desc: "Doc/Vid/Tut: Woodworking"}
- {id: 287, cat: Books/EBook, desc: "Doc/Vid/Tut: Martial Arts/Boxing/Wrestling"}
- {id: 121, cat: Books/EBook, desc: "Educational: Arts"}
- {id: 122, cat: Books/EBook, desc: "Educational: Astronomy/Cosmology"}
- {id: 123, cat: Books/EBook, desc: "Educational: Biology & Genetics"}
- {id: 124, cat: Books/EBook, desc: "Educational: Chemistry"}
- {id: 125, cat: Books/EBook, desc: "Educational: Culture/Languages"}
- {id: 126, cat: Books/EBook, desc: "Educational: Earth Sciences"}
- {id: 127, cat: Books/EBook, desc: "Educational: Educational"}
- {id: 128, cat: Books/EBook, desc: "Educational: Engineering & Technology "}
- {id: 129, cat: Books/EBook, desc: "Educational: Environmental Studies"}
- {id: 130, cat: Books/EBook, desc: "Educational: General Science Titles"}
- {id: 131, cat: Books/EBook, desc: "Educational: Literature / Writing"}
- {id: 132, cat: Books/EBook, desc: "Educational: Mathematics and Statistics"}
- {id: 133, cat: Books/EBook, desc: "Educational: Medical Texts"}
- {id: 134, cat: Books/EBook, desc: "Educational: Military History"}
- {id: 135, cat: Books/EBook, desc: "Educational: Non-Military History"}
- {id: 136, cat: Books/EBook, desc: "Educational: Paleontology"}
- {id: 137, cat: Books/EBook, desc: "Educational: Physics"}
- {id: 138, cat: Books/EBook, desc: "Educational: Psychology"}
- {id: 139, cat: Books/EBook, desc: "Educational: Student Reference"}
- {id: 297, cat: Books/EBook, desc: "Educational: Life Sciences/Evolution/Human "}
- {id: 77, cat: Books/EBook, desc: "Fiction: Adventure"}
- {id: 78, cat: Books/EBook, desc: "Fiction: Classics"}
- {id: 79, cat: Books/EBook, desc: "Fiction: Collections"}
- {id: 80, cat: Books/EBook, desc: "Fiction: Comedy/Humorous "}
- {id: 81, cat: Books/EBook, desc: "Fiction: Crime/Mystery/Thriller"}
- {id: 302, cat: Books/EBook, desc: "Fiction: Cozy Mysteries"}
- {id: 82, cat: Books/EBook, desc: "Fiction: General Fiction"}
- {id: 83, cat: Books/EBook, desc: "Fiction: Horror"}
- {id: 84, cat: Books/EBook, desc: "Fiction: Military & Historic"}
- {id: 86, cat: Books/EBook, desc: "Fiction: Romance"}
- {id: 87, cat: Books/EBook, desc: "Fiction: Sci-Fi/Fantasy"}
- {id: 88, cat: Books/EBook, desc: "Fiction: Westerns"}
- {id: 270, cat: Books/EBook, desc: "Fiction: Historical "}
- {id: 312, cat: Books/EBook, desc: "Fiction: Various Authors"}
- {id: 303, cat: Books/EBook, desc: "Fiction: Poetry"}
- {id: 313, cat: Books/EBook, desc: "Fiction: Dystopian"}
- {id: 140, cat: Books/EBook, desc: "Hobby/Pastime: Art"}
- {id: 141, cat: Books/EBook, desc: "Hobby/Pastime: Boating"}
- {id: 142, cat: Books/EBook, desc: "Hobby/Pastime: Crafts/Knitting/Sewing"}
- {id: 143, cat: Books/EBook, desc: "Hobby/Pastime: Food & Drink"}
- {id: 144, cat: Books/EBook, desc: "Hobby/Pastime: Games/RPG/Gaming"}
- {id: 145, cat: Books/EBook, desc: "Hobby/Pastime: General Pastimes"}
- {id: 146, cat: Books/EBook, desc: "Hobby/Pastime: Graphic Arts and Design"}
- {id: 147, cat: Books/EBook, desc: "Hobby/Pastime: Health/Lifestyle"}
- {id: 148, cat: Books/EBook, desc: "Hobby/Pastime: Home/Gardening"}
- {id: 149, cat: Books/EBook, desc: "Hobby/Pastime: Metalworking"}
- {id: 150, cat: Books/EBook, desc: "Hobby/Pastime: Modelling"}
- {id: 151, cat: Books/EBook, desc: "Hobby/Pastime: Pets/Vet Science"}
- {id: 152, cat: Books/EBook, desc: "Hobby/Pastime: Photography"}
- {id: 153, cat: Books/EBook, desc: "Hobby/Pastime: Quiz and Crossword Books"}
- {id: 154, cat: Books/EBook, desc: "Hobby/Pastime: Sports"}
- {id: 155, cat: Books/EBook, desc: "Hobby/Pastime: Travel"}
- {id: 156, cat: Books/EBook, desc: "Hobby/Pastime: Woodworking"}
- {id: 157, cat: Books/EBook, desc: "Language Learn: Arabic"}
- {id: 158, cat: Books/EBook, desc: "Language Learn: Chinese"}
- {id: 159, cat: Books/EBook, desc: "Language Learn: English"}
- {id: 160, cat: Books/EBook, desc: "Language Learn: French"}
- {id: 161, cat: Books/EBook, desc: "Language Learn: German"}
- {id: 162, cat: Books/EBook, desc: "Language Learn: Italian"}
- {id: 163, cat: Books/EBook, desc: "Language Learn: Japanese"}
- {id: 164, cat: Books/EBook, desc: "Language Learn: Latin"}
- {id: 165, cat: Books/EBook, desc: "Language Learn: Nordic Lang"}
- {id: 166, cat: Books/EBook, desc: "Language Learn: Oriental Lang"}
- {id: 167, cat: Books/EBook, desc: "Language Learn: Russian"}
- {id: 168, cat: Books/EBook, desc: "Language Learn: Spanish"}
- {id: 169, cat: Books/EBook, desc: "Language Learn: Other Lang"}
- {id: 310, cat: Books/Mags, desc: "Magazines: Woodworking"}
- {id: 311, cat: Books/Mags, desc: "Magazines: Sewing, Knitting and Quilting"}
- {id: 170, cat: Books/Mags, desc: "Magazines : Computer"}
- {id: 171, cat: Books/Mags, desc: "Magazines: Current Events"}
- {id: 172, cat: Books/Mags, desc: "Magazines: Business/Finance "}
- {id: 173, cat: Books/Mags, desc: "Magazines: Electronics"}
- {id: 174, cat: Books/Mags, desc: "Magazines: General/Misc"}
- {id: 175, cat: Books/Mags, desc: "Magazines: Military"}
- {id: 176, cat: Books/Mags, desc: "Magazines: Photography"}
- {id: 177, cat: Books/Mags, desc: "Magazines: Sciences "}
- {id: 178, cat: Books/Mags, desc: "Magazines: Sports"}
- {id: 179, cat: Books/Mags, desc: "Magazines: Technology"}
- {id: 180, cat: Books/Mags, desc: "Magazines: Transportation"}
- {id: 181, cat: Books/EBook, desc: "Military: Aircraft"}
- {id: 182, cat: Books/EBook, desc: "Military: Armour"}
- {id: 183, cat: Books/EBook, desc: "Military: General Military"}
- {id: 184, cat: Books/EBook, desc: "Military: Miscellaneous"}
- {id: 185, cat: Books/EBook, desc: "Military: Naval"}
- {id: 186, cat: Books/Foreign, desc: "Non English Bks: Dutch"}
- {id: 187, cat: Books/Foreign, desc: "Non English Bks: French"}
- {id: 188, cat: Books/Foreign, desc: "Non English Bks: German"}
- {id: 189, cat: Books/Foreign, desc: "Non English Bks: Greek"}
- {id: 190, cat: Books/Foreign, desc: "Non English Bks: Hungarian"}
- {id: 191, cat: Books/Foreign, desc: "Non English Bks: Italian"}
- {id: 192, cat: Books/Foreign, desc: "Non English Bks: Japanese"}
- {id: 194, cat: Books/Foreign, desc: "Non English Bks: Other"}
- {id: 193, cat: Books/Foreign, desc: "Non English Bks: Polish"}
- {id: 195, cat: Books/Foreign, desc: "Non English Bks: Romanian"}
- {id: 196, cat: Books/Foreign, desc: "Non English Bks: Russian"}
- {id: 197, cat: Books/Foreign, desc: "Non English Bks: Scandinavian"}
- {id: 198, cat: Books/Foreign, desc: "Non English Bks: Serbian"}
- {id: 199, cat: Books/Foreign, desc: "Non English Bks: Spanish"}
- {id: 89, cat: Books/EBook, desc: "Non Fict/Ref: Agricultural"}
- {id: 90, cat: Books/EBook, desc: "Non Fict/Ref: Alt. Therapies"}
- {id: 95, cat: Books/EBook, desc: "Non Fict/Ref: Architecture"}
- {id: 91, cat: Books/EBook, desc: "Non Fict/Ref: Auto & Repair"}
- {id: 92, cat: Books/EBook, desc: "Non Fict/Ref: Aviation"}
- {id: 94, cat: Books/EBook, desc: "Non Fict/Ref: Biographies and Memoirs"}
- {id: 96, cat: Books/EBook, desc: "Non Fict/Ref: Business/Finance"}
- {id: 97, cat: Books/EBook, desc: "Non Fict/Ref: Comedy/Humorous"}
- {id: 98, cat: Books/EBook, desc: "Non Fict/Ref: Crime"}
- {id: 99, cat: Books/EBook, desc: "Non Fict/Ref: Criminology"}
- {id: 100, cat: Books/EBook, desc: "Non Fict/Ref: Economics & Math"}
- {id: 102, cat: Books/EBook, desc: "Non Fict/Ref: Electronics"}
- {id: 103, cat: Books/EBook, desc: "Non Fict/Ref: Enc/Dict/Atlas,s"}
- {id: 104, cat: Books/EBook, desc: "Non Fict/Ref: Entertainment"}
- {id: 105, cat: Books/EBook, desc: "Non Fict/Ref: General Ref"}
- {id: 106, cat: Books/EBook, desc: "Non Fict/Ref: Geo & Archaeology"}
- {id: 107, cat: Books/EBook, desc: "Non Fict/Ref: Journ/Current Affairs "}
- {id: 108, cat: Books/EBook, desc: "Non Fict/Ref: Legal"}
- {id: 109, cat: Books/EBook, desc: "Non Fict/Ref: Medical/Health"}
- {id: 110, cat: Books/EBook, desc: "Non Fict/Ref: Motorcycle"}
- {id: 111, cat: Books/EBook, desc: "Non Fict/Ref: Music"}
- {id: 112, cat: Books/EBook, desc: "Non Fict/Ref: Parenting/Family"}
- {id: 113, cat: Books/EBook, desc: "Non Fict/Ref: Philosophy & Belief"}
- {id: 114, cat: Books/EBook, desc: "Non Fict/Ref: Literature / Writing"}
- {id: 115, cat: Books/EBook, desc: "Non Fict/Ref: Political Science"}
- {id: 116, cat: Books/EBook, desc: "Non Fict/Ref: Project Management"}
- {id: 117, cat: Books/EBook, desc: "Non Fict/Ref: Self-Improvement"}
- {id: 118, cat: Books/EBook, desc: "Non Fict/Ref: Sht Music-Tablatures"}
- {id: 119, cat: Books/EBook, desc: "Non Fict/Ref: Sociology/Politics"}
- {id: 120, cat: Books/EBook, desc: "Non Fict/Ref: Transportation"}
- {id: 266, cat: Books/EBook, desc: "Non Fict/Ref: Technology Books"}
- {id: 267, cat: Books/EBook, desc: "Non Fict/Ref: History Books"}
- {id: 271, cat: Books/EBook, desc: "Non Fict/Ref: Collections"}
- {id: 272, cat: Books/EBook, desc: "Non Fict/Ref: DIY (Do It Yourself)"}
- {id: 273, cat: Books/EBook, desc: "Non Fict/Ref: Archaeology"}
- {id: 278, cat: Books/EBook, desc: "Non Fict/Ref: Conspiracy Theory/UFO/Alien Bk"}
- {id: 279, cat: Books/EBook, desc: "Non Fict/Ref: Psychology"}
- {id: 280, cat: Books/EBook, desc: "Non Fict/Ref: Education"}
- {id: 282, cat: Books/EBook, desc: "Non Fict/Ref: Martial Arts/Boxing/Wrestling"}
- {id: 293, cat: Books/EBook, desc: "Non Fict/Ref: Zoology & Veterinary Science"}
- {id: 294, cat: Books/EBook, desc: "Non Fict/Ref: True Stories"}
- {id: 300, cat: Books/EBook, desc: "Non Fict/Ref: Maritime Books (Building,navig"}
- {id: 200, cat: Books/EBook, desc: "Teens: Collections"}
- {id: 201, cat: Books/EBook, desc: "Teens: Educational"}
- {id: 202, cat: Books/EBook, desc: "Teens: Fiction"}
- {id: 203, cat: Books/EBook, desc: "Teens: Non Fiction"}
- {id: 285, cat: Books/EBook, desc: "Teens: Sci-Fi/Fantasy"}
- {id: 305, cat: Books/Other, desc: "VIP: Science Fiction"}
- {id: 307, cat: Books/Other, desc: "VIP: Thriller"}
- {id: 306, cat: Books/Other, desc: "VIP: Mystery"}
- {id: 308, cat: Books/Other, desc: "VIP: Crime"}
- {id: 309, cat: Books/Other, desc: "VIP: Fantasy"}
- {id: 204, cat: Books/Other, desc: "VIP: Collections"}
- {id: 205, cat: Books/Other, desc: "VIP: Audiobooks"}
- {id: 206, cat: Books/Other, desc: "VIP: Comics"}
- {id: 207, cat: Books/Other, desc: "VIP: Computers"}
- {id: 208, cat: Books/Other, desc: "VIP: Documentaries"}
- {id: 209, cat: Books/Other, desc: "VIP: Educational"}
- {id: 210, cat: Books/Other, desc: "VIP: Fiction"}
- {id: 211, cat: Books/Other, desc: "VIP: Hobby/Craft"}
- {id: 212, cat: Books/Other, desc: "VIP: Literature"}
- {id: 213, cat: Books/Other, desc: "VIP: Medical"}
- {id: 214, cat: Books/Other, desc: "VIP: Military"}
- {id: 215, cat: Books/Other, desc: "VIP: Music"}
- {id: 216, cat: Books/Other, desc: "VIP: Non Fiction"}
- {id: 217, cat: Books/Other, desc: "VIP: Original Content"}
- {id: 218, cat: Books/Other, desc: "VIP: RPG"}
# Audio
- {id: 293, cat: Audio/Audiobook, desc: "Audio: Fiction"}
- {id: 294, cat: Audio/Audiobook, desc: "Audio:Sci-Fi/Fantasy"}
- {id: 295, cat: Audio/Audiobook, desc: "Audio:Crime/Thriller"}
- {id: 296, cat: Audio/Audiobook, desc: "Audio:Horror"}
- {id: 297, cat: Audio/Audiobook, desc: "Audio:General"}
- {id: 302, cat: Audio/Audiobook, desc: "Audio: (TTC,TMS,TGC)"}
- {id: 303, cat: Audio/Audiobook, desc: "Audio:Autobiography "}
- {id: 308, cat: Audio/Audiobook, desc: "Audio:Collections"}
- {id: 309, cat: Audio/Audiobook, desc: "Audio:History"}
- {id: 310, cat: Audio/Audiobook, desc: "Audio:Children/YA"}
- {id: 311, cat: Audio/Audiobook, desc: "Audio:Romance"}
- {id: 317, cat: Audio/Audiobook, desc: "Audio:Urbn Fant/para"}
- {id: 319, cat: Audio/Audiobook, desc: "Audio:V.I.P"}
# Collections
- {id: 305, cat: Books/EBook, desc: "Same Author"}
- {id: 307, cat: Books/EBook, desc: "Collection: Military"}
# Fiction
- {id: 281, cat: Books/EBook, desc: "Horror"}
- {id: 282, cat: Books/EBook, desc: "Sci-Fi/Fantasy"}
- {id: 275, cat: Books/EBook, desc: "General Fiction"}
- {id: 280, cat: Books/EBook, desc: "Crime/Thriller/Myste"}
- {id: 312, cat: Books/EBook, desc: "Romance"}
- {id: 313, cat: Books/EBook, desc: "Comedy/Humour "}
- {id: 314, cat: Books/EBook, desc: "Historical "}
- {id: 315, cat: Books/EBook, desc: "Cozy/Mystery "}
- {id: 318, cat: Books/EBook, desc: "Urbn Fantasy/Para"}
# Children & Y/A
- {id: 299, cat: Books/EBook, desc: "Young Adult"}
- {id: 298, cat: Books/EBook, desc: "Children's"}
# Education/Textbooks
- {id: 278, cat: Books/EBook, desc: "Tutorials"}
- {id: 300, cat: Books/EBook, desc: "Textbooks"}
- {id: 301, cat: Books/EBook, desc: "Educational"}
# Hobbies/pastimes
- {id: 271, cat: Books/EBook, desc: "CookBooks"}
- {id: 272, cat: Books/EBook, desc: " General Hobbies"}
# Non Fict/Ref
- {id: 285, cat: Books/EBook, desc: "General Non-fiction"}
- {id: 289, cat: Books/EBook, desc: "Autobiography/Memoir"}
- {id: 274, cat: Books/EBook, desc: "Business"}
- {id: 316, cat: Books/EBook, desc: "True Crime"}
# Military
- {id: 287, cat: Books/EBook, desc: "WW1"}
- {id: 288, cat: Books/EBook, desc: "WW2"}
- {id: 12, cat: Books/EBook, desc: "Army,Navy,Airforce"}
- {id: 286, cat: Books/EBook, desc: "General Military "}
# Comics
- {id: 290, cat: Books/Comics, desc: "General Comics"}
- {id: 291, cat: Books/Comics, desc: "Marvel"}
- {id: 292, cat: Books/Comics, desc: "D/C"}
# Magazines
- {id: 306, cat: Books/Mags, desc: "Music"}
- {id: 13, cat: Books/Mags, desc: "Non English Bks"}
- {id: 10, cat: Books/Mags, desc: "Language Learn"}
- {id: 16, cat: Books/Mags, desc: "VIP"}
modes:
search: [q]
@@ -270,10 +78,6 @@ settings:
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: vip
type: checkbox
label: Include VIP results
@@ -281,91 +85,106 @@ settings:
- name: sort
type: select
label: Sort requested from site
default: id
default: 3
options:
id: created
seeders: seeders
size: size
name: title
3: created
5: seeders
4: size
2: title
- name: type
type: select
label: Order requested from site
default: desc
default: 2
options:
desc: desc
asc: asc
- name: info_results
2: desc
1: asc
- name: info
type: info
label: Search results
default: "If you are not getting results, then access the site with your browser and mark as read all PMs."
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
- name: info_activity
type: info
label: Account Inactivity
default: "All members are required to log into their account at least every 89 days or you will be deleted without warning."
login:
path: account-login.php
path: index.php?page=login
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: div.panel:contains("Access Denied")
- selector: tr td span[style="color:#FF0000;"]
test:
path: index.php
selector: a[href^="account-logout.php"]
download:
selectors:
- selector: a[href^="download.php?id="]
attribute: href
selector: a[href="logout.php"]
search:
paths:
- path: torrents-search.php
# https://ebooks-shares.org/index.php?page=torrents&search=&category=0&active=0
- path: index.php
inputs:
search: "{{ if .Keywords }}\"{{ .Keywords }}\"{{ else }}{{ end }}"
# 0 only active 1 incl dead 2 only dead
incldead: 1
# 0 all 1 not freeleech 2 only freeleech
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 all 1 english 2 french 3 german 4 italian 5 japanese 6 spanish 7 russian 8 other
lang: 0
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
page: torrents
search: "{{ .Keywords }}"
# does not support multi category selection so defaulting to all
category: 0
# 0 all, 1 active only, 2 dead only
active: 0
order: "{{ .Config.sort }}"
by: "{{ .Config.type }}"
rows:
selector: "tr.t-row{{ if .Config.vip }}{{ else }}:not(:has(a[href^=\"torrents.php?cat=\"]):contains(\"VIP\")){{ end }}"
selector: "table.lista > tbody > tr:has(a[href^=\"download.php?id=\"]){{ if .Config.vip }}{{ else }}:not(:has(a[href$=\"&category=16\"])):not(:has(a[href$=\"&category=319\"])){{ end }}"
fields:
category:
selector: a[href^="torrents.php?cat="]
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: cat
args: category
_is_vip:
selector: a[href$="&category=16"], a[href$="&category=319"]
attribute: href
optional: true
title:
selector: a[href^="torrents-details.php?id="]
attribute: title
selector: a[href^="index.php?page=torrent-details&id="]
filters:
- name: append
args: "{{ if .Result._is_vip }} VIP{{ else }}{{ end }}"
details:
selector: a[href^="torrents-details.php?id="]
selector: a[href^="index.php?page=torrent-details&id="]
attribute: href
download:
selector: a[href^="torrents-details.php?id="]
selector: a[href^="download.php?id="]
attribute: href
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
description:
selector: td:nth-child(4)
poster:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: onmouseover
filters:
- name: prepend
args: "uploader: "
- name: regexp
args: "src=(.*?) "
- name: replace
args: ["torrentimg/nocover.jpg", ""]
size:
selector: td:nth-last-child(4)
date:
text: now
selector: td:nth-last-child(8)
# auto adjusted by site account profile
filters:
- name: dateparse
args: dd/MM/yyyy
seeders:
selector: td:nth-last-child(7)
leechers:
selector: td:nth-last-child(6)
grabs:
selector: td:nth-last-child(5)
downloadvolumefactor:
case:
img[src="images/free.gif"]: 0
"*": 1
text: 1
uploadvolumefactor:
text: 1
# engine tbd
minimumseedtime:
# 1 day (as seconds = 1 x 24 x 60 x 60)
text: 86400
# xbtitFM v4.1.31

View File

@@ -1,140 +0,0 @@
---
id: enthralled
name: Enthralled
description: "Enthralled is a Private Torrent Tracker for FETISH 3X"
language: en-US
type: private
encoding: UTF-8
links:
- https://www.enthralled.me/
caps:
categorymappings:
- {id: 1, cat: XXX, desc: "FemDom"}
- {id: 2, cat: XXX, desc: "LezDom"}
- {id: 4, cat: XXX, desc: "POV"}
- {id: 5, cat: XXX, desc: "Scat"}
- {id: 3, cat: XXX, desc: "TransDom"}
modes:
search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: time
options:
time: created
seeders: seeders
size: size
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login:
path: login
method: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
cinfo: "2550|1350|24|-60"
keeploggedin: 1
error:
- selector: div.error
test:
path: index.php
selector: "#nav_userinfo"
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
title: "{{ .Keywords }}"
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
action: advanced
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
rows:
selector: table#torrent_table > tbody > tr[class^="torrent shaded_row"]:has(a[href*="action=download"])
fields:
category:
selector: a[href*="filter_cat"]
attribute: href
filters:
- name: regexp
args: "(\\d+)]=1"
title:
selector: a[href^="/torrents.php?id="]
details:
selector: a[href^="/torrents.php?id="]
attribute: href
download:
selector: a[href^="/torrents.php?action=download&id="]
attribute: href
description_tags:
selector: div.tags
description:
case:
span.icon_okay: "Verified: {{ .Result.description_tags }}"
"*": "Unverified: {{ .Result.description_tags }}"
poster:
selector: td:nth-child(2) > script
filters:
- name: regexp
args: "src=\\\\\"(.*?)\\\\\""
- name: re_replace
args: ["\\\\(.)", "$1"]
- name: replace
args: ["/static/common/noartwork/noimage.png", ""]
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(5) > span
attribute: title
# auto adjusted by site account profile
filters:
- name: dateparse
args: "MMM dd yyyy, HH:mm"
size:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
downloadvolumefactor:
case:
span.icon[title*="Freeleech"]: 0
"img[alt=\"Freeleech\"]": 0
"*": 1
uploadvolumefactor:
case:
span.icon[title*="DoubleSeed"]: 2
"img[alt=\"DoubleSeed\"]": 2
"*": 1
minimumratio:
text: 0.5
# Luminance

View File

@@ -90,7 +90,7 @@ search:
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
perPage: 90
keywordsfilters:
- name: re_replace

View File

@@ -96,7 +96,8 @@ login:
search:
# https://hdf.world/torrents.php?searchstr=Un+Singe+en+hiver+1962&freetorrent=1&order_by=time&order_way=desc&action=advanced&searchsubmit=1
path: torrents.php
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Keywords }}"

View File

@@ -21,6 +21,7 @@ caps:
- {id: 51, cat: Movies/SD, desc: "Film-Cine"}
- {id: 40, cat: TV/HD, desc: "TV-HD"}
- {id: 41, cat: TV/SD, desc: "TV-SD"}
- {id: 53, cat: TV/Documentary, desc: "Documentario"}
- {id: 46, cat: Audio, desc: "Musica"}
- {id: 42, cat: PC/Games, desc: "PC-Giochi"}
- {id: 43, cat: PC/0day, desc: "App-Win"}

View File

@@ -184,4 +184,4 @@ search:
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 9.0.6 (custom)
# json UNIT3D 9.0.7 (custom)

View File

@@ -7,19 +7,19 @@ type: public
encoding: UTF-8
requestDelay: 2
links:
- https://www.kickasstorrents.do/
- https://kickass.torrentbay.st/
- https://kickass.torrentsbay.org/
- https://kickasstorrents.unblockninja.com/
- https://kickasstorrents.ninjaproxy1.com/
- https://kickasstorrents.proxyninja.org/
- https://kickasstorrents.proxyninja.net/
- https://kickass.torrentbay.st/
- https://kickass.torrentsbay.org/
legacylinks:
- https://kat.root.yt/
- https://kickasstorrents.abcproxy.org/
- https://kickasstorrents.to/
- https://kickasstorrent.cr/ # blocks Jackett UA, 'new' page broken
- https://katcr.to/ # blocks Jackett UA
- https://www.kickasstorrents.do/ # blocks Jackett UA
caps:
categorymappings:
@@ -74,11 +74,6 @@ search:
- path: "{{ if .Keywords }}usearch/{{ .Keywords }}/{{ else }}new/{{ end }}4/?sortby={{ .Config.sort }}&sort={{ .Config.type }}"
- path: "{{ if .Keywords }}usearch/{{ .Keywords }}/{{ else }}new/{{ end }}5/?sortby={{ .Config.sort }}&sort={{ .Config.type }}"
error:
- selector: h1:contains("403 Forbidden")
message:
text: "Site returned 403 Forbidden. Try updating your indexer config with a new/different user-agent."
rows:
selector: table.data tr.odd:has(a[class="cellMainLink"]), table.data tr.even:has(a[class="cellMainLink"])
filters:

View File

@@ -1,219 +0,0 @@
---
id: learnbits
name: LearnBits
description: "LearnBits is a Private Torrent Tracker for E-LEARNING"
language: en-US
type: private
encoding: UTF-8
links:
- http://www.learnbits.me/
caps:
categorymappings:
- {id: 7, cat: TV/Documentary, desc: "Documentary"}
- {id: 83, cat: TV/Documentary, desc: "Documentary - Architecture"}
- {id: 61, cat: TV/Documentary, desc: "Documentary - Biography"}
- {id: 76, cat: TV/Documentary, desc: "Documentary - Culture"}
- {id: 75, cat: TV/Documentary, desc: "Documentary - EarthScience"}
- {id: 67, cat: TV/Documentary, desc: "Documentary - History"}
- {id: 80, cat: TV/Documentary, desc: "Documentary - MilitaryWar"}
- {id: 81, cat: TV/Documentary, desc: "Documentary - Politics"}
- {id: 82, cat: TV/Documentary, desc: "Documentary - Technology"}
- {id: 77, cat: TV/Documentary, desc: "Documentary - Travel"}
- {id: 74, cat: TV/Documentary, desc: "Documentary - Wildlife"}
- {id: 79", cat: TV/Documentary, desc: "Documentary Channels"}
- {id: 65, cat: TV/Documentary, desc: "Documentary Channels - BBC"}
- {id: 69, cat: TV/Documentary, desc: "Documentary Channels - Discovery"}
- {id: 56, cat: TV/Documentary, desc: "Documentary Channels - HistoryChannel"}
- {id: 55, cat: TV/Documentary, desc: "Documentary Channels - NationalGeo"}
- {id: 73, cat: TV/Documentary, desc: "Documentary Channels - PBS"}
- {id: 78, cat: TV/Documentary, desc: "Documentary Series"}
- {id: 58, cat: TV/Documentary, desc: "Documentary Series - AnimalPlanet"}
- {id: 66, cat: TV/Documentary, desc: "Documentary Series - ExtremeWorld"}
- {id: 70, cat: TV/Documentary, desc: "Documentary Series - Frontline"}
- {id: 62, cat: TV/Documentary, desc: "Documentary Series - Horizon"}
- {id: 59, cat: TV/Documentary, desc: "Documentary Series - HowItIsMade"}
- {id: 10, cat: TV/Documentary, desc: "Documentary Series - MegaFactories"}
- {id: 57, cat: TV/Documentary, desc: "Documentary Series - ModernMarvels"}
- {id: 63, cat: TV/Documentary, desc: "Documentary Series - NaturalWorld"}
- {id: 71, cat: TV/Documentary, desc: "Documentary Series - NatureOfThings"}
- {id: 54, cat: TV/Documentary, desc: "Documentary Series - Nova"}
- {id: 72, cat: TV/Documentary, desc: "Documentary Series - PBSNature"}
- {id: 68, cat: TV/Documentary, desc: "Documentary Series - ThroughTheWormhole"}
- {id: 60, cat: Other, desc: "General-Education"}
- {id: 34, cat: Other, desc: "General-Education - 3D-4D"}
- {id: 49, cat: Books/EBook, desc: "General-Education - Biographies"}
- {id: 3, cat: Books/EBook, desc: "General-Education - Business"}
- {id: 6, cat: Other, desc: "General-Education - Digital-Art"}
- {id: 36, cat: Other, desc: "General-Education - Early-Learning"}
- {id: 42, cat: Other, desc: "General-Education - Electronics"}
- {id: 48, cat: Other, desc: "General-Education - Graphic-Arts"}
- {id: 25, cat: Books/EBook, desc: "General-Education - History"}
- {id: 16, cat: Other, desc: "General-Education - Languages"}
- {id: 4, cat: Other, desc: "General-Education - Legal"}
- {id: 20, cat: Other, desc: "General-Education - Math"}
- {id: 21, cat: Other, desc: "General-Education - Medical"}
- {id: 41, cat: Other, desc: "General-Education - Philosophy"}
- {id: 53, cat: Other, desc: "General-Education - Photography"}
- {id: 45, cat: Other, desc: "General-Education - Politics"}
- {id: 39, cat: Other, desc: "General-Education - Psychology"}
- {id: 50, cat: Other, desc: "General-Education - Science"}
- {id: 35, cat: Other, desc: "General-Education - Trade-Skills"}
- {id: 38, cat: Other, desc: "General-Education - Writing"}
- {id: 46, cat: Other, desc: "Computer Science"}
- {id: 5, cat: Other, desc: "General-Education - Database"}
- {id: 9, cat: Other, desc: "General-Education - Exam-Guides"}
- {id: 11, cat: Other, desc: "General-Education - Forensics"}
- {id: 14, cat: Other, desc: "General-Education - IT-Manager"}
- {id: 15, cat: Other, desc: "General-Education - IT-Security"}
- {id: 17, cat: Other, desc: "General-Education - Linux-Unix"}
- {id: 18, cat: Other, desc: "General-Education - Mac-Apple"}
- {id: 31, cat: Other, desc: "General-Education - Microsoft"}
- {id: 22, cat: Other, desc: "General-Education - Network"}
- {id: 26, cat: Other, desc: "General-Education - Programming"}
- {id: 27, cat: Other, desc: "General-Education - Server-Admin"}
- {id: 29, cat: Other, desc: "General-Education - VOIP"}
- {id: 30, cat: Other, desc: "General-Education - Web-Design"}
- {id: 64, cat: Other, desc: "Just-4-Fun"}
- {id: 51, cat: Other, desc: "Just-4-Fun - Culinary"}
- {id: 12, cat: Other, desc: "Just-4-Fun - Fitness"}
- {id: 13, cat: Other, desc: "Just-4-Fun - Hobbies"}
- {id: 47, cat: Other, desc: "Just-4-Fun - Horticulture"}
- {id: 33, cat: Other, desc: "Just-4-Fun - International"}
- {id: 19, cat: Books/Mags, desc: "Just-4-Fun - Magazines"}
- {id: 52, cat: Other, desc: "Just-4-Fun - Magic"}
- {id: 32, cat: Other/Misc, desc: "Just-4-Fun - Miscellaneous"}
- {id: 23, cat: Other, desc: "Just-4-Fun - Music-Dance"}
- {id: 24, cat: Other, desc: "Just-4-Fun - Personal Growth"}
- {id: 28, cat: Other, desc: "Just-4-Fun - Sports-Self-Defence"}
- {id: 37, cat: Other, desc: "Just-4-Fun - VIP"}
modes:
search: [q]
tv-search: [q, season, ep]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: added
options:
added: created
seeders: seeders
size: size
- name: type
type: select
label: Order requested from site
default: DESC
options:
DESC: desc
ASC: asc
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img#regimage
input: security_code
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logintype: yes
error:
- selector: table:contains("An error has occured!")
test:
path: index.php
selector: a[href*="/logout.php?logouthash="]
search:
paths:
- path: browse.php
method: post
keywordsfilters:
- name: re_replace
args: ["[^a-zA-Z0-9]+", "%"]
inputs:
do: search
keywords: "{{ .Keywords }}"
# t_name, t_description, t_both, t_uploader, t_genre
search_type: t_name
# does not support multi categories so defaulting to ALL
category: 0
sortby: "{{ .Config.sort }}"
orderby: "{{ .Config.type }}"
rows:
selector: "div#showcontents > table > tbody > tr:has(a[href]){{ if .Config.freeleech }}:has(img[src$=\"freedownload.gif\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href*="/browse.php?browse_categories"]
attribute: href
filters:
- name: querystring
args: category
title:
selector: a[href*="/details.php?id="] > b
details:
selector: a[href*="/details.php?id="]
attribute: href
download:
selector: a[href*="/download.php?id="]
attribute: href
files:
selector: td:nth-child(4)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8) > b
downloadvolumefactor:
case:
img[src$="/external.gif"]: 0
img[src$="/freedownload.gif"]: 0
img[src$="/silverdownload.gif"]: 0.5
"*": 1
uploadvolumefactor:
case:
img[src$="/x2.gif"]: 2
"*": 1
size:
selector: td:nth-child(8)
remove: b
date_day:
selector: td:nth-child(2):contains("day ")
# auto adjusted by site account profile
optional: true
remove: a, b, img, span
filters:
- name: fuzzytime
date_year:
# 2021-07-16 09:30 PM
selector: td:nth-child(2):not(:contains("day "))
# auto adjusted by site account profile
optional: true
remove: a, b, img, span
filters:
- name: replace
args: ["|", ""]
- name: dateparse
args: "yyyy-MM-dd hh:mm tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
minimumratio:
text: 1.0
# TS Special Edition

View File

@@ -1,75 +0,0 @@
---
id: libronube
name: Libronube
description: "Libronube is a SPANISH Public tracker for EBOOKS"
language: es-ES
type: public
encoding: UTF-8
links:
- https://www.libronube.com/
caps:
categorymappings:
- {id: ebook, cat: Books, desc: "EBook"}
modes:
search: [q]
book-search: [q]
settings:
- name: ebook
type: select
label: Ebook Type
default: epub
options:
epub: EPUB
mobi: MOBI
pdf: PDF
download:
selectors:
- selector: "a[href*=\"magnet\"][href*=\"{{ .Config.ebook }}\"]"
attribute: href
filters:
- name: replace
args: ["http://demagnetize.link/?magnet=", ""]
- name: urldecode
search:
paths:
- path: dibros/
allowEmptyInputs: true
inputs:
q1: "{{ .Keywords }}"
sin_filtrar: on
rows:
selector: div.row[style^="margin-top"][style*="margin-bottom"]:first-of-type > div.ebookitem
fields:
category:
text: ebook
title:
selector: h1
details:
selector: a[href^="/descargar-"]
attribute: href
download:
selector: a[href^="/descargar-"]
attribute: href
poster:
selector: img.tapa
attribute: src
date:
text: now
size:
text: 512 MB
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -182,4 +182,4 @@ search:
minimumseedtime:
# 1 day (as seconds = 1 x 24 x 60 x 60)
text: 86400
# json UNIT3D 9.0.6
# json UNIT3D 9.0.7

View File

@@ -91,7 +91,8 @@ login:
search:
# https://mnvv2.info/browse.php?showsearch=1&c13=1&c3=1&search=&blah=0&incldead=1&team=0&orderby=added&sort=desc&language=all
path: browse.php
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"

View File

@@ -44,7 +44,6 @@ login:
search:
paths:
- path: browse.php
method: get
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"

View File

@@ -10,7 +10,7 @@ type: public
encoding: UTF-8
# to fetch current domain use https://www.rantop.my/
links:
- https://www.nortorrent5.com/
- https://www.nortorrent6.com/
legacylinks:
# latest domains list
- https://www.rantop.my/
@@ -24,7 +24,6 @@ legacylinks:
- https://www.torrent.onl/
- https://www.rantop.org/
# actual legacylinks
- https://www.torrent9.cyou/
- https://www.torrent9.gd/
- https://www.torrent9.ing/
- https://www.torrent9.run/
@@ -39,6 +38,7 @@ legacylinks:
- https://www.nortorrent2.com/
- https://www.nortorrent3.com/
- https://www.nortorrent4.com/
- https://www.nortorrent5.com/
caps:
categorymappings:

View File

@@ -70,7 +70,7 @@ settings:
- name: info_activity
type: info
label: Account Inactivity
default: "Account retention rules:<ul><li>Sixth degree burn (Extreme User) and above will be retained forever</li><li>Second degree burn (Elite User) and above that have their accounts parked (in the control panel) for 60 consecutive days will be deleted</li><li>Users who have parked their accounts and do not log in for 60 consecutive days will have their accounts deleted</li><li>Users who have not parked their accounts will have their accounts deleted if they do not log in for 60 consecutive days</li><li>Users without traffic (i.e. upload / download data are all 0) will have their accounts deleted if they do not log in for 14 consecutive days.</li></ul>"
default: "Account retention rules:<ul><li>Ultimate User and above will keep the account forever</li><li>Veteran User level accounts will not be disabled if they are parked (control panel)</li><li>Unparked accounts will be banned if they have not logged in for 60 days</li><li>Users below Veteran User level will be banned if they have not logged in for more than 300 days</li><li>Users who have not generated any traffic in 30 days (i.e. upload/download are 0) will be banned</li><li>Banned accounts will be deleted if they have not logged in for more than 365 days</li></ul>"
login:
# using cookie method because site regularly disables login page for certain events during the year
@@ -174,8 +174,8 @@ search:
minimumratio:
text: 1.0
minimumseedtime:
# 1.5 days (as seconds = 1.5 x 24 x 60 x 60)
text: 129600
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
description_verified:
case:
span[title="通过"], span[title="通過"], span[title="Allowed"]: "Verified:"

View File

@@ -190,4 +190,4 @@ search:
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# json UNIT3D 9.0.6
# json UNIT3D 9.0.7

View File

@@ -10,9 +10,9 @@ type: public
encoding: UTF-8
# to fetch current domain use https://www.rantop.my/
links:
- https://www.oxtorrent4.com/
- https://www.zone-torrent1.com/
- https://www.mega-torrent5.com/
- https://www.oxtorrent5.com/
- hhttps://www.zone-torrent2.com/
- https://www.mega-torrent6.com/
legacylinks:
# latest domains list
- https://www.rantop.my/
@@ -26,11 +26,6 @@ legacylinks:
- https://www.torrent.onl/
- https://www.rantop.org/
# actual legacylinks
- https://www.oxtorrent.lol/
- https://www.oxtorrent.la/
- https://www.oxtorrent.uno/
- https://www.oxtorrent.st/
- https://www.oxtorrent.gl/
- https://www.oxtorrent.gy/
- https://www.oxtorrent.cz/
- https://www.torrent911.lol/
@@ -47,6 +42,9 @@ legacylinks:
- https://www.oxtorrent2.com/
- https://www.mega-torrent4.com/
- https://www.oxtorrent3.com/
- https://www.oxtorrent4.com/
- https://www.mega-torrent5.com/
- https://www.zone-torrent1.com/
caps:
categorymappings:

View File

@@ -0,0 +1,145 @@
---
id: parabellumhd
name: ParabellumHD
description: "ParabellumHD is a SPANISH Private Torrent Tracker for MOVIES / TV"
language: es-ES
type: private
encoding: UTF-8
links:
- https://parabellumhd.cx/
caps:
categorymappings:
- {id: "Películas", cat: Movies, desc: "Películas"}
- {id: "Series", cat: TV, desc: "Series"}
- {id: "Películas de dibujos", cat: Movies/Other, desc: "Películas de dibujos"}
- {id: "Series de dibujos", cat: TV/Other, desc: "Series de dibujos"}
- {id: "Películas anime", cat: Movies/Other, desc: "Películas anime"}
- {id: "Series anime", cat: TV/Anime, desc: "Series anime"}
- {id: "Varios", cat: Other, desc: "Varios"}
modes:
search: [q]
tv-search: [q, season, ep, year]
movie-search: [q, year]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: sort
type: select
label: Sort requested from site
default: date
options:
date: created
name: title
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.error-message
test:
path: tracker_home.php
selector: a[href="logout.php"]
search:
paths:
# https://parabellumhd.cx/search.php?page=1&view=list&order=date&search=&year=
- path: search.php
allowEmptyInputs: true
inputs:
page: 1
view: list
order: "{{ .Config.sort }}"
search: "{{ .Keywords }}"
year: "{{ .Query.Year }}"
keywordsfilters:
- name: re_replace # remove year
args: ["\\b((19|20)\\d{2})\\b", ""]
- name: re_replace # strip season
args: ["(?i)\\b(S\\d+)\\b", ""]
- name: re_replace # strip El
args: ["(?i)\\b(el)\\b", ""]
rows:
selector: div.search-results > ul > li
fields:
category:
selector: p
filters:
- name: regexp
args: "Categoría: (.+?),"
_format:
selector: div.file-info
optional: true
filters:
- name: regexp
args: "Formato: (.+?),"
_resolution:
selector: div.file-info
optional: true
filters:
- name: regexp
args: "Resolución: (.+?),"
_seasons:
selector: div.file-info
optional: true
filters:
- name: regexp
args: (\d+\s*\w+)$
- name: re_replace
args: ["(?i)(\\d+) (temporadas?)", "Season $1"]
title:
selector: a[href^="torrent_details.php?id="]
filters:
- name: append
args: " {{ if .Result._seasons }}{{ .Result._seasons }}{{ else }}{{ end }} {{ if .Result._format }}{{ .Result._format }}{{ else }}{{ end }} {{ if .Result._resolution }}{{ .Result._resolution }}{{ else }}{{ end }} Spanish"
details:
selector: a[href^="torrent_details.php?id="]
attribute: href
download:
selector: a[href$="&action=download"]
attribute: href
size:
selector: div.file-info
filters:
- name: regexp
args: "Tamaño: (.+?),"
seeders:
selector: span.seeders
leechers:
selector: span.leechers
grabs:
selector: span.snatched
date:
selector: p
filters:
- name: regexp
args: (\d{2}/\d{2}/\d{4})
- name: append
args: " +01:00" # CET
- name: dateparse
args: "dd/MM/yyyy zzz"
description:
selector: p
filters:
- name: regexp
args: "Categoría: (.+?),"
downloadvolumefactor:
case:
":root:has(span.freeleech-text:contains(\"FREELEECH ACTIVADO\"))": 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.5
# engine n/a

View File

@@ -23,7 +23,9 @@ settings:
search:
paths:
- path: "{{ if .Keywords }}search.php?q={{ .Keywords }}{{ else }}index.php{{ end }}"
- path: search.php
inputs:
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
rows:
selector: table > tbody > tr

View File

@@ -155,7 +155,8 @@ login:
selector: form[name="jump1"]
search:
path: index.php
paths:
- path: index.php
keywordsfilters:
- name: re_replace
args: ["(?i)S(\\d+)", " $1 "]

View File

@@ -177,4 +177,4 @@ search:
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# json UNIT3D 9.0.6
# json UNIT3D 9.0.7

View File

@@ -1,171 +0,0 @@
---
id: rotorrent
name: RoTorrent
description: "RoTorrent is a ROMANIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: ro-RO
type: private
encoding: UTF-8
requestDelay: 2
links:
- https://rotorrent.ro/
caps:
# dont forget to update the path categories in the search block
categorymappings:
- {id: 18, cat: PC/0day, desc: "Apps: PC", default: true}
- {id: 55, cat: TV/Documentary, desc: "Docs: Docs", default: true}
- {id: 10, cat: PC/Games, desc: "Games: PC", default: true}
- {id: 53, cat: Other, desc: "Miscellaneous: Miscellaneous", default: true}
- {id: 58, cat: Movies/BluRay, desc: "Movies: 4K Blu-Ray", default: true}
- {id: 2, cat: Movies/SD, desc: "Movies: Divx/Xvid", default: true}
- {id: 52, cat: Movies/SD, desc: "Movies: Cam/TS/TC", default: true}
- {id: 54, cat: Movies/UHD, desc: "Movies: 4K", default: true}
- {id: 59, cat: Movies/BluRay, desc: "Movies: Blu-Ray", default: true}
- {id: 60, cat: Movies/HD, desc: "Movies: HD", default: true}
- {id: 62, cat: Movies/WEB-DL, desc: "Movies: WebDL/RIP", default: true}
- {id: 64, cat: Movies/DVD, desc: "Movies: DVD", default: true}
- {id: 65, cat: XXX, desc: "Movies: XXX", default: false}
- {id: 66, cat: TV/Anime, desc: "Movies: Anime", default: true}
- {id: 22, cat: Audio/MP3, desc: "Music: MP3", default: true}
- {id: 63, cat: Audio/Lossless, desc: "Music: FLAC", default: true}
- {id: 6, cat: TV, desc: "TV: TV Shows", default: true}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tmdbid, genre]
movie-search: [q, imdbid, tmdbid, genre]
music-search: [q, genre]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: id
options:
id: created
seeders: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: "div[style^=\"color: red;\"]"
test:
path: index.php
selector: a[href="account-logout.php"]
search:
paths:
- path: torrents-search.php
categories: [18, 55, 10, 53, 58, 2, 52, 54, 59, 60, 62, 64, 66, 22, 63, 6]
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 all, 1 nofree, 2 onlyfree
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 both, 1 local, 2 external
inclexternal: 0
# 0 all, 1 romanian, 2 english, 3 english and romanian
inclrosub: 0
- path: torrents-search1.php
categories: [65]
inputs:
search: "{{ if or .Query.IMDBID .Query.TMDBID }}{{ or .Query.IMDBID .Query.TMDBID }} {{ else }}{{ end }}{{ if .Query.Genre }}{{ .Query.Genre }} {{ else }}{{ end }}{{ .Keywords }}"
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
rows:
selector: table.ttable_headinner > tbody > tr
fields:
category:
selector: a[href*="cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="torrents-details.php?id="] b
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["&hit=1", ""] # avoid redirect
download:
text: "{{ .Result.details }}"
filters:
- name: replace
args: ["torrents-details", "download"]
poster:
selector: a[href^="torrents-details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: src=(.+?)></td>
date:
selector: td:nth-child(8)
filters:
- name: timeago
size:
selector: td:nth-child(3)
grabs:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(5)
leechers:
selector: td:nth-child(6)
genre:
selector: a[href^="torrents-details.php?id="] font div.newt
filters:
- name: re_replace
args: ["(?i)(Cult Classic)", "Cult_Classic"]
- name: re_replace
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: re_replace
args: ["(?i)(TV Movie)", "TV_Movie"]
description_subs:
optional: true
case:
img[src$="languages/unitestates.gif"]: Eng
img[src$="languages/romania.gif"]: Ro
img[src$="languages/roeng.gif"]: "Ro & Eng"
description:
text: "{{ if .Result.description_subs }}Subtitles: {{ .Result.description_subs }}</br>{{ else }}{{ end }}Genres: {{ .Result.genre }}"
downloadvolumefactor:
case:
img[src="images/free.png"]: 0
"*": 1
uploadvolumefactor:
case:
img[src="images/doubleupload.gif"]: 2
"*": 1
minimumratio:
text: 1.0
minimumseedtime:
# 4 days (as seconds = 4 x 24 x 60 x 60)
text: 345600
# TorrentTrader 3.0 Micro Edition

View File

@@ -9,39 +9,39 @@ type: semi-private
encoding: windows-1251
followredirect: true
links:
- https://apr28.rudub.biz/
- https://may12.rudub.biz/
legacylinks:
- http://apr13.rudub.vip/
- https://apr13.rudub.vip/
- http://apr14.rudub.vip/
- https://apr14.rudub.vip/
- http://apr15.rudub.vip/
- https://apr15.rudub.vip/
- http://apr16.rudub.biz/
- https://apr16.rudub.biz/
- http://apr17.rudub.biz/
- https://apr17.rudub.biz/
- http://apr18.rudub.biz/
- https://apr18.rudub.biz/
- http://apr19.rudub.biz/
- https://apr19.rudub.biz/
- http://apr20.rudub.biz/
- https://apr20.rudub.biz/
- http://apr21.rudub.biz/
- https://apr21.rudub.biz/
- http://apr22.rudub.biz/
- https://apr22.rudub.biz/
- http://apr23.rudub.biz/
- https://apr23.rudub.biz/
- http://apr24.rudub.biz/
- https://apr24.rudub.biz/
- http://apr25.rudub.biz/
- https://apr25.rudub.biz/
- http://apr26.rudub.biz/
- https://apr26.rudub.biz/
- http://apr27.rudub.biz/
- https://apr27.rudub.biz/
- http://apr28.rudub.biz/
- https://apr28.rudub.biz/
- http://apr29.rudub.biz/
- https://apr29.rudub.biz/
- http://apr30.rudub.biz/
- https://apr30.rudub.biz/
- http://may01.rudub.biz/
- https://may01.rudub.biz/
- http://may02.rudub.biz/
- https://may02.rudub.biz/
- http://may03.rudub.biz/
- https://may03.rudub.biz/
- http://may04.rudub.biz/
- https://may04.rudub.biz/
- http://may05.rudub.biz/
- https://may05.rudub.biz/
- http://may06.rudub.biz/
- https://may06.rudub.biz/
- http://may07.rudub.biz/
- https://may07.rudub.biz/
- http://may08.rudub.biz/
- https://may08.rudub.biz/
- http://may09.rudub.biz/
- https://may09.rudub.biz/
- http://may10.rudub.biz/
- https://may10.rudub.biz/
- http://may11.rudub.biz/
- https://may11.rudub.biz/
- http://may12.rudub.biz/
caps:
categorymappings:

View File

@@ -97,7 +97,7 @@ search:
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 49
perPage: 100
keywordsfilters:
- name: re_replace

View File

@@ -119,7 +119,7 @@ search:
args: ["(\\w+)", "+$1"] # prepend + to each word
rows:
selector: tr.t-row
selector: tr.t-row:has(a[href^="download.php?id="])
filters:
- name: andmatch

View File

@@ -24,7 +24,7 @@ caps:
- {id: 10, cat: Audio/Video, desc: Musikvideos}
- {id: 11, cat: Books/Mags, desc: E-tidningar}
- {id: 12, cat: Audio, desc: MP3}
- {id: 13, cat: Other, desc: Omslag}
- {id: 13, cat: Audio, desc: Pod}
- {id: 14, cat: Other, desc: Övrigt}
- {id: 15, cat: PC/Games, desc: PC-Spel}
- {id: 16, cat: PC/0day, desc: Program}

View File

@@ -116,7 +116,8 @@ login:
search:
# https://the-new-fun.spdns.eu/browse.php?showsearch=1&c140=1&c142=1&search=2022+1080p&incldead=1&orderby=added&sort=desc
path: browse.php
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
showsearch: 1

View File

@@ -7,14 +7,9 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentqq365.com/
- https://torrentegg57.com/
- https://torrentqq367.com/
- https://torrentegg59.com/
legacylinks:
- https://torrentqq350.com/
- https://torrentegg43.com/
- https://torrentqq351.com/
- https://torrentqq352.com/
- https://torrentegg44.com/
- https://torrentqq353.com/
- https://torrentegg45.com/
- https://torrentqq354.com/
@@ -39,6 +34,10 @@ legacylinks:
- https://torrentegg55.com/
- https://torrentqq364.com/
- https://torrentegg56.com/
- https://torrentqq365.com/
- https://torrentegg57.com/
- https://torrentqq366.com/
- https://torrentegg58.com/
caps:
categorymappings:

View File

@@ -1,162 +0,0 @@
---
id: torrentseeds-api
name: TorrentSeeds (API)
description: "TorrentSeeds (TS) is a Private Torrent Tracker for 0DAY / GENERAL"
language: en-US
type: private
encoding: UTF-8
requestDelay: 6
links:
- https://torrentseeds.org/
caps:
categorymappings:
- {id: 1, cat: PC/0day, desc: "Apps"}
- {id: 2, cat: PC/Games, desc: "Games"}
- {id: 3, cat: Movies, desc: "Movies"}
- {id: 4, cat: Audio, desc: "Music"}
- {id: 5, cat: TV/Anime, desc: "Anime"}
- {id: 6, cat: XXX, desc: "Porn"}
- {id: 7, cat: TV/Sport, desc: "Sport"}
- {id: 8, cat: Movies, desc: "Movies/Packs"}
- {id: 3205, cat: TV, desc: "TV"}
- {id: 3206, cat: TV/Foreign, desc: "TV/Foreign"}
- {id: 3207, cat: Movies/Foreign, desc: "Movies/Foreign"}
- {id: 3208, cat: Books/EBook, desc: "E-Books"}
- {id: 3209, cat: TV, desc: "TV/Packs"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
music-search: [q]
book-search: [q]
settings:
- name: apikey
type: text
label: APIKey
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://torrentseeds.org/\" target=\"_blank\">TorrentSeeds</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: created_at
options:
created_at: created
seeders: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: /api/torrents
method: get
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- path: api/torrents/filter
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
keywordsfilters:
- name: replace # avoid conflict when prepending + to words
args: ["-", " "]
- name: re_replace # prepend + to each word >2 characters
args: ["(\\w{3,})", "+$1"]
- name: re_replace # +2023 04 13 > +"2023 04 13"
args: ["\\+\\b(\\d{4}[\\s\\.]\\d{2}[\\s\\.]\\d{2})\\b", "+\"$1\""]
rows:
selector: data
attribute: attributes
fields:
categorydesc:
selector: category
title:
selector: name
details:
selector: details_link
download:
selector: download_link
poster:
selector: poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
files:
selector: num_file
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: times_completed
date:
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
selector: created_at
filters:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:
# api returns 0=false, 1=true
selector: freeleech
case:
0: 1 # not free
1: 0 # freeleech
uploadvolumefactor:
# api returns 0=false, 1=true
selector: double_upload
case:
0: 1 # normal
1: 2 # double
minimumratio:
text: 1.0
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 5.3.0 custom

View File

@@ -7,10 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentsir172.com/
- https://torrentsir173.com/
legacylinks:
- http://torrentsir161.com/
- https://torrentsir161.com/
- http://torrentsir162.com/
- https://torrentsir162.com/
- http://torrentsir163.com/
@@ -32,6 +30,8 @@ legacylinks:
- http://torrentsir171.com/
- https://torrentsir171.com/
- http://torrentsir172.com/
- https://torrentsir172.com/
- http://torrentsir173.com/
caps:
categorymappings:

View File

@@ -9,7 +9,7 @@ followredirect: true
requestDelay: 2
# to fetch current domain use https://tzip.top/
links:
- https://torrentsome192.com/
- https://torrentsome194.com/
legacylinks:
- https://torrentsome184.com/
- https://torrentsome185.com/
@@ -19,6 +19,8 @@ legacylinks:
- https://torrentsome189.com/
- https://torrentsome190.com/
- https://torrentsome191.com/
- https://torrentsome192.com/
- https://torrentsome193.com/
caps:
categorymappings:

View File

@@ -9,7 +9,7 @@ followredirect: true
requestDelay: 2
# to fetch current domain use https://tzip.top/
links:
- https://torrenttip173.com/
- https://torrenttip175.com/
legacylinks:
- https://Torrenttip165.com/
- https://Torrenttip166.com/
@@ -19,6 +19,8 @@ legacylinks:
- https://torrenttip170.com/
- https://torrenttip171.com/
- https://torrenttip172.com/
- https://torrenttip173.com/
- https://torrenttip174.com/
caps:
categorymappings:

View File

@@ -18,6 +18,8 @@ caps:
- {id: 6, cat: XXX, desc: "XXX"}
- {id: 7, cat: TV/Anime, desc: "Anime"}
- {id: 8, cat: Other, desc: "Other"}
# while zero does not return results when c=0 used, results occasionally have this cat instead of eight
- {id: 0, cat: Other, desc: "Other"}
modes:
search: [q]

View File

@@ -79,7 +79,8 @@ login:
selector: div#statusbar
search:
path: browse.php
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}&c{{.}}=1{{end}}"
# 0 active, 1 incldead, 2 onlydead

View File

@@ -192,4 +192,4 @@ search:
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 9.0.6
# json UNIT3D 9.0.7

View File

@@ -9,7 +9,7 @@ type: public
encoding: UTF-8
# to fetch current domain use https://www.rantop.my/
links:
- https://www.zktorrent4.com/
- https://www.zktorrent5.com/
legacylinks:
# latest domains list
- https://www.rantop.my/
@@ -23,7 +23,6 @@ legacylinks:
- https://www.torrent.onl/
- https://www.rantop.org/
# actual legacylinks
- https://www.gktorrent.in/
- https://www.gktorrent.sk/
- https://www.gktorrent.uno/
- https://www.gktorrent.gy/
@@ -38,6 +37,7 @@ legacylinks:
- https://www.zktorrent1.com/
- https://www.zktorrent2.com/
- https://www.zktorrent3.com/
- https://www.zktorrent4.com/
caps:
categorymappings:
@@ -111,10 +111,10 @@ search:
fields:
category:
selector: td:nth-child(1) > i
selector: i
attribute: class
title_phase1:
selector: td:nth-child(1) a
selector: a
filters:
- name: re_replace
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
@@ -133,7 +133,7 @@ search:
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: td:nth-child(1) a
selector: a
attribute: href
filters:
- name: regexp

View File

@@ -46,7 +46,7 @@ namespace Jackett.Common.Indexers.Definitions
configData: new ConfigurationDataCookie("For best results, change the 'Torrents per page' setting to 100 in your profile."))
{
configData.AddDynamic("freeleech", new BoolConfigurationItem("Search freeleech only") { Value = false });
configData.AddDynamic("Account Inactivity", new DisplayInfoConfigurationItem("Account Inactivity", "Inactive accounts are disabled after 90 days for User class, after 180 days for Power User class, after 270 days for Elite User & Insane User class. This doesn't apply to Veteran User class or above. Parking your account doubles the maximum inactive time. Only the login and browsing the site is considered activity."));
configData.AddDynamic("Account Inactivity", new DisplayInfoConfigurationItem("Account Inactivity", "Inactive accounts are disabled after 2 months days for User class, after 3 months for Power User, after 4 months for Elite User, after 6 months for Insane User, after 9 months for Veteran User, after 11 months for VIP, after 12 months for Dedicated BHD User & all Staff. Parking your account doubles the maximum inactive time. Only the login and browsing the site is considered activity."));
}
private TorznabCapabilities SetCapabilities()

View File

@@ -28,10 +28,9 @@ namespace Jackett.Common.Indexers.Definitions
public override string Id => "divxtotal";
public override string Name => "DivxTotal";
public override string Description => "DivxTotal is a SPANISH site for Movies, TV series and Software";
public override string SiteLink { get; protected set; } = "https://divxtotal.io/";
public override string SiteLink { get; protected set; } = "https://www1.divxtotal.lol/";
public override string[] LegacySiteLinks => new[]
{
"https://www.divxtotal.nl/",
"https://www.divxtotal.ac/",
"https://www.divxtotal.dev/",
"https://www.divxtotal.ms/",
@@ -46,6 +45,7 @@ namespace Jackett.Common.Indexers.Definitions
"https://www3.divxtotal.mov/",
"https://www4.divxtotal.mov/",
"https://www5.divxtotal.mov/",
"https://divxtotal.io/",
};
public override string Language => "es-ES";
public override string Type => "public";

View File

@@ -29,10 +29,10 @@ namespace Jackett.Common.Indexers.Definitions
public override string Name => "DonTorrent";
public override string Description => "DonTorrent is a SPANISH Public tracker for MOVIES / TV / GENERAL";
// in the event the redirect is inactive https://t.me/s/dontorrent should have the latest working domain
public override string SiteLink { get; protected set; } = "https://dontorrent.website/";
public override string SiteLink { get; protected set; } = "https://dontorrent.download/";
public override string[] AlternativeSiteLinks => new[]
{
"https://dontorrent.website/",
"https://dontorrent.download/",
"https://todotorrents.org/",
"https://tomadivx.net/",
"https://seriesblanco.one/",
@@ -41,8 +41,6 @@ namespace Jackett.Common.Indexers.Definitions
};
public override string[] LegacySiteLinks => new[]
{
"https://dontorrent.equipment/",
"https://dontorrent.fashion/",
"https://dontorrent.gallery/",
"https://dontorrent.yoga/",
"https://dontorrent.foundation/",
@@ -56,6 +54,8 @@ namespace Jackett.Common.Indexers.Definitions
"https://dontorrent.webcam/",
"https://dontorrent.schule/",
"https://dontorrent.stream/",
"https://dontorrent.website/",
"https://dontorrent.group/",
};
public override string Language => "es-ES";
public override string Type => "public";

View File

@@ -20,10 +20,6 @@ namespace Jackett.Common.Indexers.Definitions
public override string Name => "Erai-Raws";
public override string Description => "Erai-Raws is a Semi-Private team release site for Anime subtitles.";
public override string SiteLink { get; protected set; } = "https://www.erai-raws.info/";
public override string[] AlternativeSiteLinks => new[]
{
"https://www.erai-raws.info/",
};
public override string[] LegacySiteLinks => new[]
{
"https://erairaws.mrunblock.bond/",
@@ -35,8 +31,7 @@ namespace Jackett.Common.Indexers.Definitions
public override TorznabCapabilities TorznabCaps => SetCapabilities();
const string RSS_PATH = "feed/?type=magnet&token=";
const string RSS_FEED = "feed/?";
public EraiRaws(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(configService: configService,
@@ -50,6 +45,78 @@ namespace Jackett.Common.Indexers.Definitions
configData.AddDynamic("rssKey", rssKey);
configData.AddDynamic("rssKeyHelp", new DisplayInfoConfigurationItem(string.Empty, "Find the RSS Key by accessing <a href=\"https://www.erai-raws.info/rss-page/\" target =_blank>Erai-Raws RSS page</a> while you're logged in. Copy the <i>All RSS</i> URL, the RSS Key is the last part. Example: for the URL <b>.../feed/?type=torrent&0879fd62733b8db8535eb1be2333</b> the RSS Key is <b>0879fd62733b8db8535eb1be2333</b>"));
var rssCategories = new SingleSelectConfigurationItem("Select a Category", new Dictionary<string, string>
{
{"none", "-- Categories --"},
{"episodes/", "Airing"},
{"batches/", "Batches"},
{"specials/", "Movies or Special Episodes"},
{"encodes/", "Encodings"},
{"raws/", "Raws"}
})
{ Value = "none" };
configData.AddDynamic("rssCategories", rssCategories);
var rssResolution = new SingleSelectConfigurationItem("Select a Resolution", new Dictionary<string, string>
{
{"none", "-- Resolution --"},
{"res=1080p&", "1080p"},
{"res=720p&", "720p"},
{"res=SD&", "SD"}
})
{ Value = "none" };
configData.AddDynamic("rssResolution", rssResolution);
var rssLinkType = new SingleSelectConfigurationItem("Select a Link Type", new Dictionary<string, string>
{
{"type=torrent&", "Torrent"},
{"type=magnet&", "Magnet"}
})
{ Value = "type=magnet&" };
configData.AddDynamic("rssLinkType", rssLinkType);
var rssSubtitles = new MultiSelectConfigurationItem("Select one or more Subtitles (None ticked = ALL)", new Dictionary<string, string>
{
{"subs[]=us&", "English"},
{"subs[]=br&", "Portuguese(Brazil)"},
{"subs[]=mx&", "Spanish(Latin_America)"},
{"subs[]=es&", "Spanish"},
{"subs[]=sa&", "Arabic"},
{"subs[]=fr&", "French"},
{"subs[]=de&", "German"},
{"subs[]=it&", "Italian"},
{"subs[]=ru&", "Russian"},
{"subs[]=jp&", "Japanese"},
{"subs[]=pt&", "Portuguese"},
{"subs[]=pl&", "Polish"},
{"subs[]=nl&", "Dutch"},
{"subs[]=no&", "Norwegian"},
{"subs[]=fi&", "Finnish"},
{"subs[]=tr&", "Turkish"},
{"subs[]=se&", "Swedish"},
{"subs[]=gr&", "Greek"},
{"subs[]=il&", "Hebrew"},
{"subs[]=ro&", "Romanian"},
{"subs[]=id&", "Indonesian"},
{"subs[]=th&", "Thai"},
{"subs[]=kr&", "Korean"},
{"subs[]=dk&", "Danish"},
{"subs[]=cn&", "Chinese(Simplified&Traditional)"},
{"subs[]=bg&", "Bulgarian"},
{"subs[]=vn&", "Vietnamese"},
{"subs[]=in&", "Hindi"},
{"subs[]=lk&", "Tamil"},
{"subs[]=ua&", "Ukrainian"},
{"subs[]=hu&", "Hungarian"},
{"subs[]=cz&", "Czech"},
{"subs[]=hr&", "Croatian"},
{"subs[]=my&", "Malaysian"},
{"subs[]=sk&", "Slovakian"},
{"subs[]=ph&", "Filipino"}
})
{ Values = new[] { "" } };
configData.AddDynamic("rssSubtitles", rssSubtitles);
configData.AddDynamic(
"DDoS-Guard",
new DisplayInfoConfigurationItem("", "This site may use DDoS-Guard Protection, therefore Jackett requires <a href='https://github.com/Jackett/Jackett#configuring-flaresolverr' target='_blank'>FlareSolverr</a> to access it.")
@@ -86,13 +153,17 @@ namespace Jackett.Common.Indexers.Definitions
}
private TitleParser titleParser = new TitleParser();
private string RSSKey => ((StringConfigurationItem)configData.GetDynamic("rssKey")).Value;
private string RSS_Key => ((StringConfigurationItem)configData.GetDynamic("rssKey")).Value;
private string RSS_Categories => ((SingleSelectConfigurationItem)configData.GetDynamic("rssCategories")).Value;
private string RSS_Resolution => ((SingleSelectConfigurationItem)configData.GetDynamic("rssResolution")).Value;
private string RSS_LinkType => ((SingleSelectConfigurationItem)configData.GetDynamic("rssLinkType")).Value;
private string GetRSS_Subtitles()
{
var rssSubtitles = (MultiSelectConfigurationItem)configData.GetDynamic("rssSubtitles");
return string.Join("", rssSubtitles.Values);
}
private bool IsTitleDetailParsingEnabled => ((BoolConfigurationItem)configData.GetDynamic("title-detail-parsing")).Value;
private bool IsSubsEnabled => ((BoolConfigurationItem)configData.GetDynamic("include-subs")).Value;
public string RssFeedUri => SiteLink + RSS_PATH + RSSKey;
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
{
LoadValuesFromJson(configJson);
@@ -118,6 +189,15 @@ namespace Jackett.Common.Indexers.Definitions
private async Task<IEnumerable<RssFeedItem>> GetItemsFromFeed()
{
var RssFeedUri = SiteLink +
RSS_Categories.Replace("none", string.Empty) +
RSS_FEED +
RSS_Resolution.Replace("none", string.Empty) +
GetRSS_Subtitles() +
RSS_LinkType +
"token=" +
RSS_Key;
// Retrieve RSS feed
var result = await RequestWithCookiesAndRetryAsync(RssFeedUri);
if (result.IsRedirect)

View File

@@ -21,10 +21,6 @@ namespace Jackett.Common.Indexers.Definitions
public override string Name => "Filmes HD Torrent";
public override string SiteLink { get; protected set; } = "https://www.filmeshdtorrent.vip/";
public override string[] AlternativeSiteLinks { get; protected set; } = {
"https://www.filmeshdtorrent.vip/",
};
public override string[] LegacySiteLinks { get; protected set; } = {
"https://baixarfilmestorrents.net/",
"https://comandofilmes.life/",

View File

@@ -1,128 +0,0 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using AngleSharp.Dom;
using AngleSharp.Html.Parser;
using Jackett.Common.Extensions;
using Jackett.Common.Indexers.Definitions.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils;
using NLog;
using static System.Linq.Enumerable;
using WebClient = Jackett.Common.Utils.Clients.WebClient;
using WebRequest = Jackett.Common.Utils.Clients.WebRequest;
namespace Jackett.Common.Indexers.Definitions
{
[ExcludeFromCodeCoverage]
public class LAPUMiA : PublicBrazilianIndexerBase
{
public override string Id => "lapumia";
public override string Name => "LAPUMiA";
public override string SiteLink { get; protected set; } = "https://lapumia.net/";
public LAPUMiA(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs) : base(configService: configService, wc, l, ps, cs)
{
}
public override IParseIndexerResponse GetParser() => new LAPUMiAParser(webclient);
}
public class LAPUMiAParser : PublicBrazilianParser
{
private WebClient _webclient;
public LAPUMiAParser(WebClient webclient)
{
_webclient = webclient;
}
private Dictionary<string, string> ExtractFileInfo(IDocument detailsDom)
{
var fileInfo = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
var infoItems = detailsDom.QuerySelectorAll("div.info li");
foreach (var item in infoItems)
{
var text = item.TextContent.Trim();
var parts = text.Split(
new[]
{
':'
}, 2);
if (parts.Length == 2)
{
var key = parts[0].Trim();
var value = parts[1].Trim();
fileInfo[key] = value;
}
}
return fileInfo;
}
public override IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
{
var releases = new List<ReleaseInfo>();
var parser = new HtmlParser();
var dom = parser.ParseDocument(indexerResponse.Content);
var rows = dom.QuerySelectorAll("div.item");
foreach (var row in rows)
{
// Get the details page to extract the magnet link
var detailsParser = new HtmlParser();
var detailAnchor = row.QuerySelector("a[title]");
var detailUrl = new Uri(detailAnchor?.GetAttribute("href"));
var title = detailAnchor.GetAttribute("title");
var releaseCommonInfo = new ReleaseInfo
{
Title = CleanTitle(title),
Details = detailUrl,
Guid = detailUrl,
PublishDate = row.ExtractReleaseDate(),
Seeders = 1
};
var detailsPage = _webclient.GetResultAsync(new WebRequest(detailUrl.ToString())).Result;
var detailsDom = detailsParser.ParseDocument(detailsPage.ContentString);
foreach (var downloadButton in detailsDom.QuerySelectorAll("ul.buttons a[href^=\"magnet:?xt\"]"))
{
var release = releaseCommonInfo.Clone() as ReleaseInfo;
release.Title = ExtractTitleOrDefault(downloadButton, release.Title);
release.Category = downloadButton.ExtractCategory(release.Title);
var fileInfoDict = ExtractFileInfo(detailsDom);
var fileInfo = PublicBrazilianIndexerBase.FileInfo.FromDictionary(fileInfoDict);
release.Languages = fileInfo.Audio?.ToList() ?? release.Languages;
release.Genres = fileInfo.Genres?.ToList() ?? release.Genres;
release.Subs = string.IsNullOrEmpty(fileInfo.Subtitle)
? release.Subs
: new[]
{
fileInfo.Subtitle
};
var size = RowParsingExtensions.GetBytes(fileInfo.Size ?? string.Empty);
release.Size = size > 0 ? size : ExtractSizeByResolution(release.Title);
var magnet = downloadButton.ExtractMagnet();
release.Guid = release.MagnetUri = magnet;
release.DownloadVolumeFactor = 0; // Free
release.UploadVolumeFactor = 1;
if (release.Title.IsNotNullOrWhiteSpace())
releases.Add(release);
}
}
return releases;
}
protected override INode GetTitleElementOrNull(IElement downloadButton)
{
var description = downloadButton.PreviousSibling;
while (description != null && description.NodeType != NodeType.Text)
{
description = description.PreviousSibling;
}
return description;
}
}
}

View File

@@ -120,6 +120,8 @@ namespace Jackett.Common.Indexers.Definitions
{ "action", "advanced" },
{ "json", "noredirect" },
{ "grouping", "0" },
{ "order_by", "time" },
{ "order_way", "desc" },
};
if (configFreeOnly)
@@ -166,8 +168,6 @@ namespace Jackett.Common.Indexers.Definitions
indexerResponse = await RequestWithCookiesAndRetryAsync(movieListSearchUrl, headers: authHeaders);
}
var seasonRegex = new Regex(@"\bS\d{2,3}(E\d{2,3})?\b", RegexOptions.Compiled);
var releases = new List<ReleaseInfo>();
try
@@ -216,16 +216,8 @@ namespace Jackett.Common.Indexers.Definitions
}
var id = torrent.Id;
var title = torrent.ReleaseName;
var infoUrl = GetInfoUrl(result.GroupId, id);
var categories = new List<int> { TorznabCatType.Movies.ID };
if (title != null && seasonRegex.Match(title).Success)
{
categories.Add(TorznabCatType.TV.ID);
}
var uploadVolumeFactor = torrent.FreeleechType?.ToUpperInvariant() switch
{
"NEUTRAL LEECH" => 0,
@@ -235,11 +227,11 @@ namespace Jackett.Common.Indexers.Definitions
var release = new ReleaseInfo
{
Guid = infoUrl,
Title = title,
Title = torrent.ReleaseName,
Year = int.Parse(result.Year),
Details = infoUrl,
Link = GetDownloadUrl(id, jsonResponse.AuthKey, jsonResponse.PassKey),
Category = categories,
Category = MapTrackerCatToNewznab(result.CategoryId),
Size = long.Parse(torrent.Size),
Grabs = int.Parse(torrent.Snatched),
Seeders = int.Parse(torrent.Seeders),
@@ -386,6 +378,7 @@ namespace Jackett.Common.Indexers.Definitions
public class PassThePopcornMovie
{
public string GroupId { get; set; }
public string CategoryId { get; set; }
public string Title { get; set; }
public string Year { get; set; }
public string ImdbId { get; set; }

View File

@@ -389,6 +389,7 @@ namespace Jackett.Updater
"Definitions/elittracker.yml",
"Definitions/emmidtracker.yml",
"Definitions/emtrek.yml",
"Definitions/enthralled.yml",
"Definitions/eotforum.yml",
"Definitions/epizod.yml",
"Definitions/erzsebet.yml",
@@ -512,6 +513,7 @@ namespace Jackett.Updater
"Definitions/lat-team.yml", // switch to *-API #8682
"Definitions/latinop2p.yml",
"Definitions/leaguehd.yml", // renamed to lemonhd
"Definitions/learnbits.yml",
"Definitions/lechaudron.yml",
"Definitions/leech24-api.yml",
"Definitions/legacyhd.yml", // renamed to realflix
@@ -522,6 +524,7 @@ namespace Jackett.Updater
"Definitions/leporno.yml",
"Definitions/liaorencili.yml", // renamed to cilipro
"Definitions/lightning-tor.yml",
"Definitions/libronube.yml",
"Definitions/lilleskyorg.yml",
"Definitions/limetorrentsclone.yml",
"Definitions/lusthive.yml",
@@ -631,6 +634,7 @@ namespace Jackett.Updater
"Definitions/rockhardlossless.yml",
"Definitions/rodvd.yml",
"Definitions/rofd.yml",
"Definitions/rotorrent.yml",
"Definitions/rptorrents.yml",
"Definitions/rptorrents-api.yml", // renamed to rptscene-api
"Definitions/rptscene.yml",
@@ -738,7 +742,8 @@ namespace Jackett.Updater
"Definitions/torrentrex.yml",
"Definitions/torrentsectorcrew.yml",
"Definitions/torrentseed.yml", // renamed to latinop2p #9065
"Definitions/torrentseeds.yml", // migrated to c#
"Definitions/torrentseeds.yml",
"Definitions/torrentseeds-api.yml",
"Definitions/torrentsmd.yml",
"Definitions/torrent-town.yml",
"Definitions/torrentslocal.yml",