m0ngr31 / EPlusTV

Virtual linear channels for ESPN, ESPN+, MSG+, Paramount+, MLB.tv, and FOX Sports
119 stars 23 forks source link

not working on USA location VPS forbidden error #49

Closed waqarr closed 1 year ago

waqarr commented 1 year ago

i tried on USA location VPS but it not work here is error log

` request: <ref *1> ClientRequest { _events: [Object: null prototype], _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: false, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: true, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, _contentLength: null, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: [TLSSocket], _header: 'POST /token HTTP/1.1\r\n' + 'Accept: application/json\r\n' + 'Content-Type: application/x-www-form-urlencoded\r\n' + 'Authorization: Bearer ZXNwbiZicm93c2VyJjEuMC4w.ptUt7QxsteaRruuPmGZFaJByOoqKvDP2a5YkInHrc7c\r\n' + 'User-Agent: axios/1.2.2\r\n' + 'Content-Length: 617\r\n' + 'Accept-Encoding: gzip, compress, deflate, br\r\n' + 'Host: us.edge.bamgrid.com\r\n' + 'Connection: close\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Agent], socketPath: undefined, method: 'POST', maxHeaderSize: undefined, insecureHTTPParser: undefined, path: '/token', _ended: true, res: [IncomingMessage], aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: 'us.edge.bamgrid.com', protocol: 'https:', _redirectable: [Writable],

  [Symbol(kNeedDrain)]: false,
  [Symbol(corked)]: 0,
  [Symbol(kOutHeaders)]: [Object: null prototype],
  [Symbol(kUniqueHeaders)]: null
},
data: {
  error: 'unauthorized_client',
  error_description: 'forbidden-location'
}

} } Could not get device token exchange Could not get device token exchange Could not get account grant TypeError: Cannot read properties of undefined (reading 'refresh_token') at EspnHandler. (/app/services/espn-handler.ts:961:53) at Generator.next () at fulfilled (/app/services/espn-handler.ts:5:58) at runMicrotasks () at processTicksAndRejections (node:internal/process/task_queues:96:5) TypeError: Cannot read properties of undefined (reading 'access_token') at EspnHandler. (/app/services/espn-handler.ts:917:37) at Generator.next () at fulfilled (/app/services/espn-handler.ts:5:58) at runMicrotasks () at processTicksAndRejections (node:internal/process/task_queues:96:5) TypeError: Cannot read properties of undefined (reading 'assertion') at EspnHandler. (/app/services/espn-handler.ts:984:46) at Generator.next () at fulfilled (/app/services/espn-handler.ts:5:58) at runMicrotasks () at processTicksAndRejections (node:internal/process/task_queues:96:5) Could not get BAM access token Could not get stream data. Event might be upcoming, ended, or in blackout... TypeError: Cannot read properties of undefined (reading 'access_token') at EspnHandler. (/app/services/espn-handler.ts:482:47) at Generator.next () at fulfilled (/app/services/espn-handler.ts:5:58) at runMicrotasks () at processTicksAndRejections (node:internal/process/task_queues:96:5) Failed to parse the stream Could not get a playlist for channel #5. Please make sure there is an event scheduled and you have access to it. Could not get a playlist for channel #6. Please make sure there is an event scheduled and you have access to it. Could not get a playlist for channel #6. Please make sure there is an event scheduled and you have access to it. `

any solution ?

SoSJames commented 1 year ago

For easier troubleshooting: which event were you trying to play? Depending on your VPS server's location, you could be subject to blackouts. If you can proxy through your VPS, you might want to try ESPN in your browser to make sure that you can play whatever program you're trying to access. If you can't, you're having a blackout issue.

waqarr commented 1 year ago

Thank you so much for the reply. I try with NORDVPN it works now but the next problem I face is

when I play live event on VLC media player. when break/ads show in the event (e.g. in a cricket event after 6 balls(each over) ads play). while ads play on channel VLC stop playing the channel and after the ad stop and cricket live again it works again on VLC. What's the problem?

sorry for the bad English

2nd Problem I want to push the stream on my streaming server with FFmpeg. I got error

