Commit graph

297 commits

Author SHA1 Message Date
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
ze0s
7ec121a583
feat(indexers): add iPlay / RMT (#503) 2022-10-18 20:21:29 +02:00
ze0s
e2bb14afa4
feat(feeds): improve RSS (#502)
* feat(feeds): improve rss

* save last_run time
* remove interval check
* refactor feed job keys
* add rss test
* add max_age check

* feat(feeds): rss basic freeleech parsing

* feat(feeds): rss cookie support

* feat(feeds): db get max_age

* feat(feeds): update log messages

* feat(feeds): pass cookie to release for download

* feat(feeds): improve size parsing

* feat(feeds): improve datetime check
2022-10-18 18:51:10 +02:00
voltron4lyfe
71d0424b61
feat(clients): add Readarr support (#490)
* Add initial Readarr support

* Readarr working with MaM

* feat(clients): readarr add tests
2022-10-14 19:56:42 +02:00
ze0s
b7d2161fdb
feat(feeds): torznab parse category and freeleech (#492)
* feat(feeds): torznab parse freeleech

* feat(feeds): torznab parse categories
2022-10-14 18:01:04 +02:00
ze0s
924899d9f3
fix(indexers): SpeedApp download url (#495)
* fix(indexers): SpeedApp download url

* fix: torrenturl parse
2022-10-13 21:24:45 +02:00
xoaaC
2777f8c3cd
fix(indexers): improve animebytes parsing (#477)
* Fixed typo for "Aweomse Raw Novel"
Added one missing whitespace after "manga" tag for "Awesome Live Action Special" test
Changed regex expression to fix AB parsing

* Fixed regex to acknowledge "uploader" var in case there is no tags in the announce.
Added test line for announces without tags.

* chore: update rls package

* fix(release): don't overwrite season and episode
2022-10-13 20:35:48 +02:00
ze0s
2f3eb8d676
fix(indexers): EMP parse line patterns (#494) 2022-10-13 16:29:36 +02:00
paperclip-go-brr
72be86a34f
feat(feed): Configurable request timeout (#456)
* feat(feed): Add field for setting request timeout

* fix: missing type in interface

* feat: add postgres migration and column to base schema
2022-10-04 17:33:35 +02:00
Kyle Sanderson
47eaeaa635
feat(rss): implement relative URL support (#484)
* feat(rss): implement relative URL support

* bp had some words

* feat(gh): uplift golang to 1.19.1

* feat(docker): uplift golang to 1.19

* feat(docker): uplift to go 1.19

* cleanup

* chore: update go version in go.mod

* feat: refactor and add test feed process item

* unescape query params after join
* break out logic into separate method
* add tests
2022-10-04 12:59:29 +02:00
ze0s
6fc8015887
fix(clients): rtorrent use directory instead of base_path (#472)
fix(clients): rtorrent use directory instead of base_path
2022-09-23 19:42:47 +02:00
ze0s
8a782a5cab
fix(notifications): Notifiarr check for valid api key (#471)
fix(notifications): notifiarr check is enabled valid
2022-09-23 18:56:28 +02:00
ze0s
300418b9f1
feat(irc): improve list view (#466)
* feat(irc): add irc status examples

* feat(irc): add dropdown menu to list

* feat(irc): update heroicons and add expand button

* feat(irc): update heroicons and add expand button
2022-09-22 16:39:05 +02:00
ze0s
f5faf066a9
feat(filters): improve list view with filtering (#465) 2022-09-22 11:54:17 +02:00