Tubi for Channels docker

I am having trouble forming the correct string adding Tubi user and password.

docker run -d --restart unless-stopped -p 3232:7777 --name tubi-for-channels Package tubi-for-channels · GitHub TUBI_USER=user195 TUBI_PASS=pass195

Can someone give me the correct string to use here?
Thanks
Keith

Try:

docker run -d --restart unless-stopped -p 3232:7777 -e TUBI_USER=user195 -e TUBI_PASS=pass195 --name tubi-for-channels ghcr.io/jgomez177/tubi-for-channels

:pray: THANK YOU!

That works. I also had to change my password and removed some special characters.

Quotes around the password probably would have worked as well.

That was the problem I think. I had Quotes in the password. That was the special character I removed.

Unfortunately I have been unable to decipher the Hash being used to generate a token when not using a username/password (an anonymous token). So until I can to that (or someone can) you will need username/password credentials

Your work is amazing. Even with the change on Tubi's side it's working great for me once I figured out how to get the credentials to work.

Thanks!

3 Likes

For real. Thanks for your work on all these projects @joagomez Great work.

4 Likes

I am getting another error now I don't think it's related to the need to use credentials.

Looks like the Tubi server is just rejecting the handshake period.

Hopefully its just their server and it will return. But if not I guess using Channels with Tubi is not going to be easy moving forward.

Thanks

Is that error message coming from the container when you try to display this?
Screenshot 2025-02-07 at 13-22-04 Playlist
If so, check the container log.
I've had that happen and it appears when the container is busy.
Also happens when Channels DVR tries to refresh the playlist or XMLTV when the container is busy.

2025/02/03 09:15:28.925852 [ERR] Failed to request m3u for tubiTV: Get "http://192.168.1.3:7779/tubi/playlist.m3u?gracenote=include": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2025/02/04 04:15:28.516289 [ERR] Failed to request m3u for tubiTV: Get "http://192.168.1.3:7779/tubi/playlist.m3u?gracenote=include": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2025/02/05 18:15:28.861330 [ERR] Failed to request m3u for tubiTV: Get "http://192.168.1.3:7779/tubi/playlist.m3u?gracenote=include": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

Should work fine if you try again.

can you provide the docker logs

1 Like

It is saying that Tubi is experiencing technical issues.

docker logs --since=1h tubi-for-channels
[INFO] Device ID Generated
[INFO] ⇨ http server started on [::]:7777
[INFO] Starting Scheduler thread
[INFO] Running EPG Scheduler
[INFO] EPG: Updating Channel Data
[INFO] Update Token via API Call
[INFO] Updating Token Session
[INFO] Close the Token API session
[INFO] Token Expires IN: 1209600
[INFO] Close the EPG API session
[WARNING] Tubi is experiencing technical issues. You're on a degraded experience now.
[INFO] Number of streams available: 274
[INFO] Valid Duration: 60
[INFO] Retriving EPG API Data
[INFO] Return Token
[INFO] Token Expires IN: 1209600
[INFO] Close the Programming API session
[ERROR] HTTP: 503: {"message": ""Setting metadata variable would exceed total variable size limit""}
{"message": ""Setting metadata variable would exceed total variable size limit""}
[ERROR] Exception in EPG Scheduler : 'NoneType' object is not iterable
[INFO] EPG Scheduler Complete
[INFO] Return Token
[INFO] Token Expires IN: 1209600
[INFO] Close the EPG API session
[WARNING] Tubi is experiencing technical issues. You're on a degraded experience now.
[INFO] Number of streams available: 274
[INFO] Valid Duration: 60
[INFO] Retriving EPG API Data
[INFO] Return Token
[INFO] Token Expires IN: 1209600
[INFO] Close the Programming API session
[ERROR] HTTP: 503: {"message": ""Setting metadata variable would exceed total variable size limit""}
{"message": ""Setting metadata variable would exceed total variable size limit""}
[2025-02-07 21:22:54,665] ERROR in app: Exception on /tubi/playlist.m3u [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/pywsgi.py", line 68, in playlist
m3u, error = providers[provider].generate_playlist(provider, args, host)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/tubi.py", line 751, in generate_playlist
stations, error = self.channels()
^^^^^^^^^^^^^^^
File "/app/tubi.py", line 551, in channels
for listing in epg_data:
^^^^^^^^
TypeError: 'NoneType' object is not iterable

It was on their side its working again without me doing anything.

Thanks,
Does look like they are doing maintenance with the Tubi is experiencing technical issues. You're on a degraded experience now. notification but will investigate further

The gracenote matched channels went away completely now 53 are available.
Ya they are working on their servers I suspect.

Yeah they will probably get hammered this weekend hope their servers are ready.

1 Like

Once again

If you go to their website and try to search you see this
screenshot_tubitv.com

:rofl::rofl:. I never once went to their website. Living in terminal too much.
Thanks!

Let’s hope. Good news is Netflix and the Tyson Paul fight didn’t set the bar very high. Actually they left the bar in the truck.