Commit Graph
139 Commits
Author SHA1 Message Date
Tor Wingalen 48517a5a85 Use direct yt-dlp CLI with deterministic fallback handling 2026-05-15 20:47:25 +02:00
Tor Wingalen ca388a8fc8 Improve deterministic YouTube matching and playlist handling 2026-05-14 21:52:58 +02:00
Tor Wingalen c1fd39c377 Add Spotify OAuth and large playlist support 2026-05-14 19:40:27 +02:00
Tor Wingalen 0034b28f1a Improve large playlist stability and Spotify item endpoint 2026-05-14 19:07:53 +02:00
Tor Wingalen a1772c7670 Make cover art non-fatal and disable critical CSS inlining 2026-05-14 18:37:15 +02:00
Tor Wingalen 64160fe21a Ignore local test downloads 2026-05-14 18:20:58 +02:00
Tor Wingalen 20632c6f9f Add deterministic YouTube matching and fix download path guard 2026-05-14 18:18:37 +02:00
Tor Wingalen 4bb61f5ebe Add deterministic YouTube source scoring 2026-05-14 18:00:53 +02:00
Tor Matz Andrén d1b040a8b1 Allow frontend auth token bootstrap from URL 2026-05-14 17:36:44 +02:00
Tor Matz Andrén abc63c0cec Add public health endpoint for Docker healthcheck 2026-05-14 17:17:51 +02:00
Tor Matz Andrén 33f077ed1e Reduce Docker build context and harden runtime image 2026-05-14 17:07:22 +02:00
Tor Matz Andrén 5fb84af635 Harden queue execution and job lifecycle 2026-05-14 16:45:16 +02:00
Tor Matz Andrén f9e4cf5d07 Add HTTP security headers and CORS defaults 2026-05-14 16:38:42 +02:00
Tor Matz Andrén 41f5a80ffb Harden API validation throttling and error handling 2026-05-14 16:25:52 +02:00
Tor Matz Andrén 0f9b1f9477 Harden YouTube search and download handling 2026-05-14 16:15:20 +02:00
Tor Matz Andrén e4948d9554 Add basic hardening for auth and download paths 2026-05-14 16:08:54 +02:00
Raiper34 786eddef1c feat(frontend): add Spotify URL validation to download input 2026-05-03 22:14:39 +00:00
Raiper34 153f502546 feat: add YT_COOKIES_FILE support for Netscape cookies.txt
Previously, the only way to pass YouTube cookies was via the YT_COOKIES
env var, which was incorrectly documented as a raw cookie string
(name=value; ...) but internally mapped to yt-dlp's
--cookies-from-browser, which expects a browser name (e.g. chrome,
firefox). This made the feature non-functional as documented and
unusable in Docker environments where no browser is present.

This change introduces a second option, YT_COOKIES_FILE, which accepts
a path to a Netscape-format cookies.txt file and maps to yt-dlp's
--cookies flag. This is the recommended approach for Docker deployments,
where users can export cookies via a browser extension and bind mount
the file into the container. The file is only passed to yt-dlp if it
actually exists on disk, so the default path (./config/cookies.txt)
does not cause errors when no file is provided.

YT_COOKIES retains priority over YT_COOKIES_FILE if both are set.

README is updated to clarify the correct usage of both options,
fix the misleading cookie string instructions, add a dedicated
YouTube cookies section to the table of contents, and include the
cookies.txt bind mount in the Docker usage examples.

Resolves #40, resolves #48
2026-05-03 21:35:51 +00:00
legopitstopandGitHub 5747c879ed feat(gui): add webmanifest and icons
* Create site.webmanifest for SpootyFe

Add a web app manifest for SpootyFe with icons and theme colors.

