[ISSUE]: 404 errors for author photos triggers crowdsec http-probing ban for new devices #2832

Closed
opened 2026-04-25 00:11:04 +02:00 by adam · 3 comments
Owner

Originally created by @iconoclasthero on GitHub (Jun 7, 2025).

What happened?

One of my users got a new phone and ended up getting her IP banned by my fairly stock CrowdSec config watching NGINX logs. This was discussed on Discord: https://discord.com/channels/942908292873723984/942914154254176257/1378468432143585330

From the logs and the CrowdSec Discord, what triggered this was the 404 errors resulting from the paucity of available author images that were generated upon first attempting to populate the client's app.

What did you expect to happen?

This totally caught me by surprise...I didn't expect my user to get banned.

Steps to reproduce the issue

  1. Set up CrowdSec to watch the NGINX logs for abs (/var/logs/nginx/abs-error.log; /var/logs/nginx/abs-access.log)
  2. Create new account
  3. Login from android client to generate 404 errors
  4. Look for ban: sudo cscli decisions list

Audiobookshelf version

v.2.23.0

How are you running audiobookshelf?

Docker

What OS is your Audiobookshelf server hosted from?

Linux

If the issue is being seen in the UI, what browsers are you seeing the problem on?

None

Logs

$ sudo cscli alerts inspect -d 9221

################################################################################################

 - ID           : 9221
 - Date         : 2025-05-31T15:41:18Z
 - Machine      : 
 - Simulation   : false
 - Remediation  : true
 - Reason       : crowdsecurity/http-probing
 - Events Count : 11
 - Scope:Value  : Ip:##.##.###.###
 - Country      : US
 - AS           : COMCAST-7922
 - Begin        : 2025-05-31 15:41:17.631594816 +0000 UTC
 - End          : 2025-05-31 15:41:18.116064984 +0000 UTC
 - UUID         : 1ff5fcd4-6dfc-4ef0-b91c-983772b5de88


 - Context  :
