ESPN+ & FOX Sports with Custom Channels via EPlusTV

I noticed nothing was being scheduled and found these in the container log. Appears the scheduler got stuck today with TypeError: Cannot read properties of undefined (reading 'logo').


2025-11-15T20:11:08.956448079Z === Getting events ===
2025-11-15T20:11:08.976312011Z Looking for FOX One events...
2025-11-15T20:11:17.556112864Z Adding event: KTXL: Learn More About Medicare Advantage Plans from Humana
                               ...
2025-11-15T20:11:17.636151149Z Adding event: SOUL: Girls Night
2025-11-15T20:11:17.638466505Z TypeError: Cannot read properties of undefined (reading 'logo')
2025-11-15T20:11:17.638696324Z     at /app/services/foxone-handler.ts:164:29
2025-11-15T20:11:17.638758092Z     at Generator.next (<anonymous>)
2025-11-15T20:11:17.638812302Z     at fulfilled (/app/services/foxone-handler.ts:5:58)
2025-11-15T20:11:17.638930561Z Could not parse FOX One events
2025-11-15T20:11:17.639106294Z === Done getting events ===
2025-11-15T20:11:17.639169326Z === Building the schedule ===
2025-11-15T20:11:17.644465153Z === Done building the schedule ===

2025-11-16T00:11:09.048839238Z === Getting events ===
2025-11-16T00:11:09.070005565Z Looking for FOX One events...
2025-11-16T00:11:16.460316469Z Adding event: KTXL: NEW! Shark PowerDetect with DuoClean Detect Technology
                               ...
2025-11-16T00:11:16.548217347Z Adding event: SOUL: Girls Night
2025-11-16T00:11:16.552194109Z TypeError: Cannot read properties of undefined (reading 'logo')
2025-11-16T00:11:16.552356335Z     at /app/services/foxone-handler.ts:164:29
2025-11-16T00:11:16.552487890Z     at Generator.next (<anonymous>)
2025-11-16T00:11:16.552538799Z     at fulfilled (/app/services/foxone-handler.ts:5:58)
2025-11-16T00:11:16.552324631Z Could not parse FOX One events
2025-11-16T00:11:16.552638541Z === Done getting events ===
2025-11-16T00:11:16.552681743Z === Building the schedule ===
2025-11-16T00:11:16.557728229Z === Done building the schedule ===

2025-11-16T04:11:08.991047442Z === Getting events ===
2025-11-16T04:11:09.010059480Z Looking for FOX One events...
2025-11-16T04:11:16.751889401Z Adding event: KTXL: Paid Programming
                               ...
2025-11-16T04:11:16.825689574Z Adding event: SOUL: Girls Night
2025-11-16T04:11:16.829308935Z TypeError: Cannot read properties of undefined (reading 'logo')
2025-11-16T04:11:16.829436730Z     at /app/services/foxone-handler.ts:164:29
2025-11-16T04:11:16.829491547Z     at Generator.next (<anonymous>)
2025-11-16T04:11:16.829552469Z     at fulfilled (/app/services/foxone-handler.ts:5:58)
2025-11-16T04:11:16.829491929Z Could not parse FOX One events
2025-11-16T04:11:16.829677106Z === Done getting events ===
2025-11-16T04:11:16.829727524Z === Building the schedule ===
2025-11-16T04:11:16.834831406Z === Done building the schedule ===

I did a manual Rebuild EPG about 3 hours after that last error and it's working now

Have you ruled out loss of Internet connectivity at the times of the interruptions?
Do have have other recordings streaming uninterrupted over the Internet at the same exact time your EPlusTV recordings get interrupted?

Yes, it appears all four of the "digital networks" listed under ESPN in the EPlusTV GUI have now been migrated to DRM, along with ESPN+. That includes ESPN3, SEC+, ACCN Extra, and @ESPN (free). I will disable them in the next update.

If the CDVR devs can implement a simple mechanism to redirect to app deeplinks, I will try to re-enable those events here, for live, single-stream playback via the ESPN app.

2 Likes

I just pushed a potential fix in v4.14.6 for your Fox One stream interruptions -- let me know if it still happens after updating. (Edit to add: also verify that “Proxy segment files” is disabled/unchecked in your EPlusTV settings.)

This is fixed in v4.14.6

Yes, and these are removed now in v4.14.6 (pending future deeplink redirect support)

2 Likes

I just pushed a potential fix in v4.14.6 for your Fox One stream interruptions -- let me know if it still happens after updating. (Edit to add: also verify that “Proxy segment files” is disabled/unchecked in your EPlusTV settings.)

---------Awesome. Testing now. What did you do to potentially fix it and why did it seem to effect me and nobody else. "Proxy segment files?" is unchecked and always has been to my knowledge. Will report back finding.

THANKS @tonywagner !

I thought of this too. Fired up FoxOne for playback on 2 local devices. Opened 3 command prompts on the Docker server and set continuous pings to Cloudflare, device 1 and device 2. Both FoxOne channels would disconnect after the usual 5-30 minutes, however after all day of the pings running there were maybe 1 or 3 timeouts for the entire day. So internet connectivity does not appear to be any sort of issue.

Crap lost it right at about the 30 minute mark!

FYI had docker default networking mode set to IPv6. I switched back to IPv4 and it crashed out again in like 5 minutes will post those logs at the bottom. Thanks

IPv6 Networking

