turkseed: a Turkish private site. resolves #7753

This commit is contained in:
Garfield69 2024-04-29 07:21:25 +12:00
parent 580a0b0603
commit ef152595c5
2 changed files with 183 additions and 0 deletions

View File

@ -604,6 +604,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* TranceTraffic
* Trellas (Magico) [![(invite needed)][inviteneeded]](#)
* TreZzoR
* TurkSeed
* TurkTorrent (TT)
* TV Chaos UK (TVCUK)
* TvRoad

View File

@ -0,0 +1,182 @@
---
id: turkseed-api
name: TurkSeed
description: "TurkSeed is a TURKISH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: tr-TR
type: private
encoding: UTF-8
links:
- https://turkseed.com/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Film"}
- {id: 6, cat: TV, desc: "Dizi Show"}
- {id: 2, cat: Movies, desc: "Yerli Film"}
- {id: 5, cat: TV/Foreign, desc: "Yabanci Dizi"}
- {id: 3, cat: Console, desc: "Oyunlar"}
- {id: 13, cat: TV, desc: "AMAZON"}
- {id: 14, cat: TV, desc: "NETFLİX"}
- {id: 15, cat: TV, desc: "DİSNEY+"}
- {id: 16, cat: TV, desc: "TODD"}
- {id: 17, cat: TV, desc: "TV+"}
- {id: 18, cat: TV, desc: "BLUTV"}
- {id: 19, cat: TV, desc: "EXXEN"}
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://turkseed.com/\" target=\"_blank\">TurkSeed</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: "Accounts that do not download a 15GB torrent from our site within a month will receive a warning (will be closed)! Accounts that do not upload (seed, share) 20gb on our site within a month will receive a warning (will be closed)! The account that receives three warnings will be automatically closed! No objections are accepted to the deletion of accounts that have not been on our site for six months and have not been active in any way!"
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-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: 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
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
minimumratio:
text: 0.5
minimumseedtime:
# 36 hours (as seconds = 36 x 60 x 60)
text: 129600
# json UNIT3D 8.1.0