134 Commits

Author SHA1 Message Date
iPromKnight
a50b5071b3 key prefixes per collector (#172)
* Ensure the collectors manage sagas in their own keyspace, as we do not want overlap (they have the same correlation ids internally from the exchange)

* version bump
2024-03-26 11:56:14 +00:00
iPromKnight
d70cef1b86 addon fix (#170)
* addon fix

* version bump
2024-03-26 10:25:43 +00:00
iPromKnight
e1e718cd22 includes qbit collector fix (#169) 2024-03-26 10:17:04 +00:00
iPromKnight
c3e58e4234 Fix redis connection strings for consistency across languages. (#168)
* Fix redis connection strings across languages

* compose version bump
2024-03-26 09:26:35 +00:00
iPromKnight
9a831e92d0 Producer / Consumer / Collector rewrite (#160)
* Converted metadata service to redis

* move to postgres instead

* fix global usings

* [skip ci] optimize wolverine by prebuilding static types

* [skip ci] Stop indexing mac folder indexes

* [skip ci] producer, metadata and migrations

removed mongodb
added redis cache
imdb meta in postgres
Enable pgtrm
Create trigrams index
Add search meta postgres function

* [skip ci] get rid of node folder, replace mongo with redis in consumer

also wire up postgres metadata searches

* [skip ci] change mongo to redis in the addon

* [skip ci] jackettio to redis

* Rest of mongo removed...

* Cleaner rerunning of metadata - without conflicts

* Add akas import as well as basic metadata

* Include episodes file too

* cascade truncate pre-import

* reverse order to avoid cascadeing

* separate out clean to separate handler

* Switch producer to use metadata matching pre-preocessing dmm

* More work

* Still porting PTN

* PTN port, adding tests

* [skip ci] Codec tests

* [skip ci] Complete Collection handler tests

* [skip ci] container tests

* [skip ci] Convert handlers tests

* [skip ci] DateHandler tests

* [skip ci] Dual Audio matching tests

* [skip ci] episode code tests

* [skip ci] Extended handler tests

* [skip ci] group handler tests

* [skip ci] some broken stuff right now

* [skip ci] more ptn

* [skip ci] PTN now in a separate nuget package, rebased this on the redis changes - i need them.

* [skip ci] Wire up PTN port. Tired - will test tomorrow

* [skip ci] Needs a lot of work - too many titles being missed now

* cleaner. done?

* Handle the date in the imdb search

- add integer function to confirm its a valid integer
- use the input date as a range of -+1 year

* [skip ci] Start of collector service for RD

[skip ci] WIP

Implemented metadata saga, along with channels to process up to a maximum of 100 infohashes each time
The saga will rety for each infohas by requeuing up to three times, before just marking as complete for that infoHash - meaning no data will be updated in the db for that torrent.

[skip ci] Ready to test with queue publishing

Will provision a fanout exchange if it doesn't exist, and create and bind a queue to it. Listens to the queue with 50 prefetch count.
Still needs PTN rewrite bringing in to parse the filename response from real debrid, and extract season and episode numbers if the file is a tvshow

[skip ci] Add Debrid Collector Build Job

Debrid Collector ready for testing

New consumer, new collector, producer has meta lookup and anti porn measures

[skip ci] WIP - moving from wolverine to MassTransit.

 not happy that wolverine cannot effectively control saga concurrency. we need to really.

[skip ci] Producer and new Consumer moved to MassTransit

Just the debrid collector to go now, then to write the optional qbit collector.

Collector now switched to mass transit too

hide porn titles in logs, clean up cache name in redis for imdb titles

[skip ci] Allow control of queues

[skip ci] Update deployment

Remove old consumer, fix deployment files, fix dockerfiles for shared project import

fix base deployment

* Add collector missing env var

* edits to kick off builds

* Add optional qbit deployment which qbit collector will use

* Qbit collector done

* reorder compose, and bring both qbit and qbitcollector into the compose, with 0 replicas as default

* Clean up compose file

* Ensure debrid collector errors if no debrid api key
2024-03-25 23:32:28 +00:00
iPromKnight
79a6aa3cb0 Improve producer matching - Add tissue service
Tissue service will sanitize the existign database of ingested torrents by matching existing titles with new banned word lists. Now with added kleenex
2024-03-12 10:29:13 +00:00
iPromKnight
aeb83c19f8 Simplification of parsing in consumer
should speed up massively especially if imdbIds are found from mongodb
2024-03-11 10:56:04 +00:00
iPromKnight
5c310427b4 Fix nyaa category 2024-03-11 08:59:55 +00:00
iPromKnight
dda81ec5bf accidentally skipped build on last pr
tired..
2024-03-10 23:37:16 +00:00
iPromKnight
75ac89489e [skip ci] Final hotfix 2024-03-10 23:34:35 +00:00
iPromKnight
500dd0d725 patch type 2024-03-10 22:28:06 +00:00
iPromKnight
6f4bc10f5a Fix series parsing 2024-03-10 21:38:55 +00:00
iPromKnight
02150482df reduce cpu cycles in parsing in producer 2024-03-10 15:14:17 +00:00
iPromKnight
2e774058ff Few extra terms getting through 2024-03-10 14:54:25 +00:00
iPromKnight
ad04d323b4 remove log line of adult content 2024-03-10 13:54:35 +00:00
iPromKnight
e2b45e799d [skip ci] Remove Debug logged adult terms found 2024-03-10 13:49:51 +00:00
iPromKnight
6c03f79933 Complete 2024-03-10 13:48:27 +00:00
iPromKnight
320fccc8e8 [skip ci] More work on parsing - seasons to fix still and use banned words 2024-03-10 12:48:19 +00:00
iPromKnight
8d82a17876 re-disable services other than dmm while developing
re-enable

disable again - will squash dont worry

enable again

disable again
2024-03-10 12:48:19 +00:00
iPromKnight
f719520b3b [skip ci] Ignore all run profiles to prevent pat leaking
reenable these, testing only producer should build
2024-03-10 12:48:19 +00:00
iPromKnight
bacb50e060 [skip ci] remove extra package no longer in use 2024-03-10 12:48:19 +00:00
iPromKnight
6600fceb1a Wip Blacklisting dmm porn
Create adult text classifier ML Model

wip - starting to write PTN in c#

More work on season, show and movie parsing

Remove ML project
2024-03-10 12:48:16 +00:00
iPromKnight
856a34a8ef Wait isn't required. 2024-03-09 23:18:15 +00:00
iPromKnight
e48e968fb8 Add database migrations service 2024-03-09 19:52:17 +00:00
iPromKnight
61ec8d7ab5 [skip ci] bearer not basic 2024-03-09 17:46:33 +00:00
iPromKnight
17e092d830 Fix Trackers TTL
Also introduces the ability to reuse your PAT token. If its set, it'll be used on tracker calls.
2024-03-09 17:44:17 +00:00
purple_emily
79409915cf Run pre-commit 2024-03-08 14:34:53 +00:00
Gabisonfire
d54b5dbc33 New logo 2024-03-03 19:09:38 -05:00
iPromKnight
a609af66f9 change default retry window to be a larger delay
Lets not hammer them
2024-03-03 20:28:53 +00:00
iPromKnight
c3a281c39f retry polic and circuit breaker policy 2024-03-03 19:54:32 +00:00
iPromKnight
62decbf994 Ensure we throw
when torrentio/knightcrawler instances return invalid status codes on fetch requests for json payloads, pre-parsing of json, polly will catch in the policy wrapped resiliency handler
2024-03-03 19:30:06 +00:00
iPromKnight
c61e9e94e1 Rethrow so polly captures failures on requests. 2024-03-03 19:22:10 +00:00
iPromKnight
d8f48fcee9 Introduce a circuit breaker, also exit out of loop if mongo failures. 2024-03-03 16:19:56 +00:00
iPromKnight
4b3bb2b5bd hotfix continue, not break - add slight delay - log params 2024-03-03 04:10:14 +00:00
iPromKnight
95fa48c851 Woke up to see a discussion about torrentio scraping: powered by community
Was a little inspired. Now we have a database (self populating) of imdb id's - why shouldn't we actually have the ability to scrape any other instance of torrentio, or knightcrawler?

Also restructured the producer to be vertically sliced to make it easier to work with
Too much flicking back and forth between Jobs and Crawlers when configuring
2024-03-02 18:41:57 +00:00
iPromKnight
38d4e5d5ed Allow user control of threshold 2024-02-29 21:47:07 +00:00
iPromKnight
65b8fe588b Further enhance title matching by added fuse with a threshold of a 75% match 2024-02-29 21:39:31 +00:00
Gabisonfire
db1a266a87 Merge pull request #97 from Gabisonfire/fix/premiumize
Updated premiumize moch from upstream
2024-02-29 09:24:03 -05:00
iPromKnight
0f0298887c Change startup url to avoid conflict 2024-02-29 11:23:18 +00:00
iPromKnight
fcc4440a7d small hotfix to use fuzzy text lookups and actually utilise the compound index. 2024-02-29 11:23:18 +00:00
iPromKnight
d0346f29bf Add cleanup of initialize mongodb, ensure indexes are created for compound searching 2024-02-28 14:57:26 +00:00
iPromKnight
1b9a01c677 BREAKING: Cleanup RabbitMQ env vars, and Github Pat 2024-02-28 12:57:55 +00:00
iPromKnight
a25aef8f58 dont restart the metadata service when it completes, and exit if its a single run 2024-02-28 11:51:46 +00:00
iPromKnight
42f55318e4 change mongodb env var in addon - breaking 2024-02-28 10:16:34 +00:00
iPromKnight
acff67d7ba Cleanup the mongodb env - breaking change
Fixes the consumer tests
2024-02-28 10:14:20 +00:00
iPromKnight
9c8cbf6468 Plug in the new mongo imdb lookups into the consumer 2024-02-28 04:03:50 +00:00
iPromKnight
79d0ef7f4d Create service to populate Imdb data collection within mongo
We can use this collection as an alternative source to lookup imdb ids, which would be executed before name_to_imdb is called in the consumer.
2024-02-27 22:39:19 +00:00
Gabisonfire
6c4282b6de Adds Nyaa Crawler 2024-02-27 10:08:39 -05:00
Gabisonfire
c7cf84ae62 Updated premiumize moch from upstream 2024-02-27 09:22:50 -05:00
iPromKnight
49a6283f26 Fix DMM so that all pages are enumerated
Fixes #95 by switching to git trees instead of the content api.
2024-02-27 13:51:21 +00:00