Compare commits

...

75 Commits

Author SHA1 Message Date
Garfield69
3e68e45c14 rudub: bump domain 2024-11-16 05:52:27 +13:00
Garfield69
b90bf95fdd lemonhd: fix details selector. resolves #15705 2024-11-16 05:52:17 +13:00
Garfield69
12d952d0f5 Update README.md 2024-11-15 14:46:00 +13:00
Garfield69
409407f38b lemonhd: update cats and modes #15705 2024-11-15 09:11:35 +13:00
Garfield69
cc9c89241b restore lemonhd a Chinese private site. resolves #15705
Previous version was a custom nexus v1.5b4 but this is is back to a standard nexus v1.5b4
2024-11-15 08:58:30 +13:00
Garfield69
9271095b61 mactorrentsdownload: new download process. resolves #12396
from the details page extract the path to the actual download page and then extract the download link from a script.
2024-11-15 06:48:22 +13:00
Garfield69
31847f6e81 vault-network: new cat 2024-11-15 06:28:00 +13:00
Garfield69
cd2b96cfb0 torrentsir: bump domain 2024-11-15 05:16:58 +13:00
Garfield69
ddfe681685 rudub: bump domain 2024-11-15 05:16:42 +13:00
Garfield69
a128b517d5 torrentqq: bump domains 2024-11-14 18:36:44 +13:00
Garfield69
bc82ecfebe Revert "add Ygg-api an unofficial API for YGG movies and tv (#15707)"
This reverts commit 75d6b08713.
2024-11-14 18:36:21 +13:00
Clemv95
75d6b08713 add Ygg-api an unofficial API for YGG movies and tv (#15707) 2024-11-14 16:39:49 +13:00
Garfield69
063f9ab3b1 rudub: bump domain 2024-11-14 05:08:23 +13:00
ilike2burnthing
61c03e82d9 rockethd: restore and update. resolves #15237 (#15704) 2024-11-13 08:27:09 +00:00
Garfield69
bbe6a9ed41 assorted nexus: fix date elapsed selector 2024-11-13 21:15:21 +13:00
Garfield69
835dc2cb15 add hdclone a Chinese private site. resolves #15703 2024-11-13 17:03:32 +13:00
Garfield69
7b78cacc9d vault-network: new cat 2024-11-13 06:10:20 +13:00
Garfield69
5537a53d30 rudub: bump domain 2024-11-13 05:29:20 +13:00
Garfield69
95384a92ee blutopia: removed. resolves #13778 2024-11-12 13:46:59 +13:00
Garfield69
197b66ea64 turknova: removed. resolves #9104 2024-11-12 13:45:24 +13:00
Garfield69
f8024be5cf torrentbd: add referer to complete cookie acceess 2024-11-12 06:08:47 +13:00
Garfield69
9d0e2adcca rudub: bump domain 2024-11-12 05:31:16 +13:00
Garfield69
6084287e4c aither: bump engine tag 2024-11-11 20:40:08 +13:00
Garfield69
76d3eaa4ec bitstream: removed. resolves #15597 2024-11-11 20:39:50 +13:00
ilike2burnthing
90bde6d62f Update README.md 2024-11-10 17:57:13 +00:00
Garfield69
a7cfedbe82 torrent9-tel: new domain 2024-11-11 05:54:10 +13:00
Garfield69
6d5c486011 rudub: bump domain 2024-11-11 05:47:48 +13:00
ilike2burnthing
d24704a6c0 Update README.md 2024-11-10 15:52:05 +00:00
Garfield69
86da01df19 Revert "xspeeds: fix for #15700"
This reverts commit 6fa840a70a.
2024-11-10 17:41:21 +13:00
Garfield69
6fa840a70a xspeeds: fix for #15700 2024-11-10 16:57:06 +13:00
Garfield69
baa19b3067 magnetcat: add more alternate domains 2024-11-10 07:05:52 +13:00
Garfield69
a4555501e2 rudub: bump domain 2024-11-10 05:21:50 +13:00
Garfield69
b347bed4f1 magnetcat: add alternate domain. resolves #15590
add alternate date and site selector detection
add current domain list link comment
2024-11-10 05:21:00 +13:00
zakary
248a3d2fb8 aither: site switched to UTC a week ago (#15698) 2024-11-09 12:28:14 +13:00
Garfield69
25a8b26403 torrentslocal: CA expired 2024-11-09 05:33:53 +13:00
Garfield69
a3ebd0e2ac rudub: bump domain 2024-11-09 05:33:38 +13:00
Garfield69
9cf2cb5ced dontorrent: bump domain 2024-11-08 18:25:14 +13:00
Garfield69
06d8682583 seedoff: flag search-not-available error 2024-11-08 05:22:56 +13:00
Garfield69
e784e38355 rudub: bump domain 2024-11-08 05:22:07 +13:00
ilike2burnthing
be939745a6 Update README.md 2024-11-07 10:52:43 +00:00
Garfield69
7d58649c40 torrentqq: bump domains 2024-11-07 18:18:02 +13:00
Garfield69
d057bcfeeb teamos: add config info about notices. 2024-11-07 06:08:26 +13:00
Garfield69
ff2683c911 rudub: bump domain 2024-11-07 05:41:36 +13:00
Garfield69
07c1d9d61d mejortorrent: bump domain 2024-11-06 18:14:15 +13:00
ilike2burnthing
e7f8b5af3c Update README.md 2024-11-06 03:43:49 +00:00
Garfield69
f9db68ca8b rudub: bump domain 2024-11-06 06:34:04 +13:00
Garfield69
038ec05a64 hdtorrents: add inactivity info to config 2024-11-05 20:33:52 +13:00
Garfield69
c705778ec3 erairaws: new rss token path + new invalid token detection. resolves #15687 2024-11-05 19:37:51 +13:00
Garfield69
07c1efa686 erairaws: handled missing subtitles. resolves #15687 2024-11-05 06:54:55 +13:00
Garfield69
88b51d9895 thecrazyones: DL now on details page only 2024-11-05 06:54:26 +13:00
Garfield69
dc3a1d5626 Update rudub.yml 2024-11-05 05:53:37 +13:00
Garfield69
283f95429c rudub: bump domain 2024-11-04 06:02:31 +13:00
Garfield69
65af1dfead hdtorrents: add flaresolverr config info 2024-11-03 17:59:01 +13:00
Garfield69
17fef0064d hdtorrents.org: add missing cat 2024-11-03 08:53:35 +13:00
Garfield69
6ac3faa395 Update README.md 2024-11-03 08:18:13 +13:00
Garfield69
d791a5c358 rudub: bump domain 2024-11-03 05:41:38 +13:00
Garfield69
bbf5b7b56e mypornclub: CA expired 2024-11-03 05:41:29 +13:00
Garfield69
5499e4714a xperiencebytes: removed. resolves #15594 2024-11-02 19:30:38 +13:00
Garfield69
f141e6fad6 dontorrent: new domain 2024-11-02 06:12:09 +13:00
Garfield69
d24ebe7781 rudub: bump domain 2024-11-02 06:11:55 +13:00
Jonas Stendahl
8139f3ba1f superbits: add alternative link (#15682) 2024-11-02 05:23:32 +13:00
Bogdan
03931906da superbits: update timezone offset 2024-11-01 17:54:10 +02:00
Bogdan
ebf1e302b3 filelist: update timezone offset 2024-11-01 17:53:09 +02:00
Bogdan
73d6068cb3 iptorrents: search IMDb ID in descriptions 2024-11-01 17:50:25 +02:00
Garfield69
abbbb34c6c assorted unit3d: bump engine tag 2024-11-01 14:53:52 +13:00
Garfield69
b2a8221ab1 torrentsir: bump domain 2024-11-01 05:34:20 +13:00
Garfield69
46e99d1d50 torrentqq: bump domains 2024-11-01 05:34:10 +13:00
Garfield69
94b20baabd rudub: bump domain 2024-11-01 05:33:55 +13:00
Garfield69
5b76d876a1 mejortorrent: bump domain 2024-10-31 18:12:42 +13:00
Garfield69
8362bf5767 nusantarare: update config inactivity info 2024-10-31 17:33:52 +13:00
Garfield69
a9a7cc4752 assorted yml: add login error detection 2024-10-31 15:16:20 +13:00
Garfield69
6a5b6e8a30 gaytorrentru: add failed login error detection. #15680 2024-10-31 07:07:20 +13:00
Garfield69
2079192f0b avistaztracker: update account inactivity info. resolves #15679 2024-10-31 05:20:25 +13:00
Garfield69
885b92137e rudub: bump domain 2024-10-31 05:19:33 +13:00
Garfield69
24de1f95cc onlyencodes: bump engioe tag 2024-10-31 05:19:22 +13:00
44 changed files with 538 additions and 633 deletions

View File

@@ -275,13 +275,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Bitpalace
* BitPorn
* Bitspyder
* BitStream
* BitTorrentFiles
* BiTTuRK
* BJ-Share (BJ) [![(invite needed)][inviteneeded]](#)
* BlueBird
* BlurayTracker
* Blutopia (BLU)
* Borgzelle [![(invite needed)][inviteneeded]](#)
* Boxing Torrents
* Brasil Tracker
@@ -295,7 +293,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* CapybaraBR
* Carp-Hunter
* Carpathians
* CarPT
* CarPT [![(invite needed)][inviteneeded]](#)
* Cathode-Ray.Tube (CRT)
* CD File
* CeskeForum
@@ -321,7 +319,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Das Unerwartete (D-U)
* DataScene (DS)
* DenOfSimps (DoS)
* DesiTorrents
* DesiTorrents [![(invite needed)][inviteneeded]](#)
* Diablo Torrent
* DICMusic [![(invite needed)][inviteneeded]](#)
* DigitalCore
@@ -358,7 +356,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Gay-Torrents.org
* GAYtorrent.ru
* GazelleGames (GGn)
* Generation-Free
* Generation-Free [![(invite needed)][inviteneeded]](#)
* GigaTorrents
* GimmePeers (formerly ILT)
* GiroTorrent
@@ -375,13 +373,14 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* HD-Olimpo [![(invite needed)][inviteneeded]](#)
* HD-Only (HDO)
* HD-Space (HDS)
* HD-Torrents (HDT) [![(invite needed)][inviteneeded]](#)
* HD-Torrents (HDT)
* HD-UNiT3D
* HD4FANS [![(invite needed)][inviteneeded]](#)
* HDArea (HDA)
* HDAtmos
* HDBits [![(invite needed)][inviteneeded]](#)
* HDCiTY (HDC) [![(invite needed)][inviteneeded]](#)
* HDClone
* HDFans
* HDHome (HDBigger) [![(invite needed)][inviteneeded]](#)
* HDKylin (麒麟)
@@ -434,6 +433,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* LearnBits
* LearnFlakes
* Leech24
* LemonHD [![(invite needed)][inviteneeded]](#)
* Lesbians4u
* Libble
* LibraNet (LN)
@@ -521,6 +521,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Resurrect The Net [![(invite needed)][inviteneeded]](#)
* RetroFlix
* RevolutionTT [![(invite needed)][inviteneeded]](#)
* RocketHD
* Romanian Metal Torrents (RMT)
* RoTorrent
* Rousi
@@ -601,7 +602,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* TranceTraffic
* Trellas (Magico) [![(invite needed)][inviteneeded]](#)
* TreZzoR
* TurkNova
* TurkSeed
* TurkTorrent (TT)
* TV Chaos UK (TVCUK)
@@ -624,10 +624,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Wukong (悟空问道)
* x-ite.me (XM)
* Xider-Torrent
* XperienceBytes (XPB)
* XSpeeds (XS)
* Xthor [![(invite needed)][inviteneeded]](#)
* xTorrenty
* xTorrenty [![(invite needed)][inviteneeded]](#)
* XtremeBytes
* XWT-Classics
* XWTorrents (XWT)

View File

@@ -47,6 +47,8 @@ login:
vb_login_password: "{{ .Config.password }}"
cookieuser: 1
do: login
error:
- selector: div.restore:contains("invalid username or password")
test:
path: torrents.php
selector: a[href*="logout.php"]

View File

@@ -152,7 +152,7 @@ search:
selector: created_at
filters:
- name: append
args: " -01:00" # EGT
args: " +00:00" # UTC
- name: dateparse
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
@@ -188,4 +188,4 @@ search:
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 8.3.2 (custom)
# json UNIT3D 8.3.3

View File

@@ -106,6 +106,8 @@ login:
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: :root:contains("Sikertelen bejelentkezés")
test:
path: index.php
selector: a[href^="logout.php?c="]

View File

@@ -1,191 +0,0 @@
---
id: blutopia-api
name: Blutopia (API)
description: "Blutopia (BLU) is a Private Torrent Tracker for HD MOVIES / TV"
language: en-US
type: private
encoding: UTF-8
links:
- https://blutopia.cc/
legacylinks:
- https://blutopia.xyz/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movie"}
- {id: 2, cat: TV, desc: "TV Show"}
- {id: 3, cat: Movies/Other, desc: "FANRES"}
- {id: 5, cat: Movies/Other, desc: "Trailer"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
settings:
- name: apikey
type: text
label: APIKey
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://blutopia.cc/\" target=\"_blank\">Blutopia</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: single_file_release_use_filename
type: checkbox
label: Use filename as title for single file releases
default: true
- 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
- name: info_activity
type: info
label: Account Inactivity
default: "Your membership requires that you stay active at Blutopia. To not get disabled, you are required to login to the site at least once every 30 days or be actively seeding at least 1 torrent."
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:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: data
attribute: attributes
fields:
category:
selector: category_id
title_optional:
selector: name
title_filename:
selector: "files[0].name"
optional: true
files:
selector: num_file
title:
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
details:
selector: details_link
download:
selector: download_link
infohash:
selector: info_hash
poster:
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: re_replace
args: ["(?i)(TV Movie)", "TV_Movie"]
- name: replace
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
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
_featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
0%: 1 # not free
25%: 0.75
50%: 0.5
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
downloadvolumefactor:
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
uploadvolumefactor_double_upload:
# api returns False, True
selector: double_upload
case:
False: 1 # normal
True: 2 # double
uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
# minimumratio:
# text: 0.4
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 8.3.3

View File

@@ -72,6 +72,8 @@ login:
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.main:contains("Sikertelen bejelentkezés")
test:
path: index.php
selector: a[href^="logout.php"]

View File

@@ -148,7 +148,7 @@ search:
attribute: href
date_elapsed:
# time type: time elapsed (default)
selector: td:nth-child(4) > span[title]
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
@@ -158,7 +158,7 @@ search:
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td:nth-child(4):not(:has(span))
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
@@ -168,17 +168,17 @@ search:
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td:nth-child(5)
selector: td.rowfollow:nth-child(5)
seeders:
selector: td:nth-child(6)
selector: td.rowfollow:nth-child(6)
optional: true
default: 1
leechers:
selector: td:nth-child(7)
selector: td.rowfollow:nth-child(7)
optional: true
default: 1
grabs:
selector: td:nth-child(8)
selector: td.rowfollow:nth-child(8)
optional: true
default: 1
downloadvolumefactor:
@@ -204,7 +204,7 @@ search:
span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:"
span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:"
description:
selector: td:nth-child(2)
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
filters:
- name: prepend

View File

@@ -62,6 +62,8 @@ login:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: 1
error:
- selector: table.main:contains("Login failed")
test:
path: index.php
selector: a[href^="logout.php"]

View File

@@ -100,6 +100,8 @@ login:
login: 1
belepes: 1
rhash: 123
error:
- selector: :root:contains("{\"hiba\":true,")
test:
path: browse
selector: a[href*="logout"]

View File

@@ -114,6 +114,16 @@ login:
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table:has(a[href*="login.php?error=1"])
message:
text: "ERROR: Incorrect username!"
- selector: table:has(a[href*="login.php?error=4"])
message:
text: "ERROR: Incorrect password!"
- selector: table:has(a[href*="login.php?error="])
message:
text: "ERROR: Something went wrong during login!"
test:
path: index.php
selector: a[href*="/logout.php"]

View File

@@ -111,6 +111,8 @@ login:
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.panel:has(h3:contains("Login failed"))
test:
path: browse.php
selector: a[href$="/logout.php"]

View File

@@ -0,0 +1,201 @@
---
id: hdclone
name: HDClone
description: "HDClone is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://pt.hdclone.org/
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies/电影"}
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫、动画"}
- {id: 408, cat: Audio/Video, desc: "Playlet/短剧"}
- {id: 410, cat: Audio/Video, desc: "MV/演唱会"}
- {id: 406, cat: Audio, desc: "Music/音乐"}
- {id: 407, cat: Other, desc: "Others/其他(慎选)"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: 2facode
type: text
label: 2FA code
- name: info_2fa
type: info
label: "About 2FA code"
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the HDClone Web Site. Otherwise just leave it empty."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
- name: info_activity
type: info
label: Account Inactivity
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li> Users with a parked account will be deleted if they do not log in for 80 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 60 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 10 consecutive days.</li></ol>"
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
secret: ""
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
message:
selector: td.text
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
# 0 incldead, 1 active, 2 dead
incldead: 0
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
# 0 AND, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title_default:
selector: a[href^="details.php?id="]
title:
selector: a[title][href^="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: img[data-src]
attribute: data-src
imdbid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="imdb.com/title/tt"]
attribute: href
doubanid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="movie.douban.com/subject/"]
attribute: href
date_elapsed:
# time type: time elapsed (default)
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td.rowfollow:nth-child(5)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow:nth-child(8)
downloadvolumefactor:
case:
img.pro_free: 0
img.pro_free2up: 0
img.pro_50pctdown: 0.5
img.pro_50pctdown2up: 0.5
img.pro_30pctdown: 0.3
"*": 1
uploadvolumefactor:
case:
img.pro_50pctdown2up: 2
img.pro_free2up: 2
img.pro_2up: 2
"*": 1
minimumratio:
text: 1
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.11 2024-03-27

View File

@@ -188,4 +188,4 @@ search:
uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
# as a pay site there is no MR or MST
# json UNIT3D 8.3.1 (custom)
# json UNIT3D 8.3.3 (custom)

View File

@@ -200,4 +200,4 @@ search:
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 8.3.2 (custom)
# json UNIT3D 8.3.3 (custom)

View File

@@ -0,0 +1,173 @@
---
id: lemonhd
name: LemonHD
description: "LemonHD is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://lemonhd.club/
legacylinks:
- https://leaguehd.com/
- https://lemonhd.org/
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies/电影"}
- {id: 411, cat: Audio, desc: "Music/无损音乐"}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
- {id: 406, cat: Audio/Video, desc: "Music Videos/音乐MV"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 402, cat: TV, desc: "TV Series/剧集"}
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
- {id: 410, cat: Movies/3D, desc: "Movies 3D"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
test:
path: index.php
selector: a[href$="logout.php"]
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
# 0 incldead, 1 active, 2 justdead
incldead: 0
# promotion: 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x 50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdb, 5 douban
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}5{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
category:
selector: a[href*="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href*="details.php?id="] > b[title]
attribute: title
details:
selector: a[href*="details.php?id="]
attribute: href
download:
selector: a[href*="download.php?id="]
attribute: href
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
doubanid:
selector: a[href*="movie.douban.com/subject/"]
attribute: href
date_elapsed:
# time type: time elapsed (default)
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td.rowfollow:nth-child(5)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow:nth-child(8)
downloadvolumefactor:
case:
img.pro_free: 0
img.pro_free2up: 0
img.pro_50pctdown: 0.5
img.pro_50pctdown2up: 0.5
img.pro_30pctdown: 0.3
"*": 1
uploadvolumefactor:
case:
img.pro_50pctdown2up: 2
img.pro_free2up: 2
img.pro_2up: 2
"*": 1
description:
selector: td:nth-child(2)
remove: a, img
# NexusPHP Standard v1.5 Beta 4

View File

@@ -23,9 +23,19 @@ settings:
type: info_flaresolverr
download:
selectors:
- selector: a[href$=".torrent"]
before:
pathselector:
selector: a[href^="/download?"]
attribute: href
filters:
- name: replace
args: ["/download?", "/download/?"]
selectors:
- selector: script:contains("downloadLink")
usebeforeresponse: true
filters:
- name: regexp
args: "downloadLink = '(.+?)';"
search:
paths:

View File

@@ -5,8 +5,15 @@ description: "Magnet Cat is a Public Tracker for MOVIES / TV / GENERAL"
language: en-US
type: public
encoding: UTF-8
# current domain finder https://魔法猫咪.lol/ or https://哆啦a猫.com/
links:
- https://magnetcatcat.com/
- https://clmclm.com/
- https://www.clm446.buzz/
- https://www.clm447.buzz/
- https://www.clm448.buzz/
- https://www.clm449.buzz/
- https://www.clm450.buzz/
caps:
categorymappings:
@@ -76,14 +83,14 @@ search:
- name: regexp
args: ([A-F|a-f|0-9]{40})
date:
selector: div.sbar > span:contains("Date added:") > b
selector: div.sbar > span:contains("Date added:") > b, div.sbar > span:contains("添加时间:") > b
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd zzz"
size:
selector: div.sbar > span:contains("Size:") > b
selector: div.sbar > span:contains("Size:") > b, div.sbar > span:contains("大小:") > b
seeders:
text: 1
leechers:

View File

@@ -5,6 +5,8 @@ description: "MyPornClub is a Public Torrent Tracker for 3X"
language: en-US
type: public
encoding: UTF-8
certificates:
- 21debda35c67d63e823d122df5824a3f8465759a # expired 2 Nov 2024
links:
- https://myporn.club/

View File

@@ -187,4 +187,4 @@ search:
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 8.3.2
# json UNIT3D 8.3.3

View File

@@ -74,7 +74,7 @@ settings:
- name: info_activity
type: info
label: Account Inactivity
default: "Note your account will be DISABLED for the reason below:<ol><li>NOT log in your account in 30 days in a row. Except! VIP and VVIP users.</li><li>Park account or NO new download or other activity on the site in 152 days. Except! VIP and VVIP users.</li></ol>"
default: "Note your account will be DISABLED for the reason below:<ol><li>NOT log in your account in 365 days in a row. Except! VIP and VVIP users.</li><li>Park account or NO new download or other activity on the site in 365 days. Except! VIP and VVIP users.</li></ol>"
login:
path: takelogin.php

View File

@@ -184,4 +184,4 @@ search:
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# json UNIT3D 8.3.2
# json UNIT3D 8.3.3

View File

@@ -1,12 +1,12 @@
---
id: bitstream-api
name: BitStream (API)
description: "BitStream is a SPANISH Private tracker for H.265 MOVIES / TV"
language: es-ES
id: rockethd
name: RocketHD (API)
description: "RocketHD is a GERMAN Private Torrent Tracker for MOVIES / TV"
language: de-DE
type: private
encoding: UTF-8
links:
- https://bitstream.click/
- https://r0k3t.li/
caps:
categorymappings:
@@ -25,7 +25,7 @@ settings:
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://bitstream.click/\" target=\"_blank\">BitStream</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
default: "Find or Generate a new API Token by accessing your <a href=\"https://r0k3t.li/\" target=\"_blank\">RocketHD</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -50,10 +50,6 @@ settings:
options:
desc: desc
asc: asc
- name: info_activity
type: info
label: Account Inactivity
default: "Not logging in for a month will result in the account being deactivated or banned. If an account does not register downloads in a month, it will be banned for users with the User rank. Other ranks will be given a timeframe determined by staff."
login:
path: /api/torrents
@@ -108,7 +104,7 @@ search:
files:
selector: num_file
title:
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }} Spanish"
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
details:
selector: details_link
download:
@@ -129,6 +125,8 @@ search:
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: replace
args: [" & ", "_&_"]
description:
@@ -175,6 +173,6 @@ search:
uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
minimumseedtime:
# 15 days (as seconds = 15 x 24 x 60 x 60)
text: 1296000
# json UNIT3D 8.2.0
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# json UNIT3D 8.3.3

View File

@@ -9,24 +9,8 @@ type: semi-private
encoding: windows-1251
followredirect: true
links:
- https://30october.rudub.online/
- https://16november.rudub.online/
legacylinks:
- https://rudub.online/
- https://01october.rudub.online/
- https://02october.rudub.online/
- https://03october.rudub.online/
- https://04october.rudub.online/
- https://05october.rudub.online/
- https://06october.rudub.online/
- https://07october.rudub.online/
- https://08october.rudub.online/
- https://09october.rudub.online/
- https://10october.rudub.online/
- https://11october.rudub.online/
- https://12october.rudub.online/
- https://13october.rudub.online/
- https://14october.rudub.online/
- https://15october.rudub.online/
- https://16october.rudub.online/
- https://17october.rudub.online/
- https://18october.rudub.online/
@@ -41,6 +25,23 @@ legacylinks:
- https://27october.rudub.online/
- https://28october.rudub.online/
- https://29october.rudub.online/
- https://30october.rudub.online/
- https://31october.rudub.online/
- https://01november.rudub.online/
- https://02november.rudub.online/
- https://03november.rudub.online/
- https://04november.rudub.online/
- https://05november.rudub.online/
- https://06november.rudub.online/
- https://07november.rudub.online/
- https://08november.rudub.online/
- https://09november.rudub.online/
- https://10november.rudub.online/
- https://11november.rudub.online/
- https://12november.rudub.online/
- https://13november.rudub.online/
- https://14november.rudub.online/
- https://15november.rudub.online/
caps:
categorymappings:

View File

@@ -216,6 +216,9 @@ search:
- name: re_replace # S01E02 to сезон 1 сери 2
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "сезон $1 сери $2"]
error:
- selector: td.lista:contains("Поиск временно не работает")
rows:
selector: table.lista tbody tr:has(a[href^="/torrent/"])

View File

@@ -7,6 +7,7 @@ type: private
encoding: UTF-8
links:
- https://superbits.org/
- https://superbits.cc/
caps:
categorymappings:
@@ -151,7 +152,7 @@ search:
selector: added
filters:
- name: append
args: " +02:00" # CEST
args: " +01:00" # CET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:

View File

@@ -205,7 +205,7 @@ search:
attribute: data-src
date_elapsed:
# time type: time elapsed (default)
selector: td:nth-child(4) > span[title]
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
@@ -215,7 +215,7 @@ search:
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td:nth-child(4):not(:has(span))
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
@@ -225,13 +225,13 @@ search:
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td:nth-child(5)
selector: td.rowfollow:nth-child(5)
seeders:
selector: td:nth-child(6)
selector: td.rowfollow:nth-child(6)
leechers:
selector: td:nth-child(7)
selector: td.rowfollow:nth-child(7)
grabs:
selector: td:nth-child(8)
selector: td.rowfollow:nth-child(8)
description:
case:
span[title="Autorisé"]: "Verified"

View File

@@ -119,6 +119,10 @@ settings:
type: checkbox
label: Search freeleech only
default: false
- name: info_results
type: info
label: Search results
default: "If you are getting the error <b>Found no results while trying to browse this tracker</b> then first access the site with your browser and read any mandatory notices that the site presents. You cannot browse torrents with unread notices outstanding."
login:
method: cookie

View File

@@ -126,6 +126,11 @@ login:
path: index.php
selector: a[href="logout.php"]
download:
selectors:
- selector: a[href^="download_ssl.php?torrent="]
attribute: href
search:
paths:
- path: selection.php
@@ -155,7 +160,7 @@ search:
selector: a.selection_a
attribute: href
download:
selector: a[href^="download_ssl.php?torrent="]
selector: a.selection_a
attribute: href
poster:
selector: div[id^="details"] img

View File

@@ -9,7 +9,7 @@ type: public
encoding: UTF-8
# to fetch current domain use https://www.protege-torrent.com/Torrent9
links:
- https://www.torrent9.ing/
- https://www.torrent9.run/
legacylinks:
- https://www.protege-liens.com/
- https://www.protege-liens.net/
@@ -21,7 +21,6 @@ legacylinks:
- https://www.torrent.onl/
- https://torrent9.news/
# actual legacylinks
- https://www.torrent9.mn/
- https://www.torrent9.city/
- https://www.torrent9.gy/
- https://www.torrent9.sbs/
@@ -37,6 +36,7 @@ legacylinks:
- https://www.torrent9.gl/
- https://www.torrent9.cyou/
- https://www.torrent9.gd/
- https://www.torrent9.ing/
caps:
categorymappings:

View File

@@ -103,6 +103,7 @@ login:
search:
headers:
User-Agent: ["{{ .Config.useragent }}"]
Referer: ["{{ .Config.sitelink }}index.php?initK&all"]
paths:
- path: ajgettorrents.php

View File

@@ -7,12 +7,9 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentqq339.com/
- https://torrentegg31.com/
- https://torrentqq342.com/
- https://torrentegg34.com/
legacylinks:
- https://torrentqq324.com/
- https://torrentqq325.com/
- https://torrentqq326.com/
- https://torrentqq327.com/
- https://torrentqq328.com/
- https://torrentqq329.com/
@@ -28,6 +25,12 @@ legacylinks:
- https://torrentegg29.com/
- https://torrentqq338.com/
- https://torrentegg30.com/
- https://torrentqq339.com/
- https://torrentegg31.com/
- https://torrentqq340.com/
- https://torrentegg32.com/
- https://torrentegg33.com/
- https://torrentqq341.com/
caps:
categorymappings:

View File

@@ -7,12 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentsir156.com/
- https://torrentsir158.com/
legacylinks:
- http://torrentsir147.com/
- https://torrentsir147.com/
- http://torrentsir148.com/
- https://torrentsir148.com/
- http://torrentsir149.com/
- https://torrentsir149.com/
- http://torrentsir150.com/
@@ -28,6 +24,10 @@ legacylinks:
- http://torrentsir155.com/
- https://torrentsir155.com/
- http://torrentsir156.com/
- https://torrentsir156.com/
- http://torrentsir157.com/
- https://torrentsir157.com/
- http://torrentsir158.com/
caps:
categorymappings:

View File

@@ -6,7 +6,7 @@ language: ru-RU
type: semi-private
encoding: UTF-8
certificates:
- abea2b6915578cf69e6270980e75b518abb5af73 # expired 4th August 2024
- 314a854715f68440d92c14d2414065410785cf26 # expired 9th November 2024
links:
- https://torrents-local.xyz/

View File

@@ -1,196 +0,0 @@
---
id: turknova
name: TurkNova
description: "TurkNova is a TURKISH Private Torrent Tracker for MOVIES / TV / GENERAL. This Indexer is for English only."
language: en-US
type: private
encoding: UTF-8
links:
- https://turknova.org/
legacylinks:
- https://www.turknova.net/
caps:
categorymappings:
- {id: 64, cat: Movies/UHD, desc: "4K - UHD"}
- {id: 40, cat: Movies/HD, desc: "1080p - 720p - BDRip - mRip"}
- {id: 71, cat: Movies/HD, desc: "H265 - HECV"}
- {id: 39, cat: Movies, desc: "BOXSET"}
- {id: 43, cat: Movies/HD, desc: "NETFLIX"}
- {id: 84, cat: TV, desc: "DISNEY+"}
- {id: 85, cat: TV, desc: "AMZN PRIME"}
- {id: 92, cat: TV, desc: "DISCOVERY+"}
- {id: 88, cat: TV, desc: "BLUTV"}
- {id: 74, cat: TV, desc: "EXXEN"}
- {id: 77, cat: TV, desc: "GAIN"}
- {id: 87, cat: TV, desc: "TOD"}
- {id: 91, cat: TV, desc: "TABII"}
- {id: 94, cat: TV, desc: "MUBI"}
- {id: 59, cat: Movies/WEB-DL, desc: "WEB-DL / WEBRip"}
- {id: 34, cat: TV/Documentary, desc: "Belgesel"}
- {id: 60, cat: TV/Foreign, desc: "Yabancı Dizi"}
- {id: 72, cat: TV/Anime, desc: "Animasyon"}
- {id: 48, cat: TV/HD, desc: "HDTV - Rip"}
- {id: 55, cat: TV, desc: "Türk Filmi"}
- {id: 95, cat: Other, desc: "Yeşilçam"}
- {id: 46, cat: Other, desc: "Eğitim"}
- {id: 53, cat: Other, desc: "Resim"}
- {id: 50, cat: Audio, desc: "Müzik"}
- {id: 52, cat: PC, desc: "Program"}
- {id: 62, cat: PC, desc: "İşletim Sistemi"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: info_layout
type: info
label: Layout
default: "<ol><li>Only the English Classic profile is supported.<li>Make sure to set the <b>Torrent Listing (Listeleme Biçimi)</b> option in your profile to <b>Classic (Klasik)</b><li>And set the <b>Language (Dil)</b> to <b>English</b><li>Using the <i>Modern</i> theme will prevent results, and using <i>Turkish</i> will prevent upload dates.</ol>"
- name: sort
type: select
label: Sort requested from site
default: added
options:
added: created
seeders: seeders
size: size
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_results
type: info
label: Search results
default: "If you are getting the error: <b>An error has occurred!You can't view this page unless you read all your unread messages</b>, then access the site with your browser and <b>mark as read</b> all PMs."
login:
path: ?p=home&pid=1
method: form
form: form#sls_form
submitpath: ajax/login.php
inputs:
action: login
loginbox_membername: "{{ .Config.username }}"
loginbox_password: "{{ .Config.password }}"
loginbox_remember: 1
selectorinputs:
securitytoken:
selector: "script:contains(\"stKey: \")"
filters:
- name: regexp
args: "stKey: \"(.+?)\","
error:
- selector: div.error
test:
path: ?p=home&pid=1
selector: a#logout
search:
paths:
- path: /
keywordsfilters:
- name: re_replace
args: ["[^a-zA-Z0-9]+", "%25"]
inputs:
p: torrents
pid: 32
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
keywords: "{{ .Keywords }}"
# name, description, both, uploader
search_type: name
"sortOptions[sortBy]": "{{ .Config.sort }}"
"sortOptions[sortOrder]": "{{ .Config.type }}"
error:
- selector: div.error:not(:contains("Hiçbir sonuç bulunamadı.")):not(:contains("There are no results found."))
# does not support imdbid search and does not return imdb link in results.
rows:
selector: "table#torrents_table_classic > tbody > tr:has(td.torrent_name){{ if .Config.freeleech }}:has(img[title=\"FREE!\"]){{ else }}{{ end }}"
fields:
category:
selector: div.category_image > a
attribute: href
filters:
- name: querystring
args: cid
title:
selector: a[href*="?p=torrents&pid=10&action=details"]
details:
# href="https://turknova.org/?p=torrents&amp;pid=10&amp;action=details&amp;tid=40737"
selector: a[href*="?p=torrents&pid=10&action=details"]
attribute: href
download:
# from details page href="https://turknova.org/?p=torrents&pid=10&action=download&tid=40774"
selector: a[href*="?p=torrents&pid=10&action=details"]
attribute: href
filters:
- name: replace
args: ["details", "download"]
poster:
selector: a[rel="fancybox"]
attribute: href
date_day:
optional: true
# Uploaded Friday at 05:11 by
# Uploaded Today at 00:48 by
# Uploaded Yesterday at 23:57 by
selector: td.torrent_name:contains(" at ")
filters:
- name: regexp
args: "Uploaded (.+?) by"
- name: replace
args: [" at ", " "]
- name: fuzzytime
date_year:
# auto adjusted by site account profile
optional: true
# Uploaded 30-01-2019 15:02 by
selector: td.torrent_name:not(:contains(" at "))
filters:
- name: regexp
args: "Uploaded (.+?) by"
- name: dateparse
args: "dd-MM-yyyy HH:mm"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
selector: a[rel="torrent_size"]
seeders:
selector: a[rel="torrent_seeders"]
leechers:
selector: a[rel="torrent_leechers"]
grabs:
selector: a[rel="times_completed"]
downloadvolumefactor:
case:
"img[title=\"FREE!\"]": 0
"img[title=\"Download Multiplier: 0.5\"]": 0.5
"*": 1
uploadvolumefactor:
case:
"img[title=\"Upload Multiplier: 2\"]": 2
"*": 1
minimumratio:
text: 1.0
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# TSUE 2.2

View File

@@ -29,7 +29,9 @@ caps:
- {id: 38, cat: Audio, desc: "Christmas Audio"}
- {id: 39, cat: Movies, desc: "Christmas Movie"}
- {id: 40, cat: TV, desc: "Christmas TV"}
- {id: 29, cat: Console, desc: "Games / All"}
- {id: 29, cat: Console, desc: "Games"}
- {id: 42, cat: PC/Games, desc: "Games PC"}
- {id: 43, cat: Console/Wii, desc: "Games Wii"}
- {id: 28, cat: Audio, desc: "Karaoke"}
- {id: 7, cat: Movies/HD, desc: "Movie 1080p"}
- {id: 6, cat: Movies/UHD, desc: "Movie 4K"}

View File

@@ -1,152 +0,0 @@
---
id: xperiencebytes-api
name: XperienceBytes (API)
description: "XperienceBytes (XPB) is a BRAZILIAN Private site for ANIME"
language: pt-BR
type: private
encoding: UTF-8
links:
- https://xperiencebytes.me/
caps:
categorymappings:
- {id: 6, cat: Movies, desc: "Tipo Filme"}
- {id: 7, cat: TV, desc: "Tipo Série"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
settings:
- name: apikey
type: text
label: APIKey
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://xperiencebytes.me/\" target=\"_blank\">XPB</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
- name: info_activity
type: info
label: Account Inactivity
default: "After 3 months without any log in or usage of your account, it will be pruned and can only be reactivated by a staff member. Make sure to keep your account active and do not use programs to keep your account active, as your account may still get pruned."
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:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
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: re_replace
args: ["\\.", " "]
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%, 25%, 50%, 75%, 100%
selector: freeleech
case:
0%: 1 # not free
25%: 0.75
50%: 0.5
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
uploadvolumefactor:
# api returns 0=false, 1=true
selector: double_upload
case:
0: 1 # normal
1: 2 # double
minimumratio:
text: 1.0
# json UNIT3D 6.0.0

View File

@@ -28,10 +28,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.equipment/";
public override string SiteLink { get; protected set; } = "https://dontorrent.gallery/";
public override string[] AlternativeSiteLinks => new[]
{
"https://dontorrent.equipment/",
"https://dontorrent.gallery/",
"https://todotorrents.org/",
"https://tomadivx.net/",
"https://seriesblanco.one/",
@@ -40,8 +40,6 @@ namespace Jackett.Common.Indexers.Definitions
};
public override string[] LegacySiteLinks => new[]
{
"https://dontorrent.fyi/",
"https://dontorrent.sbs/",
"https://dontorrent.cc/",
"https://dontorrent.esq/",
"https://dontorrent.city/",
@@ -55,6 +53,8 @@ namespace Jackett.Common.Indexers.Definitions
"https://dontorrent.exposed/",
"https://dontorrent.faith/",
"https://dontorrent.gratis/",
"https://dontorrent.equipment/",
"https://dontorrent.fashion/",
};
public override string Language => "es-ES";
public override string Type => "public";

View File

@@ -35,7 +35,7 @@ namespace Jackett.Common.Indexers.Definitions
public override TorznabCapabilities TorznabCaps => SetCapabilities();
const string RSS_PATH = "feed/?type=magnet";
const string RSS_PATH = "feed/?type=magnet&token=";
public EraiRaws(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
@@ -91,7 +91,7 @@ namespace Jackett.Common.Indexers.Definitions
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 string RssFeedUri => SiteLink + RSS_PATH + RSSKey;
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
{
@@ -122,7 +122,7 @@ namespace Jackett.Common.Indexers.Definitions
var result = await RequestWithCookiesAndRetryAsync(RssFeedUri);
if (result.IsRedirect)
result = await FollowIfRedirect(result);
if (result.ContentString.Contains("403 Forbidden"))
if (result.ContentString.Contains("<status>403</status>"))
{
logger.Error("[EraiRaws] 403 Forbidden");
throw new Exception("The RSSkey may need to be replaced as EraiRaws returned 403 Forbidden.");
@@ -265,6 +265,10 @@ namespace Jackett.Common.Indexers.Definitions
var description = rssItem.SelectSingleNode("description")?.InnerText;
var quality = rssItem.SelectSingleNode("erai:resolution", nsm)?.InnerText;
var subs = rssItem.SelectSingleNode("erai:subtitles", nsm)?.InnerText;
if (string.IsNullOrEmpty(subs))
{
subs = "[]";
}
item = new RssFeedItem
{

View File

@@ -187,7 +187,7 @@ namespace Jackett.Common.Indexers.Definitions
Seeders = row.Seeders,
Peers = row.Seeders + row.Leechers,
Imdb = imdbId,
PublishDate = DateTime.Parse(row.UploadDate + " +0300", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal),
PublishDate = DateTime.Parse(row.UploadDate + " +0200", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal),
DownloadVolumeFactor = isFreeleech ? 0 : 1,
UploadVolumeFactor = row.DoubleUp ? 2 : 1,
MinimumRatio = 1,

View File

@@ -62,6 +62,8 @@ namespace Jackett.Common.Indexers.Definitions
configData: new ConfigurationDataBasicLogin("For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile."))
{
configData.AddDynamic("freeleech", new BoolConfigurationItem("Search freeleech only") { Value = false });
configData.AddDynamic("flaresolverr", new DisplayInfoConfigurationItem("FlareSolverr", "This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href=\"https://github.com/Jackett/Jackett#configuring-flaresolverr\" target=\"_blank\">FlareSolverr</a> to access it."));
configData.AddDynamic("accountinactivity", new DisplayInfoConfigurationItem("Account Inactivity", "If you do not log in for 50 days, your account will be disabled for inactivity. If you are VIP you won't be disabled until the VIP period is over."));
}
private TorznabCapabilities SetCapabilities()
@@ -111,6 +113,7 @@ namespace Jackett.Common.Indexers.Definitions
// XXX
caps.Categories.AddCategoryMapping("58", TorznabCatType.XXX, "XXX/Blu-ray");
caps.Categories.AddCategoryMapping("78", TorznabCatType.XXX, "XXX/Remux");
caps.Categories.AddCategoryMapping("74", TorznabCatType.XXX, "XXX/UHD/Blu-ray");
caps.Categories.AddCategoryMapping("48", TorznabCatType.XXX, "XXX/1080p/i");
caps.Categories.AddCategoryMapping("47", TorznabCatType.XXX, "XXX/720p");

View File

@@ -291,6 +291,9 @@ namespace Jackett.Common.Indexers.Definitions
if (query.IsImdbQuery)
{
searchQuery.Add($"+({query.ImdbID})");
// search in description
qc.Set("qf", "all");
}
else if (query.IsGenreQuery)
{

View File

@@ -27,11 +27,9 @@ namespace Jackett.Common.Indexers.Definitions
public override string Id => "mejortorrent";
public override string Name => "MejorTorrent";
public override string Description => "MejorTorrent - Hay veces que un torrent viene mejor! :)";
public override string SiteLink { get; protected set; } = "https://www22.mejortorrent.zip/";
public override string SiteLink { get; protected set; } = "https://www24.mejortorrent.zip/";
public override string[] LegacySiteLinks => new[]
{
"https://www7.mejortorrent.rip/",
"https://www8.mejortorrent.rip/",
"https://www9.mejortorrent.rip/",
"https://www10.mejortorrent.rip/",
"https://www11.mejortorrent.rip/",
@@ -45,6 +43,8 @@ namespace Jackett.Common.Indexers.Definitions
"https://www19.mejortorrent.zip/",
"https://www20.mejortorrent.zip/",
"https://www21.mejortorrent.zip/",
"https://www22.mejortorrent.zip/",
"https://www23.mejortorrent.zip/",
};
public override string Language => "es-ES";
public override string Type => "public";

View File

@@ -12,7 +12,7 @@ namespace Jackett.Common.Models.IndexerConfig.Bespoke
: base("You have to check 'Enable RSS Feed' in 'My Account', without this configuration the torrent download does not work.<br/>You can find the PID in 'My profile'.")
{
Freeleech = new BoolConfigurationItem("Search freeleech only") { Value = false };
AccountActivity = new DisplayInfoConfigurationItem("Account Inactivity", "To avoid account deletion you must login at least 1 time every 90 days, and you must download at least 1 torrent every 6 months. Simply keeping torrents seeding long term will not protect your account. Do not rely on inactivity emails, admins often do not send them.");
AccountActivity = new DisplayInfoConfigurationItem("Account Inactivity", "To avoid account deletion you must login at least 1 time every 60 days, and you must download at least 1 torrent every 90 days. Simply keeping torrents seeding long term will not protect your account. Do not rely on inactivity emails, we often do not send them.");
}
}
}

View File

@@ -309,10 +309,12 @@ namespace Jackett.Updater
"Definitions/bitnova.yml",
"Definitions/bitofvalor.yml",
"Definitions/bitsexy.yml",
"Definitions/bitstream.yml",
"Definitions/bittorrentam.yml",
"Definitions/blubits.yml",
"Definitions/bluesbrothers.yml",
"Definitions/blutopia.yml", // switch to *-API #8682
"Definitions/blutopia-api.yml",
"Definitions/bolly-api.yml",
"Definitions/brasiltracker.yml", // migrated to C#
"Definitions/breizhpeers.yml",
@@ -497,7 +499,6 @@ namespace Jackett.Updater
"Definitions/legacyhd.yml", // renamed to realflix
"Definitions/legittorrents.yml",
"Definitions/lemencili.yml",
"Definitions/lemonhd.yml",
"Definitions/leparadisdunet.yml",
"Definitions/les-cinephiles.yml",
"Definitions/leporno.yml",
@@ -601,7 +602,6 @@ namespace Jackett.Updater
"Definitions/rgu.yml",
"Definitions/rmhd.yml",
"Definitions/rns.yml", // site merged with audiobooktorrents
"Definitions/rockethd.yml",
"Definitions/rockhardlossless.yml",
"Definitions/rodvd.yml",
"Definitions/rofd.yml",
@@ -719,6 +719,7 @@ namespace Jackett.Updater
"Definitions/tspate.yml",
"Definitions/ttobogo.yml",
"Definitions/ttsweb.yml",
"Definitions/turknova.yml",
"Definitions/turkseed.yml",
"Definitions/turktracker.yml",
"Definitions/tvroad.yml",
@@ -751,6 +752,7 @@ namespace Jackett.Updater
"Definitions/xbytes2.yml",
"Definitions/xfsub.yml",
"Definitions/xktorrent.yml",
"Definitions/xperiencebytes-api.yml",
"Definitions/xtremefile.yml",
"Definitions/xtremezone.yml", // migrated to C# XtremeZone base tracker
"Definitions/xxxtorrents.yml",