diff --git a/definitions/v2/docspedia.yml b/definitions/v2/docspedia.yml
index b5783d3b9..67e670207 100644
--- a/definitions/v2/docspedia.yml
+++ b/definitions/v2/docspedia.yml
@@ -15,6 +15,7 @@ caps:
- {id: 64, cat: Books/EBook, desc: "Books"}
- {id: 66, cat: Books, desc: "Business"}
- {id: 68, cat: Books/Comics, desc: "Comics"}
+ - {id: 80, cat: Books, desc: "Coooking"}
- {id: 59, cat: TV/Documentary, desc: "Docs/Movies"}
- {id: 60, cat: TV/Documentary, desc: "Docs/TV"}
- {id: 79, cat: TV, desc: "Educational"}
diff --git a/definitions/v3/datascene-api.yml b/definitions/v3/datascene-api.yml
index 13b5b316c..a939aceca 100644
--- a/definitions/v3/datascene-api.yml
+++ b/definitions/v3/datascene-api.yml
@@ -14,7 +14,7 @@ legacylinks:
caps:
# dont forget to update the case block in the search fields category
categorymappings:
- - {id: 1, cat: Movies, desc: "Movies"}
+ - {id: 1, cat: Movies, desc: "Movie"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: PC/Games, desc: "Game"}
diff --git a/definitions/v3/finvip.yml b/definitions/v3/finvip.yml
index f334e729f..50e099131 100644
--- a/definitions/v3/finvip.yml
+++ b/definitions/v3/finvip.yml
@@ -18,10 +18,11 @@ caps:
- {id: 20, cat: TV/SD, desc: "Lasten DVD (kids)"}
- {id: 33, cat: TV/SD, desc: "Lasten XviD (kids)"}
- {id: 11, cat: Movies/DVD, desc: "Leffat DVD (movies)"}
- - {id: 13, cat: Movies/SD, desc: "Leffat XviD (movies)"}
- - {id: 21, cat: Movies/HD, desc: "Leffat HD (movies)"}
- - {id: 32, cat: Movies/DVD, desc: "Custom DVD (movies)"}
+ - {id: 13, cat: Movies/SD, desc: "Leffat XviD (movies)"}
+ - {id: 21, cat: Movies/HD, desc: "Leffat HD (movies)"}
+ - {id: 32, cat: Movies/DVD, desc: "Custom DVD (movies)"}
- {id: 42, cat: Movies, desc: "FVC"}
+ - {id: 48, cat: Movies/UHD, desc: "Leffat 4K (movies)"}
- {id: 15, cat: Audio, desc: "Musiikki (music)"}
- {id: 12, cat: Audio/Video, desc: "Musavideot (clips)"}
- {id: 7, cat: PC/0day, desc: "Ohjelmat Windows (apps)"}
diff --git a/definitions/v3/uhd-heaven.yml b/definitions/v3/uhd-heaven.yml
new file mode 100644
index 000000000..c4404ae14
--- /dev/null
+++ b/definitions/v3/uhd-heaven.yml
@@ -0,0 +1,129 @@
+---
+id: uhd-heaven
+name: UHD-HEAVEN
+description: "UHD-HEAVEN is a Private Torrent Tracker for UHD MOVIES / TV"
+language: en-US
+type: private
+encoding: UTF-8
+links:
+ - https://uhd-heaven.xyz/
+
+caps:
+ # dont forget to update the case block in the search fields category
+ categorymappings:
+ - {id: 1, cat: Movies, desc: "Movies"}
+ - {id: 2, cat: TV, desc: "TV"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep, imdbid, tvdbid]
+ movie-search: [q, imdbid, tmdbid]
+
+settings:
+ - name: apikey
+ type: text
+ label: APIKey
+ - name: info_key
+ type: info
+ label: About your API key
+ default: "Find or Generate a new API Token by accessing your UHD-HEAVEN account My Security page and clicking on the API Token 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
+ inputs:
+ api_token: "{{ .Config.apikey }}"
+ error:
+ - selector: a[href*="/login"]
+ message:
+ text: "The API key was not accepted by {{ .Config.sitelink }}."
+
+search:
+ paths:
+ # https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
+ # https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
+ - path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
+ response:
+ type: json
+ attribute: attributes
+
+ rows:
+ selector: data
+ count:
+ selector: meta.total
+
+ fields:
+ category:
+ selector: category
+ case:
+ "Movies": 1
+ "TV": 2
+ 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:
+ # 2021-10-18T00:34:50.000000Z"
+ selector: created_at
+ size:
+ selector: size
+ downloadvolumefactor:
+ # api returns 0=false, 1=true
+ selector: freeleech
+ case:
+ 0: 1 # not free
+ 1: 0 # freeleech
+ uploadvolumefactor:
+ # api returns 0=false, 1=true
+ selector: double_upload
+ case:
+ 0: 1 # normal
+ 1: 2 # double
+# global MR is 0.4 but torrents must be seeded for 3 days regardless of ratio
+# minimumratio:
+# text: 0.4
+ minimumseedtime:
+ # 7 days (as seconds = 7 x 24 x 60 x 60)
+ text: 604800
+# json UNIT3D 5.3.0
diff --git a/definitions/v4/brsociety-api.yml b/definitions/v4/brsociety-api.yml
index 5c6658186..e86051aa1 100644
--- a/definitions/v4/brsociety-api.yml
+++ b/definitions/v4/brsociety-api.yml
@@ -10,11 +10,11 @@ links:
caps:
categorymappings:
- - {id: 1, cat: TV, desc: "Cursos (courses)"}
+ - {id: 1, cat: TV, desc: "Cursos"}
- {id: 2, cat: Books/EBook, desc: "eBooks"}
- - {id: 5, cat: Books/Mags, desc: "Revistas (Magazines)"}
+ - {id: 5, cat: Books/Mags, desc: "Revistas"}
- {id: 3, cat: Audio/Audiobook, desc: "Audiobooks"}
- - {id: 4, cat: Other, desc: "Arquivos de Auxilio (Help Files)"}
+ - {id: 4, cat: Other, desc: "Arquivos de Auxilio"}
modes:
search: [q]
diff --git a/definitions/v4/datascene-api.yml b/definitions/v4/datascene-api.yml
index 42096f378..707dce692 100644
--- a/definitions/v4/datascene-api.yml
+++ b/definitions/v4/datascene-api.yml
@@ -13,7 +13,7 @@ legacylinks:
caps:
categorymappings:
- - {id: 1, cat: Movies, desc: "Movies"}
+ - {id: 1, cat: Movies, desc: "Movie"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: PC/Games, desc: "Game"}
diff --git a/definitions/v4/reelflix-api.yml b/definitions/v4/reelflix-api.yml
index 9ebc134c3..8dd0ef26b 100644
--- a/definitions/v4/reelflix-api.yml
+++ b/definitions/v4/reelflix-api.yml
@@ -12,7 +12,7 @@ legacylinks:
caps:
categorymappings:
- - {id: 1, cat: Movies, desc: "Movies"}
+ - {id: 1, cat: Movies, desc: "Movie"}
modes:
search: [q]
diff --git a/definitions/v4/torrentseeds-api.yml b/definitions/v4/torrentseeds-api.yml
index b61016375..b83db8070 100644
--- a/definitions/v4/torrentseeds-api.yml
+++ b/definitions/v4/torrentseeds-api.yml
@@ -21,12 +21,14 @@ caps:
- {id: 8, cat: TV, desc: "Packs"}
- {id: 3206, cat: TV/Foreign, desc: "TV/Foreign"}
- {id: 3207, cat: Movies/Foreign, desc: "Movies/Foreign"}
+ - {id: 3208, cat: Books/EBook, desc: "E-Books"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid]
movie-search: [q, imdbid, tmdbid]
music-search: [q]
+ book-search: [q]
settings:
- name: apikey
diff --git a/definitions/v4/uhd-heaven.yml b/definitions/v4/uhd-heaven.yml
new file mode 100644
index 000000000..b88ba8495
--- /dev/null
+++ b/definitions/v4/uhd-heaven.yml
@@ -0,0 +1,125 @@
+---
+id: uhd-heaven
+name: UHD-HEAVEN
+description: "UHD-HEAVEN is a Private Torrent Tracker for UHD MOVIES / TV"
+language: en-US
+type: private
+encoding: UTF-8
+links:
+ - https://uhd-heaven.xyz/
+
+caps:
+ categorymappings:
+ - {id: 1, cat: Movies, desc: "Movies"}
+ - {id: 2, cat: TV, desc: "TV"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep, imdbid, tvdbid]
+ movie-search: [q, imdbid, tmdbid]
+
+settings:
+ - name: apikey
+ type: text
+ label: APIKey
+ - name: info_key
+ type: info
+ label: About your API key
+ default: "Find or Generate a new API Token by accessing your UHD-HEAVEN account My Security page and clicking on the API Token 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
+ inputs:
+ api_token: "{{ .Config.apikey }}"
+ error:
+ - selector: a[href*="/login"]
+ message:
+ text: "The API key was not accepted by {{ .Config.sitelink }}."
+
+search:
+ paths:
+ # https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
+ # https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
+ - path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
+ response:
+ type: json
+ attribute: attributes
+
+ rows:
+ selector: data
+ count:
+ selector: meta.total
+
+ fields:
+ 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:
+ # 2021-10-18T00:34:50.000000Z"
+ selector: created_at
+ size:
+ selector: size
+ downloadvolumefactor:
+ # api returns 0=false, 1=true
+ selector: freeleech
+ case:
+ 0: 1 # not free
+ 1: 0 # freeleech
+ uploadvolumefactor:
+ # api returns 0=false, 1=true
+ selector: double_upload
+ case:
+ 0: 1 # normal
+ 1: 2 # double
+# global MR is 0.4 but torrents must be seeded for 3 days regardless of ratio
+# minimumratio:
+# text: 0.4
+ minimumseedtime:
+ # 7 days (as seconds = 7 x 24 x 60 x 60)
+ text: 604800
+# json UNIT3D 5.3.0