[Bug]: Can't download covers #2068

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

Originally created by @elmerohueso on GitHub (Jun 23, 2024).

What happened?

As of today, ABS will no longer download covers. It will scrape and download all other metadata, and update covers if I upload them directly, but will not download them from any metadata providers.

What did you expect to happen?

  1. Click "Edit" from a book listing
  2. Click the "Cover" tab
  3. Select the desired Provider and click "Search"
  4. Click desired cover to have it automatically downloaded

Steps to reproduce the issue

  1. Click "Edit" from a book listing
  2. Click the "Cover" tab
  3. Select the desired Provider and click "Search"
  4. Click desired cover
  5. Recieve "Failed to download image" error
    image

Audiobookshelf version

2.10.1

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

Log from AudioBookShelf:
2024-06-23 10:56:18.696

ERROR

[fileUtils] Failed to download file "/audiobooks/Blake Crouch/Dark Matter/cover" Error: Call to ::ffff:13.249.207.122 is blocked.

2024-06-23 10:56:18.698

ERROR

[CoverManager] Download image file failed for "https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg" Call to ::ffff:13.249.207.122 is blocked.

Docker Container Log:
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

-v "/var/run/docker.sock:/var/run/docker.sock"

2024-06-23 10:40:40 [2024-06-23 10:40:40.069] ERROR: [fileUtils] Failed to download file "/audiobooks/Blake Crouch/Dark Matter/cover" AxiosError: Call to ::ffff:13.249.207.122 is blocked.
2024-06-23 10:40:40     at TLSSocket.<anonymous> (/node_modules/ssrf-req-filter/lib/index.js:38:29)
2024-06-23 10:40:40     at TLSSocket.emit (node:events:519:28)
2024-06-23 10:40:40     at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1438:14)
2024-06-23 10:40:40     at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:132:8) {
2024-06-23 10:40:40   config: {
2024-06-23 10:40:40     transitional: {
2024-06-23 10:40:40       silentJSONParsing: true,
2024-06-23 10:40:40       forcedJSONParsing: true,
2024-06-23 10:40:40       clarifyTimeoutError: false
2024-06-23 10:40:40     },
2024-06-23 10:40:40     adapter: [Function: httpAdapter],
2024-06-23 10:40:40     transformRequest: [ [Function: transformRequest] ],
2024-06-23 10:40:40     transformResponse: [ [Function: transformResponse] ],
2024-06-23 10:40:40     timeout: 30000,
2024-06-23 10:40:40     xsrfCookieName: 'XSRF-TOKEN',
2024-06-23 10:40:40     xsrfHeaderName: 'X-XSRF-TOKEN',
2024-06-23 10:40:40     maxContentLength: -1,
2024-06-23 10:40:40     maxBodyLength: -1,
2024-06-23 10:40:40     env: { FormData: [Function] },
2024-06-23 10:40:40     validateStatus: [Function: validateStatus],
2024-06-23 10:40:40     headers: {
2024-06-23 10:40:40       Accept: 'application/json, text/plain, */*',
2024-06-23 10:40:40       'User-Agent': 'axios/0.27.2'
2024-06-23 10:40:40     },
2024-06-23 10:40:40     url: 'https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg',
2024-06-23 10:40:40     method: 'get',
2024-06-23 10:40:40     responseType: 'stream',
2024-06-23 10:40:40     httpAgent: Agent {
2024-06-23 10:40:40       _events: [Object: null prototype],
2024-06-23 10:40:40       _eventsCount: 2,
2024-06-23 10:40:40       _maxListeners: undefined,
2024-06-23 10:40:40       defaultPort: 443,
2024-06-23 10:40:40       protocol: 'https:',
2024-06-23 10:40:40       options: [Object: null prototype],
2024-06-23 10:40:40       requests: [Object: null prototype] {},
2024-06-23 10:40:40       sockets: [Object: null prototype] {},
2024-06-23 10:40:40       freeSockets: [Object: null prototype] {},
2024-06-23 10:40:40       keepAliveMsecs: 1000,
2024-06-23 10:40:40       keepAlive: false,
2024-06-23 10:40:40       maxSockets: Infinity,
2024-06-23 10:40:40       maxFreeSockets: 256,
2024-06-23 10:40:40       scheduling: 'lifo',
2024-06-23 10:40:40       maxTotalSockets: Infinity,
2024-06-23 10:40:40       totalSocketCount: 0,
2024-06-23 10:40:40       maxCachedSessions: 100,
2024-06-23 10:40:40       _sessionCache: [Object],
2024-06-23 10:40:40       createConnection: [Function (anonymous)],
2024-06-23 10:40:40       [Symbol(shapeMode)]: false,
2024-06-23 10:40:40       [Symbol(kCapture)]: false,
2024-06-23 10:40:40       [Symbol(active)]: true
2024-06-23 10:40:40     },
2024-06-23 10:40:40     httpsAgent: Agent {
2024-06-23 10:40:40       _events: [Object: null prototype],
2024-06-23 10:40:40       _eventsCount: 2,
2024-06-23 10:40:40       _maxListeners: undefined,
2024-06-23 10:40:40       defaultPort: 443,
2024-06-23 10:40:40       protocol: 'https:',
2024-06-23 10:40:40       options: [Object: null prototype],
2024-06-23 10:40:40       requests: [Object: null prototype] {},
2024-06-23 10:40:40       sockets: [Object: null prototype],
2024-06-23 10:40:40       freeSockets: [Object: null prototype] {},
2024-06-23 10:40:40       keepAliveMsecs: 1000,
2024-06-23 10:40:40       keepAlive: false,
2024-06-23 10:40:40       maxSockets: Infinity,
2024-06-23 10:40:40       maxFreeSockets: 256,
2024-06-23 10:40:40       scheduling: 'lifo',
2024-06-23 10:40:40       maxTotalSockets: Infinity,
2024-06-23 10:40:40       totalSocketCount: 1,
2024-06-23 10:40:40       maxCachedSessions: 100,
2024-06-23 10:40:40       _sessionCache: [Object],
2024-06-23 10:40:40       createConnection: [Function (anonymous)],
2024-06-23 10:40:40       [Symbol(shapeMode)]: false,
2024-06-23 10:40:40       [Symbol(kCapture)]: false,
2024-06-23 10:40:40       [Symbol(active)]: true
2024-06-23 10:40:40     },
2024-06-23 10:40:40     data: undefined
2024-06-23 10:40:40   },
2024-06-23 10:40:40   request: <ref *1> Writable {
2024-06-23 10:40:40     _events: {
2024-06-23 10:40:40       close: undefined,
2024-06-23 10:40:40       error: [Function: handleRequestError],
2024-06-23 10:40:40       prefinish: undefined,
2024-06-23 10:40:40       finish: undefined,
2024-06-23 10:40:40       drain: undefined,
2024-06-23 10:40:40       response: [Function: handleResponse],
2024-06-23 10:40:40       socket: [Array],
2024-06-23 10:40:40       timeout: undefined,
2024-06-23 10:40:40       abort: undefined
2024-06-23 10:40:40     },
2024-06-23 10:40:40     _writableState: WritableState {
2024-06-23 10:40:40       highWaterMark: 16384,
2024-06-23 10:40:40       length: 0,
2024-06-23 10:40:40       corked: 0,
2024-06-23 10:40:40       onwrite: [Function: bound onwrite],
2024-06-23 10:40:40       writelen: 0,
2024-06-23 10:40:40       bufferedIndex: 0,
2024-06-23 10:40:40       pendingcb: 0,
2024-06-23 10:40:40       [Symbol(kState)]: 17580812,
2024-06-23 10:40:40       [Symbol(kBufferedValue)]: null
2024-06-23 10:40:40     },
2024-06-23 10:40:40     _maxListeners: undefined,
2024-06-23 10:40:40     _options: {
2024-06-23 10:40:40       maxRedirects: 21,
2024-06-23 10:40:40       maxBodyLength: 10485760,
2024-06-23 10:40:40       protocol: 'https:',
2024-06-23 10:40:40       path: '/images/I/91GJ7QZCu6L.jpg',
2024-06-23 10:40:40       method: 'GET',
2024-06-23 10:40:40       headers: [Object],
2024-06-23 10:40:40       agent: [Agent],
2024-06-23 10:40:40       agents: [Object],
2024-06-23 10:40:40       auth: undefined,
2024-06-23 10:40:40       hostname: 'm.media-amazon.com',
2024-06-23 10:40:40       port: null,
2024-06-23 10:40:40       nativeProtocols: [Object],
2024-06-23 10:40:40       pathname: '/images/I/91GJ7QZCu6L.jpg'
2024-06-23 10:40:40     },
2024-06-23 10:40:40     _ended: true,
2024-06-23 10:40:40     _ending: true,
2024-06-23 10:40:40     _redirectCount: 0,
2024-06-23 10:40:40     _redirects: [],
2024-06-23 10:40:40     _requestBodyLength: 0,
2024-06-23 10:40:40     _requestBodyBuffers: [],
2024-06-23 10:40:40     _eventsCount: 3,
2024-06-23 10:40:40     _onNativeResponse: [Function (anonymous)],
2024-06-23 10:40:40     _currentRequest: ClientRequest {
2024-06-23 10:40:40       _events: [Object: null prototype],
2024-06-23 10:40:40       _eventsCount: 7,
2024-06-23 10:40:40       _maxListeners: undefined,
2024-06-23 10:40:40       outputData: [],
2024-06-23 10:40:40       outputSize: 0,
2024-06-23 10:40:40       writable: true,
2024-06-23 10:40:40       destroyed: false,
2024-06-23 10:40:40       _last: true,
2024-06-23 10:40:40       chunkedEncoding: false,
2024-06-23 10:40:40       shouldKeepAlive: false,
2024-06-23 10:40:40       maxRequestsOnConnectionReached: false,
2024-06-23 10:40:40       _defaultKeepAlive: true,
2024-06-23 10:40:40       useChunkedEncodingByDefault: false,
2024-06-23 10:40:40       sendDate: false,
2024-06-23 10:40:40       _removedConnection: false,
2024-06-23 10:40:40       _removedContLen: false,
2024-06-23 10:40:40       _removedTE: false,
2024-06-23 10:40:40       strictContentLength: false,
2024-06-23 10:40:40       _contentLength: 0,
2024-06-23 10:40:40       _hasBody: true,
2024-06-23 10:40:40       _trailer: '',
2024-06-23 10:40:40       finished: true,
2024-06-23 10:40:40       _headerSent: true,
2024-06-23 10:40:40       _closed: false,
2024-06-23 10:40:40       socket: [TLSSocket],
2024-06-23 10:40:40       _header: 'GET /images/I/91GJ7QZCu6L.jpg HTTP/1.1\r\n' +
2024-06-23 10:40:40         'Accept: application/json, text/plain, */*\r\n' +
2024-06-23 10:40:40         'User-Agent: axios/0.27.2\r\n' +
2024-06-23 10:40:40         'Host: m.media-amazon.com\r\n' +
2024-06-23 10:40:40         'Connection: close\r\n' +
2024-06-23 10:40:40         '\r\n',
2024-06-23 10:40:40       _keepAliveTimeout: 0,
2024-06-23 10:40:40       _onPendingData: [Function: nop],
2024-06-23 10:40:40       agent: [Agent],
2024-06-23 10:40:40       socketPath: undefined,
2024-06-23 10:40:40       method: 'GET',
2024-06-23 10:40:40       maxHeaderSize: undefined,
2024-06-23 10:40:40       insecureHTTPParser: undefined,
2024-06-23 10:40:40       joinDuplicateHeaders: undefined,
2024-06-23 10:40:40       path: '/images/I/91GJ7QZCu6L.jpg',
2024-06-23 10:40:40       _ended: false,
2024-06-23 10:40:40       res: null,
2024-06-23 10:40:40       aborted: false,
2024-06-23 10:40:40       timeoutCb: null,
2024-06-23 10:40:40       upgradeOrConnect: false,
2024-06-23 10:40:40       parser: null,
2024-06-23 10:40:40       maxHeadersCount: null,
2024-06-23 10:40:40       reusedSocket: false,
2024-06-23 10:40:40       host: 'm.media-amazon.com',
2024-06-23 10:40:40       protocol: 'https:',
2024-06-23 10:40:40       _redirectable: [Circular *1],
2024-06-23 10:40:40       [Symbol(shapeMode)]: false,
2024-06-23 10:40:40       [Symbol(kCapture)]: false,
2024-06-23 10:40:40       [Symbol(kBytesWritten)]: 0,
2024-06-23 10:40:40       [Symbol(kNeedDrain)]: false,
2024-06-23 10:40:40       [Symbol(corked)]: 0,
2024-06-23 10:40:40       [Symbol(kOutHeaders)]: [Object: null prototype],
2024-06-23 10:40:40       [Symbol(errored)]: null,
2024-06-23 10:40:40       [Symbol(kHighWaterMark)]: 16384,
2024-06-23 10:40:40       [Symbol(kRejectNonStandardBodyWrites)]: false,
2024-06-23 10:40:40       [Symbol(kUniqueHeaders)]: null
2024-06-23 10:40:40     },
2024-06-23 10:40:40     _currentUrl: 'https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg',
2024-06-23 10:40:40     _timeout: null,
2024-06-23 10:40:40     [Symbol(shapeMode)]: true,
2024-06-23 10:40:40     [Symbol(kCapture)]: false
2024-06-23 10:40:40   }
2024-06-23 10:40:40 } (fileUtils.js:269)
2024-06-23 10:40:40 [2024-06-23 10:40:40.071] ERROR: [CoverManager] Download image file failed for "https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg" Call to ::ffff:13.249.207.122 is blocked. (CoverManager.js:129)