╭────────────┬──────────────────────────────────────────────────────────────╮
│     Key    │                             Value                            │
├────────────┼──────────────────────────────────────────────────────────────┤
│ method     │ GET                                                          │
│ status     │ 404                                                          │
│ target_uri │ /api/authors/af996c40-6ace-4b5a-9d9c-3845e041a2a3/image?ts=1 │
│            │ 696441005548                                                 │
│ target_uri │ /api/authors/937db2a5-4bbd-4628-afc2-2d76a8c4a75b/image?ts=1 │
│            │ 696440341150                                                 │
│ target_uri │ /api/authors/7714a0ee-1f4a-4917-823c-7346ca03578c/image?ts=1 │
│            │ 696442354553                                                 │
│ target_uri │ /api/authors/f1f8da07-ea28-4dd2-aa80-62fdad25c19a/image?ts=1 │
│            │ 696442523487                                                 │
│ target_uri │ /api/authors/9acc281b-9ab6-4c1c-b6d2-3b14946330e4/image?ts=1 │
│            │ 696442640114                                                 │
│ target_uri │ /api/authors/6e13113d-9680-47e0-8c46-1a2cc23bf8c6/image?ts=1 │
│            │ 696440560990                                                 │
│ target_uri │ /api/authors/2688f1c9-0556-4aae-bc15-cf04895f610d/image?ts=1 │
│            ��� 696442372413                                                 │
│ target_uri │ /api/authors/4a324dc2-a8ed-4b00-82c1-95c18c923017/image?ts=1 │
│            │ 696442053489                                                 │
│ target_uri │ /api/authors/5d17736a-3cbb-419c-8a9a-9e0e79d14c9f/image?ts=1 │
│            │ 696440785135                                                 │
│ target_uri │ /api/authors/374438cf-6277-49f5-a4a3-0d7bd5926ee5/image?ts=1 │
│            │ 696441259466                                                 │
│ target_uri │ /api/authors/9850ad70-20a9-4eef-99b2-01115ceafbc8/image?ts=1 │
│            │ 696440412380                                                 │
│ user_agent │ Mozilla/5.0 (Linux; Android 10; SM-G960U1                    │
│            │ Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like   │
│            │ Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile              │
│            │ Safari/537.36                                                │
╰────────────┴──────────────────────────────────────────────────────────────╯


###############################################################








[2025-05-31 11:29:29.965]  [Auth]             ERROR  Failed login attempt for username "problemuser" from ip ##.##.###.### (Invalid password)
[2025-05-31 11:33:30.135]  [ApiCacheManager]  DEBUG  user.afterUpdate: Clearing cache
[2025-05-31 11:34:48.514]  [Auth]             INFO   User "problemuser" logged in from ip ##.##.###.###
[2025-05-31 11:34:50.300]  [ApiCacheManager]  DEBUG  count: 0 size: 0
[2025-05-31 11:34:50.309]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"problemuser","url":"/libraries"}
[2025-05-31 11:34:50.683]  [ApiCacheManager]  DEBUG  count: 1 size: 12371
[2025-05-31 11:34:50.706]  [libraryFilters]   DEBUG  Filter data for 7d6cc2f0-66c7-4d53-be5b-0d034cbb1459 has not changed, returning cached data and updating cache time after 0.02s
[2025-05-31 11:34:50.712]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459?include=filterdata"}
[2025-05-31 11:34:50.759]  [SocketAuthority]  INFO   Socket Connected to /socket.io etp46LZ7SEUlLsCgAABX
[2025-05-31 11:34:50.824]  [ApiCacheManager]  DEBUG  count: 2 size: 367099
[2025-05-31 11:34:50.857]  [SocketAuthority]  DEBUG  User Online problemuser
[2025-05-31 11:34:51.058]  [LibraryItem]      DEBUG  Loaded 7 of 7 items for "Continue Listening/Reading" in 0.23s
[2025-05-31 11:34:51.075]  [LibraryItem]      DEBUG  Loaded 0 of 0 items for "Continue Series" in 0.02s
[2025-05-31 11:34:51.100]  [LibraryItem]      DEBUG  Loaded 10 of 91 items for "Recently Added" in 0.03s
[2025-05-31 11:34:51.116]  [LibraryItem]      DEBUG  Loaded 2 of 2 series for "Recent Series" in 0.02s
[2025-05-31 11:34:51.267]  [LibraryItem]      DEBUG  Loaded 10 of 2367 items for "Discover" in 0.15s
[2025-05-31 11:34:51.285]  [LibraryItem]      DEBUG  Loaded 1 of 1 items for "Listen/Read Again" in 0.02s
[2025-05-31 11:34:51.303]  [LibraryItem]      DEBUG  Loaded 10 of 84 authors for "Newest Authors" in 0.02s
[2025-05-31 11:34:51.303]  [LibraryItem]      DEBUG  Loaded 6 personalized shelves in 0.47s
[2025-05-31 11:34:51.304]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?minified=1&include=rssfeed,numEpisodesIncomplete"}
[2025-05-31 11:34:51.304]  [ApiCacheManager]  DEBUG  Caching with 1800000 ms TTL
[2025-05-31 11:35:08.091]  [SocketAuthority]  DEBUG  User Offline problemuser
[2025-05-31 11:35:08.092]  [SocketAuthority]  INFO   Socket etp46LZ7SEUlLsCgAABX disconnected from client "problemuser" after 17334ms (Reason: transport close)
[2025-05-31 11:37:05.497]  [ApiCacheManager]  DEBUG  count: 3 size: 463617
[2025-05-31 11:37:05.504]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"otheruser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459?include=filterdata"}
[2025-05-31 11:37:05.949]  [ApiCacheManager]  DEBUG  count: 4 size: 818345
[2025-05-31 11:37:05.985]  [LibraryItem]      DEBUG  Loaded 10 of 70 items for "Continue Listening/Reading" in 0.03s
[2025-05-31 11:37:06.577]  [LibraryItem]      DEBUG  Loaded 1 of 1 items for "Continue Series" in 0.59s
[2025-05-31 11:37:06.612]  [LibraryItem]      DEBUG  Loaded 10 of 91 items for "Recently Added" in 0.04s
[2025-05-31 11:37:06.636]  [LibraryItem]      DEBUG  Loaded 2 of 2 series for "Recent Series" in 0.02s
[2025-05-31 11:37:07.256]  [LibraryItem]      DEBUG  Loaded 10 of 1746 items for "Discover" in 0.62s
[2025-05-31 11:37:07.279]  [LibraryItem]      DEBUG  Loaded 10 of 628 items for "Listen/Read Again" in 0.02s
[2025-05-31 11:37:07.290]  [LibraryItem]      DEBUG  Loaded 10 of 84 authors for "Newest Authors" in 0.01s
[2025-05-31 11:37:07.290]  [LibraryItem]      DEBUG  Loaded 7 personalized shelves in 1.34s
[2025-05-31 11:37:07.291]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"otheruser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?include=rssfeed,numEpisodesIncomplete,share"}
[2025-05-31 11:37:07.291]  [ApiCacheManager]  DEBUG  Caching with 1800000 ms TTL
[2025-05-31 11:37:53.488]  [ApiCacheManager]  DEBUG  count: 5 size: 950964
[2025-05-31 11:37:53.655]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"otheruser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/search?q=defy&limit=3"}
[2025-05-31 11:37:54.786]  [ApiCacheManager]  DEBUG  count: 6 size: 980438
[2025-05-31 11:37:54.786]  [ApiCacheManager]  DEBUG  Cache hit: {"user":"otheruser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459?include=filterdata"}
[2025-05-31 11:37:54.937]  [ApiCacheManager]  DEBUG  count: 6 size: 980438
[2025-05-31 11:37:55.127]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"otheruser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/search?q=defying%20hitler"}
[2025-05-31 11:38:03.173]  [BookFinder]       DEBUG  Book Search: title: "198484184X", author: "", provider: audible
[2025-05-31 11:38:03.174]  [Audible]          DEBUG  ASIN url: https://api.audnex.us/books/198484184X
[2025-05-31 11:38:21.302]  [Auth]             INFO   User "problemuser" logged in from ip ##.##.###.###
[2025-05-31 11:38:21.816]  [ApiCacheManager]  DEBUG  count: 7 size: 1000204
[2025-05-31 11:38:21.816]  [ApiCacheManager]  DEBUG  Cache hit: {"user":"problemuser","url":"/libraries"}
[2025-05-31 11:38:21.974]  [ApiCacheManager]  DEBUG  count: 7 size: 1000204
[2025-05-31 11:38:21.975]  [ApiCacheManager]  DEBUG  Cache hit: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459?include=filterdata"}
[2025-05-31 11:38:21.982]  [SocketAuthority]  INFO   Socket Connected to /socket.io p3YynofT1z_ZJDW6AABZ
[2025-05-31 11:38:22.067]  [SocketAuthority]  DEBUG  User Online problemuser
[2025-05-31 11:38:22.088]  [ApiCacheManager]  DEBUG  count: 7 size: 1000204
[2025-05-31 11:38:22.089]  [ApiCacheManager]  DEBUG  Cache hit: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?minified=1&include=rssfeed,numEpisodesIncomplete"}
[2025-05-31 11:38:27.472]  [Book]             DEBUG  "Defying Hitler" changed keys: [ 'title', 'titleIgnorePrefix', 'description' ]
[2025-05-31 11:38:27.694]  [ApiCacheManager]  DEBUG  book.afterUpdate: Clearing cache
[2025-05-31 11:38:27.885]  [ApiCacheManager]  DEBUG  libraryItem.afterUpdate: Clearing cache
[2025-05-31 11:38:28.077]  [ApiCacheManager]  DEBUG  libraryItem.afterUpdate: Clearing cache
[2025-05-31 11:38:28.077]  [LibraryItem]      DEBUG  Saved metadata for "Defying Hitler" file to "/library/books/audiobooks/Thomas, Gordon; Lewis, Greg/Defying Hitler: The Germans Who Resisted Nazi Rule (2019)/metadata.json"
[2025-05-31 11:38:28.077]  [LibraryItemController] DEBUG  Updated library item media Defying Hitler
[2025-05-31 11:39:50.547]  [ApiCacheManager]  DEBUG  count: 0 size: 0
[2025-05-31 11:39:50.581]  [LibraryItem]      DEBUG  Loaded 7 of 7 items for "Continue Listening/Reading" in 0.03s
[2025-05-31 11:39:50.594]  [LibraryItem]      DEBUG  Loaded 0 of 0 items for "Continue Series" in 0.01s
[2025-05-31 11:39:50.613]  [LibraryItem]      DEBUG  Loaded 10 of 91 items for "Recently Added" in 0.02s
[2025-05-31 11:39:50.625]  [LibraryItem]      DEBUG  Loaded 2 of 2 series for "Recent Series" in 0.01s
[2025-05-31 11:39:50.745]  [LibraryItem]      DEBUG  Loaded 10 of 2367 items for "Discover" in 0.12s
[2025-05-31 11:39:50.757]  [LibraryItem]      DEBUG  Loaded 1 of 1 items for "Listen/Read Again" in 0.01s
[2025-05-31 11:39:50.767]  [LibraryItem]      DEBUG  Loaded 10 of 84 authors for "Newest Authors" in 0.01s
[2025-05-31 11:39:50.767]  [LibraryItem]      DEBUG  Loaded 6 personalized shelves in 0.22s
[2025-05-31 11:39:50.768]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?minified=1&include=rssfeed,numEpisodesIncomplete"}
[2025-05-31 11:39:50.768]  [ApiCacheManager]  DEBUG  Caching with 1800000 ms TTL
[2025-05-31 11:40:56.469]  [ApiCacheManager]  DEBUG  count: 1 size: 94872
[2025-05-31 11:40:56.469]  [ApiCacheManager]  DEBUG  Cache hit: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?minified=1&include=rssfeed,numEpisodesIncomplete"}
[2025-05-31 11:40:59.767]  [ApiCacheManager]  DEBUG  count: 1 size: 94872
[2025-05-31 11:40:59.788]  [LibraryItem]      DEBUG  Loaded 1 of 1 items for libary page in 0.02s
[2025-05-31 11:40:59.789]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/items?filter=authors.MTUxYTM0NDctM2VmYy00YzY0LThiZmMtOTJiNzI3YjdhMjBk&sort=addedAt&desc=1&limit=20&page=0&minified=1&include=rssfeed,numEpisodesIncomplete"}
[2025-05-31 11:41:07.768]  [ApiCacheManager]  DEBUG  count: 2 size: 96806
[2025-05-31 11:41:08.130]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/series?sort=name&desc=0&limit=20&page=0&minified=1&include=rssfeed,numEpisodesIncomplete"}
[2025-05-31 11:41:10.764]  [ApiCacheManager]  DEBUG  count: 3 size: 330146
[2025-05-31 11:41:11.196]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/collections?limit=20&page=0&minified=1&include=rssfeed,numEpisodesIncomplete"}
[2025-05-31 11:41:13.566]  [ApiCacheManager]  DEBUG  count: 4 size: 352359
[2025-05-31 11:41:13.855]  [ApiCacheManager]  DEBUG  Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/authors"}
[2025-05-31 11:41:19.963]  [ApiCacheManager]  DEBUG  count: 5 size: 1792017
[2025-05-31 11:41:19.964]  [ApiCacheManager]  DEBUG  Cache hit: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?minified=1&include=rssfeed,numEpisodesIncomplete"}
[2025-05-31 11:42:04.564]  [SocketAuthority]  DEBUG  User Offline problemuser