2025-11-17 11:50:18.215 | === E+TV v4.14.6 starting ===
2025-11-17 11:50:21.448 | Updating FOX One prelim token
2025-11-17 11:50:21.687 | Refreshing TV Provider token (FOX One)
2025-11-17 11:50:22.348 | HTTP server started on port 8000
2025-11-17 11:50:22.540 | === Getting events ===
2025-11-17 11:50:22.547 | Looking for FOX One events...
2025-11-17 11:50:22.548 | Looking for B1G+ events...
2025-11-17 11:50:24.975 | === Done getting events ===
2025-11-17 11:50:24.975 | === Building the schedule ===
2025-11-17 11:50:24.980 | === Done building the schedule ===
2025-11-17 11:51:36.027 | Channel #316 has an active event (Outnumbered). Going to start the stream.
2025-11-17 12:02:27.295 | Channel #310 has an active event (Oh, Bail No). Going to start the stream.
2025-11-17 12:20:18.130 | Updating FOX One prelim token
2025-11-17 12:20:18.427 | Refreshing TV Provider token (FOX One)
2025-11-17 12:20:54.479 | Could not parse chunklist properly!
2025-11-17 12:20:54.522 | AxiosError: timeout of 60000ms exceeded
2025-11-17 12:20:54.522 |     at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-11-17 12:20:54.522 |     at RedirectableRequest.emit (node:events:517:28)
2025-11-17 12:20:54.522 |     at RedirectableRequest.emit (node:domain:489:12)
2025-11-17 12:20:54.522 |     at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-11-17 12:20:54.522 |     at listOnTimeout (node:internal/timers:569:17)
2025-11-17 12:20:54.522 |     at processTimers (node:internal/timers:512:7) {
2025-11-17 12:20:54.522 |   code: 'ECONNABORTED',
2025-11-17 12:20:54.522 |   config: {
2025-11-17 12:20:54.522 |     transitional: {
2025-11-17 12:20:54.522 |       silentJSONParsing: true,
2025-11-17 12:20:54.522 |       forcedJSONParsing: true,
2025-11-17 12:20:54.522 |       clarifyTimeoutError: false
2025-11-17 12:20:54.522 |     },
2025-11-17 12:20:54.522 |     adapter: [ 'xhr', 'http' ],
2025-11-17 12:20:54.522 |     transformRequest: [ [Function: transformRequest] ],
2025-11-17 12:20:54.522 |     transformResponse: [ [Function: transformResponse] ],
2025-11-17 12:20:54.522 |     timeout: 60000,
2025-11-17 12:20:54.522 |     xsrfCookieName: 'XSRF-TOKEN',
2025-11-17 12:20:54.522 |     xsrfHeaderName: 'X-XSRF-TOKEN',
2025-11-17 12:20:54.522 |     maxContentLength: -1,
2025-11-17 12:20:54.522 |     maxBodyLength: -1,
2025-11-17 12:20:54.522 |     env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-11-17 12:20:54.522 |     validateStatus: [Function: validateStatus],
2025-11-17 12:20:54.522 |     headers: AxiosHeaders {
2025-11-17 12:20:54.522 |       Accept: 'application/json, text/plain, */*',
2025-11-17 12:20:54.522 |       'Accept-Encoding': 'identity',
2025-11-17 12:20:54.522 |       'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-11-17 12:20:54.522 |     },
2025-11-17 12:20:54.522 |     method: 'get',
2025-11-17 12:20:54.522 |     url: 'https://foxdtc-video.akamaized.net/live-dr/fnc-ue2/hdntl=exp=1763488295~acl=%2f*~data=hdntl~hmac=2e34975f58096d1a7326adc4e75bac0eaf8f6db825d1b77f2176f0fd0468fcb8/index_7.m3u8',
2025-11-17 12:20:54.522 |     data: undefined
2025-11-17 12:20:54.522 |   },
2025-11-17 12:20:54.522 |   request: <ref *1> Writable {
2025-11-17 12:20:54.522 |     _writableState: WritableState {
2025-11-17 12:20:54.522 |       objectMode: false,
2025-11-17 12:20:54.522 |       highWaterMark: 16384,
2025-11-17 12:20:54.522 |       finalCalled: false,
2025-11-17 12:20:54.522 |       needDrain: false,
2025-11-17 12:20:54.522 |       ending: false,
2025-11-17 12:20:54.522 |       ended: false,
2025-11-17 12:20:54.522 |       finished: false,
2025-11-17 12:20:54.522 |       destroyed: false,
2025-11-17 12:20:54.522 |       decodeStrings: true,
2025-11-17 12:20:54.522 |       defaultEncoding: 'utf8',
2025-11-17 12:20:54.522 | Could not get chunklist for channel #316.
2025-11-17 12:20:54.522 |       length: 0,
2025-11-17 12:20:54.522 |       writing: false,
2025-11-17 12:20:54.522 |       corked: 0,
2025-11-17 12:20:54.522 |       sync: true,
2025-11-17 12:20:54.522 |       bufferProcessing: false,
2025-11-17 12:20:54.522 |       onwrite: [Function: bound onwrite],
2025-11-17 12:20:54.522 |       writecb: null,
2025-11-17 12:20:54.522 |       writelen: 0,
2025-11-17 12:20:54.522 |       afterWriteTickInfo: null,
2025-11-17 12:20:54.522 |       buffered: [],
2025-11-17 12:20:54.522 |       bufferedIndex: 0,
2025-11-17 12:20:54.522 |       allBuffers: true,
2025-11-17 12:20:54.522 |       allNoop: true,
2025-11-17 12:20:54.522 |       pendingcb: 0,
2025-11-17 12:20:54.522 |       constructed: true,
2025-11-17 12:20:54.522 |       prefinished: false,
2025-11-17 12:20:54.522 |       errorEmitted: false,
2025-11-17 12:20:54.522 |       emitClose: true,
2025-11-17 12:20:54.523 |       autoDestroy: true,
2025-11-17 12:20:54.523 |       errored: null,
2025-11-17 12:20:54.523 |       closed: false,
2025-11-17 12:20:54.523 |       closeEmitted: false,
2025-11-17 12:20:54.523 |       [Symbol(kOnFinished)]: []
2025-11-17 12:20:54.523 |     },
2025-11-17 12:20:54.523 |     _events: [Object: null prototype] {
2025-11-17 12:20:54.523 |       response: [Function: handleResponse],
2025-11-17 12:20:54.523 |       error: [Function: handleRequestError],
2025-11-17 12:20:54.523 |       socket: [Array]
2025-11-17 12:20:54.523 |     },
2025-11-17 12:20:54.523 |     _eventsCount: 3,
2025-11-17 12:20:54.523 |     _maxListeners: undefined,
2025-11-17 12:20:54.523 |     _options: {
2025-11-17 12:20:54.523 |       maxRedirects: 21,
2025-11-17 12:20:54.523 |       maxBodyLength: Infinity,
2025-11-17 12:20:54.523 |       protocol: 'https:',
2025-11-17 12:20:54.523 |       path: '/live-dr/fnc-ue2/hdntl=exp=1763488295~acl=%2f*~data=hdntl~hmac=2e34975f58096d1a7326adc4e75bac0eaf8f6db825d1b77f2176f0fd0468fcb8/index_7.m3u8',
2025-11-17 12:20:54.523 |       method: 'GET',
2025-11-17 12:20:54.523 |       headers: [Object: null prototype],
2025-11-17 12:20:54.523 |       agents: [Object],
2025-11-17 12:20:54.523 |       auth: undefined,
2025-11-17 12:20:54.523 |       beforeRedirect: [Function: dispatchBeforeRedirect],
2025-11-17 12:20:54.523 |       beforeRedirects: [Object],
2025-11-17 12:20:54.523 |       hostname: 'foxdtc-video.akamaized.net',
2025-11-17 12:20:54.523 |       port: '',
2025-11-17 12:20:54.523 |       agent: undefined,
2025-11-17 12:20:54.523 |       nativeProtocols: [Object],
2025-11-17 12:20:54.523 |       pathname: '/live-dr/fnc-ue2/hdntl=exp=1763488295~acl=%2f*~data=hdntl~hmac=2e34975f58096d1a7326adc4e75bac0eaf8f6db825d1b77f2176f0fd0468fcb8/index_7.m3u8'
2025-11-17 12:20:54.523 |     },
2025-11-17 12:20:54.523 |     _ended: true,
2025-11-17 12:20:54.523 |     _ending: true,
2025-11-17 12:20:54.523 |     _redirectCount: 0,
2025-11-17 12:20:54.523 |     _redirects: [],
2025-11-17 12:20:54.523 |     _requestBodyLength: 0,
2025-11-17 12:20:54.523 |     _requestBodyBuffers: [],
2025-11-17 12:20:54.523 |     _onNativeResponse: [Function (anonymous)],
2025-11-17 12:20:54.523 |     _currentRequest: ClientRequest {
2025-11-17 12:20:54.523 |       _events: [Object: null prototype],
2025-11-17 12:20:54.523 |       _eventsCount: 7,
2025-11-17 12:20:54.523 |       _maxListeners: undefined,
2025-11-17 12:20:54.523 |       outputData: [],
2025-11-17 12:20:54.523 |       outputSize: 0,
2025-11-17 12:20:54.523 |       writable: true,
2025-11-17 12:20:54.523 |       destroyed: false,
2025-11-17 12:20:54.523 |       _last: true,
2025-11-17 12:20:54.523 |       chunkedEncoding: false,
2025-11-17 12:20:54.523 |       shouldKeepAlive: false,
2025-11-17 12:20:54.523 |       maxRequestsOnConnectionReached: false,
2025-11-17 12:20:54.523 |       _defaultKeepAlive: true,
2025-11-17 12:20:54.523 |       useChunkedEncodingByDefault: false,
2025-11-17 12:20:54.523 |       sendDate: false,
2025-11-17 12:20:54.523 |       _removedConnection: false,
2025-11-17 12:20:54.523 |       _removedContLen: false,
2025-11-17 12:20:54.523 |       _removedTE: false,
2025-11-17 12:20:54.523 |       strictContentLength: false,
2025-11-17 12:20:54.523 |       _contentLength: 0,
2025-11-17 12:20:54.523 |       _hasBody: true,
2025-11-17 12:20:54.523 |       _trailer: '',
2025-11-17 12:20:54.523 |       finished: true,
2025-11-17 12:20:54.523 |       _headerSent: true,
2025-11-17 12:20:54.523 |       _closed: false,
2025-11-17 12:20:54.523 |       socket: [TLSSocket],
2025-11-17 12:20:54.523 |       _header: 'GET /live-dr/fnc-ue2/hdntl=exp=1763488295~acl=%2f*~data=hdntl~hmac=2e34975f58096d1a7326adc4e75bac0eaf8f6db825d1b77f2176f0fd0468fcb8/index_7.m3u8 HTTP/1.1\r\n' +
2025-11-17 12:20:54.523 |         'Accept: application/json, text/plain, */*\r\n' +
2025-11-17 12:20:54.523 |         'Accept-Encoding: identity\r\n' +
2025-11-17 12:20:54.523 |         'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-11-17 12:20:54.523 |         'Host: foxdtc-video.akamaized.net\r\n' +
2025-11-17 12:20:54.523 |         'Connection: close\r\n' +
2025-11-17 12:20:54.523 |         '\r\n',
2025-11-17 12:20:54.523 |       _keepAliveTimeout: 0,
2025-11-17 12:20:54.523 |       _onPendingData: [Function: nop],
2025-11-17 12:20:54.523 |       agent: [Agent],
2025-11-17 12:20:54.524 |       socketPath: undefined,
2025-11-17 12:20:54.524 |       method: 'GET',
2025-11-17 12:20:54.524 |       maxHeaderSize: undefined,
2025-11-17 12:20:54.524 |       insecureHTTPParser: undefined,
2025-11-17 12:20:54.524 |       joinDuplicateHeaders: undefined,
2025-11-17 12:20:54.524 |       path: '/live-dr/fnc-ue2/hdntl=exp=1763488295~acl=%2f*~data=hdntl~hmac=2e34975f58096d1a7326adc4e75bac0eaf8f6db825d1b77f2176f0fd0468fcb8/index_7.m3u8',
2025-11-17 12:20:54.524 |       _ended: false,
2025-11-17 12:20:54.524 |       res: null,
2025-11-17 12:20:54.524 |       aborted: false,
2025-11-17 12:20:54.524 |       timeoutCb: null,
2025-11-17 12:20:54.524 |       upgradeOrConnect: false,
2025-11-17 12:20:54.524 |       parser: [HTTPParser],
2025-11-17 12:20:54.524 |       maxHeadersCount: null,
2025-11-17 12:20:54.524 |       reusedSocket: false,
2025-11-17 12:20:54.524 |       host: 'foxdtc-video.akamaized.net',
2025-11-17 12:20:54.524 |       protocol: 'https:',
2025-11-17 12:20:54.524 |       _redirectable: [Circular *1],
2025-11-17 12:20:54.524 |       [Symbol(kCapture)]: false,
2025-11-17 12:20:54.524 |       [Symbol(kBytesWritten)]: 0,
2025-11-17 12:20:54.524 |       [Symbol(kNeedDrain)]: false,
2025-11-17 12:20:54.524 |       [Symbol(corked)]: 0,
2025-11-17 12:20:54.524 |       [Symbol(kOutHeaders)]: [Object: null prototype],
2025-11-17 12:20:54.524 |       [Symbol(errored)]: null,
2025-11-17 12:20:54.524 |       [Symbol(kHighWaterMark)]: 16384,
2025-11-17 12:20:54.524 |       [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-11-17 12:20:54.524 |       [Symbol(kUniqueHeaders)]: null
2025-11-17 12:20:54.524 |     },
2025-11-17 12:20:54.524 |     _currentUrl: 'https://foxdtc-video.akamaized.net/live-dr/fnc-ue2/hdntl=exp=1763488295~acl=%2f*~data=hdntl~hmac=2e34975f58096d1a7326adc4e75bac0eaf8f6db825d1b77f2176f0fd0468fcb8/index_7.m3u8',
2025-11-17 12:20:54.524 |     _timeout: null,
2025-11-17 12:20:54.524 |     [Symbol(kCapture)]: false
2025-11-17 12:20:54.524 |   }
2025-11-17 12:20:54.524 | }

IPv4 Networking

2025-11-17 15:41:56.851 | 
2025-11-17 15:41:56.851 | > [email protected] start
2025-11-17 15:41:56.851 | > ts-node -r tsconfig-paths/register index.tsx
2025-11-17 15:41:56.851 | 
2025-11-17 15:42:08.077 | === E+TV v4.14.6 starting ===
2025-11-17 15:42:11.682 | Updating FOX One prelim token
2025-11-17 15:42:12.021 | Refreshing TV Provider token (FOX One)
2025-11-17 15:42:12.644 | HTTP server started on port 8000
2025-11-17 15:42:12.770 | === Getting events ===
2025-11-17 15:42:12.781 | Looking for FOX One events...
2025-11-17 15:42:12.781 | Looking for B1G+ events...
2025-11-17 15:42:15.441 | Adding event: FS2: FIFA World Cup 2026 Qualifying - Germany vs. Slovakia
2025-11-17 15:42:15.466 | === Done getting events ===
2025-11-17 15:42:15.467 | === Building the schedule ===
2025-11-17 15:42:15.474 | === Done building the schedule ===
2025-11-17 15:42:33.659 | Channel #316 has an active event (The Will Cain Show). Going to start the stream.
2025-11-17 15:47:14.839 | Could not parse chunklist properly!
2025-11-17 15:47:14.876 | AxiosError: timeout of 60000ms exceeded
2025-11-17 15:47:14.876 |     at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-11-17 15:47:14.876 |     at RedirectableRequest.emit (node:events:517:28)
2025-11-17 15:47:14.876 |     at RedirectableRequest.emit (node:domain:489:12)
2025-11-17 15:47:14.876 |     at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-11-17 15:47:14.877 |     at listOnTimeout (node:internal/timers:569:17)
2025-11-17 15:47:14.877 |     at processTimers (node:internal/timers:512:7) {
2025-11-17 15:47:14.877 |   code: 'ECONNABORTED',
2025-11-17 15:47:14.877 |   config: {
2025-11-17 15:47:14.877 |     transitional: {
2025-11-17 15:47:14.877 |       silentJSONParsing: true,
2025-11-17 15:47:14.877 |       forcedJSONParsing: true,
2025-11-17 15:47:14.877 |       clarifyTimeoutError: false
2025-11-17 15:47:14.877 |     },
2025-11-17 15:47:14.877 |     adapter: [ 'xhr', 'http' ],
2025-11-17 15:47:14.877 |     transformRequest: [ [Function: transformRequest] ],
2025-11-17 15:47:14.877 |     transformResponse: [ [Function: transformResponse] ],
2025-11-17 15:47:14.877 |     timeout: 60000,
2025-11-17 15:47:14.877 |     xsrfCookieName: 'XSRF-TOKEN',
2025-11-17 15:47:14.877 |     xsrfHeaderName: 'X-XSRF-TOKEN',
2025-11-17 15:47:14.877 |     maxContentLength: -1,
2025-11-17 15:47:14.877 |     maxBodyLength: -1,
2025-11-17 15:47:14.877 |     env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-11-17 15:47:14.877 |     validateStatus: [Function: validateStatus],
2025-11-17 15:47:14.877 |     headers: AxiosHeaders {
2025-11-17 15:47:14.877 |       Accept: 'application/json, text/plain, */*',
2025-11-17 15:47:14.877 |       'Accept-Encoding': 'identity',
2025-11-17 15:47:14.877 |       'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-11-17 15:47:14.877 |     },
2025-11-17 15:47:14.877 |     method: 'get',
2025-11-17 15:47:14.877 |     url: 'https://cf.edge.foxdtc.digitalvideoplatform.com/4f430e407eabe74da320cc6c8cee08e3abb20f48.20251118034233/live-dr/fnc-ue2/index_7.m3u8?zipcode=68521',
2025-11-17 15:47:14.877 |     data: undefined
2025-11-17 15:47:14.877 |   },
2025-11-17 15:47:14.877 |   request: <ref *1> Writable {
2025-11-17 15:47:14.877 |     _writableState: WritableState {
2025-11-17 15:47:14.877 |       objectMode: false,
2025-11-17 15:47:14.877 |       highWaterMark: 16384,
2025-11-17 15:47:14.877 |       finalCalled: false,
2025-11-17 15:47:14.877 |       needDrain: false,
2025-11-17 15:47:14.877 |       ending: false,
2025-11-17 15:47:14.877 |       ended: false,
2025-11-17 15:47:14.877 |       finished: false,
2025-11-17 15:47:14.877 |       destroyed: false,
2025-11-17 15:47:14.877 |       decodeStrings: true,
2025-11-17 15:47:14.877 |       defaultEncoding: 'utf8',
2025-11-17 15:47:14.877 |       length: 0,
2025-11-17 15:47:14.877 |       writing: false,
2025-11-17 15:47:14.877 |       corked: 0,
2025-11-17 15:47:14.877 |       sync: true,
2025-11-17 15:47:14.877 |       bufferProcessing: false,
2025-11-17 15:47:14.877 |       onwrite: [Function: bound onwrite],
2025-11-17 15:47:14.877 |       writecb: null,
2025-11-17 15:47:14.877 |       writelen: 0,
2025-11-17 15:47:14.877 |       afterWriteTickInfo: null,
2025-11-17 15:47:14.877 |       buffered: [],
2025-11-17 15:47:14.877 |       bufferedIndex: 0,
2025-11-17 15:47:14.877 |       allBuffers: true,
2025-11-17 15:47:14.877 |       allNoop: true,
2025-11-17 15:47:14.877 |       pendingcb: 0,
2025-11-17 15:47:14.877 |       constructed: true,
2025-11-17 15:47:14.877 |       prefinished: false,
2025-11-17 15:47:14.877 |       errorEmitted: false,
2025-11-17 15:47:14.877 |       emitClose: true,
2025-11-17 15:47:14.877 |       autoDestroy: true,
2025-11-17 15:47:14.877 |       errored: null,
2025-11-17 15:47:14.877 |       closed: false,
2025-11-17 15:47:14.877 |       closeEmitted: false,
2025-11-17 15:47:14.877 |       [Symbol(kOnFinished)]: []
2025-11-17 15:47:14.877 |     },
2025-11-17 15:47:14.877 |     _events: [Object: null prototype] {
2025-11-17 15:47:14.877 |       response: [Function: handleResponse],
2025-11-17 15:47:14.877 |       error: [Function: handleRequestError],
2025-11-17 15:47:14.877 |       socket: [Array]
2025-11-17 15:47:14.877 |     },
2025-11-17 15:47:14.877 |     _eventsCount: 3,
2025-11-17 15:47:14.877 |     _maxListeners: undefined,
2025-11-17 15:47:14.877 |     _options: {
2025-11-17 15:47:14.877 |       maxRedirects: 21,
2025-11-17 15:47:14.877 |       maxBodyLength: Infinity,
2025-11-17 15:47:14.877 |       protocol: 'https:',
2025-11-17 15:47:14.877 |       path: '/4f430e407eabe74da320cc6c8cee08e3abb20f48.20251118034233/live-dr/fnc-ue2/index_7.m3u8?zipcode=68521',
2025-11-17 15:47:14.877 |       method: 'GET',
2025-11-17 15:47:14.877 |       headers: [Object: null prototype],
2025-11-17 15:47:14.877 |       agents: [Object],
2025-11-17 15:47:14.877 |       auth: undefined,
2025-11-17 15:47:14.877 |       beforeRedirect: [Function: dispatchBeforeRedirect],
2025-11-17 15:47:14.877 |       beforeRedirects: [Object],
2025-11-17 15:47:14.877 |       hostname: 'cf.edge.foxdtc.digitalvideoplatform.com',
2025-11-17 15:47:14.877 |       port: '',
2025-11-17 15:47:14.877 |       agent: undefined,
2025-11-17 15:47:14.877 |       nativeProtocols: [Object],
2025-11-17 15:47:14.877 |       pathname: '/4f430e407eabe74da320cc6c8cee08e3abb20f48.20251118034233/live-dr/fnc-ue2/index_7.m3u8',
2025-11-17 15:47:14.878 |       search: '?zipcode=68521'
2025-11-17 15:47:14.878 |     },
2025-11-17 15:47:14.878 |     _ended: true,
2025-11-17 15:47:14.878 |     _ending: true,
2025-11-17 15:47:14.878 |     _redirectCount: 0,
2025-11-17 15:47:14.878 |     _redirects: [],
2025-11-17 15:47:14.878 |     _requestBodyLength: 0,
2025-11-17 15:47:14.878 |     _requestBodyBuffers: [],
2025-11-17 15:47:14.878 |     _onNativeResponse: [Function (anonymous)],
2025-11-17 15:47:14.878 |     _currentRequest: ClientRequest {
2025-11-17 15:47:14.878 |       _events: [Object: null prototype],
2025-11-17 15:47:14.878 |       _eventsCount: 7,
2025-11-17 15:47:14.878 |       _maxListeners: undefined,
2025-11-17 15:47:14.878 |       outputData: [],
2025-11-17 15:47:14.878 |       outputSize: 0,
2025-11-17 15:47:14.878 |       writable: true,
2025-11-17 15:47:14.878 |       destroyed: false,
2025-11-17 15:47:14.878 |       _last: true,
2025-11-17 15:47:14.878 |       chunkedEncoding: false,
2025-11-17 15:47:14.878 |       shouldKeepAlive: false,
2025-11-17 15:47:14.878 |       maxRequestsOnConnectionReached: false,
2025-11-17 15:47:14.878 |       _defaultKeepAlive: true,
2025-11-17 15:47:14.878 |       useChunkedEncodingByDefault: false,
2025-11-17 15:47:14.878 |       sendDate: false,
2025-11-17 15:47:14.878 |       _removedConnection: false,
2025-11-17 15:47:14.878 |       _removedContLen: false,
2025-11-17 15:47:14.878 |       _removedTE: false,
2025-11-17 15:47:14.878 |       strictContentLength: false,
2025-11-17 15:47:14.878 |       _contentLength: 0,
2025-11-17 15:47:14.878 |       _hasBody: true,
2025-11-17 15:47:14.878 |       _trailer: '',
2025-11-17 15:47:14.878 |       finished: true,
2025-11-17 15:47:14.878 |       _headerSent: true,
2025-11-17 15:47:14.878 |       _closed: false,
2025-11-17 15:47:14.878 |       socket: [TLSSocket],
2025-11-17 15:47:14.878 |       _header: 'GET /4f430e407eabe74da320cc6c8cee08e3abb20f48.20251118034233/live-dr/fnc-ue2/index_7.m3u8?zipcode=68521 HTTP/1.1\r\n' +
2025-11-17 15:47:14.878 |         'Accept: application/json, text/plain, */*\r\n' +
2025-11-17 15:47:14.878 |         'Accept-Encoding: identity\r\n' +
2025-11-17 15:47:14.878 |         'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-11-17 15:47:14.878 |         'Host: cf.edge.foxdtc.digitalvideoplatform.com\r\n' +
2025-11-17 15:47:14.878 |         'Connection: close\r\n' +
2025-11-17 15:47:14.878 |         '\r\n',
2025-11-17 15:47:14.878 |       _keepAliveTimeout: 0,
2025-11-17 15:47:14.878 |       _onPendingData: [Function: nop],
2025-11-17 15:47:14.878 |       agent: [Agent],
2025-11-17 15:47:14.878 |       socketPath: undefined,
2025-11-17 15:47:14.878 |       method: 'GET',
2025-11-17 15:47:14.878 |       maxHeaderSize: undefined,
2025-11-17 15:47:14.878 |       insecureHTTPParser: undefined,
2025-11-17 15:47:14.878 |       joinDuplicateHeaders: undefined,
2025-11-17 15:47:14.878 |       path: '/4f430e407eabe74da320cc6c8cee08e3abb20f48.20251118034233/live-dr/fnc-ue2/index_7.m3u8?zipcode=68521',
2025-11-17 15:47:14.878 |       _ended: false,
2025-11-17 15:47:14.878 |       res: null,
2025-11-17 15:47:14.878 |       aborted: false,
2025-11-17 15:47:14.878 |       timeoutCb: null,
2025-11-17 15:47:14.878 |       upgradeOrConnect: false,
2025-11-17 15:47:14.878 |       parser: [HTTPParser],
2025-11-17 15:47:14.878 |       maxHeadersCount: null,
2025-11-17 15:47:14.878 |       reusedSocket: false,
2025-11-17 15:47:14.878 |       host: 'cf.edge.foxdtc.digitalvideoplatform.com',
2025-11-17 15:47:14.878 |       protocol: 'https:',
2025-11-17 15:47:14.878 |       _redirectable: [Circular *1],
2025-11-17 15:47:14.878 |       [Symbol(kCapture)]: false,
2025-11-17 15:47:14.878 |       [Symbol(kBytesWritten)]: 0,
2025-11-17 15:47:14.878 |       [Symbol(kNeedDrain)]: false,
2025-11-17 15:47:14.878 |       [Symbol(corked)]: 0,
2025-11-17 15:47:14.878 |       [Symbol(kOutHeaders)]: [Object: null prototype],
2025-11-17 15:47:14.878 |       [Symbol(errored)]: null,
2025-11-17 15:47:14.878 |       [Symbol(kHighWaterMark)]: 16384,
2025-11-17 15:47:14.878 |       [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-11-17 15:47:14.878 |       [Symbol(kUniqueHeaders)]: null
2025-11-17 15:47:14.878 |     },
2025-11-17 15:47:14.879 |     _currentUrl: 'https://cf.edge.foxdtc.digitalvideoplatform.com/4f430e407eabe74da320cc6c8cee08e3abb20f48.20251118034233/live-dr/fnc-ue2/index_7.m3u8?zipcode=68521',
2025-11-17 15:47:14.879 |     _timeout: null,
2025-11-17 15:47:14.879 |     [Symbol(kCapture)]: false
2025-11-17 15:47:14.879 |   }
2025-11-17 15:47:14.879 | }
2025-11-17 15:47:14.877 | Could not get chunklist for channel #316.

I found a possible way to get streamlink working with disney+ to get the espn+ content since channelsdvr natively supports disney+ with the streamlink files.

You want to run curl on this link here or something similar with your headers of course with what you get with disney+. This is for featured live and upcoming.

https://disney.api.edge.bamgrid.com/explore/v1.12/set/867dd803-11f1-4853-b716-6157c04bb364?layoutId=bbefef55-c552-4c69-8c0d-8407c6086a41&limit=15&offset=0&pageId=367196c8-5316-4fee-aa7a-89a766840d7b&pageResolutionId=88231cb5-b400-45a8-be02-75dc6fbfd67e&pageStyle=medium_emphasis&setResolutionId=23b5ab55-646b-42e2-bfc5-e33f3cdbdb9e&setStyle=standard_regular_prompt

Then you would need to copy the text from deeplink id of the video itself and not entity-(other random deeplink id). The only catch is that apparently the deeplink for the actual stream doesn't show up until the actual event starts which is kind of an issue currently. It would require some kind of pad to be added.

On a side note, removing the / string of characters would be a nightmare on windows for the command line with this curl command being HUGE so I did the curl command from here instead which saved me some trouble: https://reqbin.com/curl

you would really need a listener of some kind to take the deeplink id of the stream that is active from the disney+ token and create a file on the dvr/imports/tv folder.

I don't know how to write a complex script that would take the deeplink id of specific events in this case to then turn into a simple .strmlnk file to then put in your tv shows folder. Linux can likely handle this sort of task not sure how a docker container would work it would have to be binded to the same folder as channelsdvr tv imports.

This is the next best thing because espn+ and espn3 went drm.

I've already mentioned this to the CDVR devs. What they need to do is add support for redirecting to a Stream Link. Then it should be relatively easy to add these DRM events back into EPlusTV for live viewing.

1 Like

Thanks for the report.

EPlusTV was (I think unnecessarily) proxying all Fox One segment files (regardless of the global setting), so I fixed that in the latest update.

It's still proxying all playlists, which caused your most recent error, but I hope to test an alternative approach soon.

1 Like

When u toggle that on/off on the settings page should it put something in the container log?

Games that I show as NFL+ do not have thumbnails associated with them under the "On Now" section. I get them when using the linear channels and got them with the ESPN+ channels (before the DRM). Any thoughts on how to fix the issue?

Thank You

I realize events have been disabled, but when I try to authenticate for ESPN/ESPN+ the code field is "undefined" so I cannot do so. Is this expected behavior now, or perhaps I've done something wrong.

I see a code, so try it again now. Perhaps it was just a temporary ESPN server error, maybe related to the Cloudflare outage this morning?

I think I ran across that problem this morning running v4.14.6

2025-11-18T12:36:56.683982754Z Could not parse chunklist properly!
2025-11-18T12:36:57.063789921Z AxiosError: read ECONNRESET
2025-11-18T12:36:57.064015365Z     at Function.AxiosError.from (/app/node_modules/axios/lib/core/AxiosError.js:89:14)
2025-11-18T12:36:57.064091543Z     at RedirectableRequest.handleRequestError (/app/node_modules/axios/lib/adapters/http.js:533:25)
2025-11-18T12:36:57.064151266Z     at RedirectableRequest.emit (node:events:529:35)
2025-11-18T12:36:57.064201013Z     at RedirectableRequest.emit (node:domain:489:12)
2025-11-18T12:36:57.064289456Z     at ClientRequest.eventHandlers.<computed> (/app/node_modules/follow-redirects/index.js:14:24)
2025-11-18T12:36:57.064352448Z     at ClientRequest.emit (node:events:517:28)
2025-11-18T12:36:57.064400432Z     at ClientRequest.emit (node:domain:489:12)
2025-11-18T12:36:57.064442799Z     at TLSSocket.socketErrorListener (node:_http_client:501:9)
2025-11-18T12:36:57.064490217Z     at TLSSocket.emit (node:events:517:28)
2025-11-18T12:36:57.064532994Z     at TLSSocket.emit (node:domain:489:12) {
2025-11-18T12:36:57.064581837Z   syscall: 'read',
2025-11-18T12:36:57.064624979Z   code: 'ECONNRESET',
2025-11-18T12:36:57.064667143Z   errno: -104,
2025-11-18T12:36:57.064715728Z   config: {
2025-11-18T12:36:57.064756125Z     transitional: {
2025-11-18T12:36:57.064800606Z       silentJSONParsing: true,
2025-11-18T12:36:57.064846183Z       forcedJSONParsing: true,
2025-11-18T12:36:57.064889979Z       clarifyTimeoutError: false
2025-11-18T12:36:57.064937442Z     },
2025-11-18T12:36:57.064978984Z     adapter: [ 'xhr', 'http' ],
2025-11-18T12:36:57.065023664Z     transformRequest: [ [Function: transformRequest] ],
2025-11-18T12:36:57.065069000Z     transformResponse: [ [Function: transformResponse] ],
2025-11-18T12:36:57.063939715Z Could not get chunklist for channel #219.
2025-11-18T12:36:57.065334058Z     timeout: 60000,
2025-11-18T12:36:57.065380547Z     xsrfCookieName: 'XSRF-TOKEN',
2025-11-18T12:36:57.065423890Z     xsrfHeaderName: 'X-XSRF-TOKEN',
2025-11-18T12:36:57.065466766Z     maxContentLength: -1,
2025-11-18T12:36:57.065508129Z     maxBodyLength: -1,
2025-11-18T12:36:57.065548860Z     env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-11-18T12:36:57.065604499Z     validateStatus: [Function: validateStatus],
2025-11-18T12:36:57.065647886Z     headers: AxiosHeaders {
2025-11-18T12:36:57.065689822Z       Accept: 'application/json, text/plain, */*',
2025-11-18T12:36:57.065736601Z       'Accept-Encoding': 'identity',
2025-11-18T12:36:57.065782409Z       'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-11-18T12:36:57.065847525Z     },
2025-11-18T12:36:57.065887345Z     method: 'get',
2025-11-18T12:36:57.065930523Z     url: 'https://cf.edge.foxdtc.digitalvideoplatform.com/ec137a14062d8c279422a258d37d3b9306e85e5d.20251118170001/live-dr/fmsc-ue2/index_7.m3u8?zipcode=95630',
2025-11-18T12:36:57.066004149Z     data: undefined
2025-11-18T12:36:57.066051692Z   },
2025-11-18T12:36:57.066091357Z   request: <ref *1> Writable {
2025-11-18T12:36:57.066161222Z     _writableState: WritableState {
2025-11-18T12:36:57.066210544Z       objectMode: false,
2025-11-18T12:36:57.066252538Z       highWaterMark: 16384,
2025-11-18T12:36:57.066308812Z       finalCalled: false,
2025-11-18T12:36:57.066350789Z       needDrain: false,
2025-11-18T12:36:57.066392952Z       ending: false,
2025-11-18T12:36:57.066433650Z       ended: false,
2025-11-18T12:36:57.066477412Z       finished: false,
2025-11-18T12:36:57.066590893Z       destroyed: false,
2025-11-18T12:36:57.066639555Z       decodeStrings: true,
2025-11-18T12:36:57.066682919Z       defaultEncoding: 'utf8',
2025-11-18T12:36:57.066725592Z       length: 0,
2025-11-18T12:36:57.066778581Z       writing: false,
2025-11-18T12:36:57.066820905Z       corked: 0,
2025-11-18T12:36:57.066860602Z       sync: true,
2025-11-18T12:36:57.066900702Z       bufferProcessing: false,
2025-11-18T12:36:57.066941360Z       onwrite: [Function: bound onwrite],
2025-11-18T12:36:57.066984381Z       writecb: null,
2025-11-18T12:36:57.067029374Z       writelen: 0,
2025-11-18T12:36:57.067069144Z       afterWriteTickInfo: null,
2025-11-18T12:36:57.067110370Z       buffered: [],
2025-11-18T12:36:57.067153985Z       bufferedIndex: 0,
2025-11-18T12:36:57.067194573Z       allBuffers: true,
2025-11-18T12:36:57.067235074Z       allNoop: true,
2025-11-18T12:36:57.067293021Z       pendingcb: 0,
2025-11-18T12:36:57.067334290Z       constructed: true,
2025-11-18T12:36:57.067375329Z       prefinished: false,
2025-11-18T12:36:57.067418872Z       errorEmitted: false,
2025-11-18T12:36:57.067460389Z       emitClose: true,
2025-11-18T12:36:57.067500402Z       autoDestroy: true,
2025-11-18T12:36:57.067540287Z       errored: null,
2025-11-18T12:36:57.067581019Z       closed: false,
2025-11-18T12:36:57.067621722Z       closeEmitted: false,
2025-11-18T12:36:57.067662285Z       [Symbol(kOnFinished)]: []
2025-11-18T12:36:57.067711426Z     },
2025-11-18T12:36:57.067752138Z     _events: [Object: null prototype] {
2025-11-18T12:36:57.067795602Z       response: [Function: handleResponse],
2025-11-18T12:36:57.067838633Z       error: [Function: handleRequestError],
2025-11-18T12:36:57.067878841Z       socket: [Array]
2025-11-18T12:36:57.067920230Z     },
2025-11-18T12:36:57.067956823Z     _eventsCount: 3,
2025-11-18T12:36:57.067999132Z     _maxListeners: undefined,
2025-11-18T12:36:57.068041316Z     _options: {
2025-11-18T12:36:57.068083008Z       maxRedirects: 21,
2025-11-18T12:36:57.068125150Z       maxBodyLength: Infinity,
2025-11-18T12:36:57.068166717Z       protocol: 'https:',
2025-11-18T12:36:57.068208988Z       path: '/ec137a14062d8c279422a258d37d3b9306e85e5d.20251118170001/live-dr/fmsc-ue2/index_7.m3u8?zipcode=95630',
2025-11-18T12:36:57.068277146Z       method: 'GET',
2025-11-18T12:36:57.068321061Z       headers: [Object: null prototype],
2025-11-18T12:36:57.068369821Z       agents: [Object],
2025-11-18T12:36:57.068411057Z       auth: undefined,
2025-11-18T12:36:57.068452413Z       beforeRedirect: [Function: dispatchBeforeRedirect],
2025-11-18T12:36:57.068497656Z       beforeRedirects: [Object],
2025-11-18T12:36:57.068536725Z       hostname: 'cf.edge.foxdtc.digitalvideoplatform.com',
2025-11-18T12:36:57.068585347Z       port: '',
2025-11-18T12:36:57.068624882Z       agent: undefined,
2025-11-18T12:36:57.068668263Z       nativeProtocols: [Object],
2025-11-18T12:36:57.068709157Z       pathname: '/ec137a14062d8c279422a258d37d3b9306e85e5d.20251118170001/live-dr/fmsc-ue2/index_7.m3u8',
2025-11-18T12:36:57.068756708Z       search: '?zipcode=95630'
2025-11-18T12:36:57.068797979Z     },
2025-11-18T12:36:57.068837998Z     _ended: true,
2025-11-18T12:36:57.068880544Z     _ending: true,
2025-11-18T12:36:57.068921077Z     _redirectCount: 0,
2025-11-18T12:36:57.068960096Z     _redirects: [],
2025-11-18T12:36:57.068998751Z     _requestBodyLength: 0,
2025-11-18T12:36:57.069037961Z     _requestBodyBuffers: [],
2025-11-18T12:36:57.069079440Z     _onNativeResponse: [Function (anonymous)],
2025-11-18T12:36:57.069120839Z     _currentRequest: ClientRequest {
2025-11-18T12:36:57.069164506Z       _events: [Object: null prototype],
2025-11-18T12:36:57.069205784Z       _eventsCount: 7,
2025-11-18T12:36:57.069248823Z       _maxListeners: undefined,
2025-11-18T12:36:57.069339289Z       outputData: [],
2025-11-18T12:36:57.069381207Z       outputSize: 0,
2025-11-18T12:36:57.069423043Z       writable: true,
2025-11-18T12:36:57.069466844Z       destroyed: false,
2025-11-18T12:36:57.069508261Z       _last: true,
2025-11-18T12:36:57.069552888Z       chunkedEncoding: false,
2025-11-18T12:36:57.069593406Z       shouldKeepAlive: false,
2025-11-18T12:36:57.069633679Z       maxRequestsOnConnectionReached: false,
2025-11-18T12:36:57.069674299Z       _defaultKeepAlive: true,
2025-11-18T12:36:57.069714151Z       useChunkedEncodingByDefault: false,
2025-11-18T12:36:57.069759052Z       sendDate: false,
2025-11-18T12:36:57.069801423Z       _removedConnection: false,
2025-11-18T12:36:57.069846108Z       _removedContLen: false,
2025-11-18T12:36:57.069886455Z       _removedTE: false,
2025-11-18T12:36:57.069928198Z       strictContentLength: false,
2025-11-18T12:36:57.069977329Z       _contentLength: 0,
2025-11-18T12:36:57.070021879Z       _hasBody: true,
2025-11-18T12:36:57.070064676Z       _trailer: '',
2025-11-18T12:36:57.070104356Z       finished: true,
2025-11-18T12:36:57.070144562Z       _headerSent: true,
2025-11-18T12:36:57.070184525Z       _closed: false,
2025-11-18T12:36:57.070224488Z       socket: [TLSSocket],
2025-11-18T12:36:57.070284839Z       _header: 'GET /ec137a14062d8c279422a258d37d3b9306e85e5d.20251118170001/live-dr/fmsc-ue2/index_7.m3u8?zipcode=95630 HTTP/1.1\r\n' +
2025-11-18T12:36:57.070347345Z         'Accept: application/json, text/plain, */*\r\n' +
2025-11-18T12:36:57.070393906Z         'Accept-Encoding: identity\r\n' +
2025-11-18T12:36:57.070436467Z         'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-11-18T12:36:57.070492754Z         'Host: cf.edge.foxdtc.digitalvideoplatform.com\r\n' +
2025-11-18T12:36:57.070543298Z         'Connection: close\r\n' +
2025-11-18T12:36:57.070586422Z         '\r\n',
2025-11-18T12:36:57.070624673Z       _keepAliveTimeout: 0,
2025-11-18T12:36:57.070664570Z       _onPendingData: [Function: nop],
2025-11-18T12:36:57.070708103Z       agent: [Agent],
2025-11-18T12:36:57.070747258Z       socketPath: undefined,
2025-11-18T12:36:57.070788436Z       method: 'GET',
2025-11-18T12:36:57.070827888Z       maxHeaderSize: undefined,
2025-11-18T12:36:57.070869179Z       insecureHTTPParser: undefined,
2025-11-18T12:36:57.070910579Z       joinDuplicateHeaders: undefined,
2025-11-18T12:36:57.070952799Z       path: '/ec137a14062d8c279422a258d37d3b9306e85e5d.20251118170001/live-dr/fmsc-ue2/index_7.m3u8?zipcode=95630',
2025-11-18T12:36:57.070999976Z       _ended: false,
2025-11-18T12:36:57.071042729Z       res: null,
2025-11-18T12:36:57.071087822Z       aborted: false,
2025-11-18T12:36:57.071127679Z       timeoutCb: null,
2025-11-18T12:36:57.071167674Z       upgradeOrConnect: false,
2025-11-18T12:36:57.071215657Z       parser: null,
2025-11-18T12:36:57.071255159Z       maxHeadersCount: null,
2025-11-18T12:36:57.071322676Z       reusedSocket: false,
2025-11-18T12:36:57.071363559Z       host: 'cf.edge.foxdtc.digitalvideoplatform.com',
2025-11-18T12:36:57.071407335Z       protocol: 'https:',
2025-11-18T12:36:57.071447698Z       _redirectable: [Circular *1],
2025-11-18T12:36:57.071489230Z       [Symbol(kCapture)]: false,
2025-11-18T12:36:57.071530524Z       [Symbol(kBytesWritten)]: 0,
2025-11-18T12:36:57.071571619Z       [Symbol(kNeedDrain)]: false,
2025-11-18T12:36:57.071614055Z       [Symbol(corked)]: 0,
2025-11-18T12:36:57.071659074Z       [Symbol(kOutHeaders)]: [Object: null prototype],
2025-11-18T12:36:57.071702945Z       [Symbol(errored)]: null,
2025-11-18T12:36:57.071746510Z       [Symbol(kHighWaterMark)]: 16384,
2025-11-18T12:36:57.071788190Z       [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-11-18T12:36:57.071834251Z       [Symbol(kUniqueHeaders)]: null
2025-11-18T12:36:57.071877067Z     },
2025-11-18T12:36:57.071914717Z     _currentUrl: 'https://cf.edge.foxdtc.digitalvideoplatform.com/ec137a14062d8c279422a258d37d3b9306e85e5d.20251118170001/live-dr/fmsc-ue2/index_7.m3u8?zipcode=95630',
2025-11-18T12:36:57.071972181Z     _timeout: null,
2025-11-18T12:36:57.072013167Z     [Symbol(kCapture)]: false
2025-11-18T12:36:57.072064630Z   },
2025-11-18T12:36:57.072106984Z   cause: Error: read ECONNRESET
2025-11-18T12:36:57.072150424Z       at TLSWrap.onStreamRead (node:internal/stream_base_commons:217:20) {
2025-11-18T12:36:57.072248280Z     errno: -104,
2025-11-18T12:36:57.072314791Z     code: 'ECONNRESET',
2025-11-18T12:36:57.072355804Z     syscall: 'read'
2025-11-18T12:36:57.072395428Z   }
2025-11-18T12:36:57.072431908Z }

Did playback stop for you too? Appears to be the same issue I've been having?!?!?

Hi, get this error, can you help me?

Can't play either from Safari, iPhone or Apple TV. Got this error on iOS

Hello, the last couple of Sundays I haven't been able to get Redzone to stream. It gives me the 503 Service Unavailable error on the UI and in the docker log I get the following:
2025-11-18T21:41:52.578909705Z Could not get a playlist for channel #331. Please make sure there is an event scheduled and you have access to it.
I have a Sunday Ticket sub w/Redzone and it shows that Redzone is available on the Eplus configuration page. This was working when I first installed. I have tried re-authenticating but doesn't help. I can still get the non-linear individual games. I am also able to get other linear channels like FS1, FS2. Any ideas? Is there some additional logging that I can send you for troubleshooting?

Thank you.