Additional Notes

This is happening with all providers, and only with covers. When using "Match" it will scrape and download all other metadata except for the cover.
The cover previews display correctly in the search results, and I can successfully resolve the cover image URLs from a browser on the host by clicking on the cover previews. Using the example in the error, I can CURL also the image successfully from withing th container's console with "curl https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg --output cover.jpg".

Originally created by @elmerohueso on GitHub (Jun 23, 2024). ### What happened? As of today, ABS will no longer download covers. It will scrape and download all other metadata, and update covers if I upload them directly, but will not download them from any metadata providers. ### What did you expect to happen? 1. Click "Edit" from a book listing 2. Click the "Cover" tab 3. Select the desired Provider and click "Search" 4. Click desired cover to have it automatically downloaded ### Steps to reproduce the issue 1. Click "Edit" from a book listing 2. Click the "Cover" tab 3. Select the desired Provider and click "Search" 4. Click desired cover 5. Recieve "Failed to download image" error ![image](https://github.com/advplyr/audiobookshelf/assets/6976136/382e93fe-86cc-4714-acc5-93b3eae3ab29) ### Audiobookshelf version 2.10.1 ### 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 Log from AudioBookShelf: 2024-06-23 10:56:18.696 ERROR [fileUtils] Failed to download file "/audiobooks/Blake Crouch/Dark Matter/cover" Error: Call to ::ffff:13.249.207.122 is blocked. 2024-06-23 10:56:18.698 ERROR [CoverManager] Download image file failed for "https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg" Call to ::ffff:13.249.207.122 is blocked. Docker Container Log: docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest -v "/var/run/docker.sock:/var/run/docker.sock" 2024-06-23 10:40:40 [2024-06-23 10:40:40.069] ERROR: [fileUtils] Failed to download file "/audiobooks/Blake Crouch/Dark Matter/cover" AxiosError: Call to ::ffff:13.249.207.122 is blocked. 2024-06-23 10:40:40 at TLSSocket.<anonymous> (/node_modules/ssrf-req-filter/lib/index.js:38:29) 2024-06-23 10:40:40 at TLSSocket.emit (node:events:519:28) 2024-06-23 10:40:40 at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1438:14) 2024-06-23 10:40:40 at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:132:8) { 2024-06-23 10:40:40 config: { 2024-06-23 10:40:40 transitional: { 2024-06-23 10:40:40 silentJSONParsing: true, 2024-06-23 10:40:40 forcedJSONParsing: true, 2024-06-23 10:40:40 clarifyTimeoutError: false 2024-06-23 10:40:40 }, 2024-06-23 10:40:40 adapter: [Function: httpAdapter], 2024-06-23 10:40:40 transformRequest: [ [Function: transformRequest] ], 2024-06-23 10:40:40 transformResponse: [ [Function: transformResponse] ], 2024-06-23 10:40:40 timeout: 30000, 2024-06-23 10:40:40 xsrfCookieName: 'XSRF-TOKEN', 2024-06-23 10:40:40 xsrfHeaderName: 'X-XSRF-TOKEN', 2024-06-23 10:40:40 maxContentLength: -1, 2024-06-23 10:40:40 maxBodyLength: -1, 2024-06-23 10:40:40 env: { FormData: [Function] }, 2024-06-23 10:40:40 validateStatus: [Function: validateStatus], 2024-06-23 10:40:40 headers: { 2024-06-23 10:40:40 Accept: 'application/json, text/plain, */*', 2024-06-23 10:40:40 'User-Agent': 'axios/0.27.2' 2024-06-23 10:40:40 }, 2024-06-23 10:40:40 url: 'https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg', 2024-06-23 10:40:40 method: 'get', 2024-06-23 10:40:40 responseType: 'stream', 2024-06-23 10:40:40 httpAgent: Agent { 2024-06-23 10:40:40 _events: [Object: null prototype], 2024-06-23 10:40:40 _eventsCount: 2, 2024-06-23 10:40:40 _maxListeners: undefined, 2024-06-23 10:40:40 defaultPort: 443, 2024-06-23 10:40:40 protocol: 'https:', 2024-06-23 10:40:40 options: [Object: null prototype], 2024-06-23 10:40:40 requests: [Object: null prototype] {}, 2024-06-23 10:40:40 sockets: [Object: null prototype] {}, 2024-06-23 10:40:40 freeSockets: [Object: null prototype] {}, 2024-06-23 10:40:40 keepAliveMsecs: 1000, 2024-06-23 10:40:40 keepAlive: false, 2024-06-23 10:40:40 maxSockets: Infinity, 2024-06-23 10:40:40 maxFreeSockets: 256, 2024-06-23 10:40:40 scheduling: 'lifo', 2024-06-23 10:40:40 maxTotalSockets: Infinity, 2024-06-23 10:40:40 totalSocketCount: 0, 2024-06-23 10:40:40 maxCachedSessions: 100, 2024-06-23 10:40:40 _sessionCache: [Object], 2024-06-23 10:40:40 createConnection: [Function (anonymous)], 2024-06-23 10:40:40 [Symbol(shapeMode)]: false, 2024-06-23 10:40:40 [Symbol(kCapture)]: false, 2024-06-23 10:40:40 [Symbol(active)]: true 2024-06-23 10:40:40 }, 2024-06-23 10:40:40 httpsAgent: Agent { 2024-06-23 10:40:40 _events: [Object: null prototype], 2024-06-23 10:40:40 _eventsCount: 2, 2024-06-23 10:40:40 _maxListeners: undefined, 2024-06-23 10:40:40 defaultPort: 443, 2024-06-23 10:40:40 protocol: 'https:', 2024-06-23 10:40:40 options: [Object: null prototype], 2024-06-23 10:40:40 requests: [Object: null prototype] {}, 2024-06-23 10:40:40 sockets: [Object: null prototype], 2024-06-23 10:40:40 freeSockets: [Object: null prototype] {}, 2024-06-23 10:40:40 keepAliveMsecs: 1000, 2024-06-23 10:40:40 keepAlive: false, 2024-06-23 10:40:40 maxSockets: Infinity, 2024-06-23 10:40:40 maxFreeSockets: 256, 2024-06-23 10:40:40 scheduling: 'lifo', 2024-06-23 10:40:40 maxTotalSockets: Infinity, 2024-06-23 10:40:40 totalSocketCount: 1, 2024-06-23 10:40:40 maxCachedSessions: 100, 2024-06-23 10:40:40 _sessionCache: [Object], 2024-06-23 10:40:40 createConnection: [Function (anonymous)], 2024-06-23 10:40:40 [Symbol(shapeMode)]: false, 2024-06-23 10:40:40 [Symbol(kCapture)]: false, 2024-06-23 10:40:40 [Symbol(active)]: true 2024-06-23 10:40:40 }, 2024-06-23 10:40:40 data: undefined 2024-06-23 10:40:40 }, 2024-06-23 10:40:40 request: <ref *1> Writable { 2024-06-23 10:40:40 _events: { 2024-06-23 10:40:40 close: undefined, 2024-06-23 10:40:40 error: [Function: handleRequestError], 2024-06-23 10:40:40 prefinish: undefined, 2024-06-23 10:40:40 finish: undefined, 2024-06-23 10:40:40 drain: undefined, 2024-06-23 10:40:40 response: [Function: handleResponse], 2024-06-23 10:40:40 socket: [Array], 2024-06-23 10:40:40 timeout: undefined, 2024-06-23 10:40:40 abort: undefined 2024-06-23 10:40:40 }, 2024-06-23 10:40:40 _writableState: WritableState { 2024-06-23 10:40:40 highWaterMark: 16384, 2024-06-23 10:40:40 length: 0, 2024-06-23 10:40:40 corked: 0, 2024-06-23 10:40:40 onwrite: [Function: bound onwrite], 2024-06-23 10:40:40 writelen: 0, 2024-06-23 10:40:40 bufferedIndex: 0, 2024-06-23 10:40:40 pendingcb: 0, 2024-06-23 10:40:40 [Symbol(kState)]: 17580812, 2024-06-23 10:40:40 [Symbol(kBufferedValue)]: null 2024-06-23 10:40:40 }, 2024-06-23 10:40:40 _maxListeners: undefined, 2024-06-23 10:40:40 _options: { 2024-06-23 10:40:40 maxRedirects: 21, 2024-06-23 10:40:40 maxBodyLength: 10485760, 2024-06-23 10:40:40 protocol: 'https:', 2024-06-23 10:40:40 path: '/images/I/91GJ7QZCu6L.jpg', 2024-06-23 10:40:40 method: 'GET', 2024-06-23 10:40:40 headers: [Object], 2024-06-23 10:40:40 agent: [Agent], 2024-06-23 10:40:40 agents: [Object], 2024-06-23 10:40:40 auth: undefined, 2024-06-23 10:40:40 hostname: 'm.media-amazon.com', 2024-06-23 10:40:40 port: null, 2024-06-23 10:40:40 nativeProtocols: [Object], 2024-06-23 10:40:40 pathname: '/images/I/91GJ7QZCu6L.jpg' 2024-06-23 10:40:40 }, 2024-06-23 10:40:40 _ended: true, 2024-06-23 10:40:40 _ending: true, 2024-06-23 10:40:40 _redirectCount: 0, 2024-06-23 10:40:40 _redirects: [], 2024-06-23 10:40:40 _requestBodyLength: 0, 2024-06-23 10:40:40 _requestBodyBuffers: [], 2024-06-23 10:40:40 _eventsCount: 3, 2024-06-23 10:40:40 _onNativeResponse: [Function (anonymous)], 2024-06-23 10:40:40 _currentRequest: ClientRequest { 2024-06-23 10:40:40 _events: [Object: null prototype], 2024-06-23 10:40:40 _eventsCount: 7, 2024-06-23 10:40:40 _maxListeners: undefined, 2024-06-23 10:40:40 outputData: [], 2024-06-23 10:40:40 outputSize: 0, 2024-06-23 10:40:40 writable: true, 2024-06-23 10:40:40 destroyed: false, 2024-06-23 10:40:40 _last: true, 2024-06-23 10:40:40 chunkedEncoding: false, 2024-06-23 10:40:40 shouldKeepAlive: false, 2024-06-23 10:40:40 maxRequestsOnConnectionReached: false, 2024-06-23 10:40:40 _defaultKeepAlive: true, 2024-06-23 10:40:40 useChunkedEncodingByDefault: false, 2024-06-23 10:40:40 sendDate: false, 2024-06-23 10:40:40 _removedConnection: false, 2024-06-23 10:40:40 _removedContLen: false, 2024-06-23 10:40:40 _removedTE: false, 2024-06-23 10:40:40 strictContentLength: false, 2024-06-23 10:40:40 _contentLength: 0, 2024-06-23 10:40:40 _hasBody: true, 2024-06-23 10:40:40 _trailer: '', 2024-06-23 10:40:40 finished: true, 2024-06-23 10:40:40 _headerSent: true, 2024-06-23 10:40:40 _closed: false, 2024-06-23 10:40:40 socket: [TLSSocket], 2024-06-23 10:40:40 _header: 'GET /images/I/91GJ7QZCu6L.jpg HTTP/1.1\r\n' + 2024-06-23 10:40:40 'Accept: application/json, text/plain, */*\r\n' + 2024-06-23 10:40:40 'User-Agent: axios/0.27.2\r\n' + 2024-06-23 10:40:40 'Host: m.media-amazon.com\r\n' + 2024-06-23 10:40:40 'Connection: close\r\n' + 2024-06-23 10:40:40 '\r\n', 2024-06-23 10:40:40 _keepAliveTimeout: 0, 2024-06-23 10:40:40 _onPendingData: [Function: nop], 2024-06-23 10:40:40 agent: [Agent], 2024-06-23 10:40:40 socketPath: undefined, 2024-06-23 10:40:40 method: 'GET', 2024-06-23 10:40:40 maxHeaderSize: undefined, 2024-06-23 10:40:40 insecureHTTPParser: undefined, 2024-06-23 10:40:40 joinDuplicateHeaders: undefined, 2024-06-23 10:40:40 path: '/images/I/91GJ7QZCu6L.jpg', 2024-06-23 10:40:40 _ended: false, 2024-06-23 10:40:40 res: null, 2024-06-23 10:40:40 aborted: false, 2024-06-23 10:40:40 timeoutCb: null, 2024-06-23 10:40:40 upgradeOrConnect: false, 2024-06-23 10:40:40 parser: null, 2024-06-23 10:40:40 maxHeadersCount: null, 2024-06-23 10:40:40 reusedSocket: false, 2024-06-23 10:40:40 host: 'm.media-amazon.com', 2024-06-23 10:40:40 protocol: 'https:', 2024-06-23 10:40:40 _redirectable: [Circular *1], 2024-06-23 10:40:40 [Symbol(shapeMode)]: false, 2024-06-23 10:40:40 [Symbol(kCapture)]: false, 2024-06-23 10:40:40 [Symbol(kBytesWritten)]: 0, 2024-06-23 10:40:40 [Symbol(kNeedDrain)]: false, 2024-06-23 10:40:40 [Symbol(corked)]: 0, 2024-06-23 10:40:40 [Symbol(kOutHeaders)]: [Object: null prototype], 2024-06-23 10:40:40 [Symbol(errored)]: null, 2024-06-23 10:40:40 [Symbol(kHighWaterMark)]: 16384, 2024-06-23 10:40:40 [Symbol(kRejectNonStandardBodyWrites)]: false, 2024-06-23 10:40:40 [Symbol(kUniqueHeaders)]: null 2024-06-23 10:40:40 }, 2024-06-23 10:40:40 _currentUrl: 'https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg', 2024-06-23 10:40:40 _timeout: null, 2024-06-23 10:40:40 [Symbol(shapeMode)]: true, 2024-06-23 10:40:40 [Symbol(kCapture)]: false 2024-06-23 10:40:40 } 2024-06-23 10:40:40 } (fileUtils.js:269) 2024-06-23 10:40:40 [2024-06-23 10:40:40.071] ERROR: [CoverManager] Download image file failed for "https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg" Call to ::ffff:13.249.207.122 is blocked. (CoverManager.js:129) ``` ### Additional Notes This is happening with all providers, and only with covers. When using "Match" it will scrape and download all other metadata except for the cover. The cover previews display correctly in the search results, and I can successfully resolve the cover image URLs from a browser on the host by clicking on the cover previews. Using the example in the error, I can CURL also the image successfully from withing th container's console with "curl https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg --output cover.jpg".
adam added the bug label 2026-04-25 00:03:09 +02:00
adam closed this issue 2026-04-25 00:03:09 +02:00
Author
Owner

