Commit Graph

659 Commits

Author SHA1 Message Date
13c20e0cdd Add: generic function to ignor files 2025-02-22 12:28:51 -07:00
7919a8b581 Fix get podcast library items endpoint when not including a limit query param #4014 2025-02-20 17:40:54 -06:00
6290cfaeb1 Auto format 2025-02-18 17:19:06 -06:00
fd3d4f5fcf Merge pull request #3978 from sloped/fix/detect-http-https-upgrades
fix: allow upgrading HTTP to HTTPS for redirects
2025-02-18 17:18:36 -06:00
659164003f Clear LibraryItemsPodcastFilters count cache after podcast[Episode] is created or destroryed 2025-02-16 13:27:47 +02:00
de5d8650e8 Add profiling to podcast library filterdata queries 2025-02-16 12:47:23 +02:00
8f192b1b17 Add profiling to podcasts and podcast episodes page queries 2025-02-16 09:46:32 +02:00
21343b5aa0 Add count cache to libraryItemsPodcastQueries 2025-02-16 09:40:29 +02:00
a5508cdc4c Remove unnecessary 'distinct: true' from podcast episodes page query 2025-02-16 09:32:00 +02:00
bd4f48ec39 Add required: true to includes in podcast episodes page query 2025-02-16 09:29:57 +02:00
cb9fc3e0d1 Replace numEpisodesIncomplete subquery with cached user progress calculation 2025-02-16 09:22:06 +02:00
707533df8f Remove numEpisodes subquery from podcasst page query 2025-02-16 09:15:54 +02:00
2e48ec0dde Use libraryItem.title[IgnorePrefix] for sorting podcasts page query 2025-02-16 09:08:27 +02:00
f1e46a351b Separate feed query from podcasts page query 2025-02-16 09:05:54 +02:00
8ee5646d79 fix stringifySequelizeQuery and add tests 2025-02-15 23:57:27 +02:00
5ca12eee19 Fix count cache by stringify Symbols #3979 2025-02-13 18:07:59 -06:00
f460297daf fix: allow upgrading HTTP to HTTPS for redirects
Re: #3142 and #3658

When adding certain podcasts, the server encountered a redirect from an HTTP URL to an HTTPS domain, causing an error that was difficult for end users to diagnose without inspecting logs or HTML.

This issue arose due to SSRF security measures that blocked such redirects. Instead of failing in these cases, we now detect when the error is caused by an HTTP-to-HTTPS upgrade. If confirmed, we upgrade the initial URL to HTTPS and resend the request.

Since this change does not allow cross-protocol or cross-domain redirections, it remains secure while resolving most of the reported issues.

Affected podcasts that are now fixed:

- D&D is for Nerds
- The New Yorker: The Writer's Voice - New Fiction from The New Yorker
- Radiolab
2025-02-13 09:19:02 -06:00
a34813b3ab Fix server crash remove column name ambiguity #3966 2025-02-12 08:52:20 -06:00
a13143245b Improve page load queries on title, titleIgnorePrefix, and addedAt sort order 2025-02-08 12:29:23 +02:00
52bb28669a Add a profile utility function 2025-02-08 10:41:56 +02:00
3f7af8acfb Add Accept-Encoding header to getPodcastFeed()
This commit adds the Accept-Encoding header to getPodcastFeed() with
gzip, compress, and deflate support. This allows servers to send a
compressed response that'll be decompressed by axios transparently.

Audiobookshelf is currently using axios v0.27.2, which enables the
decompress option by default. The decompress feature supports gzip,
compress, and deflate algorithms (see axios/lib/adapters/http.js).
axios v0.27.2 does not add the Accept-Encoding header to requests
automatically, so that's the responsibility of the caller.
2025-02-05 23:12:58 -06:00
5e5a604d03 Fix name parser to not use "last, first" format when not using comma separators. Adds unit tests #3940 2025-02-05 17:25:31 -06:00
201e12ecc3 Update downloadFile to debug log percentage complete 2025-02-05 16:15:00 -06:00
558173e086 Update custom metadata provider results to sanitize html descriptions #3880 2025-01-26 10:51:18 -06:00
a4d0f95ecc Merge pull request #3880 from mikiher/rich-text-book-descriptionss
Support rich text book descriptions
2025-01-25 13:42:37 -06:00
d4ba8b9d9f Fix server crash on failed to extract epub image #3889 2025-01-24 17:24:37 -06:00
286185329d Support rich text book descriptions 2025-01-22 08:53:23 +02:00
28681d3783 Merge pull request #3732 from Timtam/allow-mrss-item-enclosures-for-podcasts
check for mrss item media:content when extracting item enclosures
2025-01-20 15:08:43 -06:00
54a4b09592 Update RSS feed to exclude empty tags, format duration, use CDATA 2025-01-20 13:57:56 -06:00
bdd8e5bb58 Merge remote-tracking branch 'remotes/upstream/master' into allow-mrss-item-enclosures-for-podcasts 2025-01-20 10:28:09 +01:00
1a67f57551 Update podcast downloads to fallback to download without tagging due to inaccurate rss feed enclosures #3837 2025-01-14 15:48:06 -06:00
64e9ac9d8f Fix merging embedded chapters for multi-track audiobooks giving incorrect chapter ids #3361
- Also trim chapter titles on probe (remove carriage return)
2025-01-12 09:56:48 -06:00
0f20ed101e Update podcast RSS parser to handle HTML not wrapped in CDATA #3778 2025-01-10 15:42:52 -06:00
02ecf7ccfe Fix catch exception on failed to parse comic metadata #3804 2025-01-08 16:53:56 -06:00
05ff5f1956 Merge pull request #3771 from sbyrx/master
Adds a configuration for podcast feed and episode download timeout
2025-01-08 14:10:20 -06:00
108eaba022 Migrate tools and collapse series. fix continue shelves. remove old objects 2025-01-05 14:09:03 -06:00
d5ce7b4939 Migrate to new library item in scanner 2025-01-05 12:05:01 -06:00
e64302f1d4 Merge branch 'advplyr:master' into master 2025-01-04 20:15:59 -05:00
fdbca4feb6 Merge pull request #3776 from mikiher/fix-ffmpeg-concat-file
Fix ffmpeg concat file escaping
2025-01-04 16:04:18 -06:00
6d52f88a96 Update controllers to use toOldJSON functions 2025-01-04 15:20:41 -06:00
d8823c8b1c Update podcasts to new library item model 2025-01-04 12:41:09 -06:00
69d1744496 Update podcasts to new library item model 2025-01-03 16:48:24 -06:00
18dfbdd983 Merge remote-tracking branch 'remotes/upstream/master' into allow-mrss-item-enclosures-for-podcasts 2025-01-02 17:10:09 +01:00
fe2ba083be Fix ffmpeg concat file escaping 2025-01-02 13:34:25 +02:00
0d8d0a650b Adds a configuration for podcast feed and episode download timeout 2025-01-01 19:41:19 +00:00
d811ec3806 Merge pull request #3714 from nichwall/zip_download_speedup
Change: no compression when downloading library item as zip file
2024-12-25 08:59:43 -06:00
94fdd99ab5 Fix wrong url used for SSRF filter in fileUtils 2024-12-24 15:07:11 -06:00
331c7c011c Support SSRF_REQUEST_FILTER_WHITELIST as a comma separated string of hostnames to pass through the ssrf request filter #3742 2024-12-23 17:18:08 -06:00
4d2241769e also check for mrss item enclosures when extracting items 2024-12-18 19:15:09 +01:00
63b3f22504 Trim podcast descriptions #3720 2024-12-17 17:44:18 -06:00