59 Commits

Author SHA1 Message Date
Deluan
c48d3b3526
Replace gg.If with cmp.Or 2026-01-02 20:36:59 +00:00
Deluan
57b3e22067
Simplify default middlewares setup 2026-01-02 20:32:58 +00:00
Deluan
5824737dc9
Simplify RealIP middleware setup 2026-01-02 20:32:58 +00:00
Johannes Engl
74deddef91
Make server unix socket file permission configurable via flag UnixSocketPerm (#2763)
* feat(any): Add flag unixsocketperm with default 0017 - #2625

Signed-off-by: johannesengl <hello@johannesengl.com>

* feat(server): Update unix socket file perm based on config - #2625

Signed-off-by: johannesengl <hello@johannesengl.com>

* Fix default value of socket.

* Refactor unix socket file creation.

* Remove misplaced comment

---------

Signed-off-by: johannesengl <hello@johannesengl.com>
Co-authored-by: Caio Cotts <caio@cotts.com.br>
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:32:38 +00:00
Deluan
4ef7fd2e9c
Fix possible authentication bypass 2026-01-02 20:32:35 +00:00
Deluan
c816a012b0
Remove any previous UNIX socket file 2026-01-02 20:25:44 +00:00
Deluan
0688ce0d5d
Fix writeEvents race condition.
This required removing the compress middleware from the /events route.
2026-01-02 20:25:43 +00:00
Deluan
58a9ccf00b
Add support for listening on Unix socket.
For that to work, specify the config option `Address` with `unix:/path/to/socket/file`.

Closes #1477
2026-01-02 20:25:33 +00:00
Deluan
b6dfcae247
Some refactorings 2026-01-02 20:25:19 +00:00
Deluan
27773f8ab7
Add option to load TLS cert/key, and use HTTPS 2026-01-02 20:24:48 +00:00
Deluan
f911bdb1b4
Allow BaseURL to contain full server url, including scheme and host. Fix #2183 2026-01-02 20:23:40 +00:00
Deluan
04abdf4509
Initial work on Shares 2026-01-02 20:21:58 +00:00
Deluan
d4cc09f06c
Remove size from public image ID JWT 2026-01-02 20:21:16 +00:00
Deluan
373d139fe2
Add public endpoint to expose images 2026-01-02 20:21:16 +00:00
Deluan
e850665ebc
Serve artist placeholder directly, instead of using LastFM's CDN 2026-01-02 20:20:20 +00:00
Deluan
7028cc05f5
Compress more http content-types.
Also, some minor refactoring
2026-01-02 20:17:20 +00:00
Deluan
34bd983ef5
Shutdown gracefully, close DB connection 2026-01-02 20:16:00 +00:00
Kendall Garner
822c364645
Fix creating server (#1894) 2026-01-02 20:15:29 +00:00
Deluan
f72d8d148b
Fix GO-S2114 security issue
See https://deepsource.io/directory/analyzers/go/issues/GO-S2114
2026-01-02 20:14:54 +00:00
Brice Johnson
0bec8f35c4
Allowing 3rd party UIs to access x-total-count http header (#1470)
* Adding 'x-content-duratin' and 'x-total-count' to CORS exposed headers

* Moving cors setup to middlewares.go

* adding x-nd-authorization to exposed headers
2026-01-02 20:11:39 +00:00
Deluan
7cc3c4bbf7
Show in the logs how long it took to startup 2026-01-02 20:09:31 +00:00
Deluan
1e5b6a3c54
Small refactorings 2026-01-02 20:06:09 +00:00
Deluan
f468522c72
Implement Last.FM Desktop Auth flow endpoints 2026-01-02 20:05:04 +00:00
Steve Richter
fb53bba5ab
Initial Last.fm UI implementation 2026-01-02 20:05:04 +00:00
Deluan
31c46d0a69
Disable realip middleware when using the reverse proxy authentication feature
Should fix https://github.com/navidrome/navidrome/pull/1152#issuecomment-862306847
2026-01-02 20:03:20 +00:00
Deluan
8e32b56ea0
Only send events to clients who need it
- User events (star, rating, plays) only sent to same user
- Don't send to the client (browser window) that originated the event
2026-01-02 20:02:35 +00:00
Deluan
7fd15e12cd
Rename app package to nativeapi 2026-01-02 20:00:50 +00:00
Deluan Quintão
5be15bb98b
Refactor routing, changes API URLs (#1171)
* Make authentication part of the server, so it can be reused outside the Native API

This commit has broken tests after a rebase

* Serve frontend assets from `server`, and not from Native API

* Change Native API URL

* Fix auth tests

* Refactor server authentication

* Simplify authProvider, now subsonic token+salt comes from the server

* Don't send JWT token to UI when authenticated via Request Header

* Enable ReverseProxyWhitelist to be read from environment
2026-01-02 20:00:31 +00:00
Deluan
7b38e33b26
Show name of router in log 2026-01-02 19:31:11 +00:00
Deluan
3e56e834a4
Upgrade to go-chi 5 2026-01-02 19:31:07 +00:00
Deluan
181e8c347d
Fix UI loading redirections. Should fix #906 2026-01-02 19:23:04 +00:00
Josep Mª Domingo
0f6a167eb1
Move logger middleware to capture routing errors (ex: 405). (#877)
* Fix #836

* Remove requestLogger middleware from MountRouter
2026-01-02 19:23:03 +00:00
Deluan Quintão
165af5b850
Remove dependency of go-bindata (#818)
* Use new embed functionality for serving UI assets

* Use new embed functionality for serving resources. Remove dependency on go-bindata

* Remove Go 1.15
2026-01-02 19:22:04 +00:00
Deluan
10cf2372f8
Move project to Navidrome GitHub organization 2026-01-02 19:20:16 +00:00
Deluan
bd68dbd438
Add better process lifecycle management 2026-01-02 19:17:32 +00:00
Deluan
6dc21d0595 Check for Last.FM and Spotify configuration at startup 2020-10-21 17:10:06 -04:00
Deluan
fea5d23fc7 Add ffmpeg detection at start-up 2020-10-06 17:24:16 -04:00
Deluan
cd171c40cb Add secure middleware, with sensible values 2020-10-06 08:46:58 -04:00
Deluan
8dfc259857 Serve robots.txt from root (http://server/robots.txt) 2020-10-02 10:15:19 -04:00
Deluan
15a06fcd27 Removed support for Jamstash in dev mode. Not needed anymore :) 2020-08-15 23:11:31 -04:00
Deluan
d2e4cade62 Change duration config types 2020-07-02 17:53:51 -04:00
Dimitri Herzog
f1e1d3bc07 request throttling only for media group api 2020-04-21 08:39:14 -04:00
Deluan
694be54428 Replace math.Max with utils.MaxInt 2020-04-20 12:17:01 -04:00
Dimitri Herzog
716f4c5cf7 configuration for request throttling 2020-04-20 11:51:00 -04:00
Deluan
d81bf8a518 Update github.com/go-chi/cors 2020-04-13 10:50:18 -04:00
Deluan
3b6d0b3d15 Add a catchall route to redirect everything to app/index.html 2020-04-03 19:45:35 -04:00
Deluan
75cd21da1f Add BaseURL configuration (fixes #103) 2020-04-03 19:05:38 -04:00
Deluan
e23a290812 fix: logging of scanner startup 2020-03-21 14:20:22 -04:00
Deluan
e5e35516d7 fix: initialize mimetypes for tests 2020-02-04 20:44:54 -05:00
Deluan
0d64fb05c7 feat: disable scanner if ScanInterval is set to 0 2020-02-03 11:58:21 -05:00