Commit Graph

50 Commits

Author SHA1 Message Date
Deluan 2a3cd08f20 Fix GO-S2114 security issue
See https://deepsource.io/directory/analyzers/go/issues/GO-S2114
2022-09-26 22:33:42 -04:00
Deluan afe1e4cfcd Fix lint for public credentials 2021-11-25 15:55:53 -05:00
Deluan 68a84ec832 Smarter cache of external info calls (last.fm / spotify) 2021-11-03 14:13:50 -04:00
Deluan 1823159b25 New config to disable all external integrations. Closes #102 2021-10-30 18:03:46 -04:00
Deluan fa3471f527 Simplify `resources` code, enabling any resource to be overridden (not just translations) 2021-10-28 10:25:25 -04:00
Deluan ab2912b4fa Only import playlists from configured paths in option `PlaylistsPath`. Closes #1181
Syntax is Ant-style Globs, with support for '**' (any subfolder). Default: '.:**' (or '.;**' in Windows`, meaning all folders and subfolders under `MusicFolder`
2021-09-12 21:07:51 -04:00
caiocotts 54f98497c2
Use wchar_t for TagLib filenames on Windows (#1310)
* Use wchar_t for tagLib filenames on Windows

* Make TagLib default extractor for all platforms.

* Organize imports

Co-authored-by: Deluan <deluan@navidrome.org>
2021-08-28 19:35:54 -04:00
Deluan 44e7502aef Log warning when artist has a MBID of Various Artists 2021-07-18 18:28:51 -04:00
Deluan a7509c9ff7 Send NowPlaying and Scrobbles to Last.fm 2021-06-23 11:01:58 -04:00
Deluan 1f997357a9 Expose Last.fm's ApiKey to UI 2021-06-21 18:14:01 -04:00
Deluan Quintão 66b74c81f1
Encrypt passwords in DB (#1187)
* Encode/Encrypt passwords in DB

* Only decrypts passwords if it is necessary

* Add tests for encryption functions
2021-06-18 18:38:38 -04:00
Deluan b65e76293a 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
2021-06-15 18:59:26 -04:00
Deluan Quintão 03efc48137
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
2021-06-13 12:46:36 -04:00
Deluan 4e0177ee53 Always update artist info, even if info is fresh 2021-05-27 20:32:26 -04:00
Deluan da30923a95 Replace default Login backgrounds with Navidrome's collection 2021-04-20 15:26:24 -04:00
Deluan 46d4c48d44 Login backgrounds from unsplash collection (#936) 2021-03-31 00:49:12 -04:00
Deluan 4b68260b83 Move constant to `consts.go` file 2021-03-24 10:21:31 -04:00
Deluan 28cdf1e693 Add a cached http client 2021-02-08 16:54:51 -05:00
Deluan cdae4347a6 Make ServerStart variable global 2020-12-21 11:39:38 -05:00
Deluan cfad35544b Add artistImageUrl available in getArtists endpoint
Also cache artist info in the DB for 1 hour
2020-11-01 14:37:29 -05:00
Deluan 04fd72e1fa Change avatar placeholder to new logo 2020-10-23 21:37:53 -04:00
Deluan 7a3bd935c2 Change default Opus transcoding format name to `opus`. Closes #521 2020-09-24 12:27:13 -04:00
Deluan 0403ec2a07 Use OS-independent path separators 2020-07-28 08:49:07 -04:00
Deluan 2a302de42f Set default session timeout to 24h (agan) 2020-07-03 22:08:32 -04:00
Deluan 94d88395e7 Add referential integrity to player and playlist tables 2020-06-10 18:07:10 -04:00
Deluan 888151728f Increase album art placeholder's resolution 2020-06-03 09:40:37 -04:00
Deluan 9e845cb116 Skip scanning folders if they contain a `.ndignore` file. Closes #297 2020-05-18 14:37:01 -04:00
Deluan 8d99c3ab92 Add validation tests to translations files 2020-05-04 19:54:10 -04:00
Deluan 1a9663d432 Move `static` to `resources`. Embed them at build time 2020-05-02 14:19:01 -04:00
Dimitri Herzog 716f4c5cf7 configuration for request throttling 2020-04-20 11:51:00 -04:00
Deluan 2d39a6df8d Remove duplicated fscache creation 2020-04-09 13:15:01 -04:00
Deluan 3f9ddb915e Use a custom authorization header, to avoid conflicts with proxies using basic auth (fixes #146) 2020-04-06 16:03:20 -04:00
Deluan 05ffb1acad Cache cover arts. closes #19 2020-04-05 22:02:06 -04:00
Deluan 1bc68c20fc Create and configure image cache 2020-04-05 22:02:06 -04:00
Deluan 75cd21da1f Add BaseURL configuration (fixes #103) 2020-04-03 19:05:38 -04:00
Deluan 559848299c Fix default mp3 encoding ffmpeg command 2020-04-03 00:26:41 -04:00
Deluan dcb3b3b5d1 fix: various album_artists <-> artists mismatches 2020-03-26 09:08:53 -04:00
Deluan b4c7cac964 refactor: moved magic strings to consts 2020-03-24 11:59:10 -04:00
Deluan c8cd755451 feat: use human readable sizes in cache size configuration 2020-03-18 20:39:10 -04:00
Deluan faac303eff feat: allow session timeout to be configurable. closes #101 2020-03-18 20:16:18 -04:00
Deluan 8ec78900c5 feat: transcoding and player datastores and configuration 2020-03-17 15:20:35 -04:00
Deluan 1d886156d5 feat: better SQLite3 configuration, to avoid DB contention 2020-02-28 15:06:31 -05:00
Deluan a412989f7e refactor: more stable transcoder, based on http.FileSystem 2020-02-19 14:53:35 -05:00
Deluan 2c146ea1fe feat: add option to auto-create admin user on first start-up
Useful for development purposes
2020-02-08 14:50:33 -05:00
Deluan 90a1e6d213 feat: add server name and version to all responses
This is inline with other Subsonic compatible servers, like funkwhale, madsonic, ampache...
2020-01-30 14:43:24 -05:00
Deluan 58a7879ba8 feat: first time admin user creation through the ui 2020-01-25 17:10:16 -05:00
Deluan bee55c04c8 Rename project to Navidrome 2020-01-23 19:44:08 -05:00
Deluan 50d89760e2 Use bindata to embed UI assets 2020-01-22 18:38:54 -05:00
Deluan 4b789e1364 Change key names for persisted properties 2020-01-21 09:27:38 -05:00
Deluan 9e5ffaaff4 Created InitialSetup method that handles all steps required for starting the server for the first time 2020-01-20 15:17:43 -05:00