[Bug]: Add follow the link to fix link redirection when downloading audio file #2836

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

Originally created by @ShlomiPorush on GitHub (Jun 12, 2025).

What happened?

A podcast that for some reason I can't download any audio file. log is attached.
The problem is that the download link for the file redirects to another link and that's probably why audiobookshelf can't download the file.

What did you expect to happen?

The audio file should be downloaded just like any other podcast.

Steps to reproduce the issue

  1. When I go to the link in the browser
    https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3
    it redirects to
    https://d2jti1fb5f3g5g.cloudfront.net/46434_684abb2c897252517c6b3c1a_r1.mp3

Audiobookshelf version

2.24.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

[ffmpegHelpers] Failed to download podcast episode with url "https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3" [AxiosError: Request failed with status code 403] { code: 'ERR_BAD_REQUEST', config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [Function: httpAdapter], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 30000, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: [Function] }, validateStatus: [Function: validateStatus], headers: { Accept: 'application/json, text/plain, */*', 'User-Agent': 'audiobookshelf (+https://audiobookshelf.org)' }, url: 'https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', method: 'get', responseType: 'stream', data: undefined }, request: <ref *1> ClientRequest { _events: [Object: null prototype] { abort: [Function (anonymous)], aborted: [Function (anonymous)], connect: [Function (anonymous)], error: [Function (anonymous)], socket: [Function (anonymous)], timeout: [Function (anonymous)], finish: [Function: requestOnFinish] }, _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: true, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: TLSSocket { _tlsOptions: [Object], _secureEstablished: true, _securePending: false, _newSessionPending: false, _controlReleased: true, secureConnecting: false, _SNICallback: null, servername: 'www1.nobexpartners.com', alpnProtocol: false, authorized: true, authorizationError: null, encrypted: true, _events: [Object: null prototype], _eventsCount: 9, connecting: false, _hadError: false, _parent: null, _host: 'www1.nobexpartners.com', _closeAfterHandlingError: false, _readableState: [ReadableState], _writableState: [WritableState], allowHalfOpen: false, _maxListeners: undefined, _sockname: null, _pendingData: null, _pendingEncoding: '', server: undefined, _server: null, ssl: [TLSWrap], _requestCert: true, _rejectUnauthorized: true, timeout: 30000, parser: null, _httpMessage: [Circular *1], [Symbol(alpncallback)]: null, [Symbol(res)]: [TLSWrap], [Symbol(verified)]: true, [Symbol(pendingSession)]: null, [Symbol(async_id_symbol)]: 47429, [Symbol(kHandle)]: [TLSWrap], [Symbol(lastWriteQueueSize)]: 0, [Symbol(timeout)]: Timeout { _idleTimeout: 30000, _idlePrev: [TimersList], _idleNext: [Timeout], _idleStart: 365756, _onTimeout: [Function: bound ], _timerArgs: undefined, _repeat: null, _destroyed: false, [Symbol(refed)]: false, [Symbol(kHasPrimitive)]: false, [Symbol(asyncId)]: 47438, [Symbol(triggerId)]: 47433 }, [Symbol(kBuffer)]: null, [Symbol(kBufferCb)]: null, [Symbol(kBufferGen)]: null, [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false, [Symbol(kSetNoDelay)]: false, [Symbol(kSetKeepAlive)]: true, [Symbol(kSetKeepAliveInitialDelay)]: 60, [Symbol(kBytesRead)]: 0, [Symbol(kBytesWritten)]: 0, [Symbol(connect-options)]: [Object] }, _header: 'GET /ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3 HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'User-Agent: audiobookshelf (+https://audiobookshelf.org)\r\n' + 'Host: www1.nobexpartners.com\r\n' + 'Connection: keep-alive\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 443, protocol: 'https:', options: [Object: null prototype], requests: [Object: null prototype] {}, sockets: [Object: null prototype], freeSockets: [Object: null prototype] {}, keepAliveMsecs: 1000, keepAlive: true, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 1, maxCachedSessions: 100, _sessionCache: [Object], [Symbol(shapeMode)]: false, [Symbol(kCapture)]: false }, socketPath: undefined, method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, joinDuplicateHeaders: undefined, path: '/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', _ended: false, res: IncomingMessage { _events: [Object], _readableState: [ReadableState], _maxListeners: undefined, socket: [TLSSocket], httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [Array], rawTrailers: [], joinDuplicateHeaders: undefined, aborted: false, upgrade: false, url: '', method: null, statusCode: 403, statusMessage: 'Forbidden', client: [TLSSocket], _consuming: false, _dumped: false, req: [Circular *1], _eventsCount: 1, responseUrl: 'https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', redirects: [], [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false, [Symbol(kHeaders)]: [Object], [Symbol(kHeadersCount)]: 16, [Symbol(kTrailers)]: null, [Symbol(kTrailersCount)]: 0 }, aborted: false, timeoutCb: [Function: emitRequestTimeout], upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: 'www1.nobexpartners.com', protocol: 'https:', _redirectable: Writable { _events: [Object], _writableState: [WritableState], _maxListeners: undefined, _options: [Object], _ended: true, _ending: true, _redirectCount: 0, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _eventsCount: 3, _onNativeResponse: [Function (anonymous)], _currentRequest: [Circular *1], _currentUrl: 'https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', _timeout: null, [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false }, [Symbol(shapeMode)]: false, [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype] { accept: [Array], 'user-agent': [Array], host: [Array] }, [Symbol(errored)]: null, [Symbol(kHighWaterMark)]: 16384, [Symbol(kRejectNonStandardBodyWrites)]: false, [Symbol(kUniqueHeaders)]: null }, response: { status: 403, statusText: 'Forbidden', headers: { 'cache-control': 'private', 'content-type': 'text/html', server: 'Microsoft-IIS/10.0', 'set-cookie': [Array], 'x-aspnet-version': '4.0.30319', 'x-powered-by': 'ASP.NET', date: 'Thu, 12 Jun 2025 16:45:44 GMT', 'content-length': '1233' }, config: { transitional: [Object], adapter: [Function: httpAdapter], transformRequest: [Array], transformResponse: [Array], timeout: 30000, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: [Object], validateStatus: [Function: validateStatus], headers: [Object], url: 'https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', method: 'get', responseType: 'stream', data: undefined }, request: <ref *1> ClientRequest { _events: [Object: null prototype], _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: true, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: [TLSSocket], _header: 'GET /ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3 HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'User-Agent: audiobookshelf (+https://audiobookshelf.org)\r\n' + 'Host: www1.nobexpartners.com\r\n' + 'Connection: keep-alive\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Agent], socketPath: undefined, method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, joinDuplicateHeaders: undefined, path: '/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', _ended: false, res: [IncomingMessage], aborted: false, timeoutCb: [Function: emitRequestTimeout], upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: 'www1.nobexpartners.com', protocol: 'https:', _redirectable: [Writable], [Symbol(shapeMode)]: false, [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype], [Symbol(errored)]: null, [Symbol(kHighWaterMark)]: 16384, [Symbol(kRejectNonStandardBodyWrites)]: false, [Symbol(kUniqueHeaders)]: null }, data: IncomingMessage { _events: [Object], _readableState: [ReadableState], _maxListeners: undefined, socket: [TLSSocket], httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [Array], rawTrailers: [], joinDuplicateHeaders: undefined, aborted: false, upgrade: false, url: '', method: null, statusCode: 403, statusMessage: 'Forbidden', client: [TLSSocket], _consuming: false, _dumped: false, req: [ClientRequest], _eventsCount: 1, responseUrl: 'https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', redirects: [], [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false, [Symbol(kHeaders)]: [Object], [Symbol(kHeadersCount)]: 16, [Symbol(kTrailers)]: null, [Symbol(kTrailersCount)]: 0 } } }

Additional Notes

No response

Originally created by @ShlomiPorush on GitHub (Jun 12, 2025). ### What happened? A podcast that for some reason I can't download any audio file. log is attached. The problem is that the download link for the file redirects to another link and that's probably why audiobookshelf can't download the file. ### What did you expect to happen? The audio file should be downloaded just like any other podcast. ### Steps to reproduce the issue 1. When I go to the link in the browser `https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3` it redirects to `https://d2jti1fb5f3g5g.cloudfront.net/46434_684abb2c897252517c6b3c1a_r1.mp3` ### Audiobookshelf version 2.24.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 [ffmpegHelpers] Failed to download podcast episode with url "https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3" [AxiosError: Request failed with status code 403] { code: 'ERR_BAD_REQUEST', config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [Function: httpAdapter], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 30000, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: [Function] }, validateStatus: [Function: validateStatus], headers: { Accept: 'application/json, text/plain, */*', 'User-Agent': 'audiobookshelf (+https://audiobookshelf.org)' }, url: 'https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', method: 'get', responseType: 'stream', data: undefined }, request: <ref *1> ClientRequest { _events: [Object: null prototype] { abort: [Function (anonymous)], aborted: [Function (anonymous)], connect: [Function (anonymous)], error: [Function (anonymous)], socket: [Function (anonymous)], timeout: [Function (anonymous)], finish: [Function: requestOnFinish] }, _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: true, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: TLSSocket { _tlsOptions: [Object], _secureEstablished: true, _securePending: false, _newSessionPending: false, _controlReleased: true, secureConnecting: false, _SNICallback: null, servername: 'www1.nobexpartners.com', alpnProtocol: false, authorized: true, authorizationError: null, encrypted: true, _events: [Object: null prototype], _eventsCount: 9, connecting: false, _hadError: false, _parent: null, _host: 'www1.nobexpartners.com', _closeAfterHandlingError: false, _readableState: [ReadableState], _writableState: [WritableState], allowHalfOpen: false, _maxListeners: undefined, _sockname: null, _pendingData: null, _pendingEncoding: '', server: undefined, _server: null, ssl: [TLSWrap], _requestCert: true, _rejectUnauthorized: true, timeout: 30000, parser: null, _httpMessage: [Circular *1], [Symbol(alpncallback)]: null, [Symbol(res)]: [TLSWrap], [Symbol(verified)]: true, [Symbol(pendingSession)]: null, [Symbol(async_id_symbol)]: 47429, [Symbol(kHandle)]: [TLSWrap], [Symbol(lastWriteQueueSize)]: 0, [Symbol(timeout)]: Timeout { _idleTimeout: 30000, _idlePrev: [TimersList], _idleNext: [Timeout], _idleStart: 365756, _onTimeout: [Function: bound ], _timerArgs: undefined, _repeat: null, _destroyed: false, [Symbol(refed)]: false, [Symbol(kHasPrimitive)]: false, [Symbol(asyncId)]: 47438, [Symbol(triggerId)]: 47433 }, [Symbol(kBuffer)]: null, [Symbol(kBufferCb)]: null, [Symbol(kBufferGen)]: null, [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false, [Symbol(kSetNoDelay)]: false, [Symbol(kSetKeepAlive)]: true, [Symbol(kSetKeepAliveInitialDelay)]: 60, [Symbol(kBytesRead)]: 0, [Symbol(kBytesWritten)]: 0, [Symbol(connect-options)]: [Object] }, _header: 'GET /ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3 HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'User-Agent: audiobookshelf (+https://audiobookshelf.org)\r\n' + 'Host: www1.nobexpartners.com\r\n' + 'Connection: keep-alive\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 443, protocol: 'https:', options: [Object: null prototype], requests: [Object: null prototype] {}, sockets: [Object: null prototype], freeSockets: [Object: null prototype] {}, keepAliveMsecs: 1000, keepAlive: true, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 1, maxCachedSessions: 100, _sessionCache: [Object], [Symbol(shapeMode)]: false, [Symbol(kCapture)]: false }, socketPath: undefined, method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, joinDuplicateHeaders: undefined, path: '/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', _ended: false, res: IncomingMessage { _events: [Object], _readableState: [ReadableState], _maxListeners: undefined, socket: [TLSSocket], httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [Array], rawTrailers: [], joinDuplicateHeaders: undefined, aborted: false, upgrade: false, url: '', method: null, statusCode: 403, statusMessage: 'Forbidden', client: [TLSSocket], _consuming: false, _dumped: false, req: [Circular *1], _eventsCount: 1, responseUrl: 'https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', redirects: [], [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false, [Symbol(kHeaders)]: [Object], [Symbol(kHeadersCount)]: 16, [Symbol(kTrailers)]: null, [Symbol(kTrailersCount)]: 0 }, aborted: false, timeoutCb: [Function: emitRequestTimeout], upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: 'www1.nobexpartners.com', protocol: 'https:', _redirectable: Writable { _events: [Object], _writableState: [WritableState], _maxListeners: undefined, _options: [Object], _ended: true, _ending: true, _redirectCount: 0, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _eventsCount: 3, _onNativeResponse: [Function (anonymous)], _currentRequest: [Circular *1], _currentUrl: 'https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', _timeout: null, [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false }, [Symbol(shapeMode)]: false, [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype] { accept: [Array], 'user-agent': [Array], host: [Array] }, [Symbol(errored)]: null, [Symbol(kHighWaterMark)]: 16384, [Symbol(kRejectNonStandardBodyWrites)]: false, [Symbol(kUniqueHeaders)]: null }, response: { status: 403, statusText: 'Forbidden', headers: { 'cache-control': 'private', 'content-type': 'text/html', server: 'Microsoft-IIS/10.0', 'set-cookie': [Array], 'x-aspnet-version': '4.0.30319', 'x-powered-by': 'ASP.NET', date: 'Thu, 12 Jun 2025 16:45:44 GMT', 'content-length': '1233' }, config: { transitional: [Object], adapter: [Function: httpAdapter], transformRequest: [Array], transformResponse: [Array], timeout: 30000, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: [Object], validateStatus: [Function: validateStatus], headers: [Object], url: 'https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', method: 'get', responseType: 'stream', data: undefined }, request: <ref *1> ClientRequest { _events: [Object: null prototype], _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: true, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: [TLSSocket], _header: 'GET /ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3 HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'User-Agent: audiobookshelf (+https://audiobookshelf.org)\r\n' + 'Host: www1.nobexpartners.com\r\n' + 'Connection: keep-alive\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Agent], socketPath: undefined, method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, joinDuplicateHeaders: undefined, path: '/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', _ended: false, res: [IncomingMessage], aborted: false, timeoutCb: [Function: emitRequestTimeout], upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: 'www1.nobexpartners.com', protocol: 'https:', _redirectable: [Writable], [Symbol(shapeMode)]: false, [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype], [Symbol(errored)]: null, [Symbol(kHighWaterMark)]: 16384, [Symbol(kRejectNonStandardBodyWrites)]: false, [Symbol(kUniqueHeaders)]: null }, data: IncomingMessage { _events: [Object], _readableState: [ReadableState], _maxListeners: undefined, socket: [TLSSocket], httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [Array], rawTrailers: [], joinDuplicateHeaders: undefined, aborted: false, upgrade: false, url: '', method: null, statusCode: 403, statusMessage: 'Forbidden', client: [TLSSocket], _consuming: false, _dumped: false, req: [ClientRequest], _eventsCount: 1, responseUrl: 'https://www1.nobexpartners.com/ODItem.aspx?id=684abb2c897252517c6b3c1a.46434.a.mp3', redirects: [], [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false, [Symbol(kHeaders)]: [Object], [Symbol(kHeadersCount)]: 16, [Symbol(kTrailers)]: null, [Symbol(kTrailersCount)]: 0 } } } ``` ### Additional Notes _No response_
adam added the bug label 2026-04-25 00:11:08 +02:00
adam closed this issue 2026-04-25 00:11:08 +02:00
Author
Owner

@advplyr commented on GitHub (Jun 12, 2025):

Can you share the rss feed

@advplyr commented on GitHub (Jun 12, 2025): Can you share the rss feed
Author
Owner

@ShlomiPorush commented on GitHub (Jun 12, 2025):

Sure, here https://www1.nobexpartners.com/getfeed.ashx?id=46434&list=LIRAZ

@ShlomiPorush commented on GitHub (Jun 12, 2025): Sure, here https://www1.nobexpartners.com/getfeed.ashx?id=46434&list=LIRAZ
Author
Owner

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

I thought we got rid of iTMS because it caused user agent issues with other podcasts? I am not able to find the original discussion about it.

@nichwall commented on GitHub (Jun 13, 2025): I thought we got rid of `iTMS` because it caused user agent issues with other podcasts? I am not able to find the original discussion about it.
Author
Owner

@advplyr commented on GitHub (Jun 13, 2025):

Yeah I found that after I made the update. I made a more thorough fix in #4404 to allow a fallback user-agent.

The redirect was a red herring. The issue was the user agent string

@advplyr commented on GitHub (Jun 13, 2025): Yeah I found that after I made the update. I made a more thorough fix in #4404 to allow a fallback user-agent. The redirect was a red herring. The issue was the user agent string
Author
Owner

@github-actions[bot] commented on GitHub (Jun 15, 2025):

Fixed in v2.25.1.

@github-actions[bot] commented on GitHub (Jun 15, 2025): Fixed in [v2.25.1](https://github.com/advplyr/audiobookshelf/releases/tag/v2.25.1).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2836