advplyr
ef954ee68f
Remove downloads folder in metadata dir
2023-04-03 17:28:55 -05:00
advplyr
034b8956a2
Add:Batch embed metadata and queue system for metadata embedding #700
2023-04-02 16:13:18 -05:00
advplyr
1a3f0e332e
Fix download podcast episode that is not mp3
2023-04-01 16:31:04 -05:00
advplyr
9fdc8df8bc
Update:API endpoint for updating book media does not require an id for new series/authors #1540
2023-03-31 17:04:26 -05:00
advplyr
212b97fa20
Add:Parsing meta tags from podcast episode audio file #1488
2023-03-30 18:04:21 -05:00
advplyr
704fbaced8
Update:Download podcast episodes and embed meta tags #1488
2023-03-29 18:05:53 -05:00
advplyr
575a162f8b
Update:API endpoint for get all users to use minimal payload
2023-03-29 14:56:50 -05:00
advplyr
e248b6d8d8
Fix:Parsing id3 tags case insensitive
2023-03-25 16:09:41 -05:00
advplyr
a99257e758
Fix getAllLibraryItemsInProgress route
2023-03-25 14:07:35 -05:00
advplyr
c89d77dd06
Merge pull request #1627 from vincentscode/epub-reader
...
Save Progress for EPUBs
2023-03-24 18:01:13 -05:00
Vincent Schmandt
4d29ebd647
Save Locations locally, add separate progress tracker
2023-03-23 08:45:00 +01:00
advplyr
fd58df4729
Add:Abridged book detail, parse from audible, abridged book filter #1408
2023-03-22 18:05:43 -05:00
Vincent Schmandt
5078818295
Add MediaProgress fields
...
Add Table of Contents
2023-03-22 11:16:01 +01:00
advplyr
146093d81e
Add:Support for .awb AMR-WB audio file #1565
2023-03-17 16:52:07 -05:00
advplyr
11ccbf1913
Merge pull request #1609 from Linden-Ryuujin/feature/semicolonSeperators
...
Support for scanning semicolon seperated author and narator lists.
2023-03-16 17:06:22 -05:00
Linden Ryuujin
a4a334a18a
Support for scanning semicolon seperated author and narator lists.
2023-03-16 21:44:03 +00:00
advplyr
387a37e4da
Fix:Download podcast episodes that are not mp3 #1513
2023-03-15 18:04:31 -05:00
advplyr
ebad304aa9
Remove filePerms log
2023-03-14 15:38:53 -05:00
advplyr
8b557a0cb9
Fix:Private Patreon feed URLs getting encoded twice #1600
2023-03-14 15:38:19 -05:00
advplyr
40b808e73d
Update:Use title ID3 tag on tracks when setting chapters and prefer audio metadata setting is enabled #679
2023-03-13 17:56:16 -05:00
advplyr
a8b57a1ce9
Cleanup rebuild tracks/set chapters
2023-03-13 17:45:44 -05:00
advplyr
27b9d3b94f
Update:Add support for MKA audio files #1597
2023-03-12 15:52:49 -05:00
advplyr
db1ca08c2e
Update scanner logs to show inode value on path changes and missing items #1447
2023-03-05 15:38:21 -06:00
advplyr
557d3243c3
Fix:Series & collection rss feeds repeating first book #1531
2023-03-05 15:26:18 -06:00
advplyr
785942b94f
Update:Series books page fallback to sort by title/collapsed series name when no sequence #1503
2023-03-05 14:48:20 -06:00
advplyr
3df7caa838
Fix:OPF parser crash when no narrators #1578
2023-03-05 12:40:21 -06:00
advplyr
aef2c52630
Merge pull request #1581 from mfcar/improvePodcastEditing
...
Improve podcast editing
2023-03-05 12:28:12 -06:00
advplyr
dccad3055b
Remove library item listener from edit episode modal
2023-03-05 12:28:20 -06:00
advplyr
c629923a80
Merge pull request #1562 from mfcar/addNextScheduleInfo
...
Improve dates, times and schedule backup info
2023-03-05 11:44:59 -06:00
advplyr
022bf9d0ef
Show current episode download on init and download queue page updates
2023-03-05 10:35:34 -06:00
mfcar
61c759e0c4
Add tasks queue dropdown
2023-03-05 11:15:36 +00:00
mfcar
cfb3ce0c60
Merge branch 'master' into addDownloadQueue
2023-03-04 22:00:18 +00:00
mfcar
72396c5a98
Add Prev/Next buttons on podcast editing
2023-03-04 19:04:55 +00:00
mfcar
d8b6e09bc0
Merge branch 'master' into addNextScheduleInfo
2023-03-04 11:09:35 +00:00
advplyr
d95975cade
Fix:Series page progress filter #1577
2023-03-03 17:35:14 -06:00
advplyr
c847aea0a4
Merge pull request #1556 from Weldawadyathink/public_rss_feeds
...
Fix incorrect tags when blocking public feeds
2023-02-27 16:40:18 -06:00
mfcar
071444a9e7
Improve dates, times and schedule backup info
2023-02-27 18:04:26 +00:00
mfcar
34ac972130
Add download queue
2023-02-27 02:56:07 +00:00
advplyr
0d50d730d9
Update:Html sanitizer to allow br tag
2023-02-25 15:05:44 -06:00
Spenser Bushey
3a7fd0bcc9
Fix incorrect tags when blocking public feeds
2023-02-25 09:00:26 -08:00
advplyr
caacf461ab
Open rss feed metadataDetails optional
2023-02-25 08:53:09 -06:00
mfcar
0d3e6b1d0a
Add rss details configuration
2023-02-25 13:20:26 +00:00
advplyr
2db4dd6a40
Merge pull request #1539 from Linden-Ryuujin/feature/coverImage
...
Prefer cover images called cover
2023-02-23 17:55:05 -06:00
advplyr
f58e2b6dce
Update cover image set on first scan
2023-02-23 17:55:11 -06:00
mfcar
ad0edc6329
Fix merge conflicts and add language information on the feed rss
2023-02-23 00:33:04 +00:00
Linden Ryuujin
002fb7a35e
When setting the cover image prefer images called "cover", otherwise fallback to original behaviour of first in the list.
2023-02-23 00:09:05 +00:00
mfcar
cc62a20a5d
Merge branch 'master' into addSeasonInfo
...
# Conflicts:
# client/components/modals/podcast/NewModal.vue
2023-02-23 00:06:21 +00:00
mfcar
9a51c3be0f
Add dropdown to the episode type
2023-02-22 18:48:36 +00:00
mfcar
b1ee54522a
Add support to podcast type
2023-02-22 18:22:52 +00:00
mfcar
c14d13440f
Add explicit info
2023-02-22 12:48:12 +00:00
advplyr
5c250da388
Merge pull request #1518 from mfcar/addSizeStats
...
Add largest item stats
2023-02-20 17:41:20 -06:00
mfcar
08d7a9aa14
Add size stats
2023-02-19 21:39:28 +00:00
Dan Tong
956678c08c
Encode podcast url when downloading episode
2023-02-18 14:21:45 +13:00
advplyr
4039dc7968
Podcast episode download notification adding variables for mediaTags, podcastAuthor, podcastDescription, podcastGenres, episodeTitle, episodeSubtitle, episodeDescription
2023-02-15 15:57:04 -06:00
Philipp Rintz
e345c4cc9e
Correct the libraryTags variable
2023-02-15 00:00:34 +01:00
Philipp Rintz
a08cfa436e
Fix code formatting
2023-02-14 16:51:20 +01:00
Philipp Rintz
7207efb4da
Add library tags variable to podcast notifications
2023-02-14 16:41:58 +01:00
advplyr
23f2c8a251
Fix:Replacing item cover remove old covers case insensitive #1391
2023-02-11 15:56:18 -06:00
advplyr
dcfbed5f30
Update:Add inode value to log #1447
2023-02-11 15:39:34 -06:00
advplyr
8b5d05739f
Fix:Adding new podcast when folder already exists #1462
2023-02-11 15:25:54 -06:00
advplyr
5d40fdf277
Merge pull request #1487 from Nab0y/master
...
FantLab.ru BookFinder
2023-02-11 14:29:38 -06:00
advplyr
f35c96e118
FantLab minor refactor
2023-02-11 14:25:25 -06:00
advplyr
8f8d6f81ab
Fix:Upload API endpoint crashing on invalid request with no files #1473
2023-02-10 17:25:19 -06:00
advplyr
e195eec1c5
Fix:OPF parser supporting attributes on tags #1478
2023-02-10 17:22:23 -06:00
advplyr
33846e46fa
Fix:Handle podcast RSS feeds with iso-8859-1 encoding #1489
2023-02-10 17:07:25 -06:00
advplyr
2ad03bcb9a
Fix:Bad backup files and backing up playlists, feeds #1485
2023-02-10 15:33:42 -06:00
Dmitry
371cd3b2e5
Update server/providers/FantLab.js
...
Co-authored-by: advplyr <67830747+advplyr@users.noreply.github.com>
2023-02-09 23:09:44 +03:00
Dmitry Naboychenko
b9307143bd
FantLab match provider fixes after code review
2023-02-08 22:32:27 +03:00
Dmitry
36e44e902a
Merge branch 'advplyr:master' into master
2023-02-08 17:31:19 +03:00
gefan
ba07761de3
Revert "kill zombie processes to reduce memory usage"
...
This reverts commit 19e39f6321
.
2023-02-07 12:33:33 +08:00
Dmitry
3b7ce69327
Merge branch 'advplyr:master' into master
2023-02-07 00:25:45 +03:00
Dmitry Naboychenko
cf927f61a0
Add FantLab.ru Book Finder
2023-02-07 00:25:18 +03:00
gefan
61c32d99e7
scan media files in batches
2023-02-07 00:18:57 +08:00
gefan
19e39f6321
kill zombie processes to reduce memory usage
2023-02-07 00:18:48 +08:00
advplyr
f9e6655359
Update:API endpoint for syncing multiple local sessions. New API endpoint to get current user. Deprecate /me/sync-local-progress endpoint
2023-02-05 16:52:17 -06:00
advplyr
3383ec2046
Add logs to playback session manager
2023-02-04 13:23:13 -06:00
advplyr
b957e1a36b
Update:API endpoints for library and library item scan updated to POST requests
2023-02-03 17:50:42 -06:00
advplyr
d1b25da408
Merge pull request #1469 from yuuzhan/adding-tags-to-metadata.abs
...
Adding tags to metadata.abs
2023-02-02 17:19:30 -06:00
advplyr
08f765fa51
Update parsing and using tags from abmetadata file
2023-02-02 17:13:22 -06:00
advplyr
337cf90c4b
Add debug logs to playback sessions
2023-02-02 16:24:34 -06:00
yuuzhan
639b600570
Updated parseAndCheckForUpdates to pass in LibraryItem instead of Metadata Object
2023-02-02 12:47:12 -05:00
yuuzhan
7a751b8f91
Updated function parseAndCheckForUpdates to pass Library Item rather then just the metadata object
2023-02-02 12:46:22 -05:00
yuuzhan
68621e0c07
Update abmetadataGenerator.js
2023-02-02 12:43:48 -05:00
advplyr
5bde320ac7
Update:Remove X-Powered-By express response headers
2023-02-01 14:34:01 -06:00
advplyr
d8753aafb9
Fix:Series collapse series filter out empty sequences #1450
2023-01-31 15:53:04 -06:00
advplyr
ba5ad228cc
Merge pull request #1456 from jramer/master
...
Fixes m4b chapters only taken from first file.
2023-01-30 17:53:48 -06:00
advplyr
0203f9cc1b
Update server/objects/mediaTypes/Book.js
2023-01-30 17:50:50 -06:00
advplyr
4770be5a39
Update server/objects/mediaTypes/Book.js
2023-01-30 17:50:45 -06:00
Joakim Ramer
5d96b2cc6e
Logs correctly and simplifies for single audio file.
2023-01-30 12:56:22 +01:00
Joakim Ramer
72d0b097ab
Reverts change of file ending
2023-01-30 12:48:50 +01:00
Joakim Ramer
36d2957fb4
Adds check for duplicated chapter data
2023-01-30 12:46:41 +01:00
Joakim Ramer
80ef8ee890
Fixes m4b chapters only taken from first file.
2023-01-30 00:42:02 +01:00
Lars Kiesow
a65859f575
One Default Bookshelf View
...
This patch updates the default value of the home page bookshelf view so
that it is identical to the default library view. Having different
styles by default seems odd. I picked the non-wooden view as default
based on the recent discussion on Matrx/Discord that that one looks more
modern.
2023-01-28 23:17:31 +01:00
advplyr
8908aa7a82
Fix:Podcast RSS feeds update on new/updated episodes #1435
2023-01-28 14:58:10 -06:00
advplyr
f83dd29213
Update:syncLocalMediaProgress API response payload
2023-01-28 14:46:01 -06:00
advplyr
49279430fc
Add:Recommended book home page shelf
2023-01-27 17:59:06 -06:00
advplyr
9ebe4b55dd
Merge pull request #1431 from lkiesow/x-accel
...
Implement X-Accel Redirect
2023-01-23 17:27:23 -06:00
advplyr
f7a3dbf209
Fix:Embed metadata tool embeds cover image
2023-01-22 18:02:57 -06:00
advplyr
d900093976
Fix:Make m4b embed cover image
2023-01-22 18:00:35 -06:00
Lars Kiesow
08250e266e
Implement X-Accel Redirect
...
This patch implements [X-Accel](https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/ )
redirect headers as an optional way for offloading static file delivery
from Express to Nginx, which is far better optimized for static file
delivery.
This provides a really easy to configure way for getting a huge
performance boost over delivering all files through Audiobookshelf.
How it works
------------
The way this works is basically that Audiobookshelf gets an HTTP request
for delivering a static file (let's say an audiobook). It will first
check the user is authorized and then convert the API path to a local
file path.
Now, instead of reading and delivering the file, Audiobookshelf will
return just the HTTP header with an additional `X-Accel-Redirect`
pointing to the file location on the file syste.
This header is picked up by Nginx which will then deliver the file.
Configuration
-------------
The configuration for this is very simple. You need to run Nginx as
reverse proxy and it must have access to your Audiobookshelf data
folder.
You then configure Audiobookshelf to use X-Accel by setting
`USE_X_ACCEL=/protected`. The path is the internal redirect path used by
Nginx.
In the Nginx configuration you then configure this location and map it
to the storage area to serve like this:
```
location /protected/ {
internal;
alias /;
}
```
That's all.
Impact
------
I just did a very simple performance test, downloading a 1170620819
bytes large audiobook file from another machine on the same network
like this, using `time -p` to measure how log the process took:
```sh
URL='https://url to audiobook…'
for i in `seq 1 50`
do
echo "$i"
curl -s -o /dev/null "${URL}"
done
```
This sequential test with 50 iterations and without x-accel resulted in:
```
real 413.42
user 197.11
sys 82.04
```
That is an average download speed of about 1080 MBit/s.
With X-Accel enabled, serving the files through Nginx, the same test
yielded the following results:
```
real 200.37
user 86.95
sys 29.79
```
That is an average download speed of about 2229 MBit/s, more than
doubling the previous speed.
I have also run the same test with 4 parallel processes and 25 downloads
each. Without x-accel, that test resulted in:
```
real 364.89
user 273.09
sys 112.75
```
That is an average speed of about 2448 MBit/s.
With X-Accel enabled, the parallel test also shows a significant
speedup:
```
real 167.19
user 195.62
sys 78.61
```
That is an average speed of about 5342 MBit/s.
While doing that, I also peaked at the system load which was a bit lower
when using X-Accel. Even though the system was delivering far more data.
But I just looked at the `load1` values and did not build a proper test
for that. That means, I cant provide any definitive data.
Supported Media
---------------
The current implementation works for audio files and book covers. There
are other media files which would benefit from this mechanism like feed
covers or author pictures.
But that's something for a future developer ;-)
2023-01-23 00:02:27 +01:00