##############################################


e Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:21 -0400] "GET /api/authors/8b793a3d-026a-4f6c-93ce-de75032fb05b/image?ts=1696440736754 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:21 -0400] "GET /api/authors/d8c15285-5c02-4dab-8aa5-3b9f9874660c/image?ts=1696442387913 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:21 -0400] "GET /api/authors/3054e7fb-2bee-491a-a365-38e8e0f8687f/image?ts=1696442476538 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:21 -0400] "GET /api/authors/77e64383-7271-4e39-b204-42bafc200baa/image?ts=1696441332958 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/1785a03b-fade-4a4c-8e00-108b12f22fca/image?ts=1696441603767 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/de569f8c-0018-4b7d-b4b3-cfc6a76f8906/image?ts=1696441687847 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/71a9414a-f959-4eee-a499-c1e0a5c31287/image?ts=1696442222804 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/a69cc1b2-bc36-4e1d-9c85-76322a3d5b29/image?ts=1696441657652 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/e1fb8ea9-031e-4088-a160-57436c94f0fb/image?ts=1696441686965 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/44dc194a-6004-4681-a641-09f6de1eb357/image?ts=1696441938329 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/99d3c021-73ae-4c4b-9ead-cf32903cff96/image?ts=1696440543470 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36"
##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/a882a5fc-7640-4928-a7ba-d8db7b5a3fde/image?ts=1696440972660 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Bu

