feat(feeds): add generic RSS support (#410)

* feat(feeds): add generic rss support

* feat(feeds/web): add generic rss support

* implement rss downloading

* gosum + mod

* re-add size from Custom field.

* implement uploader + category

* sync

* remove double assignment (+torznab)

* didn't save the rss file >.>

* cleanup

* fixfeeds): create rss indexer

* fix(feeds): stop feed

* feat(feeds): support nexusphp rss enclosure link

* feat(feeds): check size for custom size

* fix(feeds): race condition and only stop enabled feeds

* fix(feeds): unify indexer implementation badge

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
This commit is contained in:
ze0s 2022-08-20 00:34:46 +02:00 committed by GitHub
parent b607aef63e
commit b50688159e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 498 additions and 89 deletions

View file

@ -2,7 +2,7 @@ interface Feed {
id: number;
indexer: string;
name: string;
type: string;
type: FeedType;
enabled: boolean;
url: string;
interval: number;
@ -11,13 +11,15 @@ interface Feed {
updated_at: Date;
}
type FeedType = "TORZNAB" | "RSS";
interface FeedCreate {
indexer: string;
name: string;
type: string;
type: FeedType;
enabled: boolean;
url: string;
interval: number;
api_key: string;
api_key?: string;
indexer_id: number;
}

View file

@ -22,6 +22,7 @@ interface IndexerDefinition {
settings: IndexerSetting[];
irc: IndexerIRC;
torznab: IndexerTorznab;
rss: IndexerFeed;
parse: IndexerParse;
}
@ -53,6 +54,11 @@ interface IndexerTorznab {
settings: IndexerSetting[];
}
interface IndexerFeed {
minInterval: number;
settings: IndexerSetting[];
}
interface IndexerParse {
type: string;
lines: IndexerParseLines[];