diff --git a/definitions/v7/byrutor.yml b/definitions/v7/byrutor.yml
index 9eaa6ee38..6aa21e52a 100644
--- a/definitions/v7/byrutor.yml
+++ b/definitions/v7/byrutor.yml
@@ -6,10 +6,11 @@ language: ru-RU
type: public
encoding: UTF-8
links:
- - https://byrut.org/
+ - https://thebyrut.org/
legacylinks:
- https://byrutor.org/
- https://byrutdb.org/
+ - https://byrut.org/
caps:
categorymappings:
diff --git a/definitions/v7/firebit.yml b/definitions/v7/firebit.yml
deleted file mode 100644
index 5d45bd9c2..000000000
--- a/definitions/v7/firebit.yml
+++ /dev/null
@@ -1,199 +0,0 @@
----
-id: firebit
-name: FireBit
-description: "FireBit is an UKRAINIAN / RUSSIAN Public Torrent Tracker for MOVIES / TV / GENERAL"
-language: ru-RU
-type: public
-encoding: UTF-8
-requestDelay: 2
-links:
- - https://firebit.net/
-legacylinks:
- - https://firebit.name/
- - https://firebit.biz/
- - http://firebit.net/
- - http://firebit.info/
- - http://firebit.name/
- - http://firebit.pro/
- - http://firebit.club/
- - http://firebit.biz/
- - https://firebit.pro/
- - https://firebit.club/
- - https://firebit.info/
-
-caps:
- categorymappings:
- - {id: "Мультфильмы", cat: TV/Anime, desc: "Мультфильмы"}
- - {id: "Программы", cat: PC, desc: "Программы"}
- - {id: "Программы Видео", cat: PC, desc: "Программы Видео"}
- - {id: "Программы FAQ", cat: PC, desc: "Программы FAQ"}
- - {id: "Программы Web Оформление", cat: PC, desc: "Программы Web Оформление"}
- - {id: "Linux", cat: PC, desc: "Linux"}
- - {id: "Мобилка", cat: PC/Mobile-Other, desc: "Мобилка"}
- - {id: "Мобилка Игры", cat: PC/Mobile-Other, desc: "Мобилка Игры"}
- - {id: "Литература", cat: Books, desc: "Литература"}
- - {id: "Игры", cat: PC/Games, desc: "Игры"}
- - {id: "Игры Мобилка", cat: PC/Games, desc: "Игры Мобилка"}
- - {id: "Фильмы", cat: Movies, desc: "Фильмы"}
- - {id: "Фильмы Видео", cat: Movies, desc: "Фильмы Видео"}
- - {id: "Фильмы Сериалы", cat: Movies, desc: "Фильмы Сериалы"}
- - {id: "Фильмы Скоро на трекере", cat: Movies, desc: "Фильмы Скоро на трекере"}
- - {id: "Видео", cat: Movies, desc: "Видео"}
- - {id: "Музыка", cat: Audio, desc: "Музыка"}
- - {id: "Музыка Фильмы", cat: Audio, desc: "Музыка Фильмы"}
- - {id: "Видео Музыка", cat: Audio/Video, desc: "Видео Музыка"}
- - {id: "Фильмы Музыка Видео", cat: Audio/Video, desc: "Фильмы Музыка Видео"}
- - {id: "Музыка Видео", cat: Audio/Video, desc: "Музыка Видео"}
- - {id: "Другие категории", cat: Other, desc: "Другие категории"}
- - {id: "Сериалы", cat: TV, desc: "Сериалы"}
- - {id: "18+", cat: TV, desc: "18+"}
- - {id: "-", cat: Other, desc: "Другие категории"}
-
- modes:
- search: [q]
- tv-search: [q, season, ep]
- movie-search: [q]
- music-search: [q]
- book-search: [q]
-
-settings:
- - name: stripcyrillic
- type: checkbox
- label: Strip Cyrillic Letters
- default: false
- - name: addrussiantotitle
- type: checkbox
- label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
- default: false
-
-download:
- selectors:
- - selector: a[href^="/download.php?id="]
- attribute: href
-
-search:
- # http://firebit.net/index.php?do=search&type=simple&q=2022
- paths:
- - path: "{{ if .Keywords }}index.php?do=search&type=simple&q={{ .Keywords }}{{ else }}{{ end }}"
- - path: "{{ if .Keywords }}index.php?do=search&type=simple&q={{ .Keywords }}&cstart=2{{ else }}%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0/2/{{ end }}"
-
- keywordsfilters:
- # strip season and/or ep
- - name: re_replace
- args: ["(?i)\\b(?:[SE]\\d{1,4}){1,2}\\b\\s?", ""]
-
- rows:
- selector: "{{ if .Keywords }}table.torrents tbody tr:has(td.td-size){{ else }}div[id^=\"post-id-\"]:has(li.meta-size){{ end }}"
- filters:
- - name: andmatch
-
- fields:
- category:
- text: "-"
- category|noappend:
- optional: true
- selector: td:nth-child(1), div.article-indent div b
- filters:
- - name: replace
- args: ["Новинки", ""]
- - name: re_replace
- args: [",", ""]
- - name: trim
- title:
- selector: td:nth-child(2), span.article-title
- filters:
- # normalize to SXXEYY format
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))[\\s:;]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "S$1E$2 of $3"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езон[ыи]?.+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))?", "S$1E$2 of $3"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езон[ыи]?.+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"]
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))?", "S$1E$2 of $3"]
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"]
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))[\\s:;]*(\\d+(?:-\\d+)?)", "S$1E$2"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езон[ыи]?.+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))", "S$1E$2"]
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))", "S$1E$2"]
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?)", "S$1"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езон[ыи]?", "S$1"]
- - name: re_replace
- args: ["(?i)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))[\\s:;]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "E$1 of $2"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))", "E$1 of $2"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))\\s+из\\s*(\\w?)", "E$1 of $2"]
- - name: re_replace
- args: ["(?i)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))[\\s:;]*(\\d+(?:-\\d+)?)", "E$1"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))", "E$1"]
- - name: re_replace
- args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", "{{ if .Config.stripcyrillic }}{{ else }}$1$2$3$4{{ end }}"]
- - name: re_replace
- args: ["(?i)\\bHDTV[-\\s]?Rip\\b", "HDTV"]
- - name: re_replace
- args: ["(?i)\\bSAT[-\\s]?Rip\\b", "HDTV"]
- - name: re_replace
- args: ["(?i)\\bWEB[-\\s]?DL[-\\s]?Rip\\b", "WEB-DL"]
- - name: re_replace
- args: ["(?i)\\bWEB\\sRip\\b", "WEBRip"]
- - name: re_replace
- args: ["(?i)\\bWEB\\sDL\\b", "WEB-DL"]
- - name: re_replace
- args: ["[\\[\\(\\{<«][\\s\\W]*[\\]\\)\\}>»]", ""]
- - name: re_replace
- args: ["^[\\s&,\\.!\\?\\+\\-_\\|\\/':]+", ""]
-# - name: re_replace
-# args: ["(?i)^\\(\\s*([SE]\\d+.*?)\\s*\\)[\\s\\/\\|]*(.+)", "$2 $1"]
- - name: append
- args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}"
- details:
- selector: td:nth-child(2) a, span.article-title a
- attribute: href
- download:
- selector: td:nth-child(2) a, span.article-title a
- attribute: href
- size:
- selector: td.td-size, li.meta-size
- filters:
- - name: replace
- args: ["-", "0 B"]
- date_day:
- # Вчера, 08:01:41
- # 2 дня назад, 19:33:51
- selector: td:nth-child(5):contains(","), li.meta-date:contains(",")
- optional: true
- filters:
- - name: replace
- args: ["Вчера,", "Yesterday"]
- - name: replace
- args: ["дня назад,", "days"]
- - name: fuzzytime
- date_year:
- # 16.08.2021 20:29:39
- selector: td:nth-child(5):not(:contains(",")), li.meta-date:not(:contains(","))
- optional: true
- filters:
- - name: append
- args: " +03:00" # MSK
- - name: dateparse
- args: "dd.MM.yyyy HH:mm:ss zzz"
- date:
- text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
- seeders:
- selector: td.l1, li.meta-sead
- leechers:
- selector: td.l2, li.meta-leech
- downloadvolumefactor:
- text: 0
- uploadvolumefactor:
- text: 1
- description:
- selector: td:nth-child(2), span.article-title
-# engine n/a
diff --git a/definitions/v7/torrentsir.yml b/definitions/v7/torrentsir.yml
index 15fd18d60..95132d316 100644
--- a/definitions/v7/torrentsir.yml
+++ b/definitions/v7/torrentsir.yml
@@ -7,10 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- - https://torrentsir117.com/
+ - https://torrentsir118.com/
legacylinks:
- - http://torrentsir101.com/
- - https://torrentsir101.com/
- http://torrentsir102.com/
- https://torrentsir102.com/
- http://torrentsir103.com/
@@ -40,6 +38,8 @@ legacylinks:
- http://torrentsir116.com
- https://torrentsir116.com/
- http://torrentsir117.com/
+ - https://torrentsir117.com/
+ - http://torrentsir118.com/
caps:
categorymappings:
diff --git a/definitions/v7/torrentview.yml b/definitions/v7/torrentview.yml
index bef9f6534..ade23f532 100644
--- a/definitions/v7/torrentview.yml
+++ b/definitions/v7/torrentview.yml
@@ -7,11 +7,10 @@ type: public
encoding: UTF-8
followredirect: true
links:
- - https://viewtorrent13.com/
+ - https://viewtorrent14.com/
legacylinks:
- https://torrentview.net/
- https://torrentview.co/
- - https://torrentview63.com/
- https://torrentview65.com/
- https://torrentview66.com/
- https://torrentview67.com/
@@ -26,6 +25,7 @@ legacylinks:
- https://viewtorrent10.com/
- https://viewtorrent11.com/
- https://viewtorrent12.com/
+ - https://viewtorrent13.com/
caps:
categorymappings:
diff --git a/definitions/v7/torrentwhiz.yml b/definitions/v7/torrentwhiz.yml
index 7e7d78811..af41564c6 100644
--- a/definitions/v7/torrentwhiz.yml
+++ b/definitions/v7/torrentwhiz.yml
@@ -7,9 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- - https://torrentwiz61.com/
+ - https://torrentwiz62.com/
legacylinks:
- - https://torrentwiz42.com/
- https://torrentwiz43.com/
- https://torrentwiz45.com/
- https://torrentwiz47.com/
@@ -26,6 +25,7 @@ legacylinks:
- https://torrentwiz58.com/
- https://torrentwiz59.com/
- https://torrentwiz60.com/
+ - https://torrentwiz61.com/
caps:
categorymappings:
diff --git a/definitions/v7/xxxclub.yml b/definitions/v7/xxxclub.yml
index a4ff4bc97..5368f803e 100644
--- a/definitions/v7/xxxclub.yml
+++ b/definitions/v7/xxxclub.yml
@@ -39,7 +39,7 @@ settings:
download:
selectors:
- - selector: a[href^="/torrents/download/"]
+ - selector: a[href^="/torrents/download/"], a[href^="magnet:?xt="]
attribute: href
search:
diff --git a/definitions/v9/byrutor.yml b/definitions/v9/byrutor.yml
index 1ade6ac4f..5fd48a3c7 100644
--- a/definitions/v9/byrutor.yml
+++ b/definitions/v9/byrutor.yml
@@ -6,10 +6,11 @@ language: ru-RU
type: public
encoding: UTF-8
links:
- - https://byrut.org/
+ - https://thebyrut.org/
legacylinks:
- https://byrutor.org/
- https://byrutdb.org/
+ - https://byrut.org/
caps:
categorymappings:
diff --git a/definitions/v9/firebit.yml b/definitions/v9/firebit.yml
deleted file mode 100644
index 31083d8e0..000000000
--- a/definitions/v9/firebit.yml
+++ /dev/null
@@ -1,198 +0,0 @@
----
-id: firebit
-name: FireBit
-description: "FireBit is an UKRAINIAN / RUSSIAN Public Torrent Tracker for MOVIES / TV / GENERAL"
-language: ru-RU
-type: public
-encoding: UTF-8
-requestDelay: 2
-links:
- - https://firebit.net/
-legacylinks:
- - https://firebit.name/
- - https://firebit.biz/
- - http://firebit.net/
- - http://firebit.info/
- - http://firebit.name/
- - http://firebit.pro/
- - http://firebit.club/
- - http://firebit.biz/
- - https://firebit.pro/
- - https://firebit.club/
- - https://firebit.info/
-
-caps:
- categorymappings:
- - {id: "Мультфильмы", cat: TV/Anime, desc: "Мультфильмы"}
- - {id: "Программы", cat: PC, desc: "Программы"}
- - {id: "Программы Видео", cat: PC, desc: "Программы Видео"}
- - {id: "Программы FAQ", cat: PC, desc: "Программы FAQ"}
- - {id: "Программы Web Оформление", cat: PC, desc: "Программы Web Оформление"}
- - {id: "Linux", cat: PC, desc: "Linux"}
- - {id: "Мобилка", cat: PC/Mobile-Other, desc: "Мобилка"}
- - {id: "Мобилка Игры", cat: PC/Mobile-Other, desc: "Мобилка Игры"}
- - {id: "Литература", cat: Books, desc: "Литература"}
- - {id: "Игры", cat: PC/Games, desc: "Игры"}
- - {id: "Игры Мобилка", cat: PC/Games, desc: "Игры Мобилка"}
- - {id: "Фильмы", cat: Movies, desc: "Фильмы"}
- - {id: "Фильмы Видео", cat: Movies, desc: "Фильмы Видео"}
- - {id: "Фильмы Сериалы", cat: Movies, desc: "Фильмы Сериалы"}
- - {id: "Фильмы Скоро на трекере", cat: Movies, desc: "Фильмы Скоро на трекере"}
- - {id: "Видео", cat: Movies, desc: "Видео"}
- - {id: "Музыка", cat: Audio, desc: "Музыка"}
- - {id: "Музыка Фильмы", cat: Audio, desc: "Музыка Фильмы"}
- - {id: "Видео Музыка", cat: Audio/Video, desc: "Видео Музыка"}
- - {id: "Фильмы Музыка Видео", cat: Audio/Video, desc: "Фильмы Музыка Видео"}
- - {id: "Музыка Видео", cat: Audio/Video, desc: "Музыка Видео"}
- - {id: "Другие категории", cat: Other, desc: "Другие категории"}
- - {id: "Сериалы", cat: TV, desc: "Сериалы"}
- - {id: "18+", cat: TV, desc: "18+"}
- - {id: "-", cat: Other, desc: "Другие категории"}
-
- modes:
- search: [q]
- tv-search: [q, season, ep]
- movie-search: [q]
- music-search: [q]
- book-search: [q]
-
-settings:
- - name: stripcyrillic
- type: checkbox
- label: Strip Cyrillic Letters
- default: false
- - name: addrussiantotitle
- type: checkbox
- label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
- default: false
-
-download:
- selectors:
- - selector: a[href^="/download.php?id="]
- attribute: href
-
-search:
- # http://firebit.net/index.php?do=search&type=simple&q=2022
- paths:
- - path: "{{ if .Keywords }}index.php?do=search&type=simple&q={{ .Keywords }}{{ else }}{{ end }}"
- - path: "{{ if .Keywords }}index.php?do=search&type=simple&q={{ .Keywords }}&cstart=2{{ else }}%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0/2/{{ end }}"
-
- keywordsfilters:
- # strip season and/or ep
- - name: re_replace
- args: ["(?i)\\b(?:[SE]\\d{1,4}){1,2}\\b\\s?", ""]
-
- rows:
- selector: "{{ if .Keywords }}table.torrents tbody tr:has(td.td-size){{ else }}div[id^=\"post-id-\"]:has(li.meta-size){{ end }}"
- filters:
- - name: andmatch
-
- fields:
- category:
- selector: td:nth-child(1), div.article-indent div b
- optional: true
- default: "-"
- filters:
- - name: replace
- args: ["Новинки", ""]
- - name: re_replace
- args: [",", ""]
- - name: trim
- title:
- selector: td:nth-child(2), span.article-title
- filters:
- # normalize to SXXEYY format
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))[\\s:;]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "S$1E$2 of $3"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езон[ыи]?.+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))?", "S$1E$2 of $3"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езон[ыи]?.+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"]
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))?", "S$1E$2 of $3"]
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"]
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))[\\s:;]*(\\d+(?:-\\d+)?)", "S$1E$2"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езон[ыи]?.+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))", "S$1E$2"]
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))", "S$1E$2"]
- - name: re_replace
- args: ["(?i)[CС]езон[ыи]?[\\s:;]*(\\d+(?:-\\d+)?)", "S$1"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езон[ыи]?", "S$1"]
- - name: re_replace
- args: ["(?i)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))[\\s:;]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "E$1 of $2"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))", "E$1 of $2"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))\\s+из\\s*(\\w?)", "E$1 of $2"]
- - name: re_replace
- args: ["(?i)(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))[\\s:;]*(\\d+(?:-\\d+)?)", "E$1"]
- - name: re_replace
- args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ер[иі][ияйї]|Эпизод|Выпуски?|Епізоди?))", "E$1"]
- - name: re_replace
- args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", "{{ if .Config.stripcyrillic }}{{ else }}$1$2$3$4{{ end }}"]
- - name: re_replace
- args: ["(?i)\\bHDTV[-\\s]?Rip\\b", "HDTV"]
- - name: re_replace
- args: ["(?i)\\bSAT[-\\s]?Rip\\b", "HDTV"]
- - name: re_replace
- args: ["(?i)\\bWEB[-\\s]?DL[-\\s]?Rip\\b", "WEB-DL"]
- - name: re_replace
- args: ["(?i)\\bWEB\\sRip\\b", "WEBRip"]
- - name: re_replace
- args: ["(?i)\\bWEB\\sDL\\b", "WEB-DL"]
- - name: re_replace
- args: ["[\\[\\(\\{<«][\\s\\W]*[\\]\\)\\}>»]", ""]
- - name: re_replace
- args: ["^[\\s&,\\.!\\?\\+\\-_\\|\\/':]+", ""]
-# - name: re_replace
-# args: ["(?i)^\\(\\s*([SE]\\d+.*?)\\s*\\)[\\s\\/\\|]*(.+)", "$2 $1"]
- - name: append
- args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}"
- details:
- selector: td:nth-child(2) a, span.article-title a
- attribute: href
- download:
- selector: td:nth-child(2) a, span.article-title a
- attribute: href
- size:
- selector: td.td-size, li.meta-size
- filters:
- - name: replace
- args: ["-", "0 B"]
- date_day:
- # Вчера, 08:01:41
- # 2 дня назад, 19:33:51
- selector: td:nth-child(5):contains(","), li.meta-date:contains(",")
- optional: true
- filters:
- - name: replace
- args: ["Вчера,", "Yesterday"]
- - name: replace
- args: ["дня назад,", "days"]
- - name: fuzzytime
- date_year:
- # 16.08.2021 20:29:39
- selector: td:nth-child(5):not(:contains(",")), li.meta-date:not(:contains(","))
- optional: true
- filters:
- - name: append
- args: " +03:00" # MSK
- - name: dateparse
- args: "dd.MM.yyyy HH:mm:ss zzz"
- date:
- text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
- seeders:
- selector: td.l1, li.meta-sead
- leechers:
- selector: td.l2, li.meta-leech
- downloadvolumefactor:
- text: 0
- uploadvolumefactor:
- text: 1
- description:
- selector: td:nth-child(2), span.article-title
-# engine n/a
diff --git a/definitions/v9/uploads.yml b/definitions/v9/uploads.yml
deleted file mode 100644
index 103569b3e..000000000
--- a/definitions/v9/uploads.yml
+++ /dev/null
@@ -1,185 +0,0 @@
----
-id: uploads
-name: Uploads
-description: "Uploads is a CHINESE Private torrent tracker for MOVIES / TV / GENERAL"
-language: zh-CN
-type: private
-encoding: UTF-8
-links:
- - http://uploads.ltd/
-
-caps:
- categorymappings:
- - {id: 401, cat: Movies, desc: "Movies"}
- - {id: 402, cat: TV, desc: "TV Series"}
- - {id: 403, cat: TV, desc: "TV Shows"}
- - {id: 404, cat: TV/Documentary, desc: "Documentaries"}
- - {id: 405, cat: TV/Anime, desc: "Animations"}
- - {id: 406, cat: Audio/Video, desc: "Music Videos"}
- - {id: 407, cat: TV/Sport, desc: "Sports"}
- - {id: 408, cat: Audio, desc: "HQ Audio"}
- - {id: 409, cat: Other, desc: "Misc"}
-
- 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: 2facode
- type: text
- label: 2FA code
- - name: info_2fa
- type: info
- label: "About 2FA code"
- default: "Only fill in the 2FA code box if you have enabled 2FA on the Uploads 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 Torrents per page: setting to 100 on your account profile.
-
-login:
- path: login.php
- method: form
- form: form[action="takelogin.php"]
- inputs:
- secret: ""
- username: "{{ .Config.username }}"
- password: "{{ .Config.password }}"
- two_step_code: "{{ .Config.2facode }}"
- logout: ""
- securelogin: ""
- ssl: ""
- trackerssl: ""
- 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 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, 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_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
- description:
- selector: td:nth-child(2)
- remove: a, b, font, img, span
-# NexusPHP v1.7.30 2022-11-05