Additional Notes

From the CrowdSec Discord, this also happens with NextCloud:
https://discord.com/channels/921520481163673640/922593826986672178/1378512972686557264

and the suggestion was made that the number of 404 errors returned in such scenarios could be fixed to prevent triggering this http-probing ban: https://discord.com/channels/921520481163673640/922593826986672178/1378785541100802228

However, I wanted to post this here so that if someone else is having problems they can find the solution that worked for me suggested here: https://discord.com/channels/921520481163673640/922593826986672178/1380105164853088346

of

name: my/audiobookshelf-whitelist
description: "Whitelist events from audiobookshelf"
filter: "evt.Meta.service == 'http' && evt.Meta.log_type in ['http_access-log', 'http_error-log']"
whitelist:
  reason: "Audiobookshelf Whitelist"
  expression:
   - evt.Meta.http_status == '404' && evt.Meta.http_verb == 'GET' && evt.Meta.http_path matches '\\/api\\/authors\\/([^\\/]+)\\/image\\?ts=(\\d+)'

saved as PATH_TO_CROWDSEC_CONFIG/parsers/s02-enrich/audiobookshelf-whitelist.yaml

Originally created by @iconoclasthero on GitHub (Jun 7, 2025). ### What happened? One of my users got a new phone and ended up getting her IP banned by my fairly stock CrowdSec config watching NGINX logs. This was discussed on Discord: https://discord.com/channels/942908292873723984/942914154254176257/1378468432143585330 From the logs and the CrowdSec Discord, what triggered this was the 404 errors resulting from the paucity of available author images that were generated upon first attempting to populate the client's app. ### What did you expect to happen? This totally caught me by surprise...I didn't expect my user to get banned. ### Steps to reproduce the issue 1. Set up CrowdSec to watch the NGINX logs for abs (`/var/logs/nginx/abs-error.log; /var/logs/nginx/abs-access.log`) 2. Create new account 3. Login from android client to generate 404 errors 4. Look for ban: `sudo cscli decisions list` ### Audiobookshelf version v.2.23.0 ### How are you running audiobookshelf? Docker ### What OS is your Audiobookshelf server hosted from? Linux ### If the issue is being seen in the UI, what browsers are you seeing the problem on? None ### Logs ```shell $ sudo cscli alerts inspect -d 9221 ################################################################################################ - ID : 9221 - Date : 2025-05-31T15:41:18Z - Machine : - Simulation : false - Remediation : true - Reason : crowdsecurity/http-probing - Events Count : 11 - Scope:Value : Ip:##.##.###.### - Country : US - AS : COMCAST-7922 - Begin : 2025-05-31 15:41:17.631594816 +0000 UTC - End : 2025-05-31 15:41:18.116064984 +0000 UTC - UUID : 1ff5fcd4-6dfc-4ef0-b91c-983772b5de88 - Context : ╭────────────┬──────────────────────────────────────────────────────────────╮ │ Key │ Value │ ├────────────┼──────────────────────────────────────────────────────────────┤ │ method │ GET │ │ status │ 404 │ │ target_uri │ /api/authors/af996c40-6ace-4b5a-9d9c-3845e041a2a3/image?ts=1 │ │ │ 696441005548 │ │ target_uri │ /api/authors/937db2a5-4bbd-4628-afc2-2d76a8c4a75b/image?ts=1 │ │ │ 696440341150 │ │ target_uri │ /api/authors/7714a0ee-1f4a-4917-823c-7346ca03578c/image?ts=1 │ │ │ 696442354553 │ │ target_uri │ /api/authors/f1f8da07-ea28-4dd2-aa80-62fdad25c19a/image?ts=1 │ │ │ 696442523487 │ │ target_uri │ /api/authors/9acc281b-9ab6-4c1c-b6d2-3b14946330e4/image?ts=1 │ │ │ 696442640114 │ │ target_uri │ /api/authors/6e13113d-9680-47e0-8c46-1a2cc23bf8c6/image?ts=1 │ │ │ 696440560990 │ │ target_uri │ /api/authors/2688f1c9-0556-4aae-bc15-cf04895f610d/image?ts=1 │ │ ��� 696442372413 │ │ target_uri │ /api/authors/4a324dc2-a8ed-4b00-82c1-95c18c923017/image?ts=1 │ │ │ 696442053489 │ │ target_uri │ /api/authors/5d17736a-3cbb-419c-8a9a-9e0e79d14c9f/image?ts=1 │ │ │ 696440785135 │ │ target_uri │ /api/authors/374438cf-6277-49f5-a4a3-0d7bd5926ee5/image?ts=1 │ │ │ 696441259466 │ │ target_uri │ /api/authors/9850ad70-20a9-4eef-99b2-01115ceafbc8/image?ts=1 │ │ │ 696440412380 │ │ user_agent │ Mozilla/5.0 (Linux; Android 10; SM-G960U1 │ │ │ Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like │ │ │ Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile │ │ │ Safari/537.36 │ ╰────────────┴──────────────────────────────────────────────────────────────╯ ############################################################### [2025-05-31 11:29:29.965] [Auth] ERROR Failed login attempt for username "problemuser" from ip ##.##.###.### (Invalid password) [2025-05-31 11:33:30.135] [ApiCacheManager] DEBUG user.afterUpdate: Clearing cache [2025-05-31 11:34:48.514] [Auth] INFO User "problemuser" logged in from ip ##.##.###.### [2025-05-31 11:34:50.300] [ApiCacheManager] DEBUG count: 0 size: 0 [2025-05-31 11:34:50.309] [ApiCacheManager] DEBUG Cache miss: {"user":"problemuser","url":"/libraries"} [2025-05-31 11:34:50.683] [ApiCacheManager] DEBUG count: 1 size: 12371 [2025-05-31 11:34:50.706] [libraryFilters] DEBUG Filter data for 7d6cc2f0-66c7-4d53-be5b-0d034cbb1459 has not changed, returning cached data and updating cache time after 0.02s [2025-05-31 11:34:50.712] [ApiCacheManager] DEBUG Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459?include=filterdata"} [2025-05-31 11:34:50.759] [SocketAuthority] INFO Socket Connected to /socket.io etp46LZ7SEUlLsCgAABX [2025-05-31 11:34:50.824] [ApiCacheManager] DEBUG count: 2 size: 367099 [2025-05-31 11:34:50.857] [SocketAuthority] DEBUG User Online problemuser [2025-05-31 11:34:51.058] [LibraryItem] DEBUG Loaded 7 of 7 items for "Continue Listening/Reading" in 0.23s [2025-05-31 11:34:51.075] [LibraryItem] DEBUG Loaded 0 of 0 items for "Continue Series" in 0.02s [2025-05-31 11:34:51.100] [LibraryItem] DEBUG Loaded 10 of 91 items for "Recently Added" in 0.03s [2025-05-31 11:34:51.116] [LibraryItem] DEBUG Loaded 2 of 2 series for "Recent Series" in 0.02s [2025-05-31 11:34:51.267] [LibraryItem] DEBUG Loaded 10 of 2367 items for "Discover" in 0.15s [2025-05-31 11:34:51.285] [LibraryItem] DEBUG Loaded 1 of 1 items for "Listen/Read Again" in 0.02s [2025-05-31 11:34:51.303] [LibraryItem] DEBUG Loaded 10 of 84 authors for "Newest Authors" in 0.02s [2025-05-31 11:34:51.303] [LibraryItem] DEBUG Loaded 6 personalized shelves in 0.47s [2025-05-31 11:34:51.304] [ApiCacheManager] DEBUG Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?minified=1&include=rssfeed,numEpisodesIncomplete"} [2025-05-31 11:34:51.304] [ApiCacheManager] DEBUG Caching with 1800000 ms TTL [2025-05-31 11:35:08.091] [SocketAuthority] DEBUG User Offline problemuser [2025-05-31 11:35:08.092] [SocketAuthority] INFO Socket etp46LZ7SEUlLsCgAABX disconnected from client "problemuser" after 17334ms (Reason: transport close) [2025-05-31 11:37:05.497] [ApiCacheManager] DEBUG count: 3 size: 463617 [2025-05-31 11:37:05.504] [ApiCacheManager] DEBUG Cache miss: {"user":"otheruser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459?include=filterdata"} [2025-05-31 11:37:05.949] [ApiCacheManager] DEBUG count: 4 size: 818345 [2025-05-31 11:37:05.985] [LibraryItem] DEBUG Loaded 10 of 70 items for "Continue Listening/Reading" in 0.03s [2025-05-31 11:37:06.577] [LibraryItem] DEBUG Loaded 1 of 1 items for "Continue Series" in 0.59s [2025-05-31 11:37:06.612] [LibraryItem] DEBUG Loaded 10 of 91 items for "Recently Added" in 0.04s [2025-05-31 11:37:06.636] [LibraryItem] DEBUG Loaded 2 of 2 series for "Recent Series" in 0.02s [2025-05-31 11:37:07.256] [LibraryItem] DEBUG Loaded 10 of 1746 items for "Discover" in 0.62s [2025-05-31 11:37:07.279] [LibraryItem] DEBUG Loaded 10 of 628 items for "Listen/Read Again" in 0.02s [2025-05-31 11:37:07.290] [LibraryItem] DEBUG Loaded 10 of 84 authors for "Newest Authors" in 0.01s [2025-05-31 11:37:07.290] [LibraryItem] DEBUG Loaded 7 personalized shelves in 1.34s [2025-05-31 11:37:07.291] [ApiCacheManager] DEBUG Cache miss: {"user":"otheruser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?include=rssfeed,numEpisodesIncomplete,share"} [2025-05-31 11:37:07.291] [ApiCacheManager] DEBUG Caching with 1800000 ms TTL [2025-05-31 11:37:53.488] [ApiCacheManager] DEBUG count: 5 size: 950964 [2025-05-31 11:37:53.655] [ApiCacheManager] DEBUG Cache miss: {"user":"otheruser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/search?q=defy&limit=3"} [2025-05-31 11:37:54.786] [ApiCacheManager] DEBUG count: 6 size: 980438 [2025-05-31 11:37:54.786] [ApiCacheManager] DEBUG Cache hit: {"user":"otheruser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459?include=filterdata"} [2025-05-31 11:37:54.937] [ApiCacheManager] DEBUG count: 6 size: 980438 [2025-05-31 11:37:55.127] [ApiCacheManager] DEBUG Cache miss: {"user":"otheruser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/search?q=defying%20hitler"} [2025-05-31 11:38:03.173] [BookFinder] DEBUG Book Search: title: "198484184X", author: "", provider: audible [2025-05-31 11:38:03.174] [Audible] DEBUG ASIN url: https://api.audnex.us/books/198484184X [2025-05-31 11:38:21.302] [Auth] INFO User "problemuser" logged in from ip ##.##.###.### [2025-05-31 11:38:21.816] [ApiCacheManager] DEBUG count: 7 size: 1000204 [2025-05-31 11:38:21.816] [ApiCacheManager] DEBUG Cache hit: {"user":"problemuser","url":"/libraries"} [2025-05-31 11:38:21.974] [ApiCacheManager] DEBUG count: 7 size: 1000204 [2025-05-31 11:38:21.975] [ApiCacheManager] DEBUG Cache hit: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459?include=filterdata"} [2025-05-31 11:38:21.982] [SocketAuthority] INFO Socket Connected to /socket.io p3YynofT1z_ZJDW6AABZ [2025-05-31 11:38:22.067] [SocketAuthority] DEBUG User Online problemuser [2025-05-31 11:38:22.088] [ApiCacheManager] DEBUG count: 7 size: 1000204 [2025-05-31 11:38:22.089] [ApiCacheManager] DEBUG Cache hit: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?minified=1&include=rssfeed,numEpisodesIncomplete"} [2025-05-31 11:38:27.472] [Book] DEBUG "Defying Hitler" changed keys: [ 'title', 'titleIgnorePrefix', 'description' ] [2025-05-31 11:38:27.694] [ApiCacheManager] DEBUG book.afterUpdate: Clearing cache [2025-05-31 11:38:27.885] [ApiCacheManager] DEBUG libraryItem.afterUpdate: Clearing cache [2025-05-31 11:38:28.077] [ApiCacheManager] DEBUG libraryItem.afterUpdate: Clearing cache [2025-05-31 11:38:28.077] [LibraryItem] DEBUG Saved metadata for "Defying Hitler" file to "/library/books/audiobooks/Thomas, Gordon; Lewis, Greg/Defying Hitler: The Germans Who Resisted Nazi Rule (2019)/metadata.json" [2025-05-31 11:38:28.077] [LibraryItemController] DEBUG Updated library item media Defying Hitler [2025-05-31 11:39:50.547] [ApiCacheManager] DEBUG count: 0 size: 0 [2025-05-31 11:39:50.581] [LibraryItem] DEBUG Loaded 7 of 7 items for "Continue Listening/Reading" in 0.03s [2025-05-31 11:39:50.594] [LibraryItem] DEBUG Loaded 0 of 0 items for "Continue Series" in 0.01s [2025-05-31 11:39:50.613] [LibraryItem] DEBUG Loaded 10 of 91 items for "Recently Added" in 0.02s [2025-05-31 11:39:50.625] [LibraryItem] DEBUG Loaded 2 of 2 series for "Recent Series" in 0.01s [2025-05-31 11:39:50.745] [LibraryItem] DEBUG Loaded 10 of 2367 items for "Discover" in 0.12s [2025-05-31 11:39:50.757] [LibraryItem] DEBUG Loaded 1 of 1 items for "Listen/Read Again" in 0.01s [2025-05-31 11:39:50.767] [LibraryItem] DEBUG Loaded 10 of 84 authors for "Newest Authors" in 0.01s [2025-05-31 11:39:50.767] [LibraryItem] DEBUG Loaded 6 personalized shelves in 0.22s [2025-05-31 11:39:50.768] [ApiCacheManager] DEBUG Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?minified=1&include=rssfeed,numEpisodesIncomplete"} [2025-05-31 11:39:50.768] [ApiCacheManager] DEBUG Caching with 1800000 ms TTL [2025-05-31 11:40:56.469] [ApiCacheManager] DEBUG count: 1 size: 94872 [2025-05-31 11:40:56.469] [ApiCacheManager] DEBUG Cache hit: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?minified=1&include=rssfeed,numEpisodesIncomplete"} [2025-05-31 11:40:59.767] [ApiCacheManager] DEBUG count: 1 size: 94872 [2025-05-31 11:40:59.788] [LibraryItem] DEBUG Loaded 1 of 1 items for libary page in 0.02s [2025-05-31 11:40:59.789] [ApiCacheManager] DEBUG Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/items?filter=authors.MTUxYTM0NDctM2VmYy00YzY0LThiZmMtOTJiNzI3YjdhMjBk&sort=addedAt&desc=1&limit=20&page=0&minified=1&include=rssfeed,numEpisodesIncomplete"} [2025-05-31 11:41:07.768] [ApiCacheManager] DEBUG count: 2 size: 96806 [2025-05-31 11:41:08.130] [ApiCacheManager] DEBUG Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/series?sort=name&desc=0&limit=20&page=0&minified=1&include=rssfeed,numEpisodesIncomplete"} [2025-05-31 11:41:10.764] [ApiCacheManager] DEBUG count: 3 size: 330146 [2025-05-31 11:41:11.196] [ApiCacheManager] DEBUG Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/collections?limit=20&page=0&minified=1&include=rssfeed,numEpisodesIncomplete"} [2025-05-31 11:41:13.566] [ApiCacheManager] DEBUG count: 4 size: 352359 [2025-05-31 11:41:13.855] [ApiCacheManager] DEBUG Cache miss: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/authors"} [2025-05-31 11:41:19.963] [ApiCacheManager] DEBUG count: 5 size: 1792017 [2025-05-31 11:41:19.964] [ApiCacheManager] DEBUG Cache hit: {"user":"problemuser","url":"/libraries/7d6cc2f0-66c7-4d53-be5b-0d034cbb1459/personalized?minified=1&include=rssfeed,numEpisodesIncomplete"} [2025-05-31 11:42:04.564] [SocketAuthority] DEBUG User Offline problemuser ############################################## e Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:21 -0400] "GET /api/authors/8b793a3d-026a-4f6c-93ce-de75032fb05b/image?ts=1696440736754 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:21 -0400] "GET /api/authors/d8c15285-5c02-4dab-8aa5-3b9f9874660c/image?ts=1696442387913 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:21 -0400] "GET /api/authors/3054e7fb-2bee-491a-a365-38e8e0f8687f/image?ts=1696442476538 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:21 -0400] "GET /api/authors/77e64383-7271-4e39-b204-42bafc200baa/image?ts=1696441332958 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/1785a03b-fade-4a4c-8e00-108b12f22fca/image?ts=1696441603767 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/de569f8c-0018-4b7d-b4b3-cfc6a76f8906/image?ts=1696441687847 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/71a9414a-f959-4eee-a499-c1e0a5c31287/image?ts=1696442222804 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/a69cc1b2-bc36-4e1d-9c85-76322a3d5b29/image?ts=1696441657652 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/e1fb8ea9-031e-4088-a160-57436c94f0fb/image?ts=1696441686965 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/44dc194a-6004-4681-a641-09f6de1eb357/image?ts=1696441938329 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/99d3c021-73ae-4c4b-9ead-cf32903cff96/image?ts=1696440543470 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36" ##.##.###.### - - [31/May/2025:11:41:22 -0400] "GET /api/authors/a882a5fc-7640-4928-a7ba-d8db7b5a3fde/image?ts=1696440972660 HTTP/1.1" 404 9 "http://localhost/" "Mozilla/5.0 (Linux; Android 10; SM-G960U1 Bu ``` ### Additional Notes From the CrowdSec Discord, this also happens with NextCloud: https://discord.com/channels/921520481163673640/922593826986672178/1378512972686557264 and the suggestion was made that the number of 404 errors returned in such scenarios could be fixed to prevent triggering this http-probing ban: https://discord.com/channels/921520481163673640/922593826986672178/1378785541100802228 However, I wanted to post this here so that if someone else is having problems they can find the solution that worked for me suggested here: https://discord.com/channels/921520481163673640/922593826986672178/1380105164853088346 of ``` name: my/audiobookshelf-whitelist description: "Whitelist events from audiobookshelf" filter: "evt.Meta.service == 'http' && evt.Meta.log_type in ['http_access-log', 'http_error-log']" whitelist: reason: "Audiobookshelf Whitelist" expression: - evt.Meta.http_status == '404' && evt.Meta.http_verb == 'GET' && evt.Meta.http_path matches '\\/api\\/authors\\/([^\\/]+)\\/image\\?ts=(\\d+)' ``` saved as `PATH_TO_CROWDSEC_CONFIG/parsers/s02-enrich/audiobookshelf-whitelist.yaml`
adam added the bug label 2026-04-25 00:11:04 +02:00
adam closed this issue 2026-04-25 00:11:04 +02:00
Author
Owner

