Commit graph

49 commits

Author SHA1 Message Date
soup
c2fcd91da7
refactor(logs): improve log sanitization performance (#779)
* refactor log sanitization for better performance

* Fix token error, add mutex for safer concurrency

* serve sanitized version directly from memory

* further improvements

made it check for "module":"irc" before running the irc regex checks

* Revert "further improvements"

This reverts commit 260037c3a58e1e760613167d3e15136b313c0612.

* update irc regexes to handle special characters

- added prefixes to the irc patterns
- improved tests

* more improvements for irc regexes

* fixed errors

* another edge case bites the dust

* regex improvements

* lock to 1 worker if cpu cores is 2 or less

* removed unused code

* revert to single thread

Moved regex patterns and replacements into a separate array for easier maintenance and readability.

Optimized the regex patterns that share the same replacement string to avoid redundancy.

Modify SanitizeLogFile to accept io.Writer for direct output

* style

* only check relevant lines

- only check relevant lines
- dont break unless length=0

* revert breaking change

* handle api and auth cases

---------

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
2023-03-26 23:25:23 +02:00
Kyle Sanderson
0d6e23f278
chore(http): set log level to trace (#765) 2023-03-19 22:01:43 +01:00
soup
4ade1b0ecf
feat(logs): sanitize logfile on download (#767)
* initial commit

* handle tleech urls

* improved and simplified regex

* add sanitization status & loading anim for log dl

* removed unused imports

* improved regex

* fixed regex and added tests

* regex improvements and tests

* added unicode matching to saslRegex

* added missing baseurl

* swapped the css animator for a react component

the css version froze when served through a reverse proxy

* optimized regex compilation

---------

Co-authored-by: soup <soup@r4tio.cat>
2023-03-19 21:57:16 +01:00
ze0s
b21c01a7df
feat(logs): make log files downloadable (#706)
* feat(logs): show and download log files

* feat(logs): make logs settings dropdown

* feat(logs): minor cosmetic changes

* fix(logs): send empty response when lohpath not configured

* fix(logs): remove unused imports

* feat(logs): check if logs dir exists

* feat(logs): list log files in settings
2023-02-12 17:34:09 +01:00
ze0s
ac276868fb
feat(settings): make log level configurable from UI (#704)
* feat(settings): set log level

* fix: light theme colors

* fix: light theme colors size unit
2023-02-11 22:37:06 +01:00
ze0s
2917a7d42d
feat: show new updates in dashboard (#690)
* feat: show new update banner

* feat(http): add request logger

* refactor: updates checker

* feat: make update check optional

* fix: empty releases

* add toggle switch for update checks

* feat: toggle updates check from settings

* feat: toggle updates check from settings

* feat: check on toggle enabled

---------

Co-authored-by: soup <soup@r4tio.dev>
2023-02-05 18:44:11 +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
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
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
ze0s
e6c48a5228
feat(http): log invalid login attempts (#587) 2022-12-28 17:58:26 +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
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
ze0s
3a334121f7
feat(filters): support partial update (#409) 2022-08-15 15:54:34 +02:00
ze0s
fa20978d58
feat(api): add apikey support (#408)
* feat(api): add apikey support

* feat(web): api settings crud
2022-08-15 11:58:13 +02:00
Ludvig Lundgren
ebba72ec1f
feat(feeds): torznab add test button (#347) 2022-07-10 15:54:56 +02:00
Ludvig Lundgren
33e3691737
fix(indexers): delete and clean (#343) 2022-07-07 18:31:42 +02:00
Ludvig Lundgren
f9cf837486
fix(indexers): duplicates in list (#317)
* feat(indexers): refactor setup and updates

* feat(indexers): use definitions as non-pointer
2022-06-19 21:24:04 +02:00
Ludvig Lundgren
258754643d
feat(web): search releases (#302)
* feat(releases): search in ui

* refactor(releases): optimize query recent releases
2022-06-14 01:51:33 +02:00
Ludvig Lundgren
38addb99e6
feat(notifications): add telegram support (#299)
* feat(notifications): add telegram support

* feat(notifications): change list view

* refactor(notifications): overall setup

* feat(notifications): forms add telegram
2022-06-13 17:01:36 +02:00
stacksmash76
4d753b76ed
refactor(web): update to react 18 and other deps (#285)
* Started refactoring codebase for React 18.

* Migrated to react-router v6 fully

* Removed useless test setup along with relevant packages.

* Removed leftover console.log statement

* feat: use status forbidden for onboarding

* refactor(web): use react hook form on login

* fix: comply with r18 shenanigans

* chore: update packages
2022-06-10 19:31:46 +02:00
Ludvig Lundgren
91b094f4f4
feat(confg): reload on save and refactor logging (#275)
* feat(confg): reload on save

* refactor(logging): rework
2022-05-20 09:27:01 +02:00
Ludvig Lundgren
2903e7b493
fix(indexers-irc): load new values on update (#274)
* fix(indexers-irc): reload config on restart

* fix(indexers-irc): reload config

* fix: indexer add form
2022-05-17 09:35:08 +02:00
Ludvig Lundgren
bb62e724a1
feat: add torznab feed support (#246)
* feat(torznab): initial impl

* feat: torznab processing

* feat: torznab more scheduling

* feat: feeds web

* feat(feeds): create on indexer create

* feat(feeds): update migration

* feat(feeds): restart on update

* feat(feeds): set cron schedule

* feat(feeds): use basic empty state

* chore: remove duplicate migrations

* feat: parse release size from torznab

* chore: cleanup unused code
2022-04-25 12:58:54 +02:00
Ludvig Lundgren
2a3b5ce448
feat(http): add healthcheck endpoints liveness and readiness (#240)
* feat(http): add liveness and readiness endpoints

* feat(http): improve unhealthy msg
2022-04-12 18:19:07 +02:00
stacksmash76
1a4f3cf55d
feat: add ability to create an account via the webui (#223)
* feat: add ability to create an account via the webui without the need for autobrrctl

* refactor redundant code block.

* fix: early return and 0 value
2022-04-10 18:26:14 +02:00
Ludvig Lundgren
431742fd94
feat: add notifications (#216)
* feat: initial notifications support

* chore: update deps
2022-04-04 19:13:09 +02:00
Ludvig Lundgren
3185832708
feat: add postgres support (#215)
* feat: add postgres support and refactor

* feat: improve releases find

* fix: autobrrctl create user
2022-04-02 19:24:23 +02:00
Ludvig Lundgren
2d3ab67604
feat(web): redirect to login on expired cookie (#201)
* feat(web): redirect to login on expired cookie

* refactor: simplify auth wrapper
2022-03-26 19:46:16 +01:00
Ludvig Lundgren
bb9e51f9d3
feat: download clients skip tls verify option (#181) 2022-03-17 20:57:27 +01:00
Ludvig Lundgren
8bf43dc1e0
fix: no irc network created when adding a new indexer (#177) 2022-03-16 20:39:48 +01:00
Ludvig Lundgren
3b43ccba8a
feat: delete all releases from settings (#170) 2022-03-06 18:08:32 +01:00
Ludvig Lundgren
cb6cbb83d5
feat(filters): duplicate (#168) 2022-03-06 16:08:07 +01:00
Ludvig Lundgren
246e3ddc26
feat(web): releases list filtering (#136) 2022-02-19 20:00:48 +01:00
Ludvig Lundgren
26f558859a
fix: blank page loading filters (#107)
* fix(filters): load indexers separate

* feat: add ctx to filter related db methods
2022-02-03 21:58:41 +01:00
Ludvig Lundgren
2daeedbdc7
Feature: Support multi user per irc network (#78)
* feat: delete irc network in transaction

* feat: use compound key for irc handlers

* chore: update deps

* refactor: start network

* refactor: init irc handler

* indexers: update network name
2022-01-13 21:26:23 +01:00
Ludvig Lundgren
efa84fee8b
Feature: Improve config for http server (#67)
* feat: improve config for http server

* Feature: Support multiple action status per release (#69)

* feat: move release actions to separate table

* chore: update sqlite driver

* fix(indexers): btn api client (#71)

What:

*  Api key and torrentId in wrong order
*  Set hardcoded ID in jsonrpc request object
*  ParsetorrentId from url

Fixes #68

* feat: show irc network status in settings list

* feat: show irc channel status

* chore: go mod tidy

* feat: improve config for http server

* feat: add context to user repo

* feat: only set secure cookie if https
2022-01-09 14:41:48 +01:00
Ludvig Lundgren
f103dff221 feat: show irc network status in settings list 2022-01-08 21:18:38 +01:00
Ludvig Lundgren
b09796bf7e
Feature: Set and display version info (#63)
* chore: update packages

* feat: show version info

* build: remove ldflags override
2022-01-02 15:18:28 +01:00
Ludvig Lundgren
48155e5f82
fix: filter list toggle (#55) 2021-12-27 16:10:15 +01:00
Ludvig Lundgren
e1ef47e09a
fix: store filter actions (#54) 2021-12-27 15:14:39 +01:00
Ludvig Lundgren
b75c40f6a4
Feature: List releases (#52)
* feat: list releases

* feat: find releases and count
2021-12-25 21:44:52 +01:00
Ludvig Lundgren
c4d580eb03
Feature: Support multiline irc parsing (#39)
* feat: initial multiline support

* refactor: handle multiple indexers per network

* wip: setup indexer

* build: add docker compose for testing

* chore: remove temp mock indexers

* chore: update deps

* refactor: update and store network handler

* build: update test compose

* chore: minor cleanup
2021-12-21 21:15:42 +01:00
Ludvig Lundgren
7177e48c02
Feature: Save releases (#36)
* chore: tidy deps

* refactor: database migration

* refactor: store release

* refactor: save release

* chore: add packages

* feat(web): show stats and recent releases

* refactor: simply filter struct

* feat: add eventbus

* chore: cleanup logging

* chore: update packages
2021-11-24 23:18:12 +01:00
Ludvig Lundgren
09eb0b1716
Feature: Tail live logs (#27)
* chore: add new yarn.lock

* chore: add pkgs

* feat: push events via server-sent-events

* feat(web): tail live logs

* fix: update irc network

* fix: set baseurl

* fix: headers
2021-09-07 22:23:27 +02:00
Ludvig Lundgren
4d40d41628
Refactor irc client (#19)
* refactor: update http handlers

* feat: add trace log level

* refactir: irc handler

* refactor(definitions): add irc settings and invite cmd:

* feat: add dft values to inputs

* refactor: indexer irc forms

* refactor(definitions): fix nickserv.password var:

* feat: pre fill indexer name field

* refactor: handle stopping and updates
2021-08-29 23:23:02 +02:00
Ludvig Lundgren
5f69ae9380
feat: add secure flags to cookie (#17) 2021-08-22 15:31:20 +02:00
Ludvig Lundgren
40b855bf39
Feature: Auth (#4)
* feat(api): add auth

* feat(web): add auth and refactor

* refactor(web): baseurl

* feat: add autobrrctl cli for user creation

* build: move static assets

* refactor(web): auth guard and routing

* refactor: rename var

* fix: remove subrouter

* build: update default config
2021-08-14 14:19:21 +02:00
Ludvig Lundgren
a838d994a6 feat: add backend 2021-08-11 15:26:17 +02:00