* Add icons
2026-05-03 22:41:05 +02:00
Raiper34 32ab29b2e6 chore(release): v2.4.2 2026-04-18 11:08:31 +00:00
Raiper34 11d77a4213 fix(spotify): use data.next for playlist pagination instead of filtered track count
Fixes #52, Fixes #35
2026-04-18 11:07:00 +00:00
Raiper34 9c7791faa2 chore(release): v2.4.1 2026-02-07 22:25:58 +00:00
Raiper34 a14f5eab68 fix(docker): fix docker node version
fix docker node version to node v20.20.0
2026-02-07 22:25:25 +00:00
Raiper34 c3f5bcca13 chore(release): v2.4.0 2026-02-07 14:17:03 +00:00
Raiper34 bb44b43974 feat(files): add possibility to set the audio quality of downloaded files
it is possible now to se audio quality of files using environment variables (QUALITY)

close #39
2026-02-07 14:14:48 +00:00
Raiper34 4123238f6c fix(downloading): fix downloading songs from browser with special characters
fix downloading songs that contains special characters in name (cyrillic, local dialect...)

fix #41
2026-02-07 13:44:39 +00:00
Raiper34 eafd3340bd fix(downloadin): fix ejs runtime problem
fix ejs "No supported JavaScript runtime could be found." by updating nodejs to v20 and explicit
usage of `jsRuntime` param

fix #38
2026-02-07 13:28:21 +00:00
AutoUpdater 2b1fd9b905 chore(release): v2.3.4 2026-02-04 00:36:24 +00:00
AutoUpdater ef32347903 fix(ytdl): Upgrade ytdl package (automated) 2026-02-04 00:36:07 +00:00
AutoUpdater fbbb5f50a4 chore(release): v2.3.3 2026-01-30 00:38:11 +00:00
AutoUpdater cc552d1def fix(ytdl): Upgrade ytdl package (automated) 2026-01-30 00:37:55 +00:00
AutoUpdater b675a598a3 chore(release): v2.3.2 2026-01-26 00:35:37 +00:00
AutoUpdater 531730bc57 fix(ytdl): Upgrade ytdl package (automated) 2026-01-26 00:35:20 +00:00
AutoUpdater e276862539 chore(release): v2.3.1 2026-01-23 00:33:09 +00:00
AutoUpdater 08b83bf9de fix(ytdl): Upgrade ytdl package (automated) 2026-01-23 00:32:52 +00:00
Pucas01andGitHub 8162a2a21f docs(readme): change redirect URI
Changed URI to 127.0.0.1, used to be localhost as using localhost is not allowed anymore
2026-01-02 23:32:44 +01:00
Raiper34 6a896c9e58 chore(release): v2.3.0 2025-12-29 13:36:01 +00:00
SnowoballandGitHub 80d93977ab feat(track): allow download of individual track and fix album art
* allow download of individual track
* fix album art
close #29
2025-12-29 13:28:56 +00:00
Raiper34 a2ac579854 docs(readme): remove demo image and gif from readme 2025-11-16 23:10:25 +00:00
Raiper34 22cbf82f39 chore(release): v2.2.1 2025-11-15 15:06:59 +00:00
Raiper34 46d7c6699b fix(docker): add python3 dependency into docker image for yt download library 2025-11-15 15:06:28 +00:00
Raiper34 5795f7cc17 fix(downloading): migrate from @distube/ytdl-core to ytdlp-nodejs yt downloading library 2025-11-15 15:05:31 +00:00
Raiper34 4be3743f7b docs(readme): add docker versio badge into readme 2025-10-19 15:14:00 +00:00
Filip GulánandGitHub 285578ff1e docs(readme): fix yt cookies section heading 2025-10-17 21:30:03 +00:00
Raiper34 f2d1cd508a chore(release): v2.2.0 2025-10-17 20:55:46 +00:00
AlanCarrerandFilip Gulán 4c051782fd feat(youtube): use youtube cookies to bypass limitation & add timeout between each downloads 2025-10-17 20:54:44 +00:00
AlanCarrerandFilip Gulán de55e42fcd feat(spotify): integrate Spotify API for playlist metadata and track retrieval 2025-10-17 20:54:44 +00:00
Raiper34 24463aa477 chore(release): v2.1.1 2025-08-13 15:35:37 +00:00
Raiper34 b93993c6cf fix(track): fix track missing artist and title tags 2025-08-13 15:34:26 +00:00
Raiper34 5068fa8a4b style(gui): change gui primary to match spotify primary color 2025-08-13 15:33:30 +00:00