diff --git a/definitions/v7/aither-api.yml b/definitions/v7/aither-api.yml
index 7eb376e04..efdbb97dd 100644
--- a/definitions/v7/aither-api.yml
+++ b/definitions/v7/aither-api.yml
@@ -29,7 +29,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your Aither account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your Aither account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v7/blutopia-api.yml b/definitions/v7/blutopia-api.yml
index b7f3df96c..2c1cc689e 100644
--- a/definitions/v7/blutopia-api.yml
+++ b/definitions/v7/blutopia-api.yml
@@ -29,7 +29,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your Blutopia account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your Blutopia account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v7/datascene-api.yml b/definitions/v7/datascene-api.yml
index e6c1c633a..f5651375b 100644
--- a/definitions/v7/datascene-api.yml
+++ b/definitions/v7/datascene-api.yml
@@ -36,7 +36,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your DataScene account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your DataScene account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v7/linkomanija.yml b/definitions/v7/linkomanija.yml
index 8a8fa43b0..86f014c9e 100644
--- a/definitions/v7/linkomanija.yml
+++ b/definitions/v7/linkomanija.yml
@@ -44,8 +44,8 @@ caps:
modes:
search: [q]
- tv-search: [q, season, ep]
- movie-search: [q]
+ tv-search: [q, season, ep, imdbid]
+ movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
@@ -60,10 +60,6 @@ settings:
type: checkbox
label: Search freeleech only
default: false
- - name: searchindesc
- type: checkbox
- label: Search in torrent description (get more results)
- default: true
login:
path: takelogin.php
@@ -82,11 +78,14 @@ search:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}{{ if .Config.freeleech }}freeleech=1&{{ else }}{{ end }}"
- search: "{{ .Keywords }}"
+ search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
+ # 0 active, 1 incldead, 2 dead
incldead: 1
- searchindesc: "{{ .Config.searchindesc }}"
+ searchindesc: "{{ if .Query.IMDBID }}1{{ else }}{{ end }}"
keywordsfilters:
+ - name: re_replace
+ args: ["\\.", " "]
- name: re_replace
args: ["(\\w+)", "+$1"] # prepend + to each word
@@ -108,8 +107,12 @@ search:
download:
selector: a[href^="download.php?id="]
attribute: href
+ genre:
+ selector: td:nth-child(2) > span
+ filters:
+ - name: re_replace
+ args: [" \\| .+", ""]
description:
- optional: true
selector: td:nth-child(2) > span
files:
selector: td:nth-child(3)
@@ -130,8 +133,10 @@ search:
selector: td:nth-child(9)
downloadvolumefactor:
case:
- img[src="//static.linkomanija.net/images/flag_green.gif"]: 0
+ img[src$="/images/flag_green.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
+ minimumratio:
+ text: 0.3
# engine tbd
diff --git a/definitions/v7/shareisland-api.yml b/definitions/v7/shareisland-api.yml
index 2e3b1e58d..f60c2f8f0 100644
--- a/definitions/v7/shareisland-api.yml
+++ b/definitions/v7/shareisland-api.yml
@@ -36,7 +36,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your Shareisland account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your Shareisland account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v7/skipthecommercials-api.yml b/definitions/v7/skipthecommercials-api.yml
index ae9fb7098..647832ba6 100644
--- a/definitions/v7/skipthecommercials-api.yml
+++ b/definitions/v7/skipthecommercials-api.yml
@@ -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 SkipTheCommercials account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your SkipTheCommercials account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v7/torrentqq.yml b/definitions/v7/torrentqq.yml
index 7fb3e400b..df7d41636 100644
--- a/definitions/v7/torrentqq.yml
+++ b/definitions/v7/torrentqq.yml
@@ -7,9 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- - https://torrentqq279.com/
+ - https://torrentqq280.com/
legacylinks:
- - https://torrentqq264.com/
- https://torrentqq265.com/
- https://torrentqq266.com/
- https://torrentqq267.com/
@@ -24,6 +23,7 @@ legacylinks:
- https://torrentqq276.com/
- https://torrentqq277.com/
- https://torrentqq278.com/
+ - https://torrentqq279.com/
caps:
categorymappings:
diff --git a/definitions/v7/torrentz2eu.yml b/definitions/v7/torrentz2eu.yml
index 550c26200..6b6b21dc3 100644
--- a/definitions/v7/torrentz2eu.yml
+++ b/definitions/v7/torrentz2eu.yml
@@ -7,7 +7,7 @@ type: public
encoding: UTF-8
requestDelay: 2
links:
- - https://torrentz2beta.in/
+ - https://torrentz2beta.asia/
legacylinks:
- https://torrentz2eu.me/
- https://torrentz2.org.in/
@@ -19,6 +19,8 @@ legacylinks:
- https://torrentz2.unblockninja.com/
- hhttps://torrentz2beta.com/
- https://torrentz2beta.com/
+ - https://torrentz2beta.in/
+ - https://eu.torrentz2beta.in/
caps:
categorymappings:
@@ -76,9 +78,6 @@ search:
inputs:
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
- headers:
- User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203"]
-
rows:
selector: table.table-responsive > tbody > tr
fields:
diff --git a/definitions/v7/ultra-hd.yml b/definitions/v7/ultra-hd.yml
index ec4707ed5..ecefea1a3 100644
--- a/definitions/v7/ultra-hd.yml
+++ b/definitions/v7/ultra-hd.yml
@@ -29,7 +29,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your ULTRA HD account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your ULTRA HD account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v9/aither-api.yml b/definitions/v9/aither-api.yml
index cfd35944c..9963b5bd5 100644
--- a/definitions/v9/aither-api.yml
+++ b/definitions/v9/aither-api.yml
@@ -29,7 +29,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your Aither account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your Aither account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v9/blutopia-api.yml b/definitions/v9/blutopia-api.yml
index b8f8a1e7d..09c0b485f 100644
--- a/definitions/v9/blutopia-api.yml
+++ b/definitions/v9/blutopia-api.yml
@@ -29,7 +29,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your Blutopia account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your Blutopia account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v9/datascene-api.yml b/definitions/v9/datascene-api.yml
index 4e352ad8e..c296a8cfd 100644
--- a/definitions/v9/datascene-api.yml
+++ b/definitions/v9/datascene-api.yml
@@ -36,7 +36,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your DataScene account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your DataScene account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v9/fearnopeer.yml b/definitions/v9/fearnopeer.yml
index 36ee6ed5c..07ddacbfb 100644
--- a/definitions/v9/fearnopeer.yml
+++ b/definitions/v9/fearnopeer.yml
@@ -32,7 +32,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your FearNoPeer account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your FearNoPeer account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v9/linkomanija.yml b/definitions/v9/linkomanija.yml
index 232b20e82..c9503a329 100644
--- a/definitions/v9/linkomanija.yml
+++ b/definitions/v9/linkomanija.yml
@@ -44,8 +44,8 @@ caps:
modes:
search: [q]
- tv-search: [q, season, ep]
- movie-search: [q]
+ tv-search: [q, season, ep, imdbid]
+ movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
@@ -60,10 +60,6 @@ settings:
type: checkbox
label: Search freeleech only
default: false
- - name: searchindesc
- type: checkbox
- label: Search in torrent description (get more results)
- default: true
login:
path: takelogin.php
@@ -82,12 +78,15 @@ search:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
- search: "{{ .Keywords }}"
+ search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
+ # 0 active, 1 incldead, 2 dead
incldead: 1
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
- searchindesc: "{{ .Config.searchindesc }}"
+ searchindesc: "{{ if .Query.IMDBID }}1{{ else }}{{ end }}"
keywordsfilters:
+ - name: re_replace
+ args: ["\\.", " "]
- name: re_replace
args: ["(\\w+)", "+$1"] # prepend + to each word
@@ -109,8 +108,12 @@ search:
download:
selector: a[href^="download.php?id="]
attribute: href
+ genre:
+ selector: td:nth-child(2) > span
+ filters:
+ - name: re_replace
+ args: [" \\| .+", ""]
description:
- optional: true
selector: td:nth-child(2) > span
files:
selector: td:nth-child(3)
@@ -131,8 +134,10 @@ search:
selector: td:nth-child(9)
downloadvolumefactor:
case:
- img[src="//static.linkomanija.net/images/flag_green.gif"]: 0
+ img[src$="/images/flag_green.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
+ minimumratio:
+ text: 0.3
# engine tbd
diff --git a/definitions/v9/ntelogo.yml b/definitions/v9/ntelogo.yml
index d821d2d30..7486230a3 100644
--- a/definitions/v9/ntelogo.yml
+++ b/definitions/v9/ntelogo.yml
@@ -35,7 +35,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your Ntelogo account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your Ntelogo account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v9/onlyencodes-api.yml b/definitions/v9/onlyencodes-api.yml
index 09a15d6e7..701a070aa 100644
--- a/definitions/v9/onlyencodes-api.yml
+++ b/definitions/v9/onlyencodes-api.yml
@@ -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 OnlyEncodes account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your OnlyEncodes account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v9/shareisland-api.yml b/definitions/v9/shareisland-api.yml
index 9eb73db02..2056ed4fc 100644
--- a/definitions/v9/shareisland-api.yml
+++ b/definitions/v9/shareisland-api.yml
@@ -36,7 +36,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your Shareisland account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your Shareisland account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v9/skipthecommercials-api.yml b/definitions/v9/skipthecommercials-api.yml
index aacbfdbc8..cd4c1611e 100644
--- a/definitions/v9/skipthecommercials-api.yml
+++ b/definitions/v9/skipthecommercials-api.yml
@@ -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 SkipTheCommercials account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your SkipTheCommercials account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v9/torrenteros-api.yml b/definitions/v9/torrenteros-api.yml
index dac2c1aac..0efb9fce7 100644
--- a/definitions/v9/torrenteros-api.yml
+++ b/definitions/v9/torrenteros-api.yml
@@ -31,7 +31,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find or Generate a new API Token by accessing your TTR account My Security page and clicking on the API Token tab."
+ default: "Find or Generate a new API Token by accessing your TTR account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only
diff --git a/definitions/v9/ultra-hd.yml b/definitions/v9/ultra-hd.yml
new file mode 100644
index 000000000..ecefea1a3
--- /dev/null
+++ b/definitions/v9/ultra-hd.yml
@@ -0,0 +1,162 @@
+---
+id: ultra-hd
+name: ULTRA HD
+description: "ULTRA HD is a BRAZILIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
+language: pt-BR
+type: private
+encoding: UTF-8
+links:
+ - https://ultrahd.online/
+
+caps:
+ categorymappings:
+ - {id: 1, cat: Movies, desc: "FILMES"}
+ - {id: 2, cat: TV, desc: "SÉRIES"}
+ - {id: 4, cat: PC/Games, desc: "JOGOS"}
+ - {id: 5, cat: PC/0day, desc: "APPS"}
+ - {id: 6, cat: XXX, desc: "ADULTO"}
+ - {id: 7, cat: Other, desc: "CURSOS"}
+
+ 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 ULTRA HD account My Settings page and clicking on the API Key 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 }}."
+
+search:
+ paths:
+ # https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
+ # https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
+ - 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:
+ selector: name
+ 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)(Cinema TV)", "Cinema_TV"]
+ - name: re_replace
+ args: ["(?i)(Ficção científica)", "Ficção_científica"]
+ - name: replace
+ args: [" & ", "_&_"]
+ description:
+ text: "{{ .Result.genre }}"
+ 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 False, True
+ selector: double_upload
+ case:
+ False: 1 # normal
+ True: 2 # double
+# json UNIT3D 7.0.0
diff --git a/definitions/v9/uploadcx.yml b/definitions/v9/uploadcx.yml
index 15437cc9f..346d9e101 100644
--- a/definitions/v9/uploadcx.yml
+++ b/definitions/v9/uploadcx.yml
@@ -25,7 +25,7 @@ settings:
- name: info_key
type: info
label: About your API key
- default: "Find API key by going to your profile Settings -> Security -> API Token"
+ default: "Find or Generate a new API Token by accessing your upload.cx account My Settings page and clicking on the API Key tab."
- name: freeleech
type: checkbox
label: Search freeleech only