@Vito0912 commented on GitHub (Jun 7, 2025):

That is not a bug or issue with ABS.
If there is no image for an author, a 404 error will occur, which is the correct response for a missing file.
The website only tries to load the image if the item has a cover path (afaik -> https://github.com/advplyr/audiobookshelf/blob/4a3eb7727beab6f9bd859a351dfcf0dd8342212b/client/components/covers/AuthorImage.vue#L59).
Maybe at that time there was a problem and the files were no longer available to your server (e.g. wrong mounts, deleted manually etc. etc.).

You can check this by looking at the network activity in your browser and seeing if there are any 404 errors. But even if, 404 are totally normal "errors" to return in this case and this is a result in the strictness you setup crowdsec

Edit: Also the app checks for it https://github.com/advplyr/audiobookshelf-app/blob/d26403c8004fcc06509d87ec8ad6b31ac7fb7322/components/covers/AuthorImage.vue#L57

@Vito0912 commented on GitHub (Jun 7, 2025): That is not a bug or issue with ABS. If there is no image for an author, a 404 error will occur, which is the correct response for a missing file. The website only tries to load the image if the item has a cover path (afaik -> https://github.com/advplyr/audiobookshelf/blob/4a3eb7727beab6f9bd859a351dfcf0dd8342212b/client/components/covers/AuthorImage.vue#L59). Maybe at that time there was a problem and the files were no longer available to your server (e.g. wrong mounts, deleted manually etc. etc.). You can check this by looking at the network activity in your browser and seeing if there are any 404 errors. But even if, 404 are totally normal "errors" to return in this case and this is a result in the strictness you setup crowdsec Edit: Also the app checks for it https://github.com/advplyr/audiobookshelf-app/blob/d26403c8004fcc06509d87ec8ad6b31ac7fb7322/components/covers/AuthorImage.vue#L57
Author
Owner

@nichwall commented on GitHub (Jun 8, 2025):

From further discussion in Discord, this was caused by a number of author images not existing in the /metadata/authors directory (where author images are stored) but paths to these missing files existed in the ABS database.

A cached version of some images were available under /metadata/cache, which made it appear that some images existed due to the same size already being generated. The 404 is correct due to the original image files not existing.

@nichwall commented on GitHub (Jun 8, 2025): From further discussion in Discord, this was caused by a number of author images not existing in the `/metadata/authors` directory (where author images are stored) but paths to these missing files existed in the ABS database. A cached version of some images were available under `/metadata/cache`, which made it appear that some images existed due to the same size already being generated. The 404 is correct due to the original image files not existing.
Author
Owner

@iconoclasthero commented on GitHub (Jun 16, 2025):

Yes, I was able to fix the author image issues and that should resolve it and I wasn't able to unlabel it a bug after I hit submit the first time. Like I said, I was adding it more for future reference than anything.

@iconoclasthero commented on GitHub (Jun 16, 2025): Yes, I was able to fix the author image issues and that should resolve it and I wasn't able to unlabel it a bug after I hit submit the first time. Like I said, I was adding it more for future reference than anything.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2832