Commit graph

310 commits

Author SHA1 Message Date
ze0s
08826db036
feat(indexers): improve RED and OPS artist parsing (#629)
* feat(indexers): improve RED and OPS artist parsing

* feat(indexers): deprecate lidarr red ops workaround

* feat(indexers): change artist and album field check

* seperator before tags and tags optional for red

* fix: update rejection msg

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
2023-01-08 15:06:04 +01:00
ze0s
df264b6f86
chore(indexers): remove TorrentDB (#626) 2023-01-06 22:57:17 +01:00
ze0s
409dc236ff
feat(indexers): add SkipTheCommericals (#625)
* feat(indexers): add SkipTheCommericals (STC)

* feat(indexers): stc use latest pattern

* feat(indexers): stc use correct pattern

* feat(indexers): stc remove unused vars
2023-01-06 22:03:47 +01:00
martylukyy
c57c6ce86f
fix(indexers): subsplease match batch (#624) 2023-01-06 20:16:03 +01:00
ze0s
3b66568aa8
feat(indexers): add BitSexy (#623)
* feat(indexers): add BitSexy

* feat(indexers): add additional test case

* feat(indexers): capture pretime var

* feat(indexers): simplify pattern
2023-01-06 19:10:15 +01:00
Kyle Sanderson
7dea04624b
feat(indexers): add ANT (#427)
* feat(indexers): add ANT

* chore: update to current spec

* fix: capture year
2023-01-06 15:34:24 +01:00
soup
d8ca9ae082
feat(indexers): add Aither (#588)
* feat(indexers): add Aither

* Changed freeleech variable

Changed from freeleech to freeleechPercent

* Added resolution and internal variables to aither

* Fixed Aither regex pattern

- Thank you @nuxencs for assisting with the regex pattern

* fix: second test case missing end bracket
2023-01-06 15:18:41 +01:00
soup
03118d02d8
feat(indexers): add PTN (#615)
* feat(indexers): add PTN

* missing source

* YAML not yml

* set nickserv required to false

* cleanup
2023-01-06 14:34:27 +01:00
soup
8d31437409
feat(indexers): add PixelHD (#614)
* feat(indexers): add pixelhd

* feat(indexers): add pixelhd

* set parse type to multi

* Changed variable from title to torrentName
2023-01-06 14:28:03 +01:00
martylukyy
b9e9b49821
fix(indexers): subsplease baseurl (#618) 2023-01-06 14:24:48 +01:00
ze0s
fd67a7b24e
feat(feeds): view latest RSS and Torznab feed (#609)
feat(feeds): view latest run
2023-01-02 23:00:11 +01:00
ze0s
84c7a4484e
feat(releases): improve log score parsing (#604)
* feat(releases): improve logscore parsing

* feat(releases): test case naming
2023-01-01 16:35:55 +01:00
ze0s
9fbd592adc
fix(releases): table sorting (#603)
fix(releases): data sorting
2023-01-01 16:35:21 +01:00
Kyle Sanderson
5da28a0918
fix(database): fix filter regression from clean-up (#599)
* fix(database): fix filter regression from clean-up

* rollback transaction commits

* fix(database): revert action count query
2022-12-31 12:27:42 +01:00
ze0s
6b1490726f
feat(http): improve invalid login handling (#597)
* feat(http): improve invalid login handling

* fix(http): do not log password
2022-12-31 01:04:41 +01:00
Nelson Pecora
9c16c7a4a1
feat(indexers): add DocsPedia.world (#594)
* feat(indexers): Add DocsPedia.world

* change yml to yaml
2022-12-31 00:36:43 +01:00
Kyle Sanderson
154b2d6578
feat(http/releases): report errors to end-users. (#596)
feat(http): report errors to end-users.
2022-12-31 00:35:44 +01:00
Nelson Pecora
95756377cb
feat(indexers): add Cathode-Ray Tube (CRT) (#593)
* added cathode-ray tube indexer

* enable TLS

* Fix test example

* rename yml to yaml
2022-12-31 00:25:16 +01:00
Kyle Sanderson
19b3899a5c
refactor(database): clean-up queries (#569)
* fix(database): build WHERE using squirrel

* flip LIKEs

* change sql.LevelReadCommitted

* feat(db): add missing commits

* implement single query for releases

* cleanup

* feat(releases): properly handle limit for Find

* feat(releases): make dynamic ILike helper

* feat(releases): check for empty ReleaseActionStatus

* add values as sql.NullX
* check if ID is non 0

* feat(releases): improve find
2022-12-30 23:53:45 +01:00
ze0s
e6c48a5228
feat(http): log invalid login attempts (#587) 2022-12-28 17:58:26 +01:00
soup
0c04c669c7
fix(indexers): bad nCore torrent URL (#586)
Fixed bad ncore URL
2022-12-28 14:57:57 +01:00
martylukyy
7c1e5087be
fix(indexers): fix AR and TS (GER) regex patterns (#582)
* fix(indexers): fix regex patterns

* fix TS (ger) regex for when there are no tags given
2022-12-28 14:54:36 +01:00
martylukyy
041ee4cebe
fix(indexers): TS regex (#579)
* fix(indexers): TS regex

TS got rid of the "id=" part in their announces, resulting in our pattern not matching anymore.
Adjusted our regex with capturing the ID after `/` instead of `id=`.
Tested this the new expression with 1180 announces of which all resulted in a match.

* fixed test

fixed test to match new regex
2022-12-24 18:42:05 +01:00
Kyle Sanderson
0f3ce7573e
fix(releases): improve load time by 47x (#565)
* fix(releases): improve load time by 47x

* fix(releases): optimize stats query

* remove the *

* change nil to actual 0

* feat(releases): flip recent to orderby id

* fix(stats): make postgres compatible

* return the * to COUNT for pgsql

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
Co-authored-by: ze0s <ze0s@riseup.net>
2022-12-16 11:43:09 -08:00
Kyle Sanderson
5260777b6b
feat(releases): implement keyword search (#564)
* feat(releases): implement reserved keyword search

* implement filter / hdr

* implement quote support

* implement wildcard for decimals

* feat(release): specify table name in map
2022-12-14 19:20:47 +01:00
ze0s
38795be9ea
feat(filters): smart episode (#563)
* feat(filters): initial smart episode

* feat(smart-episode): pseudo-logic

* feat(filters): check releases

* feat(filters): update logic

* feat(web): smart episode (#562)

* add frontend part for smart episode feature

* change description for smart episode help text

* fix wording

* feat(filters): smart-episode logic

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
Co-authored-by: xoaaC <35452459+xoaaC@users.noreply.github.com>
2022-12-14 19:07:04 +01:00
ze0s
45e03c10b6
feat(indexers): UHDBits support new format (#561) 2022-12-10 22:03:57 +01:00
ze0s
839eb9f3f3
feat(actions): simplify macro parsing (#560)
* refactor(action): parse macros

* feat(action): add ctx to arr clients and test
2022-12-10 21:48:19 +01:00
ze0s
29da2416ec
feat(clients): add support for qBittorrent 4.4.0+ (#558)
* refactor: move client to go-qbittorrent

* refactor: move client to go-qbittorrent

* feat(downloadclient): cache qbittorrent client

* feat(downloadclient): update qbit

* feat(downloadclient): client test and remove pkg qbit

* feat(downloadclient): update pkg qbit

* fix(release): method

* feat(release): make GetCachedClient concurrent safe

* feat(release): add additional tests for buildLegacyHost

* feat(release): remove branching

* chore: update pkg autobrr/go-qbittorrent to v.1.2.0
2022-12-10 19:25:04 +01:00
ze0s
6ad4abe296
fix(announce): parse torrentUrl (#557)
fix(announce): generate torrentUrl
2022-12-03 21:20:06 +01:00
ze0s
25a165b764
feat(indexers): add support for optional baseurl override (#551)
* feat(indexers): optional baseurl override

* feat(indexers): update baseUrl parsing

* refactor(indexers): BREAKING move parse to IRC struct

* Move Parse as part of IRC struct from Indexer
* Updated definitions
* Build torrentUrl in stages
* Use new url.JoinPath to build torrentUrl
* Update tests

* refactor(indexers): select option obj

* refactor(indexers): make backwards compatible
2022-12-03 15:40:45 +01:00
Kyle Sanderson
a93b54bbbc
fix(feeds): indexer identifier issues (#538)
* fix(torznab/rss): keep original name

* fix(feeds): get identifier via indexer join

* fix(feeds/web): remove identifier slugify
2022-11-17 18:50:40 +01:00
ze0s
dc42ca0042
feat(notifications): Notifiarr use auth header (#542) 2022-11-14 19:19:14 +01:00
TMD20
4b7e393ce9
fix(actions): watch dir check torrent suffix (#540)
Update run.go

Make conditional for generating random torrent name more specific
2022-11-14 19:18:08 +01:00
ze0s
51b0883786
fix(indexers): HUNO fix parsing (#541) 2022-11-14 18:45:08 +01:00
Gabe
46676f9066
fix(indexers): HUNO missing escapes on slashes (#534)
Update huno.yaml

Fixing some missing escapes
2022-11-12 13:32:30 +01:00
ze0s
14ecaa530e
feat(indexers): add HUNO (#533) 2022-11-11 14:01:35 +01:00
xoaaC
f811b80413
fix(indexers): GGn regex pattern (#516)
* Fixed regex to still match the announce if there are no flags in it.

* customize freeleech parsing from regex

* Fix match when there is no year given (instead of 0) for a release.
	Made capture group 4 lazy/optional/ungreedy.

Created a non-capturing group for the `:: NSFW! ::` section to exclude the seperators and the tag itself from the tags var.
	I think we should exclude a possible `:: NSFW! ::` section after the tags section from matching for 2 reasons:
	1. There is already an "adult" tag. Use it.
	2. The `:: NSFW! ::` may get truncated if the announce line is too long. Matching the tag against `adult` is more consistent.

Fix match when `:: NSFW! ::` section gets truncated because the announce line is too long.

Tested with a sample size of 554 announces of which 554 resulted in a match.

* fix(indexers): ggn change flags to releaseTags and freeleech
2022-11-10 10:35:59 +01:00
soup
b7c9674a01
fix(indexers): scenehd invite cmd (#532)
fix typo
2022-11-10 10:10:46 +01:00
xoaaC
d4cd5d8dac
fix(indexers): immortalseed regex (#531)
* fix(indexers): immortalseed regex

* change IRC port to 7000
set TLS to true
replace "IRCKEY" in placeholder and help test with "PASSKEY" for invite_command field.

* simplified regex
2022-11-10 10:09:53 +01:00
Kyle Sanderson
6295239985
fix(rss): ignore max_age for old feed items (#527)
Feed dates are not always initialized, which defaults (if present) to epoch on some feed items. When this happens the results can be unpredictable, and not expected for what users are intending for. As such to have sane defaults, we ignore the date if it's before April 1st 1970, because nothing really happened before this date.
2022-11-07 17:32:49 +01:00
Kyle Sanderson
d826399c24
fix(download_client): improve no-client error (#529) 2022-11-07 17:22:31 +01:00
ze0s
547b01a50d
feat(actions): watch dir rename file (#515) 2022-10-28 00:29:34 +02:00
ze0s
716784e7a6
fix(filters): max downloads per hour check (#514)
* fix(filters): sqlite max downloads per hour

* fix(filters): missing import
2022-10-27 23:13:06 +02:00
ze0s
4bf023d030
feat(irc): support optional SASL and NickServ auth (#511)
* feat(irc): support SASL and NickServ auth

* feat(irc): add missing fields

* feat(irc): support SASL and NickServ auth

* feat(irc): add missing fields

* feat(irc): add validation

* feat(indexers): unify and set required values

* feat(irc): add postgres migrations

* feat(irc): use nick as handlerkey

* feat(irc): use account for nickserv

* fix(irc): pg db migration
2022-10-27 22:25:58 +02:00
yanando
4ef0408f33
feat(indexers): Improve arr compatability for animebytes (#512)
Update animebytes.yaml

Place the year inside square brackets before the release tags. This makes sure that the arrs don't think the release year is part of the title.
2022-10-27 21:59:04 +02:00
ze0s
532df38cd4
fix(filters): except categories (#510)
fix(filters): except categories check
2022-10-20 17:39:08 +02:00
Kyle Sanderson
2d8f7aeb4e
feat(releases): retry failed downloads (#491)
* feat(download): implement parsing and retry

* feat: retry torrent file downloads

* refactor: error handling downloadtorrentfile

* feat: add tests for download torrent file

* build: add runs-on self-hosted

* build: add runs-on self-hosted
2022-10-19 21:52:31 +02:00
ze0s
5183f7683a
feat(filters): filtering for raw releaseTags (#506)
feat(filters): add releaseTags filtering
2022-10-18 23:52:36 +02:00
ze0s
dbabb26b83
feat(indexers): add Enthralled (#504) 2022-10-18 21:25:26 +02:00