Opening 'crypto+http://127.0.0.1:8585/channels/9/9-segment-f9joCvuJ.ts' for reading [mpegts @ 0x560508bfc800] Could not find codec parameters for stream 2 (Unknown: none (CUEI / 0x49455543)): unknown codec Consider increasing the value for the 'analyzeduration' (4000000) and 'probesize' (5000000) options [hls @ 0x560508b97740] Opening 'http://127.0.0.1:8585/channels/9/9-key-3aIeaYuY.key' for reading [hls @ 0x560508b97740] Opening 'crypto+http://127.0.0.1:8585/channels/9/9-segment-jabrQKZ2.ts' for reading [mpegts @ 0x560508c045c0] Could not find codec parameters for stream 2 (Unknown: none (CUEI / 0x49455543)): unknown codec Consider increasing the value for the 'analyzeduration' (4000000) and 'probesize' (5000000) options [http @ 0x560508bc1e00] Opening 'http://127.0.0.1:8585/chunklist/9/vrdX8E1X.m3u8' for reading [hls @ 0x560508b97740] Skip ('#EXT-X-VERSION:3') [hls @ 0x560508b97740] Skip ('#EXT-X-PROGRAM-DATE-TIME:2023-02-27T20:39:27.101Z') [hls @ 0x560508b97740] Opening 'http://127.0.0.1:8585/channels/9/9-key-3aIeaYuY.key' for reading [hls @ 0x560508b97740] Opening 'crypto+http://127.0.0.1:8585/channels/9/9-segment-YoJnKdgK.ts' for reading [mpegts @ 0x560508c00500] Could not find codec parameters for stream 2 (Unknown: none (CUEI / 0x49455543)): unknown codec Consider increasing the value for the 'analyzeduration' (4000000) and 'probesize' (5000000) options [http @ 0x560508bc1e00] Opening 'http://127.0.0.1:8585/chunklist/9/a3B7AUGR.m3u8' for reading [hls @ 0x560508b97740] Skip ('#EXT-X-VERSION:3') [hls @ 0x560508b97740] Skip ('#EXT-X-PROGRAM-DATE-TIME:2023-02-27T20:39:27.101Z') [hls @ 0x560508b97740] Opening 'http://127.0.0.1:8585/channels/9/9-key-3aIeaYuY.key' for reading [hls @ 0x560508b97740] Opening 'crypto+http://127.0.0.1:8585/channels/9/9-segment-xo8rx3Ft.ts' for reading [mpegts @ 0x560508c91780] Could not find codec parameters for stream 2 (Unknown: none (CUEI / 0x49455543)): unknown codec Consider increasing the value for the 'analyzeduration' (4000000) and 'probesize' (5000000) option

SoSJames commented 1 year ago

OK, for the ads issue, are you running the Docker image with the PROXY_SEGMENTS="True" environment parameter set? You should give that a shot if you aren't. Also, restreaming the programs is both outside of the scope of EPlusTV and likely violates copyright laws so you won't get any assistance for that here, sorry. But please report back about the ads issue if the environment variable solves your problem.

waqarr commented 1 year ago

Yes i already set up PROXY_SEGMENTS=True. but when ads running vlc stop playing.

SoSJames commented 1 year ago

Probably a silly question, but have you tried it without that parameter set?

m0ngr31 commented 1 year ago

Ad segments don't get proxied. I had some weird behavior there so I disabled it. I'm wondering if it's picking up that you're not in the US when it hits the ad break and drops it? I'm not sure. Something to try would be to connect to a VPN from your VPS and try and see if it still kicks you.

I don't want the project to die so I don't want to explicitly support bypassing geo-restrictions, but as an developer I am curious what's happening

waqarr commented 1 year ago

Dear Sir, Thank you so much for reply. yes i'm using it on my US location VPS but it works with NordVPN. everything work perfect except adbreak. due to vpn connectivity i cannot access direct channel. i push the stream to streaming server and then watch outside the USA. when adbreak in live stream ffmpeg gives 403 forbidden error and on VLC also stop working. i tried with streamlink same problem there.

SoSJames commented 1 year ago

Instead of a streaming server, it'd probably be easier for you to set up a Wireguard endpoint on your VPS. If you connect to that from your location you should be able to use the streams coming straight out of EPlusTV. That would eliminate your 403 error for sure and still let you watch from wherever you are.

waqarr commented 1 year ago

I'm not familiar with Wireguard kindly provide a tutorial. but i tried with NordVPN on Ubuntu 20.04. channel work but on ad break, it does not work. is there any tutorial of wireguard or any ip location spoofing to unblock location on vps. all popular services digital ocean, linode, hetzner, vultr USA location vps not working forbidden location error. kindly tell me vps server that allows espn+ subscription.

SoSJames commented 1 year ago

OK, What I was suggesting was a little different than that. You can keep using NordVPN to deal with your location issue on your VPS, however you have it already set up. What I'm saying is to set up a Wireguard endpoint (Wireguard's built into the Ubuntu kernel) to handle the connection between your VPS and wherever you're trying to watch from. In other words, you'd VPN from your home PC (or wherever) into your VPS. That would mean you could access the VPS's resources as though you were on the same network, which should make the direct m3u8 playlists from EPlusTV available for you to use from wherever you are. Think of it like this:

ESPN+<-------NordVPN<--------Your VPS--------->Wireguard VPN Server---------->Your PC

You can find a tutorial for setting up Wireguard here: https://www.cyberciti.biz/faq/ubuntu-20-04-set-up-wireguard-vpn-server/

Or, you could simply install EPlusTV in a VM on your local machine instead of a VPS, pair that with NordVPN, and you'd have access to everything. It'd be much easier that way. Cheaper, too.

waqarr commented 1 year ago

i get another solution for this problem. i've streaming server i setup backup video " Short Break Please wait" when stream off during ads. one more problem now. this script not fetch full schedule i want to watch " NCAAM" no any live stream schedule of NCAAM. when i direct login to Espn+ there are lot of NCAAM live streams.

how can i refresh schedule of NCAAM ?

SoSJames commented 1 year ago

As I see you've opened up a new issue for the NCAAM problem, you should probably close this one out so the dev can help you appropriately.

waqarr commented 1 year ago

other issue closed. Thank you so much for the reply. kindly update me about NCAAM streams/schedule. I'll be very thankful to you.