From fef0da57117693a29be36f34d1fc80c01d77a7ca Mon Sep 17 00:00:00 2001 From: Frederick Robinson Date: Sat, 18 Nov 2023 06:41:39 -0800 Subject: [PATCH] feat(definitions): add expectations for test lines (#1257) * factor out test helpers * refactor, add tests for animebytes * revert test refactor * better name * change format, migrate some examples * migrated remaining test cases * add comment about `Test` vs `Tests` * refactor * reorder expectations to match vars * generate * turn on strict unmarshalling, remove old `Test` from schema * start modifying actual definitions * done with the As * Bs * C, D * E, F * G, H, I, ... L * M, N * O, P * R * bonus error. without this, pattern/vars disagreement can panic. * S * T, U * X.. Now we know our ABCs next time won't you sing with meeeee * fix another test * another driveby change * be less strict parsing custom definitions * fix(definitions): load custom definitions --------- Co-authored-by: ze0s --- internal/announce/announce.go | 97 +----------- internal/domain/indexer.go | 13 +- internal/domain/indexer_test.go | 5 - internal/indexer/definition_test.go | 35 +++++ internal/indexer/definitions/abnormal.yaml | 10 +- internal/indexer/definitions/acidlounge.yaml | 39 ++++- internal/indexer/definitions/aither.yaml | 32 +++- internal/indexer/definitions/alpharatio.yaml | 22 ++- internal/indexer/definitions/animebytes.yaml | 148 ++++++++++++++++-- internal/indexer/definitions/ant.yaml | 41 ++++- internal/indexer/definitions/bemaniso.yaml | 28 +++- internal/indexer/definitions/beyondhd.yaml | 44 +++++- internal/indexer/definitions/bit-hdtv.yaml | 20 ++- internal/indexer/definitions/bitsexy.yaml | 20 ++- internal/indexer/definitions/btfiles.yaml | 31 +++- internal/indexer/definitions/btn.yaml | 54 ++++--- .../indexer/definitions/cathode-ray-tube.yaml | 20 ++- internal/indexer/definitions/danishbytes.yaml | 16 +- internal/indexer/definitions/digitalcore.yaml | 20 ++- internal/indexer/definitions/docspedia.yaml | 12 +- internal/indexer/definitions/emp.yaml | 13 +- internal/indexer/definitions/enthralled.yaml | 13 +- internal/indexer/definitions/filelist.yaml | 38 ++++- internal/indexer/definitions/funfile.yaml | 31 +++- internal/indexer/definitions/fuzer.yaml | 31 +++- .../indexer/definitions/gazellegames.yaml | 50 ++++-- internal/indexer/definitions/hd-space.yaml | 28 +++- internal/indexer/definitions/hd-torrents.yaml | 12 +- internal/indexer/definitions/hdb.yaml | 48 +++++- internal/indexer/definitions/hebits.yaml | 40 +++-- internal/indexer/definitions/huno.yaml | 26 ++- internal/indexer/definitions/ianon.yaml | 22 ++- .../indexer/definitions/immortalseed.yaml | 28 +++- internal/indexer/definitions/iplay.yaml | 22 ++- internal/indexer/definitions/iptorrents.yaml | 22 ++- internal/indexer/definitions/locadora.yaml | 15 +- internal/indexer/definitions/lst.yaml | 32 +++- internal/indexer/definitions/milkie.yaml | 12 +- internal/indexer/definitions/morethantv.yaml | 14 +- .../indexer/definitions/myanonamouse.yaml | 28 +++- internal/indexer/definitions/ncore.yaml | 20 ++- internal/indexer/definitions/nebulance.yaml | 52 +++++- .../indexer/definitions/newznab_generic.yaml | 6 +- internal/indexer/definitions/norbits.yaml | 22 ++- internal/indexer/definitions/onlyencodes.yaml | 18 ++- internal/indexer/definitions/orpheus.yaml | 56 +++++-- internal/indexer/definitions/pbay.yaml | 22 ++- internal/indexer/definitions/pixelhd.yaml | 29 +++- .../indexer/definitions/polishsource.yaml | 22 ++- .../indexer/definitions/polishtracker.yaml | 28 +++- internal/indexer/definitions/ptfiles.yaml | 24 ++- internal/indexer/definitions/ptm.yaml | 32 +++- internal/indexer/definitions/ptp.yaml | 52 +++--- .../indexer/definitions/pussytorrents.yaml | 20 ++- internal/indexer/definitions/red.yaml | 48 ++++-- internal/indexer/definitions/reelflix.yaml | 18 ++- internal/indexer/definitions/retroflix.yaml | 20 ++- .../indexer/definitions/revolutiontt.yaml | 18 ++- internal/indexer/definitions/rss_generic.yaml | 6 +- internal/indexer/definitions/scenehd.yaml | 11 +- internal/indexer/definitions/sharewood.yaml | 44 +++++- .../definitions/skipthecommericals.yaml | 16 +- .../indexer/definitions/skipthetrailers.yaml | 16 +- internal/indexer/definitions/speedapp.yaml | 20 ++- internal/indexer/definitions/subsplease.yaml | 54 ++++++- internal/indexer/definitions/superbits.yaml | 24 ++- .../indexer/definitions/thedarkcommunity.yaml | 26 ++- .../indexer/definitions/theoldschool.yaml | 28 +++- .../indexer/definitions/tokyotoshokan.yaml | 19 ++- .../indexer/definitions/torrentbytes.yaml | 15 +- internal/indexer/definitions/torrentday.yaml | 22 ++- internal/indexer/definitions/torrenthr.yaml | 12 +- .../indexer/definitions/torrentleech.yaml | 22 ++- .../indexer/definitions/torrentnetwork.yaml | 18 ++- .../indexer/definitions/torrentseeds.yaml | 14 +- .../indexer/definitions/torrentsyndikat.yaml | 34 +++- .../indexer/definitions/torznab_generic.yaml | 6 +- .../indexer/definitions/trancetraffic.yaml | 33 ++-- internal/indexer/definitions/tsc.yaml | 41 ++++- internal/indexer/definitions/uhdbits.yaml | 14 +- internal/indexer/definitions/xspeeds.yaml | 120 ++++++++------ internal/indexer/parse.go | 76 +++++++++ internal/indexer/service.go | 22 ++- 83 files changed, 1887 insertions(+), 565 deletions(-) create mode 100644 internal/indexer/definition_test.go create mode 100644 internal/indexer/parse.go diff --git a/internal/announce/announce.go b/internal/announce/announce.go index 399ed0e..dd89827 100644 --- a/internal/announce/announce.go +++ b/internal/announce/announce.go @@ -6,11 +6,11 @@ package announce import ( "bytes" "net/url" - "regexp" "strings" "text/template" "github.com/autobrr/autobrr/internal/domain" + "github.com/autobrr/autobrr/internal/indexer" "github.com/autobrr/autobrr/internal/release" "github.com/autobrr/autobrr/pkg/errors" @@ -82,7 +82,7 @@ func (a *announceProcessor) processQueue(queue chan string) { // check should ignore - match, err := a.parseLine(parseLine.Pattern, parseLine.Vars, tmpVars, line, parseLine.Ignore) + match, err := indexer.ParseLine(&a.log, parseLine.Pattern, parseLine.Vars, tmpVars, line, parseLine.Ignore) if err != nil { a.log.Error().Err(err).Msgf("error parsing extract for line: %v", line) @@ -139,61 +139,6 @@ func (a *announceProcessor) AddLineToQueue(channel string, line string) error { return nil } -func (a *announceProcessor) parseLine(pattern string, vars []string, tmpVars map[string]string, line string, ignore bool) (bool, error) { - if len(vars) > 0 { - return a.parseExtract(pattern, vars, tmpVars, line) - } - - return a.parseMatchRegexp(pattern, tmpVars, line, ignore) -} - -func (a *announceProcessor) parseExtract(pattern string, vars []string, tmpVars map[string]string, line string) (bool, error) { - - rxp, err := regExMatch(pattern, line) - if err != nil { - a.log.Debug().Msgf("did not match expected line: %v", line) - } - - if rxp == nil { - return false, nil - } - - // extract matched - for i, v := range vars { - value := "" - - if rxp[i] != "" { - value = rxp[i] - // tmpVars[v] = rxp[i] - } - - tmpVars[v] = value - } - return true, nil -} - -func (a *announceProcessor) parseMatchRegexp(pattern string, tmpVars map[string]string, line string, ignore bool) (bool, error) { - var re = regexp.MustCompile(`(?mi)` + pattern) - - groupNames := re.SubexpNames() - for _, match := range re.FindAllStringSubmatch(line, -1) { - for groupIdx, group := range match { - // if line should be ignored then lets return - if ignore { - return true, nil - } - - name := groupNames[groupIdx] - if name == "" { - name = "raw" - } - tmpVars[name] = group - } - } - - return true, nil -} - // onLinesMatched process vars into release func (a *announceProcessor) onLinesMatched(def *domain.IndexerDefinition, vars map[string]string, rls *domain.Release) error { // map variables from regex capture onto release struct @@ -303,41 +248,3 @@ func mergeVars(data ...map[string]string) map[string]string { } return tmpVars } - -func removeElement(s []string, i int) ([]string, error) { - // s is [1,2,3,4,5,6], i is 2 - - // perform bounds checking first to prevent a panic! - if i >= len(s) || i < 0 { - return nil, errors.New("Index is out of range. Index is %d with slice length %d", i, len(s)) - } - - // This creates a new slice by creating 2 slices from the original: - // s[:i] -> [1, 2] - // s[i+1:] -> [4, 5, 6] - // and joining them together using `append` - return append(s[:i], s[i+1:]...), nil -} - -func regExMatch(pattern string, value string) ([]string, error) { - - rxp, err := regexp.Compile(pattern) - if err != nil { - return nil, err - } - - matches := rxp.FindStringSubmatch(value) - if matches == nil { - return nil, nil - } - - res := make([]string, 0) - if matches != nil { - res, err = removeElement(matches, 0) - if err != nil { - return nil, err - } - } - - return res, nil -} diff --git a/internal/domain/indexer.go b/internal/domain/indexer.go index a7eb45a..447838e 100644 --- a/internal/domain/indexer.go +++ b/internal/domain/indexer.go @@ -207,11 +207,16 @@ type IndexerIRCParse struct { Match IndexerIRCParseMatch `json:"match"` } +type LineTest struct { + Line string `json:"line"` + Expect map[string]string `json:"expect"` +} + type IndexerIRCParseLine struct { - Test []string `json:"test"` - Pattern string `json:"pattern"` - Vars []string `json:"vars"` - Ignore bool `json:"ignore"` + Tests []LineTest `json:"tests"` + Pattern string `json:"pattern"` + Vars []string `json:"vars"` + Ignore bool `json:"ignore"` } type IndexerIRCParseMatch struct { diff --git a/internal/domain/indexer_test.go b/internal/domain/indexer_test.go index 304d3e5..d3d3b91 100644 --- a/internal/domain/indexer_test.go +++ b/internal/domain/indexer_test.go @@ -34,7 +34,6 @@ func TestIndexerIRCParse_ParseMatch(t *testing.T) { ForceSizeUnit: "", Lines: []IndexerIRCParseLine{ { - Test: nil, Pattern: "New Torrent Announcement:\\s*<([^>]*)>\\s*Name:'(.*)' uploaded by '([^']*)'\\s*(freeleech)*\\s*-\\s*(https?\\:\\/\\/[^\\/]+\\/)torrent\\/(\\d+)", Vars: []string{ "category", @@ -75,7 +74,6 @@ func TestIndexerIRCParse_ParseMatch(t *testing.T) { ForceSizeUnit: "", Lines: []IndexerIRCParseLine{ { - Test: nil, Pattern: `(.*?)(?: - )?(Visual Novel|Light Novel|TV.*|Movie|Manga|OVA|ONA|DVD Special|BD Special|Oneshot|Anthology|Manhwa|Manhua|Artbook|Game|Live Action.*|)[\s\p{Zs}]{2,}\[(\d+)\] :: (.*?)(?: \/ (?:RAW|Softsubs|Hardsubs|Translated)\s\((.+)\)(?:.*Episode\s(\d+))?(?:.*(Freeleech))?.*)? \|\| (https.*)\/torrents.*\?id=\d+&torrentid=(\d+) \|\| (.+?(?:(?:\|\| Uploaded by|$))?) (?:\|\| Uploaded by: (.*))?$`, Vars: []string{ "torrentName", @@ -128,7 +126,6 @@ func TestIndexerIRCParse_ParseMatch(t *testing.T) { ForceSizeUnit: "", Lines: []IndexerIRCParseLine{ { - Test: nil, Pattern: "New Torrent Announcement:\\s*<([^>]*)>\\s*Name:'(.*)' uploaded by '([^']*)'\\s*(freeleech)*\\s*-\\s*(https?\\:\\/\\/[^\\/]+\\/)torrent\\/(\\d+)", Vars: []string{ "category", @@ -169,7 +166,6 @@ func TestIndexerIRCParse_ParseMatch(t *testing.T) { ForceSizeUnit: "", Lines: []IndexerIRCParseLine{ { - Test: nil, Pattern: "New Torrent Announcement:\\s*<([^>]*)>\\s*Name:'(.*)' uploaded by '([^']*)'\\s*(freeleech)*\\s*-\\s*(https?\\:\\/\\/[^\\/]+\\/)torrent\\/(\\d+)", Vars: []string{ "category", @@ -210,7 +206,6 @@ func TestIndexerIRCParse_ParseMatch(t *testing.T) { ForceSizeUnit: "", Lines: []IndexerIRCParseLine{ { - Test: nil, Pattern: "New Torrent in category \\[([^\\]]*)\\] (.*) \\(([^\\)]*)\\) uploaded! Download\\: (https?\\:\\/\\/[^\\/]+\\/).+id=(.+)", Vars: []string{ "category", diff --git a/internal/indexer/definition_test.go b/internal/indexer/definition_test.go new file mode 100644 index 0000000..85911fe --- /dev/null +++ b/internal/indexer/definition_test.go @@ -0,0 +1,35 @@ +package indexer + +import ( + "testing" + + "github.com/autobrr/autobrr/internal/domain" + "github.com/stretchr/testify/assert" +) + +func TestYamlExpectations(t *testing.T) { + s := &service{definitions: map[string]domain.IndexerDefinition{}} + err := s.LoadIndexerDefinitions() + + assert.Nil(t, err) + + for _, d := range s.definitions { + if d.IRC == nil { + continue + } + if d.IRC.Parse == nil { + continue + } + if d.IRC.Parse.Lines == nil { + continue + } + + for _, parseLine := range d.IRC.Parse.Lines { + for i, test := range parseLine.Tests { + parseOutput := map[string]string{} + ParseLine(nil, parseLine.Pattern, parseLine.Vars, parseOutput, test.Line, parseLine.Ignore) + assert.Equal(t, test.Expect, parseOutput, "error in expectation %d", i) + } + } + } +} diff --git a/internal/indexer/definitions/abnormal.yaml b/internal/indexer/definitions/abnormal.yaml index 6491899..f96532e 100644 --- a/internal/indexer/definitions/abnormal.yaml +++ b/internal/indexer/definitions/abnormal.yaml @@ -10,7 +10,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: uid type: secret @@ -58,8 +58,12 @@ irc: parse: type: single lines: - - test: - - "|2020/08/22 00:00:00| | https://abn.lol/Torrent/Details?ReleaseId=000000 | : |Action.Test.S01E01.FRENCH.WEB.x264-NOGROUP|" + - tests: + - line: '|2020/08/22 00:00:00| | https://abn.lol/Torrent/Details?ReleaseId=000000 | : |Action.Test.S01E01.FRENCH.WEB.x264-NOGROUP|' + expect: + baseUrl: https://abn.lol/ + torrentId: "000000" + torrentName: Action.Test.S01E01.FRENCH.WEB.x264-NOGROUP pattern: '^\s*\|.+\|\s*\|\s(https?\:\/\/[^\/]+\/).*[&\?]ReleaseId\=(\d+)\s\|[\s:]+\|([^|]+)\|\s*' vars: - baseUrl diff --git a/internal/indexer/definitions/acidlounge.yaml b/internal/indexer/definitions/acidlounge.yaml index d6a74cf..d410dc3 100644 --- a/internal/indexer/definitions/acidlounge.yaml +++ b/internal/indexer/definitions/acidlounge.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -58,12 +58,37 @@ irc: parse: type: single lines: - - test: - - "(Games/PC) The.Smallest.Game-ze0s https://www.acid-lounge.org.uk/details.php?id=3443&hit=1" - - "(Music/MP3) TUNES_4_LYFE_WEB_iNT https://www.acid-lounge.org.uk/details.php?id=30104&hit=1" - - "(XXX/0-Day) Cute.Stuff.69.XXX.VR180.2700p.MP4-s0ez https://www.acid-lounge.org.uk/details.php?id=30444221135&hit=1" - - "(Movies/HD) Have.You.Seen.The.Cat.Tonight-WhereThat https://www.acid-lounge.org.uk/details.php?id=3018979898&hit=1" - - "(TV-HD/X264) The.Eggerton.S01E01.720p.WEB.h264-OTA https://www.acid-lounge.org.uk/details.php?id=302099&hit=1" + - tests: + - line: (Games/PC) The.Smallest.Game-ze0s https://www.acid-lounge.org.uk/details.php?id=3443&hit=1 + expect: + category: Games/PC + torrentName: The.Smallest.Game-ze0s + baseUrl: https://www.acid-lounge.org.uk/ + torrentId: "3443" + - line: (Music/MP3) TUNES_4_LYFE_WEB_iNT https://www.acid-lounge.org.uk/details.php?id=30104&hit=1 + expect: + category: Music/MP3 + torrentName: TUNES_4_LYFE_WEB_iNT + baseUrl: https://www.acid-lounge.org.uk/ + torrentId: "30104" + - line: (XXX/0-Day) Cute.Stuff.69.XXX.VR180.2700p.MP4-s0ez https://www.acid-lounge.org.uk/details.php?id=30444221135&hit=1 + expect: + category: XXX/0-Day + torrentName: Cute.Stuff.69.XXX.VR180.2700p.MP4-s0ez + baseUrl: https://www.acid-lounge.org.uk/ + torrentId: "30444221135" + - line: (Movies/HD) Have.You.Seen.The.Cat.Tonight-WhereThat https://www.acid-lounge.org.uk/details.php?id=3018979898&hit=1 + expect: + category: Movies/HD + torrentName: Have.You.Seen.The.Cat.Tonight-WhereThat + baseUrl: https://www.acid-lounge.org.uk/ + torrentId: "3018979898" + - line: (TV-HD/X264) The.Eggerton.S01E01.720p.WEB.h264-OTA https://www.acid-lounge.org.uk/details.php?id=302099&hit=1 + expect: + category: TV-HD/X264 + torrentName: The.Eggerton.S01E01.720p.WEB.h264-OTA + baseUrl: https://www.acid-lounge.org.uk/ + torrentId: "302099" pattern: '\((.*)\) (.*) (https?\:\/\/[^\/]+\/).*id=(\d+)' vars: - category diff --git a/internal/indexer/definitions/aither.yaml b/internal/indexer/definitions/aither.yaml index 6a9fd79..ac573c4 100644 --- a/internal/indexer/definitions/aither.yaml +++ b/internal/indexer/definitions/aither.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D +# source: UNIT3D settings: - name: rsskey type: secret @@ -44,9 +44,33 @@ irc: parse: type: single lines: - - test: - - "Category [Music] Type [Music - General] Name [Melanie Martinez - Copy Cat 2020 WEB FLAC 24-bits 44.1 kHz] Freeleech [0%] Internal [No] Double Upload [No] Size [44.06 MB] Uploader [Pure] Url [https://aither.cc/torrents/download/1231231]" - - "Category [Movie] Type [WEB-DL] Name [Izla 2021 FIL 1080p NF WEB-DL DD+ 5.1 H.264-HBO] Resolution [1080p] Freeleech [0%] Internal [No] Double Upload [No] Size [3.38 GB] Uploader [Anonymous] Url [https://aither.cc/torrents/download/213123123]" + - tests: + - line: Category [Music] Type [Music - General] Name [Melanie Martinez - Copy Cat 2020 WEB FLAC 24-bits 44.1 kHz] Freeleech [0%] Internal [No] Double Upload [No] Size [44.06 MB] Uploader [Pure] Url [https://aither.cc/torrents/download/1231231] + expect: + category: Music + releaseTags: Music - General + torrentName: Melanie Martinez - Copy Cat 2020 WEB FLAC 24-bits 44.1 kHz + resolution: "" + freeleechPercent: 0% + internal: "No" + tags: "No" + torrentSize: 44.06 MB + uploader: Pure + baseUrl: https://aither.cc/ + torrentId: "1231231" + - line: Category [Movie] Type [WEB-DL] Name [Izla 2021 FIL 1080p NF WEB-DL DD+ 5.1 H.264-HBO] Resolution [1080p] Freeleech [0%] Internal [No] Double Upload [No] Size [3.38 GB] Uploader [Anonymous] Url [https://aither.cc/torrents/download/213123123] + expect: + category: Movie + releaseTags: WEB-DL + torrentName: Izla 2021 FIL 1080p NF WEB-DL DD+ 5.1 H.264-HBO + resolution: 1080p + freeleechPercent: 0% + internal: "No" + tags: "No" + torrentSize: 3.38 GB + uploader: Anonymous + baseUrl: https://aither.cc/ + torrentId: "213123123" pattern: 'Category \[(.+)\] Type \[(.+)\] Name \[(.+?)\] ?(?:Resolution \[(.*)\])? Freeleech \[(.+)\] Internal \[(.+)\] Double Upload \[(.+)\] Size \[(.+)\] Uploader \[(.+)\] Url \[(https?\:\/\/.+\/).+\/.+\/(\d+)\]' vars: - category diff --git a/internal/indexer/definitions/alpharatio.yaml b/internal/indexer/definitions/alpharatio.yaml index 2d9f3a2..3edadbe 100644 --- a/internal/indexer/definitions/alpharatio.yaml +++ b/internal/indexer/definitions/alpharatio.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -52,8 +52,15 @@ irc: type: multi forcesizeunit: MB lines: - - test: - - "[new release]-[moviehd]-[that.movie.2017.internal.1080p.bluray.crf.x264-group]-[url]-[ https://alpharatio.cc/torrents.php?id=000000 ]-[ 000000 ]-[ uploaded 2 mins, 59 secs after pre. ]" + - tests: + - line: '[new release]-[moviehd]-[that.movie.2017.internal.1080p.bluray.crf.x264-group]-[url]-[ https://alpharatio.cc/torrents.php?id=000000 ]-[ 000000 ]-[ uploaded 2 mins, 59 secs after pre. ]' + expect: + category: moviehd + torrentName: that.movie.2017.internal.1080p.bluray.crf.x264-group + baseUrl: https://alpharatio.cc/ + groupId: "000000" + torrentId: "000000" + preTime: 2 mins, 59 secs pattern: '\[.*\]-\[(.*)\]-\[(.*)\]-\[.*\]-\[ (https?://.+/).*id=(.*) ]-\[ (\d+) \](?:-\[ \w* (.*) after .* ])?' vars: - category @@ -62,8 +69,13 @@ irc: - groupId - torrentId - preTime - - test: - - "[AutoDL]-[MovieHD]-[000000]-[ 1 | 10659 | 1 | 1 ]-[That.Movie.2017.INTERNAL.1080p.BluRay.CRF.x264-GROUP]" + - tests: + - line: '[AutoDL]-[MovieHD]-[000000]-[ 1 | 10659 | 1 | 1 ]-[That.Movie.2017.INTERNAL.1080p.BluRay.CRF.x264-GROUP]' + expect: + scene: "1" + torrentSize: "10659" + freeleech: "1" + auto: "1" pattern: '\[.*\]-\[.*\]-\[.*\]-\[ ([01]) \| (\d+) \| ([01]) \| ([01]) \]-\[.*\]' vars: - scene diff --git a/internal/indexer/definitions/animebytes.yaml b/internal/indexer/definitions/animebytes.yaml index 48e9825..a84c136 100644 --- a/internal/indexer/definitions/animebytes.yaml +++ b/internal/indexer/definitions/animebytes.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: passkey type: secret @@ -57,16 +57,142 @@ irc: parse: type: single lines: - - test: - - "Awesome Raw Novel - Light Novel [2005] :: Raw / EPUB || https://animebytes.tv/torrents.php?id=00000&torrentid=00000 || supernatural || Uploaded by: Test-Uploader" - - "Awesome Translated Novel - Light Novel [2018] :: Translated (Translation Group) / EPUB || https://animebytes.tv/torrents.php?id=00000&torrentid=000000 || adventure, comedy, fantasy, harem, school.life, magic, action || Uploaded by: UPLOADER" - - "Great BluRay SoftSubbed Anime - TV Series [2020] :: Blu-ray / MKV / h264 10-bit / 1080p / FLAC 2.0 / Dual Audio / Softsubs (Sub Group) / Freeleech || https://animebytes.tv/torrents.php?id=00008&torrentid=000000 || comedy, drama, school.life, sports || Uploaded by: Uploader" - - "Awesome Translated Manga - Manga [2019] :: Translated (Translation Group) / Digital / Ongoing || https://animebytes.tv/torrents.php?id=00000&torrentid=000000 || comedy, fantasy, school.life, shounen, slice.of.life" - - "Cool Movie - Movie [2020] :: Blu-ray / MKV / h265 10-bit / 1929x804 / AC3 5.1 / Dual Audio / Softsubs (Sub Group) || https://animebytes.tv/torrents.php?id=000000&torrentid=0000000 || drama, romance, slice.of.life || Uploaded by: Anon-Uploader" - - "Awesome Live Action Special - Live Action TV Special [2021] :: Web / MKV / h264 / 848x480 / AAC 2.0 / Softsubs (Sub Group) || https://animebytes.tv/torrents.php?id=00000&torrentid=00000 || manga || Uploaded by: Some-Uploader" - - "Best Visual Novel - Visual Novel [2006] :: Game / PC / Unarchived / Hentai (Censored) || https://animebytes.tv/torrents.php?id=00000&torrentid=00000 || nukige || Uploaded by: Uploader" - - "Artist Name - Album of awesome Music [1991] :: MP3 / V0 (VBR) / CD || https://animebytes.tv/torrents2.php?id=00000&torrentid=000000 || ambient, folk || Uploaded by: Uploader" - - "Awesome Series - TV Series [2022] :: Web / MKV / h264 / 1080p / AAC 2.0 / Softsubs (Sub Group) / Episode 1 / Freeleech || https://animebytes.tv/torrents.php?id=00000&torrentid=000000 || || Uploaded by: Uploader" + - tests: + - line: "Awesome Raw Novel - Light Novel [2005] :: Raw / EPUB || https://animebytes.tv/torrents.php?id=00000&torrentid=00000 || supernatural || Uploaded by: Test-Uploader" + expect: + torrentName: "Awesome Raw Novel" + title: "Awesome Raw Novel" + category: "Light Novel" + year: "2005" + releaseTags: "Raw / EPUB" + releaseGroup: "" + releaseEpisode: "" + freeleech: "" + baseUrl: "https://animebytes.tv/" + groupId: "00000" + torrentId: "00000" + tags: "supernatural" + uploader: "Test-Uploader" + - line: "Awesome Translated Novel - Light Novel [2018] :: Translated (Translation Group) / EPUB || https://animebytes.tv/torrents.php?id=00000&torrentid=000000 || adventure, comedy, fantasy, harem, school.life, magic, action || Uploaded by: UPLOADER" + expect: + torrentName: "Awesome Translated Novel" + title: "Awesome Translated Novel" + category: "Light Novel" + year: "2018" + releaseTags: "Translated (Translation Group) / EPUB" + releaseGroup: "Translation Group" + releaseEpisode: "" + freeleech: "" + baseUrl: "https://animebytes.tv/" + groupId: "00000" + torrentId: "000000" + tags: "adventure, comedy, fantasy, harem, school.life, magic, action" + uploader: "UPLOADER" + - line: "Great BluRay SoftSubbed Anime - TV Series [2020] :: Blu-ray / MKV / h264 10-bit / 1080p / FLAC 2.0 / Dual Audio / Softsubs (Sub Group) / Freeleech || https://animebytes.tv/torrents.php?id=00008&torrentid=000000 || comedy, drama, school.life, sports || Uploaded by: Uploader" + expect: + torrentName: "Great BluRay SoftSubbed Anime" + title: "Great BluRay SoftSubbed Anime" + category: "TV Series" + year: "2020" + releaseTags: "Blu-ray / MKV / h264 10-bit / 1080p / FLAC 2.0 / Dual Audio / Softsubs (Sub Group)" + releaseGroup: "Sub Group" + releaseEpisode: "" + freeleech: "Freeleech" + baseUrl: "https://animebytes.tv/" + groupId: "00008" + torrentId: "000000" + tags: "comedy, drama, school.life, sports" + uploader: "Uploader" + - line: "Awesome Translated Manga - Manga [2019] :: Translated (Translation Group) / Digital / Ongoing || https://animebytes.tv/torrents.php?id=00000&torrentid=000000 || comedy, fantasy, school.life, shounen, slice.of.life" + expect: + torrentName: "Awesome Translated Manga" + title: "Awesome Translated Manga" + category: "Manga" + year: "2019" + releaseTags: "Translated (Translation Group) / Digital / Ongoing" + releaseGroup: "Translation Group" + releaseEpisode: "" + freeleech: "" + baseUrl: "https://animebytes.tv/" + groupId: "00000" + torrentId: "000000" + tags: "comedy, fantasy, school.life, shounen, slice.of.life" + uploader: "" + - line: "Cool Movie - Movie [2020] :: Blu-ray / MKV / h265 10-bit / 1929x804 / AC3 5.1 / Dual Audio / Softsubs (Sub Group) || https://animebytes.tv/torrents.php?id=000000&torrentid=0000000 || drama, romance, slice.of.life || Uploaded by: Anon-Uploader" + expect: + torrentName: "Cool Movie" + title: "Cool Movie" + category: "Movie" + year: "2020" + releaseTags: "Blu-ray / MKV / h265 10-bit / 1929x804 / AC3 5.1 / Dual Audio / Softsubs (Sub Group)" + releaseGroup: "Sub Group" + releaseEpisode: "" + freeleech: "" + baseUrl: "https://animebytes.tv/" + groupId: "000000" + torrentId: "0000000" + tags: "drama, romance, slice.of.life" + uploader: "Anon-Uploader" + - line: "Awesome Live Action Special - Live Action TV Special [2021] :: Web / MKV / h264 / 848x480 / AAC 2.0 / Softsubs (Sub Group) || https://animebytes.tv/torrents.php?id=00000&torrentid=00000 || manga || Uploaded by: Some-Uploader" + expect: + torrentName: "Awesome " + title: "Awesome " + category: "Live Action Special - Live Action TV Special" + year: "2021" + releaseTags: "Web / MKV / h264 / 848x480 / AAC 2.0 / Softsubs (Sub Group)" + releaseGroup: "Sub Group" + releaseEpisode: "" + freeleech: "" + baseUrl: "https://animebytes.tv/" + groupId: "00000" + torrentId: "00000" + tags: "manga" + uploader: "Some-Uploader" + - line: "Best Visual Novel - Visual Novel [2006] :: Game / PC / Unarchived / Hentai (Censored) || https://animebytes.tv/torrents.php?id=00000&torrentid=00000 || nukige || Uploaded by: Uploader" + expect: + torrentName: "Best Visual Novel" + title: "Best Visual Novel" + category: "Visual Novel" + year: "2006" + releaseTags: "Game / PC / Unarchived / Hentai (Censored)" + releaseGroup: "" + releaseEpisode: "" + freeleech: "" + baseUrl: "https://animebytes.tv/" + groupId: "00000" + torrentId: "00000" + tags: "nukige" + uploader: "Uploader" + - line: "Artist Name - Album of awesome Music [1991] :: MP3 / V0 (VBR) / CD || https://animebytes.tv/torrents2.php?id=00000&torrentid=000000 || ambient, folk || Uploaded by: Uploader" + expect: + torrentName: "Artist Name - Album of awesome Music" + title: "Artist Name - Album of awesome Music" + category: "" + year: "1991" + releaseTags: "MP3 / V0 (VBR) / CD" + releaseGroup: "" + releaseEpisode: "" + freeleech: "" + baseUrl: "https://animebytes.tv/" + groupId: "00000" + torrentId: "000000" + tags: "ambient, folk" + uploader: "Uploader" + - line: "Awesome Series - TV Series [2022] :: Web / MKV / h264 / 1080p / AAC 2.0 / Softsubs (Sub Group) / Episode 1 / Freeleech || https://animebytes.tv/torrents.php?id=00000&torrentid=000000 || || Uploaded by: Uploader" + expect: + torrentName: "Awesome Series" + title: "Awesome Series" + category: "TV Series" + year: "2022" + releaseTags: "Web / MKV / h264 / 1080p / AAC 2.0 / Softsubs (Sub Group)" + releaseGroup: "Sub Group" + releaseEpisode: "1" + freeleech: "Freeleech" + baseUrl: "https://animebytes.tv/" + groupId: "00000" + torrentId: "000000" + tags: "" + uploader: "Uploader" pattern: '((.*?)+)(?: - )?(Visual Novel|Light Novel|TV S.*|Movie|Manga|OVA|ONA|DVD Special|BD Special|Oneshot|Anthology|Manhwa|Manhua|Artbook|Game|Live Action.*|)[\s\p{Zs}]{2,}\[(\d+)\] :: (.*?(?:Hardsubs|RAW|Softsubs|Translated) \((.*?)\).*?|.*?)(?: \/ Episode (\d+).*?)?(?: \/ )?(Freeleech)?(?:.?\|\|.?)(https.+\/)torrents.*\?id=(\d+)&torrentid=(\d+)(?:.?\|\|.?)?([A-Za-z,. ]+\w)?(?:.?\|\|.?)?(?:Uploaded by: (.*))?' vars: - torrentName diff --git a/internal/indexer/definitions/ant.yaml b/internal/indexer/definitions/ant.yaml index 06ec840..6e5ddb4 100644 --- a/internal/indexer/definitions/ant.yaml +++ b/internal/indexer/definitions/ant.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: torrent_pass type: secret @@ -57,10 +57,41 @@ irc: parse: type: single lines: - - test: - - "[Feature Film] Tremar (1897) [H264 / MKV / Blu-ray / 1080p / DTS / Subs / Freeleech! / Filename: Tremar.1897.1080p.BluRay.DTS.x264-GROUP] [12.84 GiB - Uploader: user] https://anthelion.me/torrents.php?action=download&id=110 - action,horror,subtitles" - - "[Feature Film] Circus Du (1928) [H264 / MKV / Blu-ray / 1080p / AC3 / Scene / Freeleech! / Filename: Circus.Du.1928.1080p.BluRay.ACC.x264-GROUP] [8.24 GiB - Uploader: anon] https://anthelion.me/torrents.php?action=download&id=85 - comedy,romance" - - "[Feature Film] Judo (1918) [H264 / MKV / Blu-ray / 1080p / DTS / Subs / Freeleech! / Filename: Judo.1918.1080p.BluRay.DTS.x264-GROUP] [7.40 GiB - Uploader: user1] https://anthelion.me/torrents.php?action=download&id=117 - crime,drama,thriller,action,subtitles" + - tests: + - line: '[Feature Film] Tremar (1897) [H264 / MKV / Blu-ray / 1080p / DTS / Subs / Freeleech! / Filename: Tremar.1897.1080p.BluRay.DTS.x264-GROUP] [12.84 GiB - Uploader: user] https://anthelion.me/torrents.php?action=download&id=110 - action,horror,subtitles' + expect: + category: Feature Film + year: "1897" + releaseTags: H264 / MKV / Blu-ray / 1080p / DTS / Subs / Freeleech! + torrentName: Tremar.1897.1080p.BluRay.DTS.x264-GROUP + torrentSize: 12.84 GiB + uploader: user + baseUrl: https://anthelion.me/ + torrentId: "110" + tags: action,horror,subtitles + - line: '[Feature Film] Circus Du (1928) [H264 / MKV / Blu-ray / 1080p / AC3 / Scene / Freeleech! / Filename: Circus.Du.1928.1080p.BluRay.ACC.x264-GROUP] [8.24 GiB - Uploader: anon] https://anthelion.me/torrents.php?action=download&id=85 - comedy,romance' + expect: + category: Feature Film + year: "1928" + releaseTags: H264 / MKV / Blu-ray / 1080p / AC3 / Scene / Freeleech! + torrentName: Circus.Du.1928.1080p.BluRay.ACC.x264-GROUP + torrentSize: 8.24 GiB + uploader: anon + baseUrl: https://anthelion.me/ + torrentId: "85" + tags: comedy,romance + - line: '[Feature Film] Judo (1918) [H264 / MKV / Blu-ray / 1080p / DTS / Subs / Freeleech! / Filename: Judo.1918.1080p.BluRay.DTS.x264-GROUP] [7.40 GiB - Uploader: user1] https://anthelion.me/torrents.php?action=download&id=117 - crime,drama,thriller,action,subtitles' + expect: + category: Feature Film + year: "1918" + releaseTags: H264 / MKV / Blu-ray / 1080p / DTS / Subs / Freeleech! + torrentName: Judo.1918.1080p.BluRay.DTS.x264-GROUP + torrentSize: 7.40 GiB + uploader: user1 + baseUrl: https://anthelion.me/ + torrentId: "117" + tags: crime,drama,thriller,action,subtitles + pattern: '\[(.*?)\] .* \((.*)\) \[(.*) \/ Filename: (.*)\] \[(.*) - Uploader: (.*)\] (https?\:\/\/.*\/).*id=(\d+).* - (.*)' vars: - category diff --git a/internal/indexer/definitions/bemaniso.yaml b/internal/indexer/definitions/bemaniso.yaml index e39ce71..4a244f6 100644 --- a/internal/indexer/definitions/bemaniso.yaml +++ b/internal/indexer/definitions/bemaniso.yaml @@ -10,7 +10,7 @@ privacy: private protocol: torrent supports: - irc -source: gazelle +# source: gazelle settings: - name: torrent_pass type: secret @@ -44,10 +44,28 @@ irc: parse: type: single lines: - - test: - - "Torrent Name Here - https://bemaniso.ws/torrents.php?id=00000 / https://bemaniso.ws/torrents.php?action=download&id=00001 - ps2, ddr" - - "Big Vs. 2 Small - https://bemaniso.ws/torrents.php?id=00000 / https://bemaniso.ws/torrents.php?action=download&id=00001 - arcade, gundam, exvs" - - "Cool title [2000] [DJ Mix] - FLAC / Lossless / Log / 100% / Cue / CD - https://bemaniso.ws/torrents.php?id=00000 / https://bemaniso.ws/torrents.php?action=download&id=00001 - eurobeat" + - tests: + - line: Torrent Name Here - https://bemaniso.ws/torrents.php?id=00000 / https://bemaniso.ws/torrents.php?action=download&id=00001 - ps2, ddr + expect: + torrentName: Torrent Name Here + releaseTags: '-' + torrentInfoId: "00000" + torrentId: "00001" + tags: ps2, ddr + - line: Big Vs. 2 Small - https://bemaniso.ws/torrents.php?id=00000 / https://bemaniso.ws/torrents.php?action=download&id=00001 - arcade, gundam, exvs + expect: + torrentName: Big Vs. 2 Small + releaseTags: '-' + torrentInfoId: "00000" + torrentId: "00001" + tags: arcade, gundam, exvs + - line: Cool title [2000] [DJ Mix] - FLAC / Lossless / Log / 100% / Cue / CD - https://bemaniso.ws/torrents.php?id=00000 / https://bemaniso.ws/torrents.php?action=download&id=00001 - eurobeat + expect: + torrentName: Cool title [2000] [DJ Mix] + releaseTags: FLAC / Lossless / Log / 100% / Cue / CD - + torrentInfoId: "00000" + torrentId: "00001" + tags: eurobeat pattern: '(.*) -? (.*) (?:.*id=(\d+)) / (?:.*id=(\d+)) - (.*)' vars: - torrentName diff --git a/internal/indexer/definitions/beyondhd.yaml b/internal/indexer/definitions/beyondhd.yaml index 801ffbe..51ca248 100644 --- a/internal/indexer/definitions/beyondhd.yaml +++ b/internal/indexer/definitions/beyondhd.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D (F3NIX) +# source: UNIT3D (F3NIX) settings: - name: rsskey type: secret @@ -58,11 +58,43 @@ irc: parse: type: single lines: - - test: - - "New Torrent: This.Show.S01.1080p.Blu-ray.AVC.DTS-HD.MA.5.1-Test Category: TV By: Uploader Size: 137.73 GB Link: https://beyond-hd.me/torrents/autodl?id=00000" - - "New Torrent: That Show S03E04 1080p WEB-DL DDP 5.1 H.264-GROUP [Capped FL] Category: TV By: Anonymous Size: 1.62 GiB Link: https://beyond-hd.me/torrents/autodl?id=00000" - - "New Torrent: Another Show S03E04 1080p WEB-DL DDP 5.1 H.264-NoGRP [Capped Free] Category: TV By: Anonymous Size: 1.62 GiB Link: https://beyond-hd.me/torrents/autodl?id=00000" - - "New Torrent: Movie BluRay 1080p DD5.1 x264-GudGRP [50% Free] Category: Movies By: Uploader Size: 6.09 GiB Link: https://beyond-hd.me/torrents/autodl?id=00000" + - tests: + - line: 'New Torrent: This.Show.S01.1080p.Blu-ray.AVC.DTS-HD.MA.5.1-Test Category: TV By: Uploader Size: 137.73 GB Link: https://beyond-hd.me/torrents/autodl?id=00000' + expect: + torrentName: This.Show.S01.1080p.Blu-ray.AVC.DTS-HD.MA.5.1-Test + freeleechPercent: "" + category: TV + uploader: Uploader + torrentSize: 137.73 GB + baseUrl: https://beyond-hd.me/ + torrentId: "00000" + - line: 'New Torrent: That Show S03E04 1080p WEB-DL DDP 5.1 H.264-GROUP [Capped FL] Category: TV By: Anonymous Size: 1.62 GiB Link: https://beyond-hd.me/torrents/autodl?id=00000' + expect: + torrentName: That Show S03E04 1080p WEB-DL DDP 5.1 H.264-GROUP + freeleechPercent: Capped FL + category: TV + uploader: Anonymous + torrentSize: 1.62 GiB + baseUrl: https://beyond-hd.me/ + torrentId: "00000" + - line: 'New Torrent: Another Show S03E04 1080p WEB-DL DDP 5.1 H.264-NoGRP [Capped Free] Category: TV By: Anonymous Size: 1.62 GiB Link: https://beyond-hd.me/torrents/autodl?id=00000' + expect: + torrentName: Another Show S03E04 1080p WEB-DL DDP 5.1 H.264-NoGRP + freeleechPercent: Capped Free + category: TV + uploader: Anonymous + torrentSize: 1.62 GiB + baseUrl: https://beyond-hd.me/ + torrentId: "00000" + - line: 'New Torrent: Movie BluRay 1080p DD5.1 x264-GudGRP [50% Free] Category: Movies By: Uploader Size: 6.09 GiB Link: https://beyond-hd.me/torrents/autodl?id=00000' + expect: + torrentName: Movie BluRay 1080p DD5.1 x264-GudGRP + freeleechPercent: 50% Free + category: Movies + uploader: Uploader + torrentSize: 6.09 GiB + baseUrl: https://beyond-hd.me/ + torrentId: "00000" pattern: 'New Torrent: (.*?) (?:\[(.*)\] )?Category: (.*) By: (.*) Size: (.*) Link: (https?\:\/\/[^\/]+\/).*[&\?]id=(\d+)' vars: - torrentName diff --git a/internal/indexer/definitions/bit-hdtv.yaml b/internal/indexer/definitions/bit-hdtv.yaml index 6dbf01c..8b4b35e 100644 --- a/internal/indexer/definitions/bit-hdtv.yaml +++ b/internal/indexer/definitions/bit-hdtv.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -51,9 +51,21 @@ irc: parse: type: single lines: - - test: - - "New torrent: Fear.the.walking.bee.s01e01.720p.WEB.h264-lemoncakes | Cat.: TV | WEB-DL | 720p | Uploader: ze0s | https://www.bit-hdtv.com/details.php?id=448412837123" - - "New torrent: Y.r.u.there.2022.1080p.BluRay.DDP5.1.x264-egg | Cat.: Movies | Encode x264 | 1080p | Uploader: Anonymous | https://www.bit-hdtv.com/details.php?id=69" + - tests: + - line: 'New torrent: Fear.the.walking.bee.s01e01.720p.WEB.h264-lemoncakes | Cat.: TV | WEB-DL | 720p | Uploader: ze0s | https://www.bit-hdtv.com/details.php?id=448412837123' + expect: + torrentName: Fear.the.walking.bee.s01e01.720p.WEB.h264-lemoncakes + category: TV + uploader: ze0s + baseUrl: https://www.bit-hdtv.com/ + torrentId: "448412837123" + - line: 'New torrent: Y.r.u.there.2022.1080p.BluRay.DDP5.1.x264-egg | Cat.: Movies | Encode x264 | 1080p | Uploader: Anonymous | https://www.bit-hdtv.com/details.php?id=69' + expect: + torrentName: Y.r.u.there.2022.1080p.BluRay.DDP5.1.x264-egg + category: Movies + uploader: Anonymous + baseUrl: https://www.bit-hdtv.com/ + torrentId: "69" pattern: 'New torrent: (.*) \|\s*Cat.: ([^\|]*) \| .* Uploader: (.*) \| (https?\:\/\/[^\/]+\/).*id=(\d+)' vars: - torrentName diff --git a/internal/indexer/definitions/bitsexy.yaml b/internal/indexer/definitions/bitsexy.yaml index 8f2eaf5..535f5ed 100644 --- a/internal/indexer/definitions/bitsexy.yaml +++ b/internal/indexer/definitions/bitsexy.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -50,9 +50,21 @@ irc: parse: type: single lines: - - test: - - '[NEW] Best actress - Funny title 15 [720p]-SEX (Hardcore) https://bitsexy.org/details.php?id=00000 [PRED 90 seconds ago]' - - '[NEW] Best actress - Funny title 15 [720p]-SEX (Hardcore) https://bitsexy.org/details.php?id=00000' + - tests: + - line: '[NEW] Best actress - Funny title 15 [720p]-SEX (Hardcore) https://bitsexy.org/details.php?id=00000 [PRED 90 seconds ago]' + expect: + torrentName: Best actress - Funny title 15 [720p]-SEX + category: Hardcore + baseUrl: https://bitsexy.org/ + torrentId: "00000" + preTime: 90 seconds + - line: '[NEW] Best actress - Funny title 15 [720p]-SEX (Hardcore) https://bitsexy.org/details.php?id=00000' + expect: + torrentName: Best actress - Funny title 15 [720p]-SEX + category: Hardcore + baseUrl: https://bitsexy.org/ + torrentId: "00000" + preTime: "" pattern: '\[NEW\] (.*) \((.*)\) (https?\:\/\/.*\/).*id=(\d+).?(?:\[PRED (.*) ago\])?' vars: - torrentName diff --git a/internal/indexer/definitions/btfiles.yaml b/internal/indexer/definitions/btfiles.yaml index 3ead294..7392723 100644 --- a/internal/indexer/definitions/btfiles.yaml +++ b/internal/indexer/definitions/btfiles.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: rsskey type: secret @@ -50,10 +50,31 @@ irc: parse: type: single lines: - - test: - - "[XXX » HD] Some.Porno.22.08.16.Famous.Actress.XXX.1080p.MP4-GROUP [ 3,00 GB | Pred 2022-08-16 08:47:31 (GMT) | URL: https://bittorrentfiles.me/details.php?id=0000000 ]" - - "[Music » Single] [Dance Hall] Artist-Album-WEB-2021-GROUP [ 63,09 MB | Pred 2022-08-16 08:58:06 (GMT) | URL: https://bittorrentfiles.me/details.php?id=0000000 ]" - - "[Sports » HD] Sports.League.2022.08.15.Team1.vs.Team2.720p.WEB.h264-GROUP [ 6,26 GB | Pred 2022-08-16 08:46:25 (GMT) | URL: https://bittorrentfiles.me/details.php?id=0000000 ]" + - tests: + - line: '[XXX » HD] Some.Porno.22.08.16.Famous.Actress.XXX.1080p.MP4-GROUP [ 3,00 GB | Pred 2022-08-16 08:47:31 (GMT) | URL: https://bittorrentfiles.me/details.php?id=0000000 ]' + expect: + category: XXX » HD + tags: "" + torrentName: Some.Porno.22.08.16.Famous.Actress.XXX.1080p.MP4-GROUP + torrentSize: 3,00 GB + baseUrl: https://bittorrentfiles.me/ + torrentId: "0000000" + - line: '[Music » Single] [Dance Hall] Artist-Album-WEB-2021-GROUP [ 63,09 MB | Pred 2022-08-16 08:58:06 (GMT) | URL: https://bittorrentfiles.me/details.php?id=0000000 ]' + expect: + category: Music » Single + tags: Dance Hall + torrentName: Artist-Album-WEB-2021-GROUP + torrentSize: 63,09 MB + baseUrl: https://bittorrentfiles.me/ + torrentId: "0000000" + - line: '[Sports » HD] Sports.League.2022.08.15.Team1.vs.Team2.720p.WEB.h264-GROUP [ 6,26 GB | Pred 2022-08-16 08:46:25 (GMT) | URL: https://bittorrentfiles.me/details.php?id=0000000 ]' + expect: + category: Sports » HD + tags: "" + torrentName: Sports.League.2022.08.15.Team1.vs.Team2.720p.WEB.h264-GROUP + torrentSize: 6,26 GB + baseUrl: https://bittorrentfiles.me/ + torrentId: "0000000" pattern: '\[(.*?)\] (?:\[(.*)\] )?(.*) \[ ([\d\.,]+ \w+) \| Pred .+ \| URL\: (https?\:\/\/[^\/]+\/).*[&\?]id=(\d+) \]' vars: - category diff --git a/internal/indexer/definitions/btn.yaml b/internal/indexer/definitions/btn.yaml index 92d104f..50d26e4 100644 --- a/internal/indexer/definitions/btn.yaml +++ b/internal/indexer/definitions/btn.yaml @@ -12,7 +12,7 @@ supports: - irc - rss - api -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -32,17 +32,17 @@ settings: label: API Key help: Username -> Edit Profile -> API -api: - url: https://api.broadcasthe.net - type: jsonrpc - limits: - max: 150 - per: hour - settings: - - name: api_key - type: secret - label: API Key - help: Username -> Edit Profile -> API +# api: +# url: https://api.broadcasthe.net +# type: jsonrpc +# limits: +# max: 150 +# per: hour +# settings: +# - name: api_key +# type: secret +# label: API Key +# help: Username -> Edit Profile -> API irc: network: BroadcasTheNet @@ -75,18 +75,28 @@ irc: parse: type: multi lines: - - test: - - "NOW BROADCASTING! [ The Show S06E07 720p WEB-DL DD 5.1 H.264 - LP ]" + - tests: + - line: NOW BROADCASTING! [ The Show S06E07 720p WEB-DL DD 5.1 H.264 - LP ] + expect: + torrentName: The Show S06E07 720p WEB-DL DD 5.1 H.264 - LP pattern: ^NOW BROADCASTING! \[ (.*) \] vars: - torrentName - - test: - - "[ Title: S06E07 ] [ Series: The Show ]" + - tests: + - line: '[ Title: S06E07 ] [ Series: The Show ]' + expect: + title: The Show pattern: '^\[ Title: .* \] \[ Series: (.*) \]' vars: - title - - test: - - "[ 2010 ] [ Episode ] [ MKV | x264 | WEB | P2P ] [ Uploader: Uploader1 ]" + - tests: + - line: '[ 2010 ] [ Episode ] [ MKV | x264 | WEB | P2P ] [ Uploader: Uploader1 ]' + expect: + year: "2010" + category: Episode + releaseTags: MKV | x264 | WEB | P2P + uploader: Uploader1 + preTime: "" pattern: '^(?:\[ (\d+) \] )?\[ (.*) \] \[ (.*) \] \[ Uploader: (.*?) \](?: \[ Pretime: (.*) \])?' vars: - year @@ -94,8 +104,12 @@ irc: - releaseTags - uploader - preTime - - test: - - "[ https://XXXXXXXXX/torrents.php?id=7338 / https://XXXXXXXXX/torrents.php?action=download&id=9116 ]" + - tests: + - line: '[ https://XXXXXXXXX/torrents.php?id=7338 / https://XXXXXXXXX/torrents.php?action=download&id=9116 ]' + expect: + baseUrl: https://XXXXXXXXX/ + groupId: "7338" + torrentId: "9116" pattern: \[ (https?:\/\/.*\/).+id=(\d+) \/ https?:\/\/.*\/.+id=(\d+) \] vars: - baseUrl diff --git a/internal/indexer/definitions/cathode-ray-tube.yaml b/internal/indexer/definitions/cathode-ray-tube.yaml index ecfe971..3ea5ff3 100644 --- a/internal/indexer/definitions/cathode-ray-tube.yaml +++ b/internal/indexer/definitions/cathode-ray-tube.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -56,9 +56,21 @@ irc: parse: type: single lines: - - test: - - "New Torrent ~ Some Cool Movie (1950) ~ Movies ~ 10.20 GiB ~ https://www.crt.test/torrents.php?id=1234" - - "New Torrent ~ Some Show: With a Subtitle - Seasons 1-2 (2001-2002) ~ TV ~ 33.44 GiB ~ https://www.crt.test/torrents.php?id=5678" + - tests: + - line: New Torrent ~ Some Cool Movie (1950) ~ Movies ~ 10.20 GiB ~ https://www.crt.test/torrents.php?id=1234 + expect: + torrentName: Some Cool Movie (1950) + category: Movies + torrentSize: 10.20 GiB + baseUrl: https://www.crt.test + torrentId: "1234" + - line: 'New Torrent ~ Some Show: With a Subtitle - Seasons 1-2 (2001-2002) ~ TV ~ 33.44 GiB ~ https://www.crt.test/torrents.php?id=5678' + expect: + torrentName: 'Some Show: With a Subtitle - Seasons 1-2 (2001-2002)' + category: TV + torrentSize: 33.44 GiB + baseUrl: https://www.crt.test + torrentId: "5678" pattern: New Torrent ~ (.*) ~ (.*) ~ (.*) ~ (https:\/\/.+)\/torrents\.php\?id=(\d+) vars: - torrentName diff --git a/internal/indexer/definitions/danishbytes.yaml b/internal/indexer/definitions/danishbytes.yaml index b4ae323..fa56dee 100644 --- a/internal/indexer/definitions/danishbytes.yaml +++ b/internal/indexer/definitions/danishbytes.yaml @@ -14,7 +14,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D +# source: UNIT3D settings: - name: passkey type: secret @@ -53,8 +53,18 @@ irc: parse: type: single lines: - - test: - - ":[N]-[Movies]-[Encode]-[720p]-[797 MiB]-[Some.Old.Movie.1972.720p.BluRay.x264.AAC-GROUP]-[Anonymous]-[https://danishbytes.club/torrents/0000]-[FL: 0]-[DU: 0];" + - tests: + - line: ':[N]-[Movies]-[Encode]-[720p]-[797 MiB]-[Some.Old.Movie.1972.720p.BluRay.x264.AAC-GROUP]-[Anonymous]-[https://danishbytes.club/torrents/0000]-[FL: 0]-[DU: 0];' + expect: + category: Movies + releaseTags: Encode + resolution: 720p + torrentSize: 797 MiB + torrentName: Some.Old.Movie.1972.720p.BluRay.x264.AAC-GROUP + uploader: Anonymous + baseUrl: https://danishbytes.club/ + torrentId: "0000" + freeleech: "0" pattern: ':\[N\]-\[(.*)\]-\[(.*)\]-\[(.*)\]-\[(.*)\]-\[(.*)\]-\[(.*)\]-\[(.*\/)(?:.*\/)(.*)\]-\[FL: (.*)\]-\[DU: .*\];' vars: - category diff --git a/internal/indexer/definitions/digitalcore.yaml b/internal/indexer/definitions/digitalcore.yaml index 20170eb..7496d4e 100644 --- a/internal/indexer/definitions/digitalcore.yaml +++ b/internal/indexer/definitions/digitalcore.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: passkey type: secret @@ -57,9 +57,21 @@ irc: parse: type: single lines: - - test: - - "NEW TORRENT in Movies/XviD :: This.is.my.Movie.2019.BRRip.XviD.AC3-iND :: https://digitalcore.club/api/v1/torrents/download/00000" - - "NEW TORRENT in Movies/XviD :: This.is.my.Movie.2019.BRRip.XviD.AC3-iND :: https://digitalcore.club/api/v1/torrents/download/00000 :: [p2p,unrar]" + - tests: + - line: 'NEW TORRENT in Movies/XviD :: This.is.my.Movie.2019.BRRip.XviD.AC3-iND :: https://digitalcore.club/api/v1/torrents/download/00000' + expect: + category: Movies/XviD + torrentName: This.is.my.Movie.2019.BRRip.XviD.AC3-iND + baseUrl: https://digitalcore.club/api/v1/torrents/ + torrentId: "00000" + tags: "" + - line: 'NEW TORRENT in Movies/XviD :: This.is.my.Movie.2019.BRRip.XviD.AC3-iND :: https://digitalcore.club/api/v1/torrents/download/00000 :: [p2p,unrar]' + expect: + category: Movies/XviD + torrentName: This.is.my.Movie.2019.BRRip.XviD.AC3-iND + baseUrl: https://digitalcore.club/api/v1/torrents/ + torrentId: "00000" + tags: p2p,unrar pattern: 'NEW TORRENT in (.+) :: (.+) :: (https:\/\/.+\/).+\/([0-9a-zA-Z]+)(?: :: \[(.+)\])?' vars: - category diff --git a/internal/indexer/definitions/docspedia.yaml b/internal/indexer/definitions/docspedia.yaml index 66c3db5..a945c9e 100644 --- a/internal/indexer/definitions/docspedia.yaml +++ b/internal/indexer/definitions/docspedia.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -50,8 +50,14 @@ irc: parse: type: single lines: - - test: - - '[NEW] A Nice Self-Help Book (Books) https://www.docspedia.world/details.php?id=1234' + - tests: + - line: '[NEW] A Nice Self-Help Book (Books) https://www.docspedia.world/details.php?id=1234' + expect: + torrentName: A Nice Self-Help Book + category: Books + baseUrl: https://www.docspedia.world + torrentId: "1234" + preTime: "" pattern: '\[NEW] (.*) \(([^)]*)\) (https:\/\/.+)\/details\.php\?id=(\d+)\s*(?:\[PRED ([^\]]*)\])?' vars: - torrentName diff --git a/internal/indexer/definitions/emp.yaml b/internal/indexer/definitions/emp.yaml index 6166fe3..780bc6c 100644 --- a/internal/indexer/definitions/emp.yaml +++ b/internal/indexer/definitions/emp.yaml @@ -12,7 +12,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -57,8 +57,15 @@ irc: parse: type: single lines: - - test: - - "Some long funny title - Size: 2.54 GiB - Uploader: uploader1 - Tags: tag1,tag2 - https://www.empornium.is/torrents.php?torrentid=000000" + - tests: + - line: 'Some long funny title - Size: 2.54 GiB - Uploader: uploader1 - Tags: tag1,tag2 - https://www.empornium.is/torrents.php?torrentid=000000' + expect: + torrentName: Some long funny title + torrentSize: 2.54 GiB + uploader: uploader1 + tags: tag1,tag2 + baseUrl: https://www.empornium.is/ + torrentId: "000000" pattern: '(.*) - Size: (.+) - Uploader: (.+) - Tags: (.*) - (https:\/\/.*\/)torrents\.php\?torrentid=(\d+)' vars: - torrentName diff --git a/internal/indexer/definitions/enthralled.yaml b/internal/indexer/definitions/enthralled.yaml index 8d2c7bf..4520140 100644 --- a/internal/indexer/definitions/enthralled.yaml +++ b/internal/indexer/definitions/enthralled.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -56,8 +56,15 @@ irc: parse: type: single lines: - - test: - - "Some release - Size: 559.06 MiB - Uploader: anon - Tags: worship,other - https://www.enthralled.me/torrents.php?torrentid=0000" + - tests: + - line: 'Some release - Size: 559.06 MiB - Uploader: anon - Tags: worship,other - https://www.enthralled.me/torrents.php?torrentid=0000' + expect: + torrentName: Some release + torrentSize: 559.06 MiB + uploader: anon + tags: worship,other + baseUrl: https://www.enthralled.me/ + torrentId: "0000" pattern: '(.*) - Size: (.+) - Uploader: (.+) - Tags: (.*?) - (https://.+\/)torrents.php\?torrentid=(\d+)' vars: - torrentName diff --git a/internal/indexer/definitions/filelist.yaml b/internal/indexer/definitions/filelist.yaml index e9206a7..27ba56f 100644 --- a/internal/indexer/definitions/filelist.yaml +++ b/internal/indexer/definitions/filelist.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -50,10 +50,38 @@ irc: parse: type: single lines: - - test: - - 'New Torrent: This.Really.Old.Movie.1965.DVDRip.DD1.0.x264 -- [Filme SD] [1.91 GB] -- https://filelist.io/details.php?id=000000 -- by uploader1' - - 'New Torrent: This.New.Movie.2021.1080p.Blu-ray.AVC.DTS-HD.MA.5.1-BEATRIX -- [FreeLeech!] -- [Filme Blu-Ray] [26.78 GB] -- https://filelist.io/details.php?id=000000 -- by uploader1' - - 'New Torrent: This.New.Movie.2021.1080p.Remux.AVC.DTS-HD.MA.5.1-playBD -- [FreeLeech!] -- [Internal!] -- [Filme Blu-Ray] [17.69 GB] -- https://filelist.io/details.php?id=000000 -- by uploader1' + - tests: + - line: 'New Torrent: This.Really.Old.Movie.1965.DVDRip.DD1.0.x264 -- [Filme SD] [1.91 GB] -- https://filelist.io/details.php?id=000000 -- by uploader1' + expect: + torrentName: This.Really.Old.Movie.1965.DVDRip.DD1.0.x264 + freeleech: "" + origin: "" + category: Filme SD + torrentSize: 1.91 GB + baseUrl: https://filelist.io/ + torrentId: "000000" + uploader: uploader1 + - line: 'New Torrent: This.New.Movie.2021.1080p.Blu-ray.AVC.DTS-HD.MA.5.1-BEATRIX -- [FreeLeech!] -- [Filme Blu-Ray] [26.78 GB] -- https://filelist.io/details.php?id=000000 -- by uploader1' + expect: + torrentName: This.New.Movie.2021.1080p.Blu-ray.AVC.DTS-HD.MA.5.1-BEATRIX + freeleech: FreeLeech + origin: "" + category: Filme Blu-Ray + torrentSize: 26.78 GB + baseUrl: https://filelist.io/ + torrentId: "000000" + uploader: uploader1 + - line: 'New Torrent: This.New.Movie.2021.1080p.Remux.AVC.DTS-HD.MA.5.1-playBD -- [FreeLeech!] -- [Internal!] -- [Filme Blu-Ray] [17.69 GB] -- https://filelist.io/details.php?id=000000 -- by uploader1' + expect: + torrentName: This.New.Movie.2021.1080p.Remux.AVC.DTS-HD.MA.5.1-playBD + freeleech: FreeLeech + origin: Internal + category: Filme Blu-Ray + torrentSize: 17.69 GB + baseUrl: https://filelist.io/ + torrentId: "000000" + uploader: uploader1 + pattern: 'New Torrent: (.*?) (?:-- \[(FreeLeech)!] )?(?:-- \[(Internal)!] )?-- \[(.*)] \[(.*)] -- (https?:\/\/filelist.io\/).*id=(.*) -- by (.*)' vars: - torrentName diff --git a/internal/indexer/definitions/funfile.yaml b/internal/indexer/definitions/funfile.yaml index 63444bb..8e28240 100644 --- a/internal/indexer/definitions/funfile.yaml +++ b/internal/indexer/definitions/funfile.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -50,10 +50,31 @@ irc: parse: type: single lines: - - test: - - "[New Shit] Wiseguy.S04E01.720p.WEB.h264-SKYFiRE [TV/Web-HD] @ https://www.funfile.org/details.php?id=1662804 [2 GB] [FL]" - - "[New Shit] DC.-.Wonder.Woman.The.Twelve.Labors.2018.Hybrid.Comic.eBook-BitBook [Ebook] @ https://www.funfile.org/details.php?id=1662668 [206 MB]" - - "[New Shit] Sister.Wives.S17.1080p.AMZN.WEB-DL.DDP2.0.H.264-NTb [TV/x264-HD] @ https://www.funfile.org/details.php?id=1663540 [49 GB] [FL]" + - tests: + - line: '[New Shit] Wiseguy.S04E01.720p.WEB.h264-SKYFiRE [TV/Web-HD] @ https://www.funfile.org/details.php?id=1662804 [2 GB] [FL]' + expect: + torrentName: Wiseguy.S04E01.720p.WEB.h264-SKYFiRE + category: TV/Web-HD + baseUrl: https://www.funfile.org/ + torrentId: "1662804" + torrentSize: 2 GB + freeleech: FL + - line: '[New Shit] DC.-.Wonder.Woman.The.Twelve.Labors.2018.Hybrid.Comic.eBook-BitBook [Ebook] @ https://www.funfile.org/details.php?id=1662668 [206 MB]' + expect: + torrentName: DC.-.Wonder.Woman.The.Twelve.Labors.2018.Hybrid.Comic.eBook-BitBook + category: Ebook + baseUrl: https://www.funfile.org/ + torrentId: "1662668" + torrentSize: 206 MB + freeleech: "" + - line: '[New Shit] Sister.Wives.S17.1080p.AMZN.WEB-DL.DDP2.0.H.264-NTb [TV/x264-HD] @ https://www.funfile.org/details.php?id=1663540 [49 GB] [FL]' + expect: + torrentName: Sister.Wives.S17.1080p.AMZN.WEB-DL.DDP2.0.H.264-NTb + category: TV/x264-HD + baseUrl: https://www.funfile.org/ + torrentId: "1663540" + torrentSize: 49 GB + freeleech: FL pattern: '\[New Shit\] (.*) \[(.*)\] @ (https?\:\/\/.*\/).*id=(.*?) \[(.*?)\] ?(?:\[(.*?)\])?' vars: - torrentName diff --git a/internal/indexer/definitions/fuzer.yaml b/internal/indexer/definitions/fuzer.yaml index d4bda27..f9a82e6 100644 --- a/internal/indexer/definitions/fuzer.yaml +++ b/internal/indexer/definitions/fuzer.yaml @@ -9,7 +9,7 @@ privacy: private protocol: torrent supports: - irc -source: gazelle +# source: gazelle settings: - name: uid type: text @@ -53,10 +53,31 @@ irc: parse: type: single lines: - - test: - - "New Torrent: סדרה - עונה 4 פרק 5 | Show S04E05 2160p UHDTV x265-Release-Group Category: סדרות ישראליות HD By: Uploader1 Size: 2.88GB Link: http://fuzer.me/attachment.php?attachmentid=101010 [Show.S04E05.2160p.UHDTV.x265-Release-Group]" - - "New Torrent: סדרה אפילו יותר טובה - עונה 1 פרק 7 - תרגום בצד | Even Better Show S01E07 1080p AMZN WEB-DL DDP5.1 H.264 Category: סדרות HD By: EvenBett3rUploader Size: 2.27GB Link: http://fuzer.me/attachment.php?attachmentid=222222 [Even.Better.Show.S01E07.14.45.1080p.AMZN.WEB-DL.DDP5.1.H.264]" - - "New Torrent: הכי טובה - עונה 1 פרק 5 - תרגום בצד | The Best S01E05 1080p WEB H264-TEST Category: סדרות HD By: Uploader5 Size: 3.25GB Link: http://fuzer.me/attachment.php?attachmentid=616161 [The.Best.S01E05.1080p.WEB.H264-TEST]" + - tests: + - line: 'New Torrent: סדרה - עונה 4 פרק 5 | Show S04E05 2160p UHDTV x265-Release-Group Category: סדרות ישראליות HD By: Uploader1 Size: 2.88GB Link: http://fuzer.me/attachment.php?attachmentid=101010 [Show.S04E05.2160p.UHDTV.x265-Release-Group]' + expect: + category: HD + uploader: Uploader1 + torrentSize: 2.88GB + baseUrl: http://fuzer.me/ + torrentId: "101010" + torrentName: Show.S04E05.2160p.UHDTV.x265-Release-Group + - line: 'New Torrent: סדרה אפילו יותר טובה - עונה 1 פרק 7 - תרגום בצד | Even Better Show S01E07 1080p AMZN WEB-DL DDP5.1 H.264 Category: סדרות HD By: EvenBett3rUploader Size: 2.27GB Link: http://fuzer.me/attachment.php?attachmentid=222222 [Even.Better.Show.S01E07.14.45.1080p.AMZN.WEB-DL.DDP5.1.H.264]' + expect: + category: HD + uploader: EvenBett3rUploader + torrentSize: 2.27GB + baseUrl: http://fuzer.me/ + torrentId: "222222" + torrentName: Even.Better.Show.S01E07.14.45.1080p.AMZN.WEB-DL.DDP5.1.H.264 + - line: 'New Torrent: הכי טובה - עונה 1 פרק 5 - תרגום בצד | The Best S01E05 1080p WEB H264-TEST Category: סדרות HD By: Uploader5 Size: 3.25GB Link: http://fuzer.me/attachment.php?attachmentid=616161 [The.Best.S01E05.1080p.WEB.H264-TEST]' + expect: + category: HD + uploader: Uploader5 + torrentSize: 3.25GB + baseUrl: http://fuzer.me/ + torrentId: "616161" + torrentName: The.Best.S01E05.1080p.WEB.H264-TEST pattern: 'New Torrent:.*\| .* Category:\s?.* (.*) By: (.*) Size: (.*) Link: (https?\:\/\/.*\/).*attachmentid=(\d+) \[(.*)\]' vars: - category diff --git a/internal/indexer/definitions/gazellegames.yaml b/internal/indexer/definitions/gazellegames.yaml index 5d96a4b..7eb3443 100644 --- a/internal/indexer/definitions/gazellegames.yaml +++ b/internal/indexer/definitions/gazellegames.yaml @@ -12,7 +12,7 @@ supports: - irc - rss - api -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -32,17 +32,17 @@ settings: label: API Key help: Username -> Edit / Settings -> API Keys -api: - url: https://gazellegames.net/api.php - type: json - limits: - max: 5 - per: 10 seconds - settings: - - name: api_key - type: secret - label: API Key - help: Username -> Edit / Settings -> API Keys +# api: +# url: https://gazellegames.net/api.php +# type: json +# limits: +# max: 5 +# per: 10 seconds +# settings: +# - name: api_key +# type: secret +# label: API Key +# help: Username -> Edit / Settings -> API Keys irc: network: GGn @@ -82,9 +82,29 @@ irc: parse: type: single lines: - - test: - - "Uploader :-: Nintendo 3DS :-: Cool.Game.KOR.3DS-BigBlueBox in Cool Game [2013] ::Korean, Multi-Region, Scene:: https://gazellegames.net/torrents.php?torrentid=00000 - adventure, role_playing_game, nintendo;" - - "Uploader :-: Windows :-: Other.Game-HI2U in Other Game [2016] ::English, Scene:: FREELEECH! :: https://gazellegames.net/torrents.php?torrentid=00000 - action, adventure, casual, indie, role.playing.game;" + - tests: + - line: 'Uploader :-: Nintendo 3DS :-: Cool.Game.KOR.3DS-BigBlueBox in Cool Game [2013] ::Korean, Multi-Region, Scene:: https://gazellegames.net/torrents.php?torrentid=00000 - adventure, role_playing_game, nintendo;' + expect: + uploader: Uploader + category: Nintendo 3DS + torrentName: Cool.Game.KOR.3DS-BigBlueBox in Cool Game + year: "2013" + releaseTags: Korean, Multi-Region, Scene + freeleech: "" + baseUrl: https://gazellegames.net/ + torrentId: "00000" + tags: adventure, role_playing_game, nintendo + - line: 'Uploader :-: Windows :-: Other.Game-HI2U in Other Game [2016] ::English, Scene:: FREELEECH! :: https://gazellegames.net/torrents.php?torrentid=00000 - action, adventure, casual, indie, role.playing.game;' + expect: + uploader: Uploader + category: Windows + torrentName: Other.Game-HI2U in Other Game + year: "2016" + releaseTags: English, Scene + freeleech: FREELEECH + baseUrl: https://gazellegames.net/ + torrentId: "00000" + tags: action, adventure, casual, indie, role.playing.game pattern: '^(.+) :-: (.+) :-: (.+) \[(\d+)?\] ::(.+?)?:: ?(.+?)?(?:! ::)? (https?:\/\/[^\/]+\/)torrents.php\?torrentid=(\d+)(?: - )?([a-zA-Z0-9, _\.]+)?;?(?:[ :]*(?:[NSFW]*)?[! :]*)?$' vars: - uploader diff --git a/internal/indexer/definitions/hd-space.yaml b/internal/indexer/definitions/hd-space.yaml index 98ccdf1..5f0b6fc 100644 --- a/internal/indexer/definitions/hd-space.yaml +++ b/internal/indexer/definitions/hd-space.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: rsskey type: secret @@ -50,10 +50,28 @@ irc: parse: type: single lines: - - test: - - "New Torrent in category [HDTV 1080] Show S03E06 2160p PMTP WEB-DL DDP5 1 DV HEVC-GROUP1 (4.52 GB) uploaded! Download: https://hd-space.org/download.php?id=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - - "New Torrent in category [Blu-Ray] The Movie 2022 1080p Blu-ray AVC DTS-HD MA 5.1-GROUP2 (23.21 GB) uploaded! Download: https://hd-space.org/download.php?id=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - - "New Torrent in category [Blu-Ray] Other movie with long tittle 2013 2160 UHD EXTENDED Blu-ray HEVC TrueHD 7.1-GROUP3@HDSpace (88.20 GB) uploaded! Download: https://hd-space.org/download.php?id=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - tests: + - line: 'New Torrent in category [HDTV 1080] Show S03E06 2160p PMTP WEB-DL DDP5 1 DV HEVC-GROUP1 (4.52 GB) uploaded! Download: https://hd-space.org/download.php?id=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' + expect: + category: HDTV 1080 + torrentName: Show S03E06 2160p PMTP WEB-DL DDP5 1 DV HEVC-GROUP1 + torrentSize: 4.52 GB + baseUrl: https://hd-space.org/ + torrentId: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + - line: 'New Torrent in category [Blu-Ray] The Movie 2022 1080p Blu-ray AVC DTS-HD MA 5.1-GROUP2 (23.21 GB) uploaded! Download: https://hd-space.org/download.php?id=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' + expect: + category: Blu-Ray + torrentName: The Movie 2022 1080p Blu-ray AVC DTS-HD MA 5.1-GROUP2 + torrentSize: 23.21 GB + baseUrl: https://hd-space.org/ + torrentId: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + - line: 'New Torrent in category [Blu-Ray] Other movie with long tittle 2013 2160 UHD EXTENDED Blu-ray HEVC TrueHD 7.1-GROUP3@HDSpace (88.20 GB) uploaded! Download: https://hd-space.org/download.php?id=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' + expect: + category: Blu-Ray + torrentName: Other movie with long tittle 2013 2160 UHD EXTENDED Blu-ray HEVC TrueHD 7.1-GROUP3@HDSpace + torrentSize: 88.20 GB + baseUrl: https://hd-space.org/ + torrentId: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa pattern: 'New Torrent in category \[([^\]]*)\] (.*) \(([^\)]*)\) uploaded! Download\: (https?\:\/\/[^\/]+\/).*[&\?]id=([a-f0-9]+)' vars: - category diff --git a/internal/indexer/definitions/hd-torrents.yaml b/internal/indexer/definitions/hd-torrents.yaml index 9545ae9..f856b4f 100644 --- a/internal/indexer/definitions/hd-torrents.yaml +++ b/internal/indexer/definitions/hd-torrents.yaml @@ -12,7 +12,7 @@ protocol: torrent supports: - irc - rss -source: xbtit +# source: xbtit settings: - name: key type: secret @@ -56,8 +56,14 @@ irc: parse: type: single lines: - - test: - - "New Torrent in category [Movies/Remux] That Movie (2008) Blu-ray 1080p REMUX AVC DTS-HD MA 7 1 (14.60 GB) uploaded! Download: https://hd-torrents.org/download.php?id=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + - tests: + - line: 'New Torrent in category [Movies/Remux] That Movie (2008) Blu-ray 1080p REMUX AVC DTS-HD MA 7 1 (14.60 GB) uploaded! Download: https://hd-torrents.org/download.php?id=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + expect: + category: Movies/Remux + torrentName: That Movie (2008) Blu-ray 1080p REMUX AVC DTS-HD MA 7 1 + torrentSize: 14.60 GB + baseUrl: https://hd-torrents.org/ + torrentId: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA pattern: 'New Torrent in category \[([^\]]*)\] (.*) \(([^\)]*)\) uploaded! Download\: (https?\:\/\/[^\/]+\/).+id=(.+)' vars: - category diff --git a/internal/indexer/definitions/hdb.yaml b/internal/indexer/definitions/hdb.yaml index f06943c..788d746 100644 --- a/internal/indexer/definitions/hdb.yaml +++ b/internal/indexer/definitions/hdb.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -57,11 +57,47 @@ irc: parse: type: single lines: - - test: - - "New Torrent: Clockers 1995 1080p Blu-ray AVC DTS-HD MA 5.1-Anonymous - Type: Movie (H.264, Blu-ray/HD DVD) - Uploaded by: Anonymous - Size: 37.61 GiB - https://hdbits.org/details.php?id=12345&hit=1" - - "New Torrent: PilotsEYE tv: QUITO 2014 1080p Blu-ray AVC DD 2.0 - Type: Documentary (H.264, Blu-ray/HD DVD) - Uploaded by: Anonymous - Size: 23.14 GiB - https://hdbits.org/details.php?id=12345&hit=1" - - "New Torrent: Xiao Q 2019 720p BluRay DD-EX 5.1 x264-Anonymous - Type: Movie (H.264, Encode) Internal! - Uploaded by: Anonymous - Size: 4.54 GiB - https://hdbits.org/details.php?id=12345&hit=1" - - "New Torrent: The Gentlemen 2019 UHD Blu-ray English TrueHD 7.1 - Type: Audio Track - Uploaded by: Anonymous - Size: 3.19 GiB - https://hdbits.org/details.php?id=519896&hit=1" + - tests: + - line: 'New Torrent: Clockers 1995 1080p Blu-ray AVC DTS-HD MA 5.1-Anonymous - Type: Movie (H.264, Blu-ray/HD DVD) - Uploaded by: Anonymous - Size: 37.61 GiB - https://hdbits.org/details.php?id=12345&hit=1' + expect: + torrentName: Clockers 1995 1080p Blu-ray AVC DTS-HD MA 5.1-Anonymous + category: Movie + releaseTags: H.264, Blu-ray/HD DVD + origin: "" + uploader: Anonymous + torrentSize: 37.61 GiB + baseUrl: https://hdbits.org/ + torrentId: "12345" + - line: 'New Torrent: PilotsEYE tv: QUITO 2014 1080p Blu-ray AVC DD 2.0 - Type: Documentary (H.264, Blu-ray/HD DVD) - Uploaded by: Anonymous - Size: 23.14 GiB - https://hdbits.org/details.php?id=12345&hit=1' + expect: + torrentName: 'PilotsEYE tv: QUITO 2014 1080p Blu-ray AVC DD 2.0' + category: Documentary + releaseTags: H.264, Blu-ray/HD DVD + origin: "" + uploader: Anonymous + torrentSize: 23.14 GiB + baseUrl: https://hdbits.org/ + torrentId: "12345" + - line: 'New Torrent: Xiao Q 2019 720p BluRay DD-EX 5.1 x264-Anonymous - Type: Movie (H.264, Encode) Internal! - Uploaded by: Anonymous - Size: 4.54 GiB - https://hdbits.org/details.php?id=12345&hit=1' + expect: + torrentName: Xiao Q 2019 720p BluRay DD-EX 5.1 x264-Anonymous + category: Movie + releaseTags: H.264, Encode + origin: Internal + uploader: Anonymous + torrentSize: 4.54 GiB + baseUrl: https://hdbits.org/ + torrentId: "12345" + - line: 'New Torrent: The Gentlemen 2019 UHD Blu-ray English TrueHD 7.1 - Type: Audio Track - Uploaded by: Anonymous - Size: 3.19 GiB - https://hdbits.org/details.php?id=519896&hit=1' + expect: + torrentName: The Gentlemen 2019 UHD Blu-ray English TrueHD 7.1 + category: Audio Track + releaseTags: "" + origin: "" + uploader: Anonymous + torrentSize: 3.19 GiB + baseUrl: https://hdbits.org/ + torrentId: "519896" pattern: '^New Torrent: (.+) - Type: (.+?) (?:\((.+)\))?\s?(?:(Internal)!?)?\s?- Uploaded by: (.+) - Size: (.+) - (https://.+?/).+id=(\d+)' vars: - torrentName diff --git a/internal/indexer/definitions/hebits.yaml b/internal/indexer/definitions/hebits.yaml index 5e00ba3..0eadab2 100644 --- a/internal/indexer/definitions/hebits.yaml +++ b/internal/indexer/definitions/hebits.yaml @@ -9,7 +9,7 @@ privacy: private protocol: torrent supports: - irc -source: gazelle +# source: gazelle settings: - name: passkey type: secret @@ -61,24 +61,42 @@ irc: parse: type: multi lines: - - test: - - "New: (מה שקורה בצללים - עונה 4, פרק 3 / What We Do in the Shadows - S04E03 *היידפנישן*) Category: סדרות - HD Size: 825.43 MiB Seeders: 0 Leechers: 0" - - "New: (לגו מלחמת הכוכבים: חופשת קיץ / LEGO Star Wars Summer Vacation *היידפנישן*) Category: סרטים - HD Size: 1.02 GiB Seeders: 0 Leechers: 0" - - "New: (תמונות מחיי נישואין - עונה 1 / Scenes from a Marriage (US) - S01 *היידפנישן מלא*) Category: סדרות - HD מלא Size: 18.61 GiB Seeders: 0 Leechers: 0" + - tests: + - line: 'New: (מה שקורה בצללים - עונה 4, פרק 3 / What We Do in the Shadows - S04E03 *היידפנישן*) Category: סדרות - HD Size: 825.43 MiB Seeders: 0 Leechers: 0' + expect: + category: סדרות - HD + torrentSize: 825.43 MiB + - line: 'New: (לגו מלחמת הכוכבים: חופשת קיץ / LEGO Star Wars Summer Vacation *היידפנישן*) Category: סרטים - HD Size: 1.02 GiB Seeders: 0 Leechers: 0' + expect: + category: סרטים - HD + torrentSize: 1.02 GiB + - line: 'New: (תמונות מחיי נישואין - עונה 1 / Scenes from a Marriage (US) - S01 *היידפנישן מלא*) Category: סדרות - HD מלא Size: 18.61 GiB Seeders: 0 Leechers: 0' + expect: + category: סדרות - HD מלא + torrentSize: 18.61 GiB pattern: '^New: .* Category: (.*) Size: (.*) Seeders: .+ Leechers: .+' vars: - category - torrentSize - - test: - - "Link: https://hebits.net/torrents.php?torrentid=80081" + - tests: + - line: 'Link: https://hebits.net/torrents.php?torrentid=80081' + expect: + baseUrl: https://hebits.net/ + torrentId: "80081" pattern: '^Link: (https:\/\/.*\/).*torrentid=(\d+)' vars: - baseUrl - torrentId - - test: - - "Release: What.We.Do.in.the.Shadows.S04E03.The.Grand.Opening.720p.AMZN.WEB.DL.DDP5.1.H.264-FLUX" - - "Release: LEGO.Star.Wars.Summer.Vacation.2022.720p.WEB-DL.H.264.HebDub-iSrael" - - "Release: Scenes.From.a.Marriage.US.S01.1080p.AMZN.WEB-DL.DDP5.1.H.264-FLUX" + - tests: + - line: 'Release: What.We.Do.in.the.Shadows.S04E03.The.Grand.Opening.720p.AMZN.WEB.DL.DDP5.1.H.264-FLUX' + expect: + torrentName: What.We.Do.in.the.Shadows.S04E03.The.Grand.Opening.720p.AMZN.WEB.DL.DDP5.1.H.264-FLUX + - line: 'Release: LEGO.Star.Wars.Summer.Vacation.2022.720p.WEB-DL.H.264.HebDub-iSrael' + expect: + torrentName: LEGO.Star.Wars.Summer.Vacation.2022.720p.WEB-DL.H.264.HebDub-iSrael + - line: 'Release: Scenes.From.a.Marriage.US.S01.1080p.AMZN.WEB-DL.DDP5.1.H.264-FLUX' + expect: + torrentName: Scenes.From.a.Marriage.US.S01.1080p.AMZN.WEB-DL.DDP5.1.H.264-FLUX pattern: "^Release: (.*)" vars: - torrentName diff --git a/internal/indexer/definitions/huno.yaml b/internal/indexer/definitions/huno.yaml index 7c5d777..9b409f9 100644 --- a/internal/indexer/definitions/huno.yaml +++ b/internal/indexer/definitions/huno.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D +# source: UNIT3D settings: - name: rsskey type: secret @@ -50,9 +50,27 @@ irc: parse: type: single lines: - - test: - - "New in [Movie]: Old Movie (1981) (1080p BluRay x265 SDR DD 2.0 English - group1) [4.5 GiB] [FL: No] [INTERNAL: Yes] [https://hawke.uno/torrents/0000] by: [anon]" - - "New in [TV]: Popular show (2022) S01E09 (1080p DSNP WEB-DL x265 SDR DDP Atmos 5.1 English - GROUP)[REPACK] [955.97 MiB] [FL: Yes] [INTERNAL: Yes] [https://hawke.uno/torrents/0000] by: [uploader]" + - tests: + - line: 'New in [Movie]: Old Movie (1981) (1080p BluRay x265 SDR DD 2.0 English - group1) [4.5 GiB] [FL: No] [INTERNAL: Yes] [https://hawke.uno/torrents/0000] by: [anon]' + expect: + category: Movie + torrentName: Old Movie (1981) (1080p BluRay x265 SDR DD 2.0 English - group1) + torrentSize: 4.5 GiB + freeleech: "No" + internal: "Yes" + baseUrl: https://hawke.uno/ + torrentId: "0000" + uploader: anon + - line: 'New in [TV]: Popular show (2022) S01E09 (1080p DSNP WEB-DL x265 SDR DDP Atmos 5.1 English - GROUP)[REPACK] [955.97 MiB] [FL: Yes] [INTERNAL: Yes] [https://hawke.uno/torrents/0000] by: [uploader]' + expect: + category: TV + torrentName: Popular show (2022) S01E09 (1080p DSNP WEB-DL x265 SDR DDP Atmos 5.1 English - GROUP)[REPACK] + torrentSize: 955.97 MiB + freeleech: "Yes" + internal: "Yes" + baseUrl: https://hawke.uno/ + torrentId: "0000" + uploader: uploader pattern: 'New in \[(.+)\]: (.+)(?:\[(?:REPACK\d?|PROPER)\])? \[(.+)\] \[FL: (Yes|No)\] \[INTERNAL: (Yes|No)\] \[(https:\/\/.+\/)torrents\/(\d+)\] by: \[(.+)\]' vars: - category diff --git a/internal/indexer/definitions/ianon.yaml b/internal/indexer/definitions/ianon.yaml index be7ecef..9799160 100644 --- a/internal/indexer/definitions/ianon.yaml +++ b/internal/indexer/definitions/ianon.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: torrent_pass type: text @@ -57,9 +57,23 @@ irc: parse: type: single lines: - - test: - - "TORRENT: TheBestMacApp.X.4.10.6.macOS (Applications) - utility - https://ianon.app/torrents.php?id=1323 / https://ianon.app/torrents.php?action=download&id=1323" - - "TORRENT: MasterClass - Issa Rae Teaches Creating Outside the Lines (Tutorials) - freeleech,learning,tutorials,video - https://ianon.app/torrents.php?id=2414 / https://ianon.app/torrents.php?action=download&id=2423" + - tests: + - line: 'TORRENT: TheBestMacApp.X.4.10.6.macOS (Applications) - utility - https://ianon.app/torrents.php?id=1323 / https://ianon.app/torrents.php?action=download&id=1323' + expect: + torrentName: TheBestMacApp.X.4.10.6.macOS + category: Applications + freeleech: "" + tags: utility + baseUrl: https://ianon.app/ + torrentId: "1323" + - line: 'TORRENT: MasterClass - Issa Rae Teaches Creating Outside the Lines (Tutorials) - freeleech,learning,tutorials,video - https://ianon.app/torrents.php?id=2414 / https://ianon.app/torrents.php?action=download&id=2423' + expect: + torrentName: MasterClass - Issa Rae Teaches Creating Outside the Lines + category: Tutorials + freeleech: freeleech + tags: learning,tutorials,video + baseUrl: https://ianon.app/ + torrentId: "2423" pattern: 'TORRENT: (.*) \((.*)\)\s+?. (freeleech)?,?(.*) . https:\/\/.*\/.*id=\d+ \/ (https:\/\/.*\/).*action=download&id=(.+)' vars: - torrentName diff --git a/internal/indexer/definitions/immortalseed.yaml b/internal/indexer/definitions/immortalseed.yaml index e7a1cda..09bd6b1 100644 --- a/internal/indexer/definitions/immortalseed.yaml +++ b/internal/indexer/definitions/immortalseed.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -58,10 +58,28 @@ irc: parse: type: single lines: - - test: - - "ImmortalSeed - Category: ( TV - High Definition ) Torrent: ( The.Show.S07E02.Lunch.At.Sea.720p.WEBRip.X264-GROUP1 ) Size: ( 457.07 MB ) Link: ( https://immortalseed.me/details.php?id=0000000 )" - - "ImmortalSeed - Category: ( TV - High Definition ) Torrent: ( Other.Show.S01E02.1080p.WEB.H264-GROUP2 ) Size: ( 3.66 GB ) Link: ( https://immortalseed.me/details.php?id=0000000 )" - - "ImmortalSeed - Category: ( Anime ) Torrent: ( Some.Anime.Show.S01E04.1080p.WEB.H264-GROUP3 ) Size: ( 1.34 GB ) Link: ( https://immortalseed.me/details.php?id=0000000 )" + - tests: + - line: 'ImmortalSeed - Category: ( TV - High Definition ) Torrent: ( The.Show.S07E02.Lunch.At.Sea.720p.WEBRip.X264-GROUP1 ) Size: ( 457.07 MB ) Link: ( https://immortalseed.me/details.php?id=0000000 )' + expect: + category: TV - High Definition + torrentName: The.Show.S07E02.Lunch.At.Sea.720p.WEBRip.X264-GROUP1 + torrentSize: 457.07 MB + baseUrl: https://immortalseed.me/ + torrentId: "0000000" + - line: 'ImmortalSeed - Category: ( TV - High Definition ) Torrent: ( Other.Show.S01E02.1080p.WEB.H264-GROUP2 ) Size: ( 3.66 GB ) Link: ( https://immortalseed.me/details.php?id=0000000 )' + expect: + category: TV - High Definition + torrentName: Other.Show.S01E02.1080p.WEB.H264-GROUP2 + torrentSize: 3.66 GB + baseUrl: https://immortalseed.me/ + torrentId: "0000000" + - line: 'ImmortalSeed - Category: ( Anime ) Torrent: ( Some.Anime.Show.S01E04.1080p.WEB.H264-GROUP3 ) Size: ( 1.34 GB ) Link: ( https://immortalseed.me/details.php?id=0000000 )' + expect: + category: Anime + torrentName: Some.Anime.Show.S01E04.1080p.WEB.H264-GROUP3 + torrentSize: 1.34 GB + baseUrl: https://immortalseed.me/ + torrentId: "0000000" pattern: '\s*ImmortalSeed - Category: \( (.*) \) Torrent: \( (.*) \) Size: \( (.*) \)\s+Link: \( (https?:\/\/.*\/).*id=(\d+) \)' vars: - category diff --git a/internal/indexer/definitions/iplay.yaml b/internal/indexer/definitions/iplay.yaml index c289baf..15cf4ce 100644 --- a/internal/indexer/definitions/iplay.yaml +++ b/internal/indexer/definitions/iplay.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -50,9 +50,23 @@ irc: parse: type: single lines: - - test: - - "New torrent: Artist-Album-2022-GROUP -- [Black Metal] -- https://metal.iplay.ro/details.php?id=000000 -- by Anonymous" - - "New torrent: Artist-Album -[WEB | FLAC]- RMT -- [FreeLeech!] -- [-Discography/Album Pack] -- https://metal.iplay.ro/details.php?id=000000 -- by Anonymous" + - tests: + - line: 'New torrent: Artist-Album-2022-GROUP -- [Black Metal] -- https://metal.iplay.ro/details.php?id=000000 -- by Anonymous' + expect: + torrentName: Artist-Album-2022-GROUP + freeleech: "" + category: Black Metal + baseUrl: https://metal.iplay.ro/ + torrentId: "000000" + uploader: Anonymous + - line: 'New torrent: Artist-Album -[WEB | FLAC]- RMT -- [FreeLeech!] -- [-Discography/Album Pack] -- https://metal.iplay.ro/details.php?id=000000 -- by Anonymous' + expect: + torrentName: Artist-Album -[WEB | FLAC]- RMT + freeleech: FreeLeech + category: -Discography/Album Pack + baseUrl: https://metal.iplay.ro/ + torrentId: "000000" + uploader: Anonymous pattern: 'New torrent: (.*?) (?:-- \[(.*)!\] )?-- \[(.*)] -- (https?://.+/).*id=(.*) -- by (.*)' vars: - torrentName diff --git a/internal/indexer/definitions/iptorrents.yaml b/internal/indexer/definitions/iptorrents.yaml index e1c50d0..c25ed04 100644 --- a/internal/indexer/definitions/iptorrents.yaml +++ b/internal/indexer/definitions/iptorrents.yaml @@ -21,7 +21,7 @@ protocol: torrent supports: - irc - rss -source: unknown +# source: unknown settings: - name: passkey type: secret @@ -61,9 +61,23 @@ irc: parse: type: single lines: - - test: - - "[Movies/XviD] The Movie 2010 DVDRip XviD-GROUP FREELEECH - http://www.iptorrents.com/details.php?id=000000 - 716.219 MB" - - "[Movies/XviD] The Movie 2010 DVDRip XviD-GROUP - http://www.iptorrents.com/details.php?id=000000 - 716.219 MB" + - tests: + - line: '[Movies/XviD] The Movie 2010 DVDRip XviD-GROUP FREELEECH - http://www.iptorrents.com/details.php?id=000000 - 716.219 MB' + expect: + category: Movies/XviD + torrentName: The Movie 2010 DVDRip XviD-GROUP + freeleech: FREELEECH + baseUrl: http://www.iptorrents.com/ + torrentId: "000000" + torrentSize: 716.219 MB + - line: '[Movies/XviD] The Movie 2010 DVDRip XviD-GROUP - http://www.iptorrents.com/details.php?id=000000 - 716.219 MB' + expect: + category: Movies/XviD + torrentName: The Movie 2010 DVDRip XviD-GROUP + freeleech: "" + baseUrl: http://www.iptorrents.com/ + torrentId: "000000" + torrentSize: 716.219 MB pattern: '\[(.+?)] (.*?)\s*(?:(FREELEECH))? - (https?\:\/\/.+\/).+id=(\d+) - (.*)' vars: - category diff --git a/internal/indexer/definitions/locadora.yaml b/internal/indexer/definitions/locadora.yaml index 4c8eea7..a4c2e66 100644 --- a/internal/indexer/definitions/locadora.yaml +++ b/internal/indexer/definitions/locadora.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc # - rss -source: UNIT3D +# source: UNIT3D settings: - name: rsskey type: secret @@ -50,8 +50,17 @@ irc: parse: type: single lines: - - test: - - "[Filmes] [WEB-DL] [1080p] [Journey to the Center of the Earth 2008 1080p HMAX WEB-DL DD5.1 x264 pt-BR ENG-LCD] [https://locadora.cc/torrents/16896] [5.82 GiB] [100%]" + - tests: + - line: '[Filmes] [WEB-DL] [1080p] [Journey to the Center of the Earth 2008 1080p HMAX WEB-DL DD5.1 x264 pt-BR ENG-LCD] [https://locadora.cc/torrents/16896] [5.82 GiB] [100%]' + expect: + category: Filmes + releaseTags: WEB-DL + resolution: 1080p + torrentName: Journey to the Center of the Earth 2008 1080p HMAX WEB-DL DD5.1 x264 pt-BR ENG-LCD + baseUrl: https://locadora.cc/ + torrentId: "16896" + torrentSize: 5.82 GiB + freeleechPercent: 100% pattern: '\[(.+)\] \[(.+)\] \[(.+)\] \[(.+?)\] \[(https?\:\/\/.+\/).+\/(\d+)\] \[(.+?)\] \[(.+?)\]' vars: - category diff --git a/internal/indexer/definitions/lst.yaml b/internal/indexer/definitions/lst.yaml index 6d31699..b11e12f 100644 --- a/internal/indexer/definitions/lst.yaml +++ b/internal/indexer/definitions/lst.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D +# source: UNIT3D settings: - name: rsskey type: secret @@ -44,9 +44,33 @@ irc: parse: type: single lines: - - test: - - "Category [Movies] Type [Remux] Name [Movie1995 1080p BluRay REMUX AVC DTS-HD MA 5.1-Ripper] Resolution [1080p] Freeleech [0%] Internal [No] Double Upload [No] Size [37.81 GiB] Uploader [GRiMM] Url [http://lst.gg/torrents/00000]" - - "Category [Movies] Type [Remux] Name [Some Random Movie 1985 1080p BluRay REMUX VC-1 DTS-HD MA 5.1-Ripper] Freeleech [0%] Internal [No] Double Upload [No] Size [25.35 GiB] Uploader [GRiMM] Url [http://lst.gg/torrents/00000]" + - tests: + - line: Category [Movies] Type [Remux] Name [Movie1995 1080p BluRay REMUX AVC DTS-HD MA 5.1-Ripper] Resolution [1080p] Freeleech [0%] Internal [No] Double Upload [No] Size [37.81 GiB] Uploader [GRiMM] Url [http://lst.gg/torrents/00000] + expect: + category: Movies + releaseTags: Remux + torrentName: Movie1995 1080p BluRay REMUX AVC DTS-HD MA 5.1-Ripper + resolution: 1080p + freeleechPercent: 0% + internal: "No" + tags: "No" + torrentSize: 37.81 GiB + uploader: GRiMM + baseUrl: http://lst.gg/ + torrentId: "00000" + - line: Category [Movies] Type [Remux] Name [Some Random Movie 1985 1080p BluRay REMUX VC-1 DTS-HD MA 5.1-Ripper] Freeleech [0%] Internal [No] Double Upload [No] Size [25.35 GiB] Uploader [GRiMM] Url [http://lst.gg/torrents/00000] + expect: + category: Movies + releaseTags: Remux + torrentName: Some Random Movie 1985 1080p BluRay REMUX VC-1 DTS-HD MA 5.1-Ripper + resolution: "" + freeleechPercent: 0% + internal: "No" + tags: "No" + torrentSize: 25.35 GiB + uploader: GRiMM + baseUrl: http://lst.gg/ + torrentId: "00000" pattern: 'Category \[(.*)\] Type \[(.*)\] Name \[(.*?)\] ?(?:Resolution \[(.*)\])? Freeleech \[(.*)\] Internal \[(.*)\] Double Upload \[(.*)\] Size \[(.*)\] Uploader \[(.*)\] Url \[(https?://.+/).+/(\d+)\]' vars: - category diff --git a/internal/indexer/definitions/milkie.yaml b/internal/indexer/definitions/milkie.yaml index 3fb3f41..0e4e077 100644 --- a/internal/indexer/definitions/milkie.yaml +++ b/internal/indexer/definitions/milkie.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: apikey type: secret @@ -53,8 +53,14 @@ irc: parse: type: single lines: - - test: - - "{tv} :: The.Great.Xmas.Show.S00E00.1080p.WEB.H264-TEST :: [1080p, web] :: https://milkie.cc/browse/xxxxxxxxxxxx" + - tests: + - line: '{tv} :: The.Great.Xmas.Show.S00E00.1080p.WEB.H264-TEST :: [1080p, web] :: https://milkie.cc/browse/xxxxxxxxxxxx' + expect: + category: tv + torrentName: The.Great.Xmas.Show.S00E00.1080p.WEB.H264-TEST + releaseTags: 1080p, web + baseUrl: https://milkie.cc/ + torrentId: xxxxxxxxxxxx pattern: '{(.*)}\s::\s(.*)\s::\s\[(.*)\]\s::\s(https?\:\/\/[^\/]+\/)browse\/(.*)' vars: - category diff --git a/internal/indexer/definitions/morethantv.yaml b/internal/indexer/definitions/morethantv.yaml index 08a8ffc..1cf06ea 100644 --- a/internal/indexer/definitions/morethantv.yaml +++ b/internal/indexer/definitions/morethantv.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -56,8 +56,16 @@ irc: parse: type: single lines: - - test: - - "TV.Show.2008.720p.BluRay.DTS.x264-TEST - Size: 6.56 GiB - Uploader: Test - Tags: autoup,h264,hd,dts.audio,bluray,720p,p2p.group.release,Test.release,hd.movie - https://www.morethantv.me/torrents.php?torrentid=000000" + - tests: + - line: 'TV.Show.2008.720p.BluRay.DTS.x264-TEST - Size: 6.56 GiB - Uploader: Test - Tags: autoup,h264,hd,dts.audio,bluray,720p,p2p.group.release,Test.release,hd.movie - https://www.morethantv.me/torrents.php?torrentid=000000' + expect: + torrentName: TV.Show.2008.720p.BluRay.DTS.x264-TEST + torrentSize: 6.56 GiB + uploader: Test + tags: autoup,h264,hd,dts.audio,bluray,720p,p2p.group.release,Test.release,hd.movie + category: hd.movie + baseUrl: https://www.morethantv.me/ + torrentId: "000000" pattern: '(.*) - Size: (.*) - Uploader: (.*) - Tags: (.*(hd.episode|hd.season|sd.episode|sd.season|sd.movie|hd.movie).*) - (https?:\/\/.+\/)torrents.php\?torrentid=(\d+)' vars: - torrentName diff --git a/internal/indexer/definitions/myanonamouse.yaml b/internal/indexer/definitions/myanonamouse.yaml index 2cce727..a976a12 100644 --- a/internal/indexer/definitions/myanonamouse.yaml +++ b/internal/indexer/definitions/myanonamouse.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: cookie type: secret @@ -50,9 +50,29 @@ irc: parse: type: single lines: - - test: - - "New Torrent: Some famous book By: Author name Category: ( Ebooks - Science Fiction ) Size: ( 1.00 MiB ) Filetype: ( epub, mobi ) Language: ( English ) Link: ( https://www.myanonamouse.net/t/000000 )" - - "New Torrent: Some famous book By: Author name Category: ( Ebooks - Science Fiction ) Size: ( 2.11 MiB ) Filetype: ( epub, mobi ) Language: ( English ) Link: ( https://www.myanonamouse.net/t/000000 ) VIP" + - tests: + - line: 'New Torrent: Some famous book By: Author name Category: ( Ebooks - Science Fiction ) Size: ( 1.00 MiB ) Filetype: ( epub, mobi ) Language: ( English ) Link: ( https://www.myanonamouse.net/t/000000 )' + expect: + torrentName: Some famous book + author: Author name + category: Ebooks - Science Fiction + torrentSize: 1.00 MiB + tags: epub, mobi + language: English + baseUrl: https://www.myanonamouse.net/ + torrentId: "000000" + freeleech: "" + - line: 'New Torrent: Some famous book By: Author name Category: ( Ebooks - Science Fiction ) Size: ( 2.11 MiB ) Filetype: ( epub, mobi ) Language: ( English ) Link: ( https://www.myanonamouse.net/t/000000 ) VIP' + expect: + torrentName: Some famous book + author: Author name + category: Ebooks - Science Fiction + torrentSize: 2.11 MiB + tags: epub, mobi + language: English + baseUrl: https://www.myanonamouse.net/ + torrentId: "000000" + freeleech: VIP pattern: 'New Torrent: (.*) By: (.*) Category: \( (.*) \) Size: \( (.*) \) Filetype: \( (.*) \) Language: \( (.*) \) Link: \( (https?\:\/\/[^\/]+\/).*?(\d+)\s*\)\s*(VIP)?' vars: - torrentName diff --git a/internal/indexer/definitions/ncore.yaml b/internal/indexer/definitions/ncore.yaml index 4c37d13..66d657b 100644 --- a/internal/indexer/definitions/ncore.yaml +++ b/internal/indexer/definitions/ncore.yaml @@ -10,7 +10,7 @@ protocol: torrent supports: - irc - rss -source: unknown +# source: unknown settings: - name: passkey type: secret @@ -56,9 +56,21 @@ irc: parse: type: single lines: - - test: - - "[NEW TORRENT in mp3] Artist name - Album name > 115.63 MiB in 17F > https://ncore.pro/torrents.php?action=details&id=0000000" - - "[NEW TORRENT in xvidser_hun] Some.Show.S02E67.RTLM.WEB-DL.H264.HUN-GROUP > 269.31 MiB in 2F > https://ncore.pro/torrents.php?action=details&id=0000000" + - tests: + - line: '[NEW TORRENT in mp3] Artist name - Album name > 115.63 MiB in 17F > https://ncore.pro/torrents.php?action=details&id=0000000' + expect: + category: mp3 + torrentName: Artist name - Album name + torrentSize: 115.63 MiB + baseUrl: https://ncore.pro/ + torrentId: "0000000" + - line: '[NEW TORRENT in xvidser_hun] Some.Show.S02E67.RTLM.WEB-DL.H264.HUN-GROUP > 269.31 MiB in 2F > https://ncore.pro/torrents.php?action=details&id=0000000' + expect: + category: xvidser_hun + torrentName: Some.Show.S02E67.RTLM.WEB-DL.H264.HUN-GROUP + torrentSize: 269.31 MiB + baseUrl: https://ncore.pro/ + torrentId: "0000000" pattern: '\[NEW TORRENT in (.*)\] (.*) > (.*) in .* > (https?://.*/).*action=.*id=(.*)' vars: - category diff --git a/internal/indexer/definitions/nebulance.yaml b/internal/indexer/definitions/nebulance.yaml index 24e3cd2..416388f 100644 --- a/internal/indexer/definitions/nebulance.yaml +++ b/internal/indexer/definitions/nebulance.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -63,11 +63,51 @@ irc: parse: type: single lines: - - test: - - "[Episodes] The Show - S02E08 [WebRip / x264 / MKV / 720p / HD / VLAD / The.Show.S02E08.Episode.Name.720p.ANPL.WEBRip.AAC2.0.x264-GROUP.mkv] [702.00 MB - Uploader: UPLOADER] - http://nebulance.io/torrents.php?id=000 [Tags: comedy,subtitles,cbs]" - - "[Seasons] Other Show - S10 [HDTV / x264 / MKV / MP4 / 480p / SD / BTN / Other.Show.S10.HDTV.x264-GROUP] [5.27 GB - Uploader: UPLOADER] - http://nebulance.io/torrents.php?id=0000 [Tags: comedy,subtitles,cbs]" - - "[Episode] Late Night with Show Host - 2021-01-20 [WebDl / h264 / MKV / 1080p / HD / Scene / GROUP / talk.show.2021.01.20.famous.person.1080p.web.h264-group.mkv] [2.22 GB - Uploader: Uploader1] - http://nebulance.io/torrents.php?id=000000 [Tags: episode,comedy,talk.show,nbc,autofill,subtitles,webdl,h264,mkv,1080p,hd,scene,group.release]" - - "[Season] Jeeves & Wooster [MKV / 480p / SD / Jeeves and Wooster - Season 4] [2.06 GB - Uploader: redacted] - https://nebulance.io/torrents.php?id=0000 [Tags: season,comedy,itv1,subtitles,mkv,480p,sd]" + - tests: + - line: '[Episodes] The Show - S02E08 [WebRip / x264 / MKV / 720p / HD / VLAD / The.Show.S02E08.Episode.Name.720p.ANPL.WEBRip.AAC2.0.x264-GROUP.mkv] [702.00 MB - Uploader: UPLOADER] - http://nebulance.io/torrents.php?id=000 [Tags: comedy,subtitles,cbs]' + expect: + category: Episodes + title: The Show + releaseTags: WebRip / x264 / MKV / 720p / HD / VLAD + torrentName: The.Show.S02E08.Episode.Name.720p.ANPL.WEBRip.AAC2.0.x264-GROUP.mkv + torrentSize: 702.00 MB + uploader: UPLOADER + baseUrl: http://nebulance.io/ + torrentId: "000" + tags: comedy,subtitles,cbs + - line: '[Seasons] Other Show - S10 [HDTV / x264 / MKV / MP4 / 480p / SD / BTN / Other.Show.S10.HDTV.x264-GROUP] [5.27 GB - Uploader: UPLOADER] - http://nebulance.io/torrents.php?id=0000 [Tags: comedy,subtitles,cbs]' + expect: + category: Seasons + title: Other Show + releaseTags: HDTV / x264 / MKV / MP4 / 480p / SD / BTN + torrentName: Other.Show.S10.HDTV.x264-GROUP + torrentSize: 5.27 GB + uploader: UPLOADER + baseUrl: http://nebulance.io/ + torrentId: "0000" + tags: comedy,subtitles,cbs + - line: '[Episode] Late Night with Show Host - 2021-01-20 [WebDl / h264 / MKV / 1080p / HD / Scene / GROUP / talk.show.2021.01.20.famous.person.1080p.web.h264-group.mkv] [2.22 GB - Uploader: Uploader1] - http://nebulance.io/torrents.php?id=000000 [Tags: episode,comedy,talk.show,nbc,autofill,subtitles,webdl,h264,mkv,1080p,hd,scene,group.release]' + expect: + category: Episode + title: Late Night with Show Host + releaseTags: WebDl / h264 / MKV / 1080p / HD / Scene / GROUP + torrentName: talk.show.2021.01.20.famous.person.1080p.web.h264-group.mkv + torrentSize: 2.22 GB + uploader: Uploader1 + baseUrl: http://nebulance.io/ + torrentId: "000000" + tags: episode,comedy,talk.show,nbc,autofill,subtitles,webdl,h264,mkv,1080p,hd,scene,group.release + - line: '[Season] Jeeves & Wooster [MKV / 480p / SD / Jeeves and Wooster - Season 4] [2.06 GB - Uploader: redacted] - https://nebulance.io/torrents.php?id=0000 [Tags: season,comedy,itv1,subtitles,mkv,480p,sd]' + expect: + category: Season + title: Jeeves & Wooster + releaseTags: MKV / 480p / SD + torrentName: Jeeves and Wooster - Season 4 + torrentSize: 2.06 GB + uploader: redacted + baseUrl: https://nebulance.io/ + torrentId: "0000" + tags: season,comedy,itv1,subtitles,mkv,480p,sd pattern: '\[(.+?)\]\s+(.+?)(?:\s+-\s+(?:S\d{2}E\d{2}|S\d{2}|\d{4}-\d{2}-\d{2}))?\s+\[(.+) \/ (.+)\] \[(.+) - Uploader: (.+)\] - (https?:\/\/.+\/).+id=(\d+) \[Tags: (.*)\]' vars: - category diff --git a/internal/indexer/definitions/newznab_generic.yaml b/internal/indexer/definitions/newznab_generic.yaml index e6dc2b2..8d6fbf2 100644 --- a/internal/indexer/definitions/newznab_generic.yaml +++ b/internal/indexer/definitions/newznab_generic.yaml @@ -11,10 +11,10 @@ protocol: nzb implementation: newznab supports: - newznab -source: newznab +# source: newznab newznab: - minInterval: 15 + # minInterval: 15 settings: - name: url type: text @@ -28,4 +28,4 @@ newznab: type: secret required: false label: API key - help: API key \ No newline at end of file + help: API key diff --git a/internal/indexer/definitions/norbits.yaml b/internal/indexer/definitions/norbits.yaml index 6571246..65edd0f 100644 --- a/internal/indexer/definitions/norbits.yaml +++ b/internal/indexer/definitions/norbits.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -50,9 +50,23 @@ irc: parse: type: single lines: - - test: - - "Ny torrent: Movie.2010.1080p.BluRay.x264.DTS-HD MA 5.1-OMEGA :: Kategori: Filmer/H.264/HD-1080p/i/Encode :: Scene: Nei :: St�rrelse: 9.69 GB :: https://norbits.net/details.php?id=000000" - - "Ny torrent: Some.TV.Show.s01e01.NORDIC.720p.DSNP.WEBRiP.DD.5.1.h264 :: Kategori: TV/H.264/HD-720p/Encode :: Scene: Nei :: St�rrelse: 891.04 MB :: https://norbits.net/details.php?id=000000" + - tests: + - line: 'Ny torrent: Movie.2010.1080p.BluRay.x264.DTS-HD MA 5.1-OMEGA :: Kategori: Filmer/H.264/HD-1080p/i/Encode :: Scene: Nei :: St�rrelse: 9.69 GB :: https://norbits.net/details.php?id=000000' + expect: + torrentName: Movie.2010.1080p.BluRay.x264.DTS-HD MA 5.1-OMEGA + category: Filmer/H.264/HD-1080p/i/Encode + scene: Nei + torrentSize: 9.69 GB + baseUrl: https://norbits.net/ + torrentId: "000000" + - line: 'Ny torrent: Some.TV.Show.s01e01.NORDIC.720p.DSNP.WEBRiP.DD.5.1.h264 :: Kategori: TV/H.264/HD-720p/Encode :: Scene: Nei :: St�rrelse: 891.04 MB :: https://norbits.net/details.php?id=000000' + expect: + torrentName: Some.TV.Show.s01e01.NORDIC.720p.DSNP.WEBRiP.DD.5.1.h264 + category: TV/H.264/HD-720p/Encode + scene: Nei + torrentSize: 891.04 MB + baseUrl: https://norbits.net/ + torrentId: "000000" pattern: 'Ny torrent: (.*) :: Kategori: (.*) :: Scene: (.*) :: St.+rrelse: (.*) :: (https?\:\/\/[^\/]+\/).*[\?]id=(\d+)' vars: - torrentName diff --git a/internal/indexer/definitions/onlyencodes.yaml b/internal/indexer/definitions/onlyencodes.yaml index dc30660..25d57c2 100644 --- a/internal/indexer/definitions/onlyencodes.yaml +++ b/internal/indexer/definitions/onlyencodes.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D +# source: UNIT3D settings: - name: rsskey type: secret @@ -50,8 +50,20 @@ irc: parse: type: single lines: - - test: - - "Category [Movie] Type [Remux] Name [Some Movie 1080p BluRay REMUX AVC TrueHD 7.1-GROUP] Resolution [1080p] Freeleech [0%] Internal [No] Double Upload [No] Size [27.5 GB] Uploader [uploaderName] Url [https://onlyencodes.cc/torrents/download/00000]" + - tests: + - line: Category [Movie] Type [Remux] Name [Some Movie 1080p BluRay REMUX AVC TrueHD 7.1-GROUP] Resolution [1080p] Freeleech [0%] Internal [No] Double Upload [No] Size [27.5 GB] Uploader [uploaderName] Url [https://onlyencodes.cc/torrents/download/00000] + expect: + category: Movie + releaseTags: Remux + torrentName: Some Movie 1080p BluRay REMUX AVC TrueHD 7.1-GROUP + resolution: 1080p + freeleechPercent: 0% + internal: "No" + tags: "No" + torrentSize: 27.5 GB + uploader: uploaderName + baseUrl: https://onlyencodes.cc/ + torrentId: "00000" pattern: '.*\[(.*)\].*\[(.*)\].*\[(.*)\].*\[(.*)\].*\[(.*)\].*\[(.*)\].*\[(.*)\].*\[(.*)\].*\[(.*)\].*\[(https?\:\/\/.*?\/).*\/(\d+)\]' vars: - category diff --git a/internal/indexer/definitions/orpheus.yaml b/internal/indexer/definitions/orpheus.yaml index de263c9..b62f41f 100644 --- a/internal/indexer/definitions/orpheus.yaml +++ b/internal/indexer/definitions/orpheus.yaml @@ -12,7 +12,7 @@ supports: - api - irc - rss -source: gazelle +# source: gazelle settings: - name: torrent_pass type: text @@ -26,17 +26,17 @@ settings: label: API Key help: Settings -> Access Settings -> API Keys - Create a new api token. -api: - url: https://orpheus.network/ajax.php - type: json - limits: - max: 5 - per: 10 seconds - settings: - - name: api_key - type: secret - label: API Key - help: Settings -> Access Settings -> API Keys - Create a new api token. +# api: +# url: https://orpheus.network/ajax.php +# type: json +# limits: +# max: 5 +# per: 10 seconds +# settings: +# - name: api_key +# type: secret +# label: API Key +# help: Settings -> Access Settings -> API Keys - Create a new api token. irc: network: Orpheus @@ -76,10 +76,34 @@ irc: parse: type: single lines: - - test: - - "TORRENT: Dirty Dike – Bogies & Alcohol – [2008] [Album] CD/MP3/320 – hip.hop,uk.hip.hop,united.kingdom – https://orpheus.network/torrents.php?id=0000000 – https://orpheus.network/torrents.php?id=0000000&torrentid=0000000&action=download" - - "TORRENT: Various Artists – Bicycle Day: 85 Yrs of LSD Special – [2023] [Compilation] WEB/FLAC/Lossless – ambient,electronic – https://orpheus.network/torrents.php?id=0000000 – https://orpheus.network/torrents.php?id=0000000&torrentid=0000000&action=download" - - "TORRENT: Snoop Dogg – Untitled – [2001] [Sampler] Vinyl/MP3/320 – – https://orpheus.network/torrents.php?id=0000000 – https://orpheus.network/torrents.php?id=0000000&torrentid=0000000&action=download" + - tests: + - line: 'TORRENT: Dirty Dike – Bogies & Alcohol – [2008] [Album] CD/MP3/320 – hip.hop,uk.hip.hop,united.kingdom – https://orpheus.network/torrents.php?id=0000000 – https://orpheus.network/torrents.php?id=0000000&torrentid=0000000&action=download' + expect: + torrentName: Dirty Dike – Bogies & Alcohol – [2008] [Album] CD/MP3/320 + year: "2008" + category: Album + releaseTags: CD/MP3/320 + tags: hip.hop,uk.hip.hop,united.kingdom + baseUrl: https://orpheus.network/ + torrentId: "0000000" + - line: 'TORRENT: Various Artists – Bicycle Day: 85 Yrs of LSD Special – [2023] [Compilation] WEB/FLAC/Lossless – ambient,electronic – https://orpheus.network/torrents.php?id=0000000 – https://orpheus.network/torrents.php?id=0000000&torrentid=0000000&action=download' + expect: + torrentName: 'Various Artists – Bicycle Day: 85 Yrs of LSD Special – [2023] [Compilation] WEB/FLAC/Lossless' + year: "2023" + category: Compilation + releaseTags: WEB/FLAC/Lossless + tags: ambient,electronic + baseUrl: https://orpheus.network/ + torrentId: "0000000" + - line: 'TORRENT: Snoop Dogg – Untitled – [2001] [Sampler] Vinyl/MP3/320 – – https://orpheus.network/torrents.php?id=0000000 – https://orpheus.network/torrents.php?id=0000000&torrentid=0000000&action=download' + expect: + torrentName: Snoop Dogg – Untitled – [2001] [Sampler] Vinyl/MP3/320 + year: "2001" + category: Sampler + releaseTags: Vinyl/MP3/320 + tags: "" + baseUrl: https://orpheus.network/ + torrentId: "0000000" pattern: 'TORRENT: (.* . \[(.*?)\] \[(.*?)\] (.*)) . \s*(.*) . https?:\/\/.* . (https?:\/\/.*\/).*torrentid=(\d+).*' vars: - torrentName diff --git a/internal/indexer/definitions/pbay.yaml b/internal/indexer/definitions/pbay.yaml index 0ddbc7b..ac8f70a 100644 --- a/internal/indexer/definitions/pbay.yaml +++ b/internal/indexer/definitions/pbay.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -58,9 +58,23 @@ irc: parse: type: single lines: - - test: - - "[XXX-Cateogry] [SomeXXXSite] Wow So Much Come [2015-05-30, 3K, 1500p] [4.77 GB - Uploader: Tester] - https://pornbay.org/torrents.php?id=000000" - - "[XXX-Category-2] SomeXXXSite - Some Name [1.35 GB - Uploader: someUploader] - https://pornbay.org/torrents.php?id=000000" + - tests: + - line: '[XXX-Cateogry] [SomeXXXSite] Wow So Much Come [2015-05-30, 3K, 1500p] [4.77 GB - Uploader: Tester] - https://pornbay.org/torrents.php?id=000000' + expect: + category: XXX-Cateogry + torrentName: '[SomeXXXSite] Wow So Much Come [2015-05-30, 3K, 1500p]' + torrentSize: 4.77 GB + uploader: Tester + baseUrl: https://pornbay.org/ + torrentId: "000000" + - line: '[XXX-Category-2] SomeXXXSite - Some Name [1.35 GB - Uploader: someUploader] - https://pornbay.org/torrents.php?id=000000' + expect: + category: XXX-Category-2 + torrentName: SomeXXXSite - Some Name + torrentSize: 1.35 GB + uploader: someUploader + baseUrl: https://pornbay.org/ + torrentId: "000000" pattern: '\[(.+?)\] (\[?.*\]?.*) \[([0-9]+?.*?) - Uploader: (.+)\] - (https:\/\/.+\/)torrents.php\?id=(\d+)' vars: - category diff --git a/internal/indexer/definitions/pixelhd.yaml b/internal/indexer/definitions/pixelhd.yaml index 9a8a35f..3542aa8 100644 --- a/internal/indexer/definitions/pixelhd.yaml +++ b/internal/indexer/definitions/pixelhd.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: subLiME +# source: subLiME settings: - name: authkey type: secret @@ -63,13 +63,20 @@ irc: parse: type: multi lines: - - test: - - "New torrent uploaded!" + - tests: + - line: "New torrent uploaded!" + expect: {} pattern: '^New torrent uploaded!$' ignore: true - - test: - - "Title: Dragons Forever | Year: 1988 | URL: https://pixelhd.me/torrents.php?torrentid=23001" + - tests: + - line: 'Title: Dragons Forever | Year: 1988 | URL: https://pixelhd.me/torrents.php?torrentid=23001' + expect: + torrentName: Dragons Forever + year: "1988" + baseUrl: https://pixelhd.me/ + torrentId: "23001" + pattern: 'Title: (.*) \| Year: (.*) \| URL: (https?:\/\/.*\/).+id=(.+)' vars: - torrentName @@ -77,8 +84,14 @@ irc: - baseUrl - torrentId - - test: - - "Uploader: Anon | Release Group: Px4K | Format: MP4 | Genre(s): action,comedy,romance" + - tests: + - line: 'Uploader: Anon | Release Group: Px4K | Format: MP4 | Genre(s): action,comedy,romance' + expect: + uploader: Anon + releaseGroup: Px4K + container: MP4 + tags: action,comedy,romance + pattern: 'Uploader: (.*) \| Release Group: (.*) \| Format: (.*) \| Genre\(s\): (.*)' vars: - uploader @@ -88,4 +101,4 @@ irc: match: infourl: "/torrents.php?torrentid={{ .torrentId }}" - torrenturl: "/torrents.php?action=download&id={{ .torrentId }}&authkey={{ .authkey }}&torrent_pass={{ .torrent_pass }}" \ No newline at end of file + torrenturl: "/torrents.php?action=download&id={{ .torrentId }}&authkey={{ .authkey }}&torrent_pass={{ .torrent_pass }}" diff --git a/internal/indexer/definitions/polishsource.yaml b/internal/indexer/definitions/polishsource.yaml index 1566d40..e164b13 100644 --- a/internal/indexer/definitions/polishsource.yaml +++ b/internal/indexer/definitions/polishsource.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -57,9 +57,23 @@ irc: parse: type: single lines: - - test: - - " Some.Show.S09E01.HDTV.x264-GROUP > TV/SD > 359.285 MB / 2 F > [ http://polishsource.cz/details.php?id=000000 ]-[ 5h 25min 15sec after pre ]" - - " Some.Movie.2011.DVDRip.x264-GROUP2 > Movies/x264 (Documentary) > 563.296 MB / 2 F > [ http://polishsource.cz/details.php?id=000000 ]-[ 2min 48sec after pre ]" + - tests: + - line: ' Some.Show.S09E01.HDTV.x264-GROUP > TV/SD > 359.285 MB / 2 F > [ http://polishsource.cz/details.php?id=000000 ]-[ 5h 25min 15sec after pre ]' + expect: + torrentName: Some.Show.S09E01.HDTV.x264-GROUP + category: TV/SD + torrentSize: 359.285 MB + baseUrl: http://polishsource.cz/ + torrentId: "000000" + preTime: 5h 25min 15sec after pre + - line: ' Some.Movie.2011.DVDRip.x264-GROUP2 > Movies/x264 (Documentary) > 563.296 MB / 2 F > [ http://polishsource.cz/details.php?id=000000 ]-[ 2min 48sec after pre ]' + expect: + torrentName: Some.Movie.2011.DVDRip.x264-GROUP2 + category: Movies/x264 (Documentary) + torrentSize: 563.296 MB + baseUrl: http://polishsource.cz/ + torrentId: "000000" + preTime: 2min 48sec after pre pattern: '^ (.*) > (.*) > (.*) \/.*>\s*\[ (https?\:\/\/.+\/).*[&?]id=(\d+)\s\](?:-\[ (.*) \])?' vars: - torrentName diff --git a/internal/indexer/definitions/polishtracker.yaml b/internal/indexer/definitions/polishtracker.yaml index 50f62eb..caa6883 100644 --- a/internal/indexer/definitions/polishtracker.yaml +++ b/internal/indexer/definitions/polishtracker.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: rsskey type: secret @@ -57,10 +57,28 @@ irc: parse: type: single lines: - - test: - - "::: PolishTracker ::: Torrent ( Some.Movie.2017.PLSUB.1080p.BDRip.x264-GROUP ) || Kategoria: ( movies HD ) || Rozmiar: ( 2.14 GB ) || Link: ( https://pte.nu/torrents/000000 ) || Wiecej: ( http://www.filmweb.pl/film?id=000000 )" - - "::: PolishTracker ::: Torrent ( Some.Other.Movie.1985.iNTERNAL.BDRip.x264-GROUP ) || Kategoria: ( movies SD ) || Rozmiar: ( 1.15 GB ) || Link: ( https://pte.nu/torrents/000000 )" - - "::: PolishTracker ::: Torrent ( Some.Other.Movie.1985.iNTERNAL.720p.BluRay.x264-GROUP ) || Kategoria: ( movies HD ) || Rozmiar: ( 5.02 GB ) || Link: ( https://pte.nu/torrents/000000 )" + - tests: + - line: '::: PolishTracker ::: Torrent ( Some.Movie.2017.PLSUB.1080p.BDRip.x264-GROUP ) || Kategoria: ( movies HD ) || Rozmiar: ( 2.14 GB ) || Link: ( https://pte.nu/torrents/000000 ) || Wiecej: ( http://www.filmweb.pl/film?id=000000 )' + expect: + torrentName: Some.Movie.2017.PLSUB.1080p.BDRip.x264-GROUP + category: movies HD + torrentSize: 2.14 GB + baseUrl: https://pte.nu/ + torrentId: "000000" + - line: '::: PolishTracker ::: Torrent ( Some.Other.Movie.1985.iNTERNAL.BDRip.x264-GROUP ) || Kategoria: ( movies SD ) || Rozmiar: ( 1.15 GB ) || Link: ( https://pte.nu/torrents/000000 )' + expect: + torrentName: Some.Other.Movie.1985.iNTERNAL.BDRip.x264-GROUP + category: movies SD + torrentSize: 1.15 GB + baseUrl: https://pte.nu/ + torrentId: "000000" + - line: '::: PolishTracker ::: Torrent ( Some.Other.Movie.1985.iNTERNAL.720p.BluRay.x264-GROUP ) || Kategoria: ( movies HD ) || Rozmiar: ( 5.02 GB ) || Link: ( https://pte.nu/torrents/000000 )' + expect: + torrentName: Some.Other.Movie.1985.iNTERNAL.720p.BluRay.x264-GROUP + category: movies HD + torrentSize: 5.02 GB + baseUrl: https://pte.nu/ + torrentId: "000000" pattern: '::: PolishTracker ::: Torrent \( (.+) \) \|\| Kategoria: \( (.+) \) \|\| Rozmiar: \( (.+) \) \|\| Link: \( (https:\/\/.+\/)torrents\/(\d+) \)' vars: - torrentName diff --git a/internal/indexer/definitions/ptfiles.yaml b/internal/indexer/definitions/ptfiles.yaml index 567df03..500380e 100644 --- a/internal/indexer/definitions/ptfiles.yaml +++ b/internal/indexer/definitions/ptfiles.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: Other +# source: Other settings: - name: passkey type: secret @@ -50,9 +50,23 @@ irc: parse: type: single lines: - - test: - - "[New TV/HD Episodes Torrent] Ancient.Aliens.S19E06.720p.HEVC.x265-MeGusta - 408.52 MiB - https://ptfiles.net/details.php?id=475999" - - "[FREE][New Movies/1080p HD Torrent] Dead.for.a.Dollar.2022.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-xwMaRio - 26.32 GiB - https://ptfiles.net/details.php?id=476519" + - tests: + - line: '[New TV/HD Episodes Torrent] Ancient.Aliens.S19E06.720p.HEVC.x265-MeGusta - 408.52 MiB - https://ptfiles.net/details.php?id=475999' + expect: + freeleech: "" + category: TV/HD Episodes + torrentName: Ancient.Aliens.S19E06.720p.HEVC.x265-MeGusta + torrentSize: 408.52 MiB + baseUrl: https://ptfiles.net/ + torrentId: "475999" + - line: '[FREE][New Movies/1080p HD Torrent] Dead.for.a.Dollar.2022.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-xwMaRio - 26.32 GiB - https://ptfiles.net/details.php?id=476519' + expect: + freeleech: FREE + category: Movies/1080p HD + torrentName: Dead.for.a.Dollar.2022.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-xwMaRio + torrentSize: 26.32 GiB + baseUrl: https://ptfiles.net/ + torrentId: "476519" pattern: '^\s*(?:\[([^\]]*)])?\s*\[New ([^\]]*) Torrent] (.*) - (.*) -\s*(https?\:\/\/[^\/]+\/).*[&\?]id=(\d+)$' vars: - freeleech @@ -66,4 +80,4 @@ irc: infourl: "/details.php?id={{ .torrentId }}" torrenturl: "/dl.php/{{ .torrentId }}/{{ .passkey }}/{{ .torrentName }}.torrent" encode: - - torrentName \ No newline at end of file + - torrentName diff --git a/internal/indexer/definitions/ptm.yaml b/internal/indexer/definitions/ptm.yaml index d3c7dba..66d0f26 100644 --- a/internal/indexer/definitions/ptm.yaml +++ b/internal/indexer/definitions/ptm.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: rsskey type: secret @@ -51,11 +51,31 @@ irc: parse: type: single lines: - - test: - - "tehFire: [Applications|Windows] Chen went to the Mall :: preGAP: 1m and 32s :: https://pretome.info/details.php?id=696969" - - "[Movies|x264] Orlando.Bloom.Had.A.Cow-GROUP :: preGAP: P2P source :: https://pretome.info/details.php?id=646321" - - "tehFIRE: [TV|XviD] Royal.Institution.Christmas.Lectures.2009.Part2.WS.PDTV.XviD-WATERS :: preGAP: 1m and 9s :: https://pretome.info/details.php?id=127107" - - "tehFIRE: [TV|x264] Newsreaders.S01E05.HDTV.x264-2HD https://pretome.info/details.php?id=333951" + - tests: + - line: 'tehFire: [Applications|Windows] Chen went to the Mall :: preGAP: 1m and 32s :: https://pretome.info/details.php?id=696969' + expect: + category: Applications|Windows + torrentName: Chen went to the Mall + baseUrl: https://pretome.info/ + torrentId: "696969" + - line: '[Movies|x264] Orlando.Bloom.Had.A.Cow-GROUP :: preGAP: P2P source :: https://pretome.info/details.php?id=646321' + expect: + category: Movies|x264 + torrentName: Orlando.Bloom.Had.A.Cow-GROUP + baseUrl: https://pretome.info/ + torrentId: "646321" + - line: 'tehFIRE: [TV|XviD] Royal.Institution.Christmas.Lectures.2009.Part2.WS.PDTV.XviD-WATERS :: preGAP: 1m and 9s :: https://pretome.info/details.php?id=127107' + expect: + category: TV|XviD + torrentName: Royal.Institution.Christmas.Lectures.2009.Part2.WS.PDTV.XviD-WATERS + baseUrl: https://pretome.info/ + torrentId: "127107" + - line: 'tehFIRE: [TV|x264] Newsreaders.S01E05.HDTV.x264-2HD https://pretome.info/details.php?id=333951' + expect: + category: TV|x264 + torrentName: 'Newsreaders.S01E05.HDTV.x264-2HD ' + baseUrl: https://pretome.info/ + torrentId: "333951" pattern: '\[([^\]]+)\] ([^:]+)(?: :: [^:]+:.* :: )?(https?\:\/\/.+\/).*id=(\d+)' vars: - category diff --git a/internal/indexer/definitions/ptp.yaml b/internal/indexer/definitions/ptp.yaml index 9d5e88e..c7d72a4 100644 --- a/internal/indexer/definitions/ptp.yaml +++ b/internal/indexer/definitions/ptp.yaml @@ -12,7 +12,7 @@ supports: - irc - rss - api -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -38,21 +38,21 @@ settings: label: API Key help: Edit profile -> Security -> Generate new api keys -api: - url: https://passthepopcorn.me/ - type: json - limits: - max: 60 - per: minute - settings: - - name: api_user - type: secret - label: API User - help: Edit profile -> Security -> Generate new api keys - - name: api_key - type: secret - label: API Key - help: Edit profile -> Security -> Generate new api keys +# api: +# url: https://passthepopcorn.me/ +# type: json +# limits: +# max: 60 +# per: minute +# settings: +# - name: api_user +# type: secret +# label: API User +# help: Edit profile -> Security -> Generate new api keys +# - name: api_key +# type: secret +# label: API Key +# help: Edit profile -> Security -> Generate new api keys irc: network: PassThePopcorn @@ -92,9 +92,23 @@ irc: parse: type: single lines: - - test: - - "That Movie [1972] by Some Director | x264 / Blu-ray / MKV / 1080p | 204371 | 964303 | That.Movie.1972.1080p.BluRay.FLAC.x264-GROUP | comedy, drama, romance" - - "That Other Movie [1972] | x264 / Blu-ray / MKV / 1080p / Freeleech! | 204371 | 964303 | That.Other.Movie.1972.1080p.BluRay.FLAC.x264-GROUP | comedy, drama, romance" + - tests: + - line: That Movie [1972] by Some Director | x264 / Blu-ray / MKV / 1080p | 204371 | 964303 | That.Movie.1972.1080p.BluRay.FLAC.x264-GROUP | comedy, drama, romance + expect: + year: "1972" + releaseTags: x264 / Blu-ray / MKV / 1080p + freeleech: "" + torrentId: "964303" + torrentName: That.Movie.1972.1080p.BluRay.FLAC.x264-GROUP + tags: comedy, drama, romance + - line: That Other Movie [1972] | x264 / Blu-ray / MKV / 1080p / Freeleech! | 204371 | 964303 | That.Other.Movie.1972.1080p.BluRay.FLAC.x264-GROUP | comedy, drama, romance + expect: + year: "1972" + releaseTags: x264 / Blu-ray / MKV / 1080p / Freeleech! + freeleech: Freeleech + torrentId: "964303" + torrentName: That.Other.Movie.1972.1080p.BluRay.FLAC.x264-GROUP + tags: comedy, drama, romance pattern: '.* \[(.*)\] (?:by .*)?\| (.*?(?: \/ (Freeleech)!)?) \| .* \| (.*) \| (.*) \| (.*)' vars: - year diff --git a/internal/indexer/definitions/pussytorrents.yaml b/internal/indexer/definitions/pussytorrents.yaml index 82a9356..3570367 100644 --- a/internal/indexer/definitions/pussytorrents.yaml +++ b/internal/indexer/definitions/pussytorrents.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: rsskey type: secret @@ -51,9 +51,21 @@ irc: parse: type: single lines: - - test: - - "New Torrent Announcement: Name:'BsBigHouse 12 12 21 Kyle Comes To Play XXX 480i MP2 YUSUF' uploaded by 'Anonymous' - https://www.pussytorrents.org/torrent/69" - - "New Torrent Announcement: Name:'BadBus 8 9 98 carter and the lemon XXX 576p MP4 CatStevens' uploaded by 'Anonymous' - https://www.pussytorrents.org/torrent/96" + - tests: + - line: 'New Torrent Announcement: Name:''BsBigHouse 12 12 21 Kyle Comes To Play XXX 480i MP2 YUSUF'' uploaded by ''Anonymous'' - https://www.pussytorrents.org/torrent/69' + expect: + torrentName: BsBigHouse 12 12 21 Kyle Comes To Play XXX 480i MP2 YUSUF + uploader: Anonymous + freeleech: "" + baseUrl: https://www.pussytorrents.org/ + torrentId: "69" + - line: 'New Torrent Announcement: Name:''BadBus 8 9 98 carter and the lemon XXX 576p MP4 CatStevens'' uploaded by ''Anonymous'' - https://www.pussytorrents.org/torrent/96' + expect: + torrentName: BadBus 8 9 98 carter and the lemon XXX 576p MP4 CatStevens + uploader: Anonymous + freeleech: "" + baseUrl: https://www.pussytorrents.org/ + torrentId: "96" pattern: New Torrent Announcement:\s*Name:'(.*)' uploaded by '([^']*)'\s*(freeleech)*\s*-\s*(https?\:\/\/[^\/]+\/)torrent\/(\d+) vars: - torrentName diff --git a/internal/indexer/definitions/red.yaml b/internal/indexer/definitions/red.yaml index bfe6e05..f366297 100644 --- a/internal/indexer/definitions/red.yaml +++ b/internal/indexer/definitions/red.yaml @@ -12,7 +12,7 @@ supports: - api - irc - rss -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -32,17 +32,17 @@ settings: label: API Key help: Settings -> Account Settings -> API Keys - Generate new api keys. Scope (User, Torrents) -api: - url: https://redacted.ch/ajax.php - type: json - limits: - max: 10 - per: 10 seconds - settings: - - name: api_key - type: secret - label: API Key - help: Settings -> Account Settings -> API Keys - Generate new api keys. Scope (User, Torrents) +# api: +# url: https://redacted.ch/ajax.php +# type: json +# limits: +# max: 10 +# per: 10 seconds +# settings: +# - name: api_key +# type: secret +# label: API Key +# help: Settings -> Account Settings -> API Keys - Generate new api keys. Scope (User, Torrents) irc: network: Scratch-Network @@ -82,9 +82,27 @@ irc: parse: type: single lines: - - test: - - "Artist - Albumname [2008] [Single] - FLAC / Lossless / Log / 100% / Cue / CD - https://redacted.ch/torrents.php?id=0000000 / https://redacted.ch/torrents.php?action=download&id=0000000 - hip.hop,rhythm.and.blues,2000s" - - "A really long name here - Concertos 5 and 6, Suite No 2 [1991] [Album] - FLAC / Lossless / Log / 100% / Cue / CD - https://redacted.ch/torrents.php?id=0000000 / https://redacted.ch/torrents.php?action=download&id=0000000 - classical" + - tests: + - line: Artist - Albumname [2008] [Single] - FLAC / Lossless / Log / 100% / Cue / CD - https://redacted.ch/torrents.php?id=0000000 / https://redacted.ch/torrents.php?action=download&id=0000000 - hip.hop,rhythm.and.blues,2000s + expect: + torrentName: Artist - Albumname [2008] [Single] - FLAC / Lossless / Log / 100% / Cue / CD + year: "2008" + category: Single + releaseTags: FLAC / Lossless / Log / 100% / Cue / CD + groupId: "0000000" + baseUrl: https://redacted.ch/ + torrentId: "0000000" + tags: hip.hop,rhythm.and.blues,2000s + - line: A really long name here - Concertos 5 and 6, Suite No 2 [1991] [Album] - FLAC / Lossless / Log / 100% / Cue / CD - https://redacted.ch/torrents.php?id=0000000 / https://redacted.ch/torrents.php?action=download&id=0000000 - classical + expect: + torrentName: A really long name here - Concertos 5 and 6, Suite No 2 [1991] [Album] - FLAC / Lossless / Log / 100% / Cue / CD + year: "1991" + category: Album + releaseTags: FLAC / Lossless / Log / 100% / Cue / CD + groupId: "0000000" + baseUrl: https://redacted.ch/ + torrentId: "0000000" + tags: classical pattern: '(.* (?:\[(.*)\] \[(.*)\] - (.*))?) - .*id=(.*) \/ (https?://.+/).+id=(\d+)[ -]*(.*)' vars: - torrentName diff --git a/internal/indexer/definitions/reelflix.yaml b/internal/indexer/definitions/reelflix.yaml index 6fc3684..60c2099 100644 --- a/internal/indexer/definitions/reelflix.yaml +++ b/internal/indexer/definitions/reelflix.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D +# source: UNIT3D settings: - name: rsskey type: secret @@ -50,8 +50,20 @@ irc: parse: type: single lines: - - test: - - "Category [Movie] Type [Remux] Name [HomeMade Movie 1998 1080p BluRay REMUX AVC DD 2.0-Group] Resolution [1080p] Freeleech [0%] Internal [No] Double Upload [No] Size [16.8 GiB] Uploader [uploaderName] Url [https://reelflix.xyz/torrents/download/169]" + - tests: + - line: Category [Movie] Type [Remux] Name [HomeMade Movie 1998 1080p BluRay REMUX AVC DD 2.0-Group] Resolution [1080p] Freeleech [0%] Internal [No] Double Upload [No] Size [16.8 GiB] Uploader [uploaderName] Url [https://reelflix.xyz/torrents/download/169] + expect: + category: Movie + releaseTags: Remux + torrentName: HomeMade Movie 1998 1080p BluRay REMUX AVC DD 2.0-Group + resolution: 1080p + freeleechPercent: 0% + internal: "No" + tags: "No" + torrentSize: 16.8 GiB + uploader: uploaderName + baseUrl: https://reelflix.xyz/torrents/ + torrentId: "169" pattern: 'Category \[(.*)\] Type \[(.*)\] Name \[(.*?)\] ?(?:Resolution \[(.*)\])? Freeleech \[(.*)\] Internal \[(.*)\] Double Upload \[(.*)\] Size \[(.*)\] Uploader \[(.*)\] Url \[(https?://.+/).+/(\d+)\]' vars: - category diff --git a/internal/indexer/definitions/retroflix.yaml b/internal/indexer/definitions/retroflix.yaml index 4da563f..17b7f4d 100644 --- a/internal/indexer/definitions/retroflix.yaml +++ b/internal/indexer/definitions/retroflix.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -53,9 +53,21 @@ irc: parse: type: single lines: - - test: - - "New! (Movies) - [REQUESTED].French.Movie.(1978).(French.with.English.Subtitles) - (18.76 GB) - https://retroflix.club/browse/t/00000/french-movie-1978-french-with-english-subtitles" - - "New! (Movies) - Old.Movie.1967.1080p.BluRay.x265.10bit-GROUP1 - (5.42 GB) - https://retroflix.club/browse/t/00000/old-movie-1967-1080p-bluray-x265-10bit-group1" + - tests: + - line: New! (Movies) - [REQUESTED].French.Movie.(1978).(French.with.English.Subtitles) - (18.76 GB) - https://retroflix.club/browse/t/00000/french-movie-1978-french-with-english-subtitles + expect: + category: Movies + torrentName: French.Movie.(1978).(French.with.English.Subtitles) + torrentSize: 18.76 GB + baseUrl: https://retroflix.club/ + torrentId: "00000" + - line: New! (Movies) - Old.Movie.1967.1080p.BluRay.x265.10bit-GROUP1 - (5.42 GB) - https://retroflix.club/browse/t/00000/old-movie-1967-1080p-bluray-x265-10bit-group1 + expect: + category: Movies + torrentName: Old.Movie.1967.1080p.BluRay.x265.10bit-GROUP1 + torrentSize: 5.42 GB + baseUrl: https://retroflix.club/ + torrentId: "00000" pattern: '^New! \((.*)\) - (?:\[REQUESTED\].)?(.*) - \((.*)\) - (https?:\/\/.*\/)browse/t/(\d+).*' vars: - category diff --git a/internal/indexer/definitions/revolutiontt.yaml b/internal/indexer/definitions/revolutiontt.yaml index c2fb143..ebe5527 100644 --- a/internal/indexer/definitions/revolutiontt.yaml +++ b/internal/indexer/definitions/revolutiontt.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -57,9 +57,19 @@ irc: parse: type: single lines: - - test: - - "!new Some.TV.Show.S01E02.720p.WEB.h264-KOGi | TV/HDx264 | https://revolutiontt.me/details.php?id=z4WBMrhj&hit=1" - - "!new Some.Other.Show.S01E02.1080p.WEB.h264-KOGi | TV/HDx264 | https://revolutiontt.me/details.php?id=eAg24buk&hit=1" + - tests: + - line: '!new Some.TV.Show.S01E02.720p.WEB.h264-KOGi | TV/HDx264 | https://revolutiontt.me/details.php?id=z4WBMrhj&hit=1' + expect: + torrentName: Some.TV.Show.S01E02.720p.WEB.h264-KOGi + category: TV/HDx264 + baseUrl: https://revolutiontt.me/ + torrentId: z4WBMrhj + - line: '!new Some.Other.Show.S01E02.1080p.WEB.h264-KOGi | TV/HDx264 | https://revolutiontt.me/details.php?id=eAg24buk&hit=1' + expect: + torrentName: Some.Other.Show.S01E02.1080p.WEB.h264-KOGi + category: TV/HDx264 + baseUrl: https://revolutiontt.me/ + torrentId: eAg24buk pattern: '!new (.*) \| (.*) \| (https?:\/\/.*\/).*id=([0-9a-zA-Z]+)' vars: - torrentName diff --git a/internal/indexer/definitions/rss_generic.yaml b/internal/indexer/definitions/rss_generic.yaml index eee6c96..7f8b6dd 100644 --- a/internal/indexer/definitions/rss_generic.yaml +++ b/internal/indexer/definitions/rss_generic.yaml @@ -11,12 +11,12 @@ protocol: torrent implementation: rss supports: - rss -source: rss +# source: rss rss: - minInterval: 15 + # minInterval: 15 settings: - name: url type: text required: true - label: RSS URL \ No newline at end of file + label: RSS URL diff --git a/internal/indexer/definitions/scenehd.yaml b/internal/indexer/definitions/scenehd.yaml index e360471..60c7c45 100644 --- a/internal/indexer/definitions/scenehd.yaml +++ b/internal/indexer/definitions/scenehd.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -57,8 +57,13 @@ irc: parse: type: single lines: - - test: - - "[NEW] Some.Show.S08E20.EXTENDED.720p.BluRay.X264-GROUP [TV/720] https://scenehd.org/details.php?id=00000" + - tests: + - line: '[NEW] Some.Show.S08E20.EXTENDED.720p.BluRay.X264-GROUP [TV/720] https://scenehd.org/details.php?id=00000' + expect: + torrentName: Some.Show.S08E20.EXTENDED.720p.BluRay.X264-GROUP + category: TV/720 + baseUrl: https://scenehd.org/ + torrentId: "00000" pattern: '\[NEW] (.+) \[(.+)] (https?\:\/\/.+\/).*id=(\d+)' vars: - torrentName diff --git a/internal/indexer/definitions/sharewood.yaml b/internal/indexer/definitions/sharewood.yaml index 9cc0c76..9762dbe 100644 --- a/internal/indexer/definitions/sharewood.yaml +++ b/internal/indexer/definitions/sharewood.yaml @@ -10,7 +10,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -49,11 +49,43 @@ irc: parse: type: single lines: - - test: - - "Vidéos | La Brea S02E08 MULTi 1080p WEB x264-FW | 1.27 GiB | 1080p/i " - - "Vidéos | Le Griffon S01 FRENCH 2160p WEBRip AMZ HDR x265 10bits EAC3 5.1-Amen | 11.08 GiB | 2160p " - - "Audios | Molly Hatchet - Southern Rock Masters (2008) - Flac 16-44 | 402.07 MiB | " - - "Ebooks | Edgar Allan Poe - Nouvelles integrales - 2018-2019 - FRENCH - EPUB | 2.39 MiB | " + - tests: + - line: Vidéos | La Brea S02E08 MULTi 1080p WEB x264-FW | 1.27 GiB | 1080p/i + expect: + category: Vidéos + torrentName: La Brea S02E08 MULTi 1080p WEB x264-FW + torrentSize: 1.27 GiB + resolution: 1080p/i + baseUrl: https://sharewood.tv/torrents/ + torrentSlug: la-brea-s02e08-multi-1080p-web-x264-fw + torrentId: "66870" + - line: Vidéos | Le Griffon S01 FRENCH 2160p WEBRip AMZ HDR x265 10bits EAC3 5.1-Amen | 11.08 GiB | 2160p + expect: + category: Vidéos + torrentName: Le Griffon S01 FRENCH 2160p WEBRip AMZ HDR x265 10bits EAC3 5.1-Amen + torrentSize: 11.08 GiB + resolution: 2160p + baseUrl: https://sharewood.tv/torrents/ + torrentSlug: le-griffon-s01-french-2160p-webrip-amz-hdr-x265-10bits-eac3-51-amen + torrentId: "66881" + - line: Audios | Molly Hatchet - Southern Rock Masters (2008) - Flac 16-44 | 402.07 MiB | + expect: + category: Audios + torrentName: Molly Hatchet - Southern Rock Masters (2008) - Flac 16-44 + torrentSize: 402.07 MiB + resolution: "" + baseUrl: https://sharewood.tv/torrents/ + torrentSlug: molly-hatchet-southern-rock-masters-2008-flac-16-44 + torrentId: "66882" + - line: Ebooks | Edgar Allan Poe - Nouvelles integrales - 2018-2019 - FRENCH - EPUB | 2.39 MiB | + expect: + category: Ebooks + torrentName: Edgar Allan Poe - Nouvelles integrales - 2018-2019 - FRENCH - EPUB + torrentSize: 2.39 MiB + resolution: "" + baseUrl: https://sharewood.tv/torrents/ + torrentSlug: edgar-allan-poe-nouvelles-integrales-2018-2019-french-epub + torrentId: "66884" pattern: '(.+) \| (.+) \| (.+) \| (.*?) ?<(https?:\/\/.+\/)(.+)\.(\d+)>' vars: - category diff --git a/internal/indexer/definitions/skipthecommericals.yaml b/internal/indexer/definitions/skipthecommericals.yaml index 2a218a0..f066ed4 100644 --- a/internal/indexer/definitions/skipthecommericals.yaml +++ b/internal/indexer/definitions/skipthecommericals.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D +# source: UNIT3D settings: - name: rsskey type: secret @@ -50,8 +50,18 @@ irc: parse: type: single lines: - - test: - - "Category [TV Show] Type [WEB-DL] Name [The best show S24E10 Jumped In 1080p AMZN WEB-DL DD+ 5.1 H.264-NTb] Freeleech [0%] Double Upload [No] Size [2.9 GB] Uploader [userone] Url [https://skipthecommericals.xyz/torrent/download/00000]" + - tests: + - line: Category [TV Show] Type [WEB-DL] Name [The best show S24E10 Jumped In 1080p AMZN WEB-DL DD+ 5.1 H.264-NTb] Freeleech [0%] Double Upload [No] Size [2.9 GB] Uploader [userone] Url [https://skipthecommericals.xyz/torrent/download/00000] + expect: + category: TV Show + releaseTags: WEB-DL + torrentName: The best show S24E10 Jumped In 1080p AMZN WEB-DL DD+ 5.1 H.264-NTb + freeleechPercent: 0% + tags: "No" + torrentSize: 2.9 GB + uploader: userone + baseUrl: https://skipthecommericals.xyz/ + torrentId: "00000" pattern: 'Category \[(.+)\] Type \[(.+)\] Name \[(.+?)\] Freeleech \[(.+)\] Double Upload \[(.+)\] Size \[(.+)\] Uploader \[(.+)\] Url \[(https?\:\/\/.+\/).+\/.+\/(\d+)\]' vars: - category diff --git a/internal/indexer/definitions/skipthetrailers.yaml b/internal/indexer/definitions/skipthetrailers.yaml index fdbe1a9..3ae12cb 100644 --- a/internal/indexer/definitions/skipthetrailers.yaml +++ b/internal/indexer/definitions/skipthetrailers.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D +# source: UNIT3D settings: - name: rsskey type: secret @@ -50,8 +50,18 @@ irc: parse: type: single lines: - - test: - - "Category [Movies] Type [Encode] Name [The best movie 2015 1080p BluRay FLAC 5.1 x264-GROUP] Freeleech [100%] Double Upload [Yes] Size [7.22 GB] Uploader [anon] Url [https://skipthetrailers.xyz/torrent/download/00000]" + - tests: + - line: Category [Movies] Type [Encode] Name [The best movie 2015 1080p BluRay FLAC 5.1 x264-GROUP] Freeleech [100%] Double Upload [Yes] Size [7.22 GB] Uploader [anon] Url [https://skipthetrailers.xyz/torrent/download/00000] + expect: + category: Movies + releaseTags: Encode + torrentName: The best movie 2015 1080p BluRay FLAC 5.1 x264-GROUP + freeleechPercent: 100% + tags: "Yes" + torrentSize: 7.22 GB + uploader: anon + baseUrl: https://skipthetrailers.xyz/ + torrentId: "00000" pattern: 'Category \[(.+)\] Type \[(.+)\] Name \[(.+?)\] Freeleech \[(.+)\] Double Upload \[(.+)\] Size \[(.+)\] Uploader \[(.+)\] Url \[(https?\:\/\/.+\/).+\/.+\/(\d+)\]' vars: - category diff --git a/internal/indexer/definitions/speedapp.yaml b/internal/indexer/definitions/speedapp.yaml index 4f89e4f..e22299d 100644 --- a/internal/indexer/definitions/speedapp.yaml +++ b/internal/indexer/definitions/speedapp.yaml @@ -10,7 +10,7 @@ privacy: private protocol: torrent supports: - irc -source: unknown +# source: unknown settings: - name: passkey type: secret @@ -49,9 +49,21 @@ irc: parse: type: single lines: - - test: - - "New! (Movies HD-RO) - Some.File.2022.1080p.WEB-DL.DDP5.1.Atmos.H.264.mkv - (5.14 GB) - https://speedapp.io/browse/00000/t/some-file-2022-1080p-web-dl-ddp5-1-atmos-h-264-mkv" - - "New! (XXX HD) - Some.XXX.21.05.19.famous.actress.XXX.1080p.MP4-WRB - (841.64 MB) - https://speedapp.io/browse/000000/t/some-xxx-21-05-19-famous-actress-xxx-1080p-mp4-wrb" + - tests: + - line: New! (Movies HD-RO) - Some.File.2022.1080p.WEB-DL.DDP5.1.Atmos.H.264.mkv - (5.14 GB) - https://speedapp.io/browse/00000/t/some-file-2022-1080p-web-dl-ddp5-1-atmos-h-264-mkv + expect: + category: Movies HD-RO + torrentName: Some.File.2022.1080p.WEB-DL.DDP5.1.Atmos.H.264.mkv + torrentSize: 5.14 GB + baseUrl: https://speedapp.io/ + torrentId: "00000" + - line: New! (XXX HD) - Some.XXX.21.05.19.famous.actress.XXX.1080p.MP4-WRB - (841.64 MB) - https://speedapp.io/browse/000000/t/some-xxx-21-05-19-famous-actress-xxx-1080p-mp4-wrb + expect: + category: XXX HD + torrentName: Some.XXX.21.05.19.famous.actress.XXX.1080p.MP4-WRB + torrentSize: 841.64 MB + baseUrl: https://speedapp.io/ + torrentId: "000000" pattern: 'New! \((.+)\) - (.+) - \((.+)\) - (https?:\/\/.+\/)browse\/(\d+)\/t\/.+' vars: - category diff --git a/internal/indexer/definitions/subsplease.yaml b/internal/indexer/definitions/subsplease.yaml index ef87afc..a46718a 100644 --- a/internal/indexer/definitions/subsplease.yaml +++ b/internal/indexer/definitions/subsplease.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom irc: network: Rizon @@ -45,12 +45,52 @@ irc: parse: type: single lines: - - test: - - "[Release] [SubsPlease] Multiple Word Title - 01 (480p) [636F636B].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent" - - "[Release] [SubsPlease] Multiple Word Title (01-12) (1080p) [Batch] (420GB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent" - - "[Release] [SubsPlease] Dashes - In-Title - 01 (480p) [636F636B].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent" - - "[Release] [SubsPlease] Title - 1st Season (01-04) (1080p) [Batch] (420GB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent" - - "[Release] [SubsPlease] Special Title - 08.5 (480p) [5353245D].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent" + - tests: + - line: '[Release] [SubsPlease] Multiple Word Title - 01 (480p) [636F636B].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent' + expect: + torrentName: '[SubsPlease] Multiple Word Title - 01 (480p) [636F636B].' + releaseGroup: SubsPlease + title: Multiple Word Title + releaseTags: mkv + torrentSize: 420.69MB + infoUrl: https://nyaa.si/view/0000000 + torrentUrl: https://nyaa.si/view/0000000/torrent + - line: '[Release] [SubsPlease] Multiple Word Title (01-12) (1080p) [Batch] (420GB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent' + expect: + torrentName: '[SubsPlease] Multiple Word Title (01-12) (1080p) [Batch]' + releaseGroup: SubsPlease + title: Multiple Word Title + releaseTags: "" + torrentSize: 420GB + infoUrl: https://nyaa.si/view/0000000 + torrentUrl: https://nyaa.si/view/0000000/torrent + - line: '[Release] [SubsPlease] Dashes - In-Title - 01 (480p) [636F636B].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent' + expect: + torrentName: '[SubsPlease] Dashes - In-Title - 01 (480p) [636F636B].' + releaseGroup: SubsPlease + title: Dashes - In-Title + releaseTags: mkv + torrentSize: 420.69MB + infoUrl: https://nyaa.si/view/0000000 + torrentUrl: https://nyaa.si/view/0000000/torrent + - line: '[Release] [SubsPlease] Title - 1st Season (01-04) (1080p) [Batch] (420GB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent' + expect: + torrentName: '[SubsPlease] Title - 1st Season (01-04) (1080p) [Batch]' + releaseGroup: SubsPlease + title: Title - 1st Season + releaseTags: "" + torrentSize: 420GB + infoUrl: https://nyaa.si/view/0000000 + torrentUrl: https://nyaa.si/view/0000000/torrent + - line: '[Release] [SubsPlease] Special Title - 08.5 (480p) [5353245D].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent' + expect: + torrentName: '[SubsPlease] Special Title - 08.5 (480p) [5353245D].' + releaseGroup: SubsPlease + title: Special Title + releaseTags: mkv + torrentSize: 420.69MB + infoUrl: https://nyaa.si/view/0000000 + torrentUrl: https://nyaa.si/view/0000000/torrent pattern: '\[Release\] (.*(SubsPlease)] (.+?) (?:-\s\d{2,}|\(\d{2,}).*?\.?)(mkv)? \((\d+.?\d*[KMGTP]?B)\) - (.*) - (.*)' vars: - torrentName diff --git a/internal/indexer/definitions/superbits.yaml b/internal/indexer/definitions/superbits.yaml index c74011a..b9cf8df 100644 --- a/internal/indexer/definitions/superbits.yaml +++ b/internal/indexer/definitions/superbits.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: rartracker +# source: rartracker settings: - name: passkey type: secret @@ -50,9 +50,25 @@ irc: parse: type: single lines: - - test: - - "-[archive Film 1080]2[A.Movie.1985.FRENCH.1080p.BluRay.x264-GROUP]3[000000]4[Size: 4.41 GB]5[FL: no]6[Scene: yes]" - - "-[new TV]2[Some.Show.S05E05.720p.WEB.h264-GROUP]3[000000]4[Size: 964.04 MB]5[FL: no]6[Scene: yes]7[Pred 1m 30s ago]" + - tests: + - line: '-[archive Film 1080]2[A.Movie.1985.FRENCH.1080p.BluRay.x264-GROUP]3[000000]4[Size: 4.41 GB]5[FL: no]6[Scene: yes]' + expect: + category: archive Film 1080 + torrentName: A.Movie.1985.FRENCH.1080p.BluRay.x264-GROUP + torrentId: "000000" + torrentSize: 4.41 GB + freeleech: "no" + scene: "yes" + preTime: "" + - line: '-[new TV]2[Some.Show.S05E05.720p.WEB.h264-GROUP]3[000000]4[Size: 964.04 MB]5[FL: no]6[Scene: yes]7[Pred 1m 30s ago]' + expect: + category: new TV + torrentName: Some.Show.S05E05.720p.WEB.h264-GROUP + torrentId: "000000" + torrentSize: 964.04 MB + freeleech: "no" + scene: "yes" + preTime: 1m 30s pattern: '\-\[(.*)\]2\[(.*)\]3\[(\d+)\]4\[Size\:\s(.*)\]5\[FL\:\s(no|yes)\]6\[Scene\:\s(no|yes)\](?:7\[Pred\s(.*)\sago\])?' vars: - category diff --git a/internal/indexer/definitions/thedarkcommunity.yaml b/internal/indexer/definitions/thedarkcommunity.yaml index ad473cb..1dff4c5 100644 --- a/internal/indexer/definitions/thedarkcommunity.yaml +++ b/internal/indexer/definitions/thedarkcommunity.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D +# source: UNIT3D settings: - name: rsskey type: secret @@ -50,9 +50,27 @@ irc: parse: type: single lines: - - test: - - "Category [TV] Type [WEB-DL] Name [The Cars That Made the World S01 1080p WEB-DL AAC 2.0 H.264-EDITH] Freeleech [0%] Double Upload [No] Size [6.57 GB] Uploader [User] Url [https://thedarkcommunity.cc/torrents/download/8483]" - - "Category [TV] Type [WEB-DL] Name [Ax Men S09 1080p WEB-DL AAC 2.0 H.264-TURBO] Freeleech [0%] Double Upload [No] Size [26.87 GB] Uploader [User] Url [https://thedarkcommunity.cc/torrents/download/8484]" + - tests: + - line: Category [TV] Type [WEB-DL] Name [The Cars That Made the World S01 1080p WEB-DL AAC 2.0 H.264-EDITH] Freeleech [0%] Double Upload [No] Size [6.57 GB] Uploader [User] Url [https://thedarkcommunity.cc/torrents/download/8483] + expect: + category: TV + releaseTags: WEB-DL + torrentName: The Cars That Made the World S01 1080p WEB-DL AAC 2.0 H.264-EDITH + freeleechPercent: 0% + torrentSize: 6.57 GB + uploader: User + baseUrl: https://thedarkcommunity.cc/ + torrentId: "8483" + - line: Category [TV] Type [WEB-DL] Name [Ax Men S09 1080p WEB-DL AAC 2.0 H.264-TURBO] Freeleech [0%] Double Upload [No] Size [26.87 GB] Uploader [User] Url [https://thedarkcommunity.cc/torrents/download/8484] + expect: + category: TV + releaseTags: WEB-DL + torrentName: Ax Men S09 1080p WEB-DL AAC 2.0 H.264-TURBO + freeleechPercent: 0% + torrentSize: 26.87 GB + uploader: User + baseUrl: https://thedarkcommunity.cc/ + torrentId: "8484" pattern: '.*\[(.*)\].*\[(.*)\].*\[(.*)\].*\[(.*)\].*\[(?:.*)\].*\[(.*)\].*\[(.*)\].*(https?\:\/\/.*?\/).*\/(\d+).*' vars: - category diff --git a/internal/indexer/definitions/theoldschool.yaml b/internal/indexer/definitions/theoldschool.yaml index dbb4f3d..4311abe 100644 --- a/internal/indexer/definitions/theoldschool.yaml +++ b/internal/indexer/definitions/theoldschool.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D +# source: UNIT3D settings: - name: rsskey type: secret @@ -57,9 +57,29 @@ irc: parse: type: single lines: - - test: - - "[NEW] [Series] [This.Is.A.New.show.S00E00.720p.WEB.H264-Test] [WEB-DL] [487.27 MiB] [0%] [pre 0h 1m 52s] par oldschool -> https://theoldschool.cc/torrents/00000" - - "[NEW] [Series] [This.Is.A.New.show.S00E00.720p.WEB.H264-Test] [WEB-DL] [487.27 MiB] [0%] par oldschool -> https://theoldschool.cc/torrents/00000" + - tests: + - line: '[NEW] [Series] [This.Is.A.New.show.S00E00.720p.WEB.H264-Test] [WEB-DL] [487.27 MiB] [0%] [pre 0h 1m 52s] par oldschool -> https://theoldschool.cc/torrents/00000' + expect: + category: Series + torrentName: This.Is.A.New.show.S00E00.720p.WEB.H264-Test + source: WEB-DL + torrentSize: 487.27 MiB + freeleechPercent: "0" + preTime: 0h 1m 52s + uploader: oldschool + baseUrl: https://theoldschool.cc/ + torrentId: "00000" + - line: '[NEW] [Series] [This.Is.A.New.show.S00E00.720p.WEB.H264-Test] [WEB-DL] [487.27 MiB] [0%] par oldschool -> https://theoldschool.cc/torrents/00000' + expect: + category: Series + torrentName: This.Is.A.New.show.S00E00.720p.WEB.H264-Test + source: WEB-DL + torrentSize: 487.27 MiB + freeleechPercent: "0" + preTime: "" + uploader: oldschool + baseUrl: https://theoldschool.cc/ + torrentId: "00000" pattern: '\[NEW\] \[(.*)\] \[(.*)\] \[(.*)\] \[(.*)\] \[(.*)%\](?:\s\[pre (.*)\])? par (.*) -> (https?\:\/\/.+\/).+\/(\d+)' vars: - category diff --git a/internal/indexer/definitions/tokyotoshokan.yaml b/internal/indexer/definitions/tokyotoshokan.yaml index 290ba33..ae98fc3 100644 --- a/internal/indexer/definitions/tokyotoshokan.yaml +++ b/internal/indexer/definitions/tokyotoshokan.yaml @@ -42,19 +42,26 @@ irc: parse: type: multi lines: - - test: - - "Release 1748839: [Anime] SOMETITLE-007" + - tests: + - line: 'Release 1748839: [Anime] SOMETITLE-007' + expect: + category: Anime + torrentName: SOMETITLE-007 pattern: '^Release [0-9]*: \[(.*?)\] (.*)' vars: - category - torrentName - - test: - - "Torrent: https://example.com/torrents/sha123/torrentname-007.torrent" + - tests: + - line: 'Torrent: https://example.com/torrents/sha123/torrentname-007.torrent' + expect: + torrentId: example.com/torrents/sha123/torrentname-007.torrent pattern: '^Torrent: https:\/\/(.*)' vars: - torrentId - - test: - - "Size: 7.21GB | Comment: A comment on the torrent left by the author" + - tests: + - line: 'Size: 7.21GB | Comment: A comment on the torrent left by the author' + expect: + size: 7.21GB pattern: '^Size: (\d+.?\d*[KMGTP]?B)( \| Comment: (.*))?' vars: - size diff --git a/internal/indexer/definitions/torrentbytes.yaml b/internal/indexer/definitions/torrentbytes.yaml index 65569f4..1753ff2 100644 --- a/internal/indexer/definitions/torrentbytes.yaml +++ b/internal/indexer/definitions/torrentbytes.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: cookie type: secret @@ -57,8 +57,13 @@ irc: parse: type: single lines: - - test: - - "[TB-RLS] .:. [ The.New.Game-GROUP ] .:. [ https://www.torrentbytes.net/download.php?id=0000000 ] .:. [ https://www.torrentbytes.net/details.php?id=0000000 ] .:. [ Uploaded 2 minutes, 12 seconds after pre ]" + - tests: + - line: '[TB-RLS] .:. [ The.New.Game-GROUP ] .:. [ https://www.torrentbytes.net/download.php?id=0000000 ] .:. [ https://www.torrentbytes.net/details.php?id=0000000 ] .:. [ Uploaded 2 minutes, 12 seconds after pre ]' + expect: + torrentName: The.New.Game-GROUP + baseUrl: https://www.torrentbytes.net/ + torrentId: "0000000" + preTime: '2 minutes, 12 seconds after pre ' pattern: '^\[TB-RLS\] \.:\. \[ (.*) \] \.:\. \[ (https?\:\/\/.*\/).*id=(\d+).*https?\:\/\/(?:.*\[ Uploaded (.*)\])?' vars: - torrentName @@ -69,6 +74,6 @@ irc: match: infourl: "/details.php?id={{ .torrentId }}" torrenturl: "/download.php?id={{ .torrentId }}&name={{ .torrentName }}.torrent" - cookie: true + # cookie: true encode: - - torrentName \ No newline at end of file + - torrentName diff --git a/internal/indexer/definitions/torrentday.yaml b/internal/indexer/definitions/torrentday.yaml index 8306046..9b997c1 100644 --- a/internal/indexer/definitions/torrentday.yaml +++ b/internal/indexer/definitions/torrentday.yaml @@ -19,7 +19,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -58,9 +58,23 @@ irc: parse: type: single lines: - - test: - - "[Movie/4K] This is a Movie 2160p UHD BluRay x265-TEST - https://www.torrentday.com/details.php?id=0000000 - 5.83 GB" - - "[Movie/4K] This is a Movie 2160p UHD BluRay x265-TEST FREELEECH - https://www.torrentday.com/details.php?id=0000000 - 5.83 GB" + - tests: + - line: '[Movie/4K] This is a Movie 2160p UHD BluRay x265-TEST - https://www.torrentday.com/details.php?id=0000000 - 5.83 GB' + expect: + category: Movie/4K + torrentName: This is a Movie 2160p UHD BluRay x265-TEST + freeleech: "" + baseUrl: https://www.torrentday.com/ + torrentId: "0000000" + torrentSize: 5.83 GB + - line: '[Movie/4K] This is a Movie 2160p UHD BluRay x265-TEST FREELEECH - https://www.torrentday.com/details.php?id=0000000 - 5.83 GB' + expect: + category: Movie/4K + torrentName: This is a Movie 2160p UHD BluRay x265-TEST + freeleech: FREELEECH + baseUrl: https://www.torrentday.com/ + torrentId: "0000000" + torrentSize: 5.83 GB pattern: '\[([^\]]*)] (.*?)\s*(FREELEECH)*\s*-\s+(https?\:\/\/[^\/]+\/).*[&\?]id=(\d+)\s*- (.*)' vars: - category diff --git a/internal/indexer/definitions/torrenthr.yaml b/internal/indexer/definitions/torrenthr.yaml index 5c09963..7b4571c 100644 --- a/internal/indexer/definitions/torrenthr.yaml +++ b/internal/indexer/definitions/torrenthr.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: unknown +# source: unknown settings: - name: passkey type: secret @@ -57,8 +57,14 @@ irc: parse: type: single lines: - - test: - - "Novi torrent uploadan -> Ime: A.torrent.name.here.WEBRip.x264-tina .:. Kategorija: Serije/SD .:. Velicina: 283.94 MB .:. URL: http://www.torrenthr.org/details.php?id=000000" + - tests: + - line: 'Novi torrent uploadan -> Ime: A.torrent.name.here.WEBRip.x264-tina .:. Kategorija: Serije/SD .:. Velicina: 283.94 MB .:. URL: http://www.torrenthr.org/details.php?id=000000' + expect: + torrentName: A.torrent.name.here.WEBRip.x264-tina + category: Serije/SD + torrentSize: 283.94 MB + baseUrl: www.torrenthr.org/ + torrentId: "000000" pattern: 'Novi torrent uploadan \-> Ime: (.*) \.:\. Kategorija: (.*) \.:\. Velicina: (.*) \.:\. URL: https?\:\/\/([^\/]+\/).*[&\?]id=(\d+)' vars: - torrentName diff --git a/internal/indexer/definitions/torrentleech.yaml b/internal/indexer/definitions/torrentleech.yaml index 783000c..36f62a0 100644 --- a/internal/indexer/definitions/torrentleech.yaml +++ b/internal/indexer/definitions/torrentleech.yaml @@ -15,7 +15,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: rsskey type: secret @@ -55,9 +55,23 @@ irc: parse: type: single lines: - - test: - - "New Torrent Announcement: Name:'debian live 10 6 0 amd64 standard iso' uploaded by 'Anonymous' - http://www.tracker01.test/torrent/000000" - - "New Torrent Announcement: Name:'debian live 10 6 0 amd64 standard iso' uploaded by 'Anonymous' freeleech - http://www.tracker01.test/torrent/000000" + - tests: + - line: 'New Torrent Announcement: Name:''debian live 10 6 0 amd64 standard iso'' uploaded by ''Anonymous'' - http://www.tracker01.test/torrent/000000' + expect: + category: 'PC :: Iso' + torrentName: debian live 10 6 0 amd64 standard iso + uploader: Anonymous + freeleech: "" + baseUrl: http://www.tracker01.test/ + torrentId: "000000" + - line: 'New Torrent Announcement: Name:''debian live 10 6 0 amd64 standard iso'' uploaded by ''Anonymous'' freeleech - http://www.tracker01.test/torrent/000000' + expect: + category: 'PC :: Iso' + torrentName: debian live 10 6 0 amd64 standard iso + uploader: Anonymous + freeleech: freeleech + baseUrl: http://www.tracker01.test/ + torrentId: "000000" pattern: New Torrent Announcement:\s*<([^>]*)>\s*Name:'(.*)' uploaded by '([^']*)'\s*(freeleech)*\s*-\s*(https?\:\/\/[^\/]+\/)torrent\/(\d+) vars: - category diff --git a/internal/indexer/definitions/torrentnetwork.yaml b/internal/indexer/definitions/torrentnetwork.yaml index 1285bc1..0d89e28 100644 --- a/internal/indexer/definitions/torrentnetwork.yaml +++ b/internal/indexer/definitions/torrentnetwork.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: unknown +# source: unknown settings: - name: passkey type: secret @@ -50,15 +50,23 @@ irc: parse: type: multi lines: - - test: - - "{New Torrent} Name {Luke_EP--Wildstyle_-_Sump_Ting-(RNR002)-WEB-2016-OMA} Typ {Music|MP3} Pre {14 s}" + - tests: + - line: '{New Torrent} Name {Luke_EP--Wildstyle_-_Sump_Ting-(RNR002)-WEB-2016-OMA} Typ {Music|MP3} Pre {14 s}' + expect: + torrentName: Luke_EP--Wildstyle_-_Sump_Ting-(RNR002)-WEB-2016-OMA + category: Music|MP3 + preTime: 14 s pattern: '\{New Torrent\} Name \{(.*)\} Typ \{(.+?)\}(?: Pre \{(.*)\})?' vars: - torrentName - category - preTime - - test: - - "{New Torrent} Size {24.629 MiB} Files {5} Link {https://tntracker.org/torrent/000000}" + - tests: + - line: '{New Torrent} Size {24.629 MiB} Files {5} Link {https://tntracker.org/torrent/000000}' + expect: + torrentSize: 24.629 MiB + baseUrl: https://tntracker.org/ + torrentId: "000000" pattern: '\{New Torrent\} Size \{(.*)\} Files \{\d+\} Link \{(https?:\/\/[^\/]+\/)torrent\/(\d+)\}' vars: - torrentSize diff --git a/internal/indexer/definitions/torrentseeds.yaml b/internal/indexer/definitions/torrentseeds.yaml index 4a26e16..d5c8e99 100644 --- a/internal/indexer/definitions/torrentseeds.yaml +++ b/internal/indexer/definitions/torrentseeds.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: UNIT3D +# source: UNIT3D settings: - name: rsskey type: secret @@ -45,8 +45,16 @@ irc: parse: type: single lines: - - test: - - "New: This.Is.A.New.show.S00E00.720p.WEB.H264-Test .:. Category: TV/HD .:. Size: 706.15 MiB .:. URL: https://www.torrentseeds.org/torrents/0000000 .:. Uploaded by: George." + - tests: + - line: 'New: This.Is.A.New.show.S00E00.720p.WEB.H264-Test .:. Category: TV/HD .:. Size: 706.15 MiB .:. URL: https://www.torrentseeds.org/torrents/0000000 .:. Uploaded by: George.' + expect: + torrentName: This.Is.A.New.show.S00E00.720p.WEB.H264-Test + category: TV/HD + torrentSize: 706.15 MiB + baseUrl: https://www.torrentseeds.org/ + torrentId: "0000000" + uploader: George + freeleech: "" pattern: 'New: (.+) \.:\. Category: (.+) \.:\. Size: (.+) \.:\. URL: (https?\:\/\/.+\/).+/(\d+) \.:\. Uploaded by: (\w+)\s?(FREELEECH)?.*' vars: - torrentName diff --git a/internal/indexer/definitions/torrentsyndikat.yaml b/internal/indexer/definitions/torrentsyndikat.yaml index 5316763..89eb249 100644 --- a/internal/indexer/definitions/torrentsyndikat.yaml +++ b/internal/indexer/definitions/torrentsyndikat.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: unknown +# source: unknown settings: - name: api_key type: secret @@ -57,10 +57,34 @@ irc: parse: type: single lines: - - test: - - "NEU Welcome.to.the.N.H.K.S01E15.German.DL.AC3.720p.BluRay.x264-ABJ [Serien/720p] [P2P] [678.68 MB] -- https://torrent-syndikat.org/details.php?id=000000 | Animation, Anime, Comedy, Drama, Romance, Thriller, Encode, AVC, DL, PID:00000, tt0857297" - - "NEU KLIM_Beats-FireFlies-WEB-2016-KNOWN [Audio/Musik/MP3] [O-SCENE] [59.82 MB] -- https://torrent-syndikat.org/details.php?id=000000 | Hip-Hop" - - "NEU DarkSpar-DARKZER0 [Spiele/Windows] [O-SCENE] [54.46 MB] -- https://torrent-syndikat.org/details.php?id=000000 | " + - tests: + - line: NEU Welcome.to.the.N.H.K.S01E15.German.DL.AC3.720p.BluRay.x264-ABJ [Serien/720p] [P2P] [678.68 MB] -- https://torrent-syndikat.org/details.php?id=000000 | Animation, Anime, Comedy, Drama, Romance, Thriller, Encode, AVC, DL, PID:00000, tt0857297 + expect: + torrentName: Welcome.to.the.N.H.K.S01E15.German.DL.AC3.720p.BluRay.x264-ABJ + category: Serien/720p + origin: P2P + torrentSize: 678.68 MB + baseUrl: https://torrent-syndikat.org/ + torrentId: "000000" + tags: Animation, Anime, Comedy, Drama, Romance, Thriller, Encode, AVC, DL, PID:00000, tt0857297 + - line: NEU KLIM_Beats-FireFlies-WEB-2016-KNOWN [Audio/Musik/MP3] [O-SCENE] [59.82 MB] -- https://torrent-syndikat.org/details.php?id=000000 | Hip-Hop + expect: + torrentName: KLIM_Beats-FireFlies-WEB-2016-KNOWN + category: Audio/Musik/MP3 + origin: O-SCENE + torrentSize: 59.82 MB + baseUrl: https://torrent-syndikat.org/ + torrentId: "000000" + tags: Hip-Hop + - line: 'NEU DarkSpar-DARKZER0 [Spiele/Windows] [O-SCENE] [54.46 MB] -- https://torrent-syndikat.org/details.php?id=000000 | ' + expect: + torrentName: DarkSpar-DARKZER0 + category: Spiele/Windows + origin: O-SCENE + torrentSize: 54.46 MB + baseUrl: https://torrent-syndikat.org/ + torrentId: "000000" + tags: "" pattern: 'NEU (.*) \[(.*)\] \[(.*)\] \[(.*)\] -- (https?\:\/\/.*\/).*id=(\d+) \| (.*)' vars: - torrentName diff --git a/internal/indexer/definitions/torznab_generic.yaml b/internal/indexer/definitions/torznab_generic.yaml index db8ddaf..3ffe481 100644 --- a/internal/indexer/definitions/torznab_generic.yaml +++ b/internal/indexer/definitions/torznab_generic.yaml @@ -11,10 +11,10 @@ protocol: torrent implementation: torznab supports: - torznab -source: torznab +# source: torznab torznab: - minInterval: 15 + # minInterval: 15 settings: - name: url type: text @@ -24,4 +24,4 @@ torznab: type: secret required: false label: Api key - help: Api key \ No newline at end of file + help: Api key diff --git a/internal/indexer/definitions/trancetraffic.yaml b/internal/indexer/definitions/trancetraffic.yaml index e07dca2..ef25118 100644 --- a/internal/indexer/definitions/trancetraffic.yaml +++ b/internal/indexer/definitions/trancetraffic.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: unknown +# source: unknown settings: - name: passkey type: secret @@ -50,26 +50,37 @@ irc: parse: type: multi lines: - - test: - - "New Torrent Uploaded:" + - tests: + - line: 'New Torrent Uploaded:' + expect: + raw: "New Torrent Uploaded:" pattern: '^New Torrent Uploaded:' - - test: - - "Name....: That Artist - Good Album-SAT-01-30-2021-GROUP" + - tests: + - line: 'Name....: That Artist - Good Album-SAT-01-30-2021-GROUP' + expect: + torrentName: That Artist - Good Album-SAT-01-30-2021-GROUP pattern: '^Name\.*:\s*(.*)' vars: - torrentName - - test: - - "Uploader: anon" + - tests: + - line: 'Uploader: anon' + expect: + uploader: anon pattern: '^Uploader\.*:\s*(.*)' vars: - uploader - - test: - - "Category: Livesets - House" + - tests: + - line: 'Category: Livesets - House' + expect: + category: Livesets - House pattern: '^Category\.*:\s*(.*)' vars: - category - - test: - - "URL.....: https://www.trancetraffic.com/details.php?id=000000&hit=1" + - tests: + - line: 'URL.....: https://www.trancetraffic.com/details.php?id=000000&hit=1' + expect: + baseUrl: https://www.trancetraffic.com/ + torrentId: "000000" pattern: '^URL\.*:\s*(https?\:\/\/[^\/]+\/).*[&\?]id=(\d+)' vars: - baseUrl diff --git a/internal/indexer/definitions/tsc.yaml b/internal/indexer/definitions/tsc.yaml index 00b1bf6..dfd03f8 100644 --- a/internal/indexer/definitions/tsc.yaml +++ b/internal/indexer/definitions/tsc.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: api_key type: secret @@ -56,12 +56,37 @@ irc: parse: type: single lines: - - test: - - "[Games/PC] The.Smallest.Game-ze0s (Größe: 31,53 MB) https://tsctracker.org/details.php?id=0000000" - - "[Music/MP3] TUNES_4_LYFE_WEB_iNT (Größe: 31,53 GB) https://tsctracker.org/details.php?id=0000000" - - "[XXX/0-Day] Cute.Stuff.69.XXX.VR180.2700p.MP4-s0ez (Größe: 2,3 TB) https://tsctracker.org/details.php?id=0000000" - - "[Movies/HD] Have.You.Seen.The.Cat.Tonight-WhereThat (Größe: 1,0 MB) https://tsctracker.org/details.php?id=0000000" - - "[TV-HD/X264] The.Eggerton.S01E01.720p.WEB.h264-OTA (Größe: 131,94 GB) https://tsctracker.org/details.php?id=0000000" + - tests: + - line: '[Games/PC] The.Smallest.Game-ze0s (Größe: 31,53 MB) https://tsctracker.org/details.php?id=0000000' + expect: + category: Games/PC + torrentName: The.Smallest.Game-ze0s + size: 31,53 MB + torrentId: "0000000" + - line: '[Music/MP3] TUNES_4_LYFE_WEB_iNT (Größe: 31,53 GB) https://tsctracker.org/details.php?id=0000000' + expect: + category: Music/MP3 + torrentName: TUNES_4_LYFE_WEB_iNT + size: 31,53 GB + torrentId: "0000000" + - line: '[XXX/0-Day] Cute.Stuff.69.XXX.VR180.2700p.MP4-s0ez (Größe: 2,3 TB) https://tsctracker.org/details.php?id=0000000' + expect: + category: XXX/0-Day + torrentName: Cute.Stuff.69.XXX.VR180.2700p.MP4-s0ez + size: 2,3 TB + torrentId: "0000000" + - line: '[Movies/HD] Have.You.Seen.The.Cat.Tonight-WhereThat (Größe: 1,0 MB) https://tsctracker.org/details.php?id=0000000' + expect: + category: Movies/HD + torrentName: Have.You.Seen.The.Cat.Tonight-WhereThat + size: 1,0 MB + torrentId: "0000000" + - line: '[TV-HD/X264] The.Eggerton.S01E01.720p.WEB.h264-OTA (Größe: 131,94 GB) https://tsctracker.org/details.php?id=0000000' + expect: + category: TV-HD/X264 + torrentName: The.Eggerton.S01E01.720p.WEB.h264-OTA + size: 131,94 GB + torrentId: "0000000" pattern: '\[(.*)\].(.*?).\(Größe:.(.*?)\).*id=(\d+)' vars: - category @@ -71,4 +96,4 @@ irc: match: infourl: "/details.php?id={{ .torrentId }}" - torrenturl: "/ddownload_ssl.php/{{ .torrentId }}/{{ .uid }}/{{ .api_key }}/{{ .torrentName }}.torrent" \ No newline at end of file + torrenturl: "/ddownload_ssl.php/{{ .torrentId }}/{{ .uid }}/{{ .api_key }}/{{ .torrentName }}.torrent" diff --git a/internal/indexer/definitions/uhdbits.yaml b/internal/indexer/definitions/uhdbits.yaml index e68c09c..acc3e02 100644 --- a/internal/indexer/definitions/uhdbits.yaml +++ b/internal/indexer/definitions/uhdbits.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: gazelle +# source: gazelle settings: - name: authkey type: secret @@ -65,8 +65,16 @@ irc: parse: type: single lines: - - test: - - "Category [Movie] A movie [1988] A.Movie.1988.Extended.720p.BluRay.x264-GROUP.mkv [720p, Encode, Freeleech, Scene, mkv] Size [4.99 GB] Url [https://uhdbits.org/torrents.php?action=download&id=00000]" + - tests: + - line: Category [Movie] A movie [1988] A.Movie.1988.Extended.720p.BluRay.x264-GROUP.mkv [720p, Encode, Freeleech, Scene, mkv] Size [4.99 GB] Url [https://uhdbits.org/torrents.php?action=download&id=00000] + expect: + category: Movie + year: "1988" + torrentName: A.Movie.1988.Extended.720p.BluRay.x264-GROUP.mkv + releaseTags: 720p, Encode, Freeleech, Scene, mkv + torrentSize: 4.99 GB + baseUrl: https://uhdbits.org/ + torrentId: "00000" pattern: 'Category \[(.+)\] .+ \[(\d+)\] (.+) \[(.+)\] Size \[(.+)\] Url \[(https?\:\/\/.+\/).+id=(\d+)\]' vars: - category diff --git a/internal/indexer/definitions/xspeeds.yaml b/internal/indexer/definitions/xspeeds.yaml index 42e360d..18d27a4 100644 --- a/internal/indexer/definitions/xspeeds.yaml +++ b/internal/indexer/definitions/xspeeds.yaml @@ -11,7 +11,7 @@ protocol: torrent supports: - irc - rss -source: custom +# source: custom settings: - name: passkey type: secret @@ -47,55 +47,83 @@ irc: label: NickServ Password help: NickServ password - categories: - - 4K Movies - - 4K TV - - 4K TV Boxsets - - Anime - - Audiobooks - - Blu-Ray - - Books Magazines - - Cams/TS - - Documentaries - - DVDR - - Foreign - - Kids - - Mac Games - - MMA - - Movie Boxsets - - Movies - - Music - - Music Videos - - Nintendo - - Other - - PC Games - - Pictures - - Playstation - - PPV - - Soaps - - Sports / MotorSports - - Sports / Olympics - - Sports / UK Football - - TOTM - - TOTW (x2 upload) - - TV Boxsets - - TV Boxsets / HD Boxsets - - TV Boxsets / HEVC Boxsets - - TV-HD - - TV-HD / HEVC - - TV-SD - - Wii Games - - Wrestling - - Xbox Games + # categories: + # - 4K Movies + # - 4K TV + # - 4K TV Boxsets + # - Anime + # - Audiobooks + # - Blu-Ray + # - Books Magazines + # - Cams/TS + # - Documentaries + # - DVDR + # - Foreign + # - Kids + # - Mac Games + # - MMA + # - Movie Boxsets + # - Movies + # - Music + # - Music Videos + # - Nintendo + # - Other + # - PC Games + # - Pictures + # - Playstation + # - PPV + # - Soaps + # - Sports / MotorSports + # - Sports / Olympics + # - Sports / UK Football + # - TOTM + # - TOTW (x2 upload) + # - TV Boxsets + # - TV Boxsets / HD Boxsets + # - TV Boxsets / HEVC Boxsets + # - TV-HD + # - TV-HD / HEVC + # - TV-SD + # - Wii Games + # - Wrestling + # - Xbox Games parse: type: single lines: - - test: - - "xspeeds.eu - New Torrent: ( The.Best.Show.S03E07.720p.BluRay.x264-GROUP ) Size: ( 1.96 GB ) Category: ( TV-HD ) Uploader: ( uploader1 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )" - - "xspeeds.eu - New Torrent: ( Some.Show.S21E06.1080p.HEVC.x265-GROUP1 ) Size: ( 1.04 GB ) Category: ( HEVC ) Uploader: ( uploader2 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )" - - "xspeeds.eu - New Torrent: ( Some.Show.S21E06.XviD-GROUP2 ) Size: ( 861.32 MB ) Category: ( TV-SD ) Uploader: ( uploader2 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )" - - "xspeeds.eu - New Torrent: ( TOTW.Show.1-6.Boxset.iNTERNAL.1080P.BluRay.H265-GRP3 ) Size: ( 46.03 GB ) Category: ( TOTW (x2 upload) ) Uploader: ( uploader3 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )" + - tests: + - line: 'xspeeds.eu - New Torrent: ( The.Best.Show.S03E07.720p.BluRay.x264-GROUP ) Size: ( 1.96 GB ) Category: ( TV-HD ) Uploader: ( uploader1 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )' + expect: + torrentName: The.Best.Show.S03E07.720p.BluRay.x264-GROUP + torrentSize: 1.96 GB + category: TV-HD + uploader: uploader1 + baseUrl: https://www.xspeeds.eu/ + torrentId: "0000000" + - line: 'xspeeds.eu - New Torrent: ( Some.Show.S21E06.1080p.HEVC.x265-GROUP1 ) Size: ( 1.04 GB ) Category: ( HEVC ) Uploader: ( uploader2 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )' + expect: + torrentName: Some.Show.S21E06.1080p.HEVC.x265-GROUP1 + torrentSize: 1.04 GB + category: HEVC + uploader: uploader2 + baseUrl: https://www.xspeeds.eu/ + torrentId: "0000000" + - line: 'xspeeds.eu - New Torrent: ( Some.Show.S21E06.XviD-GROUP2 ) Size: ( 861.32 MB ) Category: ( TV-SD ) Uploader: ( uploader2 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )' + expect: + torrentName: Some.Show.S21E06.XviD-GROUP2 + torrentSize: 861.32 MB + category: TV-SD + uploader: uploader2 + baseUrl: https://www.xspeeds.eu/ + torrentId: "0000000" + - line: 'xspeeds.eu - New Torrent: ( TOTW.Show.1-6.Boxset.iNTERNAL.1080P.BluRay.H265-GRP3 ) Size: ( 46.03 GB ) Category: ( TOTW (x2 upload) ) Uploader: ( uploader3 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )' + expect: + torrentName: TOTW.Show.1-6.Boxset.iNTERNAL.1080P.BluRay.H265-GRP3 + torrentSize: 46.03 GB + category: TOTW (x2 upload) + uploader: uploader3 + baseUrl: https://www.xspeeds.eu/ + torrentId: "0000000" pattern: '\s*xspeeds.eu - New Torrent: \( (.*) \) Size: \( (.*) \)\s*Category: \( (.*) \) Uploader: \( (.*) \) Link: \( (https?\:\/\/[^\/]+\/).*[&\?]id=(\d+) \)' vars: - torrentName diff --git a/internal/indexer/parse.go b/internal/indexer/parse.go new file mode 100644 index 0000000..8da2991 --- /dev/null +++ b/internal/indexer/parse.go @@ -0,0 +1,76 @@ +package indexer + +import ( + "errors" + "regexp" + + "github.com/rs/zerolog" +) + +type Logger interface { + Debug() *zerolog.Event +} + +func regExMatch(pattern string, value string) ([]string, error) { + rxp, err := regexp.Compile(pattern) + if err != nil { + return nil, err + } + + matches := rxp.FindStringSubmatch(value) + if matches == nil { + return nil, nil + } + + return matches[1:], nil +} + +func ParseLine(logger Logger, pattern string, vars []string, tmpVars map[string]string, line string, ignore bool) (bool, error) { + if len(vars) > 0 { + return parseExtract(logger, pattern, vars, tmpVars, line) + } + + return parseMatchRegexp(pattern, tmpVars, line, ignore) +} + +func parseExtract(logger Logger, pattern string, vars []string, tmpVars map[string]string, line string) (bool, error) { + rxp, err := regExMatch(pattern, line) + if err != nil { + logger.Debug().Msgf("did not match expected line: %v", line) + } + + if rxp == nil { + return false, nil + } + + for i, v := range vars { + if i+1 > len(rxp) { + return false, errors.New("too few matches returned for rxp") + } + + tmpVars[v] = rxp[i] + } + return true, nil +} + +func parseMatchRegexp(pattern string, tmpVars map[string]string, line string, ignore bool) (bool, error) { + var re = regexp.MustCompile(`(?mi)` + pattern) + + groupNames := re.SubexpNames() + for _, match := range re.FindAllStringSubmatch(line, -1) { + for groupIdx, group := range match { + // if line should be ignored then lets return + if ignore { + return true, nil + } + + name := groupNames[groupIdx] + if name == "" { + name = "raw" + } + tmpVars[name] = group + } + } + + return true, nil +} diff --git a/internal/indexer/service.go b/internal/indexer/service.go index f39244a..c27ffae 100644 --- a/internal/indexer/service.go +++ b/internal/indexer/service.go @@ -4,6 +4,7 @@ package indexer import ( + "bytes" "context" "fmt" "io/fs" @@ -495,7 +496,10 @@ func (s *service) LoadIndexerDefinitions() error { } var d domain.IndexerDefinition - if err = yaml.Unmarshal(data, &d); err != nil { + dec := yaml.NewDecoder(bytes.NewReader(data)) + dec.KnownFields(true) + + if err = dec.Decode(&d); err != nil { s.log.Error().Stack().Err(err).Msgf("failed unmarshal file: %s", file) return errors.Wrap(err, "could not unmarshal file: %s", file) } @@ -552,13 +556,19 @@ func (s *service) LoadCustomIndexerDefinitions() error { } var d *domain.IndexerDefinitionCustom - if err = yaml.Unmarshal(data, &d); err != nil { + dec := yaml.NewDecoder(bytes.NewReader(data)) + // Do _not_ fail on unknown fields while parsing custom indexer + // definitions for better backwards compatibility. See discussion: + // https://github.com/autobrr/autobrr/pull/1257#issuecomment-1813821391 + dec.KnownFields(false) + + if err = dec.Decode(&d); err != nil { s.log.Error().Stack().Err(err).Msgf("failed unmarshal file: %s", file) return errors.Wrap(err, "could not unmarshal file: %s", file) } if d == nil { - s.log.Warn().Stack().Err(err).Msgf("skipping empty file: %s", file) + s.log.Warn().Msgf("skipping empty file: %s", file) continue } @@ -567,8 +577,10 @@ func (s *service) LoadCustomIndexerDefinitions() error { } // to prevent crashing from non-updated definitions lets skip - if d.Implementation == "irc" && d.IRC.Parse == nil { - s.log.Warn().Msgf("DEPRECATED: indexer definition version: %s", file) + if d.Implementation == "irc" && d.IRC != nil { + if d.IRC.Parse == nil { + s.log.Warn().Msgf("DEPRECATED: indexer definition version: %s", file) + } } s.definitions[d.Identifier] = *d.ToIndexerDefinition()