Commit graph

419 commits

Author SHA1 Message Date
ze0s
e5b4ded725
feat(filters): add support for feed description (#922)
* feat(filters): match description

* feat(filters): support description

* chore: remove match logic for description

* fix: update rss tests
2023-05-13 19:33:18 +02:00
Kyle Sanderson
058627f4e5
fix(indexers): Hebits URL parsing (#928) 2023-05-13 19:31:24 +02:00
Kyle Sanderson
ac61334f93
fix(irc): restart offline network (#769)
fix(irc): implement restart for offline network
2023-05-07 22:01:21 +02:00
Kyle Sanderson
2ce82cc687
feat(config): allow config environment variables (#691)
* feat(config): allow config environment variables

* generate secure config default token

* fix: read env vars

* fix: go mod tidy

* fix: revert default port change

* fix: do not ignore default config values

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-05-07 21:57:52 +02:00
Yuchen Ying
fdc957c571
feat(notification): Telegram add support for topics in groups (#894)
* feat(notification): send Telegram messages to a specific topic of a group

* Convert settings.Topic to integer once and reuse it as part of the
telegramSender struct.

* feat(notifications): add migrations for topic

* fix(notifications): find null string

* fix(notifications): form initial values

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-05-07 17:30:07 +02:00
ze0s
01a69c7582
fix(feeds): process RSS on initial run (#918) 2023-05-07 15:55:04 +02:00
soup
cf61bcf672
fix(actions): trim tags categories and save path for qbittorrent (#916)
trim tags, categories and save path for qbit
2023-05-06 23:40:22 +02:00
ze0s
1abc260047
fix(downloadclients): Deluge v1 save path (#915)
fix(downloadclients): Deluge v1 fix save path
2023-05-06 22:56:10 +02:00
soup
a5d6da7373
feat(releases): improve error handling on torrent download (#880)
* feat/check-content-type-torrent-download

* check for text/html instead

* check for status codes above 308

* refactor

* make sure < 499 goes to content-type check

* fix content header check by accounting for charset

* retry on 404

* change to errors.New for 404

* make use of verbs

* handle http errors as cases

* check contentType with strings.Contains instead

* adjust message for unauthorized and forbidden

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-05-06 18:22:08 +02:00
ze0s
96e38e649a
feat(downloadclients): rtorrent improve basic auth handling (#914)
* feat: wrap rtorrent client with custom transport

* refactor: move to autobrr/go-rtorrent

* feat: wrap rtorrent client with custom transport

* refactor: move to autobrr/go-rtorrent

* feat(web): update forms
2023-05-06 18:16:34 +02:00
soup
8a1910843c
fix(filters): handle empty tag_match_logic by defaulting to ANY (#910)
* speculative fix for tags_match_logic if set to ANY

* add default tag match logic handling

* fixed test cases and rejection messages

* trim tags in match funcs

* add test for empty TagsMatchLogic
2023-05-06 16:11:34 +02:00
Hilo4321
282175c39f
fix(indexers): xspeeds update passkey help (#907)
* Update xspeeds.yaml

Update the help info line for the Passkey.

* chore: update xspeeds secret key help

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-05-06 16:07:25 +02:00
soup
d23f1f2bce
fix(indexers): xspeeds regex pattern for categories (#906)
fix xspeeds regex pattern
2023-05-03 20:51:47 +02:00
ze0s
1ca2677f9f
fix(actions): handle non download client actions (#903)
fix(actions): handle non download clients
2023-05-03 00:10:29 +02:00
ze0s
c1746dc7d6
fix(webhooks): increase timeout (#902)
* fix(webhooks): increase timeout

* feat: mockindexer add dummy webhook endpoint
2023-05-02 21:44:38 +02:00
ze0s
de4a6c7661
fix(filters): max downloads include pending with postgres (#901)
fix(filters): max downloads include pending with Postgres
2023-05-02 19:55:43 +02:00
ze0s
319bc2f200
fix(web): PWA asset and route handling (#898)
* fix(web): PWA asset and fallback route handling

* fix(web): strip baseurl

* fix(web): add back manifest.json

* fix(web): add back manifest.json

* fix(web): log file

* fix(web): do not trim baseurl

* fix(web): try different start_url

* fix(web): pwa with subfolder
2023-05-02 19:06:53 +02:00
Fabricio Silva
d085d894d4
fix(config): lxc container detection (#900)
fix(config): detection for lxc containers
2023-05-02 18:48:12 +02:00
ze0s
604c7896bd
chore: add LICENSE GPLv2-or-later (#897)
* chore: add LICENSE

* chore: add LICENSE to README
2023-05-01 16:21:59 +02:00
ze0s
83e9232b98
fix(auth): invalid session error (#892)
* chore: ignore dist dir

* fix(auth): speculative invalid session
2023-05-01 14:27:30 +02:00
Yuchen Ying
82a117c12b
fix(notifications): always verify Telegram certificate (#893) 2023-05-01 03:00:33 +02:00
ze0s
64900c4d56
fix(downloadclients): remove from filter actions on delete (#891)
fix(downloadclients): properly delete from filter actions
2023-05-01 01:18:46 +02:00
ze0s
82beb31767
feat(indexers): iAnon parse category and freeleech (#886)
* feat(indexers): iAnon parse category and freeleech

* feat(indexers): iAnon parse category and freeleech
2023-04-30 00:21:44 +02:00
ze0s
ef3445cbed
fix(releases): max downloads per hour (#883)
* fix(releases): max downloads per hour

* refactor: release processing

* compare apples to apples (#884)

* from rocketships back to apples

* Update internal/database/filter.go

* cast me to the

* keep your eye on the case

---------

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
2023-04-29 21:52:49 +02:00
Nelson Pecora
da5492febb
feat(notifications): add Pushover (#598)
* feat(notifications): add pushover

* add db migration

* fix lint error

* some small corrections

* fixed README

* added missing columns to postgres_migrate.go

* use token for user_key

* refactor(notifications): change priority to int

* fix: only test selected events

---------

Co-authored-by: soup <soup@r4tio.dev>
Co-authored-by: ze0s <ze0s@riseup.net>
2023-04-29 17:07:15 +02:00
Kyle Sanderson
1b8f2fce3c
fix(release): cleanup temporary torrent files (#839)
* fix(release): cleanup temporary files

* the other file

* backout revert
2023-04-27 21:43:20 +02:00
martylukyy
b0198bc2a3
fix(indexers): OPS new announce format (#862)
* fix ops parsing
extend regex capture group for torrentName var to contain releaseTags var
replace all – in announces with a - for torrentName var

* update ops yaml for new announces

* replace en-dashes with hyphens for OPS
add Sampler to releaseTypeMusic const
sort strings of releaseTypeMusic const alphabetically
shorten import in constants.ts

* replace en-dashes in pattern with . to cover any separator

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-04-26 20:31:21 +02:00
martylukyy
9e2e43477d
fix(indexers): TorrentNetwork settings crash (#879)
fix panic due to misspelling in definition
2023-04-24 12:59:50 +02:00
ze0s
956bccd69f
feat(releases): set freeleech percent 100 with freeleech bool (#872)
* feat(releases): set freeleech to freeleech percent 100

* fix(releases): check if freeleechpercent is gt 0
2023-04-23 20:54:39 +02:00
Joakim Olsen
35af06a535
feat(macros): add Category and Categories (#863)
Adding "Category", "Categories" filter variables

Add "Category" and "Categories" to available filter variables, ie available as {{ .Category }}.
2023-04-23 15:53:43 +02:00
ze0s
7f05dd1efd
fix(onboarding): could not create user (#848)
fix: onboarding not working
2023-04-17 20:56:17 +02:00
KaiserBh
e0aaa0bcab
fix(notifications): test handle unsupported type (#841)
* bugfix: nil pointer dereference

if agent variable is nil when the Send method is called, will crash.

* refactor: return early.

* refactor: idiomatic solution.

---------

Co-authored-by: KaiserBh <kaiserbh@proton.me>
2023-04-16 18:44:07 +02:00
ze0s
f3cfeed8cd
feat(indexers): test API from settings (#829)
* refactor(indexers): test api clients

* feat(indexers): test api connection

* fix(indexers): api client tests

* refactor: indexer api clients

* feat: add Toasts for indexer api tests

* fix: failing red tests
2023-04-15 23:34:27 +02:00
ze0s
fb9dcc23a0
feat(indexers): add iAnon (#838)
* feat(indexers): add iAnon

* fix: regex captures
2023-04-15 17:50:10 +02:00
ze0s
969a9e7025
fix(indexers): PolishSource downloads (#837)
* test: dump req and res for torrent download

* chore: remove req res dump
2023-04-14 21:15:32 +02:00
paperclip-go-brr
8487475e73
feat(indexers): add Tokyo Toshokan (#818)
* Add toktotoshokan.yaml definition

* Update tokyotoshokan.yaml
2023-04-13 18:09:24 +02:00
soup
81092cfe16
fix(indexers): OPS parsing (#832)
* fix/OPS parsing

* replaced special character with .
escaped / in case we ever switch regex flavour
altered a test line to account for empty releaseTags

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
2023-04-13 18:05:35 +02:00
Gustavo Machado
ef75b67b25
feat(filters): add match logic for tags and except tags (#810)
* feat(filters): add fields for tag and except tag matching logic

* refactor(filters): rearrange and simplify logic for containsAllMatch

---------

Co-authored-by: Gustavo Machado <me@gstv.dev>
2023-04-10 16:11:44 +02:00
soup
2534186b5f
feat(macros): add TorrentID and GroupID (#819)
* add TorrentID to list of supported macros

* added GroupID
2023-04-10 15:04:52 +02:00
martylukyy
169863dded
feat(logs): webhook sanitization (#809)
* feat: sanitize passwords from json payload

* add webhook sanitization

* update comments

Co-authored-by: soup <soup@r4tio.dev>

* sanitize RED apikeys from webhook payloads

* added an optional whitespace token between field name and data

---------

Co-authored-by: soup <soup@r4tio.dev>
2023-04-10 14:32:19 +02:00
KaiserBh
1cdbbe5bf3
refactor(web): migrate create-react-app to vite (#823)
* fix(build): dockerignore add exclusions

* fix: baseurl and build

* chore: removed react-app-env instead use vite

* chore: updated server and embedding static files.

* commented because conflict I believe, and not needed.

* docs: updated readme

* chore: updated json and added vite

* chore: import fix

* chore: updated yarn.lock and package json

* build: add empty dist to compile backend

* fix: use / as default baseurl

---------

Co-authored-by: KaiserBh <kaiserbh@proton.me>
Co-authored-by: ze0s <ze0s@riseup.net>
2023-04-10 14:28:24 +02:00
ze0s
33897b04a1
Revert #787 (#821)
Revert "refactor(web): migrate create-react-app to vite (#787)"

This reverts commit edae1bbf4b.
2023-04-07 19:08:42 +02:00
KaiserBh
edae1bbf4b
refactor(web): migrate create-react-app to vite (#787)
* removed react-app type instead use vite.

* removed index.html from public since vite uses it from root: read more: https://vitejs.dev/guide/#index-html-and-project-root

* yarn.lock update.

* added vite config file. With commented rollUp option if we want the build to be called build but using default stuff for now.

* updated tsconfig to use vite and include vite.config.ts

* changed package json build commands to use vite.

* for some reason there is an error in vite config when we put project as tsconfig.json.

* build.go updated to use the new dist folder.

* refactored as well updated to use dist and web.AssetHandler again.

* Fixed issue forcing the frontend to be reloaded for all routes to work if logged in fresh without reloading it will always go back to dashboard.

* updated it to use the new function; need to fix the Index for baseUrl I believe, if enabled it works except logs route will crash due to cors.

* refactored and default port to 7474, don't think we need the rollUpOptions.

* added tmp/ to ignore .

* init air.toml, for dev hot reloading both app and backend. https://github.com/cosmtrek/air run it using air but make sure it's in PATH

* updated the start command to build and watch for changes, works great with air.

* revert

* added proxy for vite config. To be used for dev.

* refactor: I think this should fix it, when logs route etc getting accessed usually it throws error but by getting rid of the catch-all it should work as intended, since web.RegisterHandler(r) will catch the unmatched ones.

* fix: baseurl and build

* fix(build): docker ignore !web/dist

* fix(build): dockerignore add exclusions

* docs: update README.md

* build: update postcss config

---------

Co-authored-by: KaiserBh <kaiserbh@proton.me>
Co-authored-by: ze0s <ze0s@riseup.net>
2023-04-07 16:04:10 +02:00
martylukyy
4cf251e2cf
feat(indexers): add TheDarkCommunity (#808)
* add TheDarkCommunity indexer

* add RSS as supported protocol
2023-04-02 22:36:42 +02:00
costaht
86725d804e
feat(indexers): add Locadora (#796)
* Adds Locadora

That file adds a new indexer to autobrr

* Update locadora.yml

* rename to locadora.yaml in order for autobrr to recognize the definition

* Adding NickServ authentication

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
2023-03-30 22:07:08 +02:00
soup
37261c9432
refactor(logs): use zerolog instead of log (#797)
fix(logs): use zerolog instead of log
2023-03-30 22:04:44 +02:00
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
metonym
5fed0921c5
feat(actions): add "don't start" option for rtorrent (#782) 2023-03-26 23:17:44 +02:00
KaiserBh
07b3569cde
enhancement(config): clarify logPath usage (#783)
Added clarity for logPath as people on windows uses backslashes which doesn't work.

Co-authored-by: KaiserBh <kaiserbh@proton.me>
2023-03-26 23:14:07 +02:00
Kyle Sanderson
b6062ffc60
fix(feeds): check settings before unmarshalling (#789) 2023-03-26 23:10:59 +02:00