Commit graph

98 commits

Author SHA1 Message Date
dependabot[bot]
6e57b41529
build(deps): bump the golang group with 9 updates (#2083) 2025-06-01 13:38:50 +00:00
dependabot[bot]
fb7962cb01
build(deps): bump the golang group with 10 updates (#2059) 2025-05-01 14:49:51 +00:00
dependabot[bot]
b309df87b5
build(deps): bump the golang group across 1 directory with 14 updates (#2024) 2025-04-06 15:42:05 +00:00
dependabot[bot]
1dd3013795
build(deps): bump the golang group with 13 updates (#1981) 2025-03-02 17:03:29 +00:00
dependabot[bot]
c8fbb32d29
build(deps): bump the golang group with 12 updates (#1958) 2025-02-02 12:45:23 +00:00
Antoine
3f8bc0140c
feat(metrics): add metrics server (#1930)
* feat(metrics): add metrics server

* chore: update license headers

* feat(metrics): add optional basic auth

* feat(metrics): add go and process collectors

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
Co-authored-by: ze0s <ze0s@riseup.net>
2025-01-25 17:58:18 +01:00
ze0s
3e8ed10e81
build(deps): bump autobrr/go-rtorrent to v1.12.0 (#1925)
* library update to support old xmlrpc-c and new tinyxml2 implementation of rtorrent v0.15.0
2025-01-04 19:32:42 +01:00
dependabot[bot]
433c1248f4
build(deps): bump the golang group with 9 updates (#1915) 2025-01-01 17:50:46 +00:00
soup
43c28fc0c6
feat(auth): implement auth proxy support with OpenID Connect (#1853)
* feat(auth): implement oidc

* refactor(auth): centralize OIDC state cookie handling

* fix(web): resolve unused error variables in route handlers

* docs(readme): add OIDC authentication feature to list

* fix(auth): improve OIDC cookie handling for reverse proxy setups

The OIDC state cookie's Secure flag is now properly set when running behind a reverse proxy by checking both direct TLS and X-Forwarded-Proto header. This fixes authentication issues in common setups where:

- autobrr runs behind a reverse proxy that terminates HTTPS
- local development environments without TLS
- mixed protocol environments (internal HTTP, external HTTPS)

* fix: use crypt/random if argon2id fails

* feat(auth): show both login options when user exists in db

if user doesn't exist, e.g. canOnboard=true then we only show the OIDC button, since regular login makes no sense in that case

If user does not exist in db and the user wants to create a local user, OIDC needs to be disabled first

* feat(auth): improve OIDC provider initialization with discovery logging

* revert(issuer): do not remove trailing slash

* feat(auth): improve OIDC username resolution with additional claims

* fix(auth): handle OIDC issuer URLs with and without trailing slashes

When initializing the OIDC provider, automatically retry with/without trailing
slash if the first attempt fails.

- First attempts with original issuer URL
- If fails with trailing slash, retries without
- If fails without trailing slash, retries with

* feat(oidc): add gorilla sessions store for secure state management

Add gorilla sessions store to handle encrypted state cookies in OIDC flow,
while removing redundant session validation checks

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>

* fix(auth): prevent duplicate OIDC state cookies for authenticated sessions

Modify OIDC config handler to check for existing authenticated sessions
before setting state cookie. Still returns OIDC enabled status to maintain
UI state, but prevents unnecessary cookie creation for authenticated users.

* feat(oidc): use random secret for temporary state cookies

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>

* feat(auth): add rate limiting to OIDC endpoints

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>

* fix(auth): validate OIDC authorization code presence in callback

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>

* fix(auth): properly handle OIDC session errors

Improve error handling in OIDC login flow by properly handling cookie store
session errors. Return HTTP 500 if session cannot be retrieved instead of
silently continuing with potentially invalid state.

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>

* feat(auth): track and display authentication method for oidc and password logins

* fix: tests

* docs(readme): add environment variable section

* go mod tidy

* chore: log style and errors

---------

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
Co-authored-by: ze0s <ze0s@riseup.net>
2024-12-19 14:41:31 +01:00
dependabot[bot]
ac1974c8d5
build(deps): bump the golang group with 10 updates (#1856) 2024-12-01 20:25:23 +00:00
ze0s
beff1ee4af
build(deps): bump indirect cilium/ebpf to v0.16.0 (#1843)
chore(deps): update indirect cilium/ebpf to v0.16.0
2024-11-25 11:17:52 +01:00
Kyle Sanderson
b17e586d63
feat(runtime): Set GOMEMLIMIT from environment (#1821)
* feat(runtime): Set GOMEMLIMIT from environment

* feat: log memlimit err

* feat: go mod tidy

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2024-11-23 16:30:26 +01:00
dependabot[bot]
1e76f33e47
build(deps): bump the golang group with 2 updates (#1798) 2024-11-01 16:45:28 +00:00
ze0s
00326d2486
build(deps): bump autobrr/go-qbittorrent to v1.10.0 (#1760) 2024-10-07 23:44:35 +02:00
dependabot[bot]
5e6c4b16c5
build(deps): bump the golang group with 6 updates (#1748) 2024-10-01 13:48:01 +00:00
dependabot[bot]
cf2da14073
build(deps): bump the golang group across 1 directory with 3 updates (#1644)
Bumps the golang group with 3 updates in the / directory: [github.com/Masterminds/sprig/v3](https://github.com/Masterminds/sprig), [github.com/rs/cors](https://github.com/rs/cors) and [github.com/sasha-s/go-deadlock](https://github.com/sasha-s/go-deadlock).


Updates `github.com/Masterminds/sprig/v3` from 3.2.3 to 3.3.0
- [Release notes](https://github.com/Masterminds/sprig/releases)
- [Changelog](https://github.com/Masterminds/sprig/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Masterminds/sprig/compare/v3.2.3...v3.3.0)

Updates `github.com/rs/cors` from 1.11.0 to 1.11.1
- [Commits](https://github.com/rs/cors/compare/v1.11.0...v1.11.1)

Updates `github.com/sasha-s/go-deadlock` from 0.3.1 to 0.3.5
- [Release notes](https://github.com/sasha-s/go-deadlock/releases)
- [Commits](https://github.com/sasha-s/go-deadlock/compare/v0.3.1...v0.3.5)

---
updated-dependencies:
- dependency-name: github.com/Masterminds/sprig/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golang
- dependency-name: github.com/rs/cors
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: golang
- dependency-name: github.com/sasha-s/go-deadlock
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: golang
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 11:36:05 +02:00
Kyle Sanderson
982f7ddf68
refactor(wildcard): optimize and add caching (#1634)
* fix(wildcard): avoid excessive allocations every loop

* are you going to Scarborough Fair?

* ruby ruby ruby ruby

* ride on, little murphy

* shirley?

* to the moon

* reggie are you there?

* code 99

* my doctorate is in Art History

* helps to be consistent

* tidy

* slow and steady gets the clam

* oysters were better anyway

* DIAL TONE
2024-09-02 11:18:14 +02:00
Kyle Sanderson
f3c7946e52
chore(deps): update Go to 1.23 and Node to 20.17.0 (#1639)
* bump(deps): lift language versions

* Update Dockerfile

* ask your doctor

* chore: update go to 1.23

* fix: go mod version

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2024-09-01 17:10:18 +02:00
ze0s
0d53f7e5fc
feat(download-clients): rtorrent support Digest Auth (#1596)
* feat(download-clients): rtorrent support basic auth

* feat(download-client): implement new auth logic

* fix(download-client): tests store

* chore(deps): update go-rtorrent to v1.11.0
2024-08-28 12:21:56 +02:00
dependabot[bot]
b0d5844018
build(deps): bump the golang group across 1 directory with 9 updates (#1616) 2024-08-11 23:14:53 +00:00
dependabot[bot]
f472859cb0
build(deps): bump the golang group with 6 updates (#1566) 2024-06-01 18:15:42 +00:00
dependabot[bot]
f820060492
build(deps): bump the golang group with 6 updates (#1528) 2024-05-03 07:47:40 +00:00
s0up4200
56ef3a5402
feat(actions): qBittorrent add first-last piece priority (#1517)
* feat(actions): qBittorrent add first/last piece priority

* removed accidental change

* fix: scanrow order

* fix: spaces vs tabs

* bump(deps): upgrade go-qbittorrent to v1.9.0

* fix(test): add missing colon

* fix(database): sqlite remove duplicate
2024-04-18 14:47:36 +02:00
s0up4200
1b02add842
build(deps): bump rls to v0.5.12 (#1506) 2024-04-14 21:10:06 +02:00
dependabot[bot]
83f6d7864d
build(deps): bump the golang group with 4 updates (#1485) 2024-04-03 10:42:12 +00:00
dependabot[bot]
f6f6110ed5
build(deps): bump the golang group with 6 updates (#1447) 2024-03-05 13:10:59 +00:00
ze0s
8156c8d66e
chore(deps): upgrade to Go v1.22 and deps (#1423)
* chore(deps): upgrade go to v1.22 and deps

* chore(deps): upgrade workflow go to v1.22
2024-02-22 14:33:50 +01:00
dependabot[bot]
f021c61255
build(deps): bump the golang group with 4 updates (#1370) 2024-01-24 02:18:52 +00:00
dependabot[bot]
fb2638f2d8
build(deps): bump the golang group with 5 updates (#1333) 2024-01-01 15:03:22 +00:00
ze0s
57a91bb99a
feat(notifications): add Shoutrrr support (#1326) 2023-12-30 16:34:25 +01:00
soup
2a4fb7750b
feat(actions): deluge v2 add skip recheck (#1321)
* feat(actions): add skip recheck for deluge v2

* chore(deps): update go-deluge to v1.2.0
2023-12-28 16:59:17 +01:00
soup
c6122dbc41
feat(actions): qBittorrent add priority handling (#1315)
* feat(qbittorrent): add priority handling

* fix: check if torrent queueing is enabled

* fix: only check for torrent queueing if priority is set

* fix: improve tooltip message

* feat: enable torrent queueing if disabled

* change to SetPreferencesQueueingEnabled

* feat(actions): rename field

* chore: bump pkg go-qbittorrent to v1.8.0

* chore(deps): update go-qbittorrent to v1.8.1

* chore(deps): go mod tidy

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-12-25 22:39:31 +01:00
Rohit Vardam
1563ce5e9f
fix(filters): do not split commas inside valid Regexp (#1212)
* fix(filter): matchRegex

* fix(filter): matchRegex use new splitter
2023-12-25 15:45:50 +01:00
Shivaram Lingamneni
b2c32a421e
fix(irc): improve IRC handler management (#1269)
* fix some races in IRC handler management

* remove go 1.21 and slices package

* chore: update deps

* fix: use exp/slices pkg and client callbacks

* fix(irc): remove deadlock mutex from authenticate

* restore locking in authenticate()

* fix(irc): data races

* fix(irc): do not allow restart of disabled network

* fix(irc): disable restart btn if net disabled

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-12-12 20:29:43 +01:00
dependabot[bot]
df5fb37c9c
build(deps): bump the golang group with 6 updates (#1290) 2023-12-01 16:47:52 +00:00
Kyle Sanderson
fc63d46e71
feat(go): implement cpu quota detection (#1251)
* feat(go): implement quota detection

* go get go mod tidy

---------

Co-authored-by: soup <soup@r4tio.dev>
2023-11-14 20:35:09 +01:00
dependabot[bot]
5cf5d16050
build(deps): bump the golang group with 1 update (#1235) 2023-11-01 16:43:04 +00:00
ze0s
d5d1cecc1b
feat(clients): Transmission support seedtime and ratiolimit (#1211)
* feat(clients): Transmission seedtime ratiolimit

* feat(clients): update client pkg

* feat(clients): update client pkg test

* feat(actions): update transmission
2023-10-31 00:38:23 +01:00
Kyle Sanderson
9ddaea1aa2
build(deps): bump rls to v0.5.10 (#1226)
* chore(qbittorrent): bump deps

* chore(deps): update go dependencies

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-10-30 23:00:46 +01:00
Kyle Sanderson
92659bca5f
fix(filters): external webhooks improve defaults (#1227)
* fix(external actions): retry

* mods

* wrap in bufio
2023-10-30 22:18:43 +01:00
ze0s
282355c49a
chore(deps): update go-qbittorrent to v1.7.1 (#1217) 2023-10-27 17:38:35 +02:00
Steven Kreitzer
2080136669
feat(filters): external webhook retry on status codes (#1206)
* feat: external filter retry status codes

* chore: go mod tidy

* fix(database): migrations

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-10-27 17:37:57 +02:00
dependabot[bot]
edb04b959e
build(deps): bump the golang group with 3 updates (#1203) 2023-10-22 11:21:58 +00:00
ze0s
3ed44aff26
fix(clients): qBittorrent reject stalled reannounce (#1201)
fix(clients): qBit reannounce stalled rejection
2023-10-21 17:18:31 +02:00
dependabot[bot]
a20f40c2cd
build(deps): bump the golang group with 4 updates (#1160) 2023-10-01 13:33:21 +00:00
ze0s
32b8f57d9c
chore(deps): update go-qbittorrent to v1.3.4 (#1116) 2023-09-11 22:25:51 +02:00
ze0s
9eec6b3b68
build(deps): bump go-deluge to v1.1.0 (#1082) 2023-09-06 17:16:25 +02:00
dependabot[bot]
78b9916e9d
build(deps): bump the golang group with 1 update
Bumps the golang group with 1 update: [github.com/anacrolix/torrent](https://github.com/anacrolix/torrent).

- [Commits](https://github.com/anacrolix/torrent/compare/v1.52.4...v1.52.5)

---
updated-dependencies:
- dependency-name: github.com/anacrolix/torrent
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: golang
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-25 19:47:15 +00:00
Kyle Sanderson
01beb6bc00
chore(deps): bump go packages (#1039)
ci: bump golang manually.
2023-08-07 00:20:32 +02:00
Kyle Sanderson
daa4bf9a0f
chore(deps): update build and packages (#1009)
* chore: update golang deps

* bump node and golang

* update node

* tell that to mel gibson.

* build: update go version

* chore: update deps

* chore: go mod tidy

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-07-21 18:00:03 +02:00