@nichwall commented on GitHub (Jun 23, 2024):

Looks like a networking issue with your setup. Have you changed any network settings or rebooted something recently?
It could be DNS, firewalls, or proxy settings.

@nichwall commented on GitHub (Jun 23, 2024): Looks like a networking issue with your setup. Have you changed any network settings or rebooted something recently? It could be DNS, firewalls, or proxy settings.
Author
Owner

@elmerohueso commented on GitHub (Jun 23, 2024):

I haven't made any conscious changes that I'm aware of. If it were DNS or
other network settings I would suspect that the scraping the other
metadata, showing cover previews, or browsing directly to the cover URLs in
a browser on the host wouldn't work either.

UFW is off.

Using the example in the error, I can CURL the image successfully from withing th container's console with "curl https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg --output cover.jpg".

@elmerohueso commented on GitHub (Jun 23, 2024): I haven't made any conscious changes that I'm aware of. If it were DNS or other network settings I would suspect that the scraping the other metadata, showing cover previews, or browsing directly to the cover URLs in a browser on the host wouldn't work either. UFW is off. Using the example in the error, I can CURL the image successfully from withing th container's console with "curl https://m.media-amazon.com/images/I/91GJ7QZCu6L.jpg --output cover.jpg".
Author
Owner

@elmerohueso commented on GitHub (Jun 23, 2024):

Well, I'm not sure what the underlying cause was, but I re-pulled the docker image and cloned the settings to a new container, and it's working again.

@elmerohueso commented on GitHub (Jun 23, 2024): Well, I'm not sure what the underlying cause was, but I re-pulled the docker image and cloned the settings to a new container, and it's working again.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2068