Frndly TV for Channels

What is the FrndlyTV for Channels docker running on?
Is it at 192.168.7.109:8187
What does a browser show at http://192.168.7.109:8187

Not sure if they ever fixed this issue.
Try adding it back as a custom m3u source using a different Name/Nickname for the source than you had before.

Also, what timezone environment variable are you passing to the container?

1 Like

Tried a different name when adding no success
US/Arizona

I don't know.
The error you posted says "Temporary failure in name resolution"
There's also a string in the errors timezone=Pacific%2FAuckland

Yeah I am not sure either, MLB is also doing that, its showing 0 channels.

I would think you want America/Phoenix

In the frndly compose correct? I currently have that in the MLB yaml.

For any docker run or compose you use

Since I'm not fluent in Python code and errors, I'm guessing here.
Could be your password.
Does the docker log show it logged in?

401
Unauthorized access
logging in....
Logged in!

It just displays logging in....

1 Like

Special characters in your password?
I don't use compose/yaml so not sure how it would handle them.

Special characters indeed, will change it

No luck at all might have to rebuild the container with a new port.

1 Like

You can view and edit a containers settings (including environment variables, volumes and port) from Synology Container Manager


Stop the container and select Settings to change them

Here's your post from the html export in the correct chronological order (I just reversed the lines).
Maybe @matthuisman or someone familiar with the Python code could tell you what your error means.

2024/01/29 15:18:09	stdout	logging in.... 
2024/01/29 15:18:19	stderr	192.168.7.109 - - [29/Jan/2024 22:18:19] "GET /playlist.m3u8?gracenote=include HTTP/1.1" 500 -
2024/01/29 15:18:19	stderr	----------------------------------------
2024/01/29 15:18:19	stderr	Exception happened during processing of request from ('192.168.7.109', 60832)
2024/01/29 15:18:19	stderr	Traceback (most recent call last):
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 174, in _new_conn
2024/01/29 15:18:19	stderr	    conn = connection.create_connection(
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/urllib3/util/connection.py", line 72, in create_connection
2024/01/29 15:18:19	stderr	    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/socket.py", line 918, in getaddrinfo
2024/01/29 15:18:19	stderr	    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
2024/01/29 15:18:19	stderr	socket.gaierror: [Errno -3] Temporary failure in name resolution
2024/01/29 15:18:19	stderr	
2024/01/29 15:18:19	stderr	During handling of the above exception, another exception occurred:
2024/01/29 15:18:19	stderr	
2024/01/29 15:18:19	stderr	Traceback (most recent call last):
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
2024/01/29 15:18:19	stderr	    httplib_response = self._make_request(
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 386, in _make_request
2024/01/29 15:18:19	stderr	    self._validate_conn(conn)
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 1042, in _validate_conn
2024/01/29 15:18:19	stderr	    conn.connect()
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 363, in connect
2024/01/29 15:18:19	stderr	    self.sock = conn = self._new_conn()
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 186, in _new_conn
2024/01/29 15:18:19	stderr	    raise NewConnectionError(
2024/01/29 15:18:19	stderr	urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7ff2ae0d0a60>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution
2024/01/29 15:18:19	stderr	
2024/01/29 15:18:19	stderr	During handling of the above exception, another exception occurred:
2024/01/29 15:18:19	stderr	
2024/01/29 15:18:19	stderr	Traceback (most recent call last):
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 489, in send
2024/01/29 15:18:19	stderr	    resp = conn.urlopen(
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 787, in urlopen
2024/01/29 15:18:19	stderr	    retries = retries.increment(
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 592, in increment
2024/01/29 15:18:19	stderr	    raise MaxRetryError(_pool, url, error or ResponseError(cause))
2024/01/29 15:18:19	stderr	urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='frndlytv-api.revlet.net', port=443): Max retries exceeded with url: /service/api/v1/get/token?box_id=SHIELD30X8X4X0&device_id=43&tenant_code=frndlytv&device_sub_type=nvidia%2C8.1.0%2C7.4.4&product=frndlytv&display_lang_code=eng&timezone=Pacific%2FAuckland (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7ff2ae0d0a60>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
2024/01/29 15:18:19	stderr	
2024/01/29 15:18:19	stderr	During handling of the above exception, another exception occurred:
2024/01/29 15:18:19	stderr	
2024/01/29 15:18:19	stderr	Traceback (most recent call last):
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/socketserver.py", line 683, in process_request_thread
2024/01/29 15:18:19	stderr	    self.finish_request(request, client_address)
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/socketserver.py", line 360, in finish_request
2024/01/29 15:18:19	stderr	    self.RequestHandlerClass(request, client_address, self)
2024/01/29 15:18:19	stderr	  File "./app.py", line 25, in __init__
2024/01/29 15:18:19	stderr	    super().__init__(*args, **kwargs)
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/socketserver.py", line 747, in __init__
2024/01/29 15:18:19	stderr	    self.handle()
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/http/server.py", line 435, in handle
2024/01/29 15:18:19	stderr	    self.handle_one_request()
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/http/server.py", line 423, in handle_one_request
2024/01/29 15:18:19	stderr	    method()
2024/01/29 15:18:19	stderr	  File "./app.py", line 55, in do_GET
2024/01/29 15:18:19	stderr	    self._error(e)
2024/01/29 15:18:19	stderr	  File "./app.py", line 53, in do_GET
2024/01/29 15:18:19	stderr	    routes[func]()
2024/01/29 15:18:19	stderr	  File "./app.py", line 71, in _playlist
2024/01/29 15:18:19	stderr	    channels = frndly.channels()
2024/01/29 15:18:19	stderr	  File "/usr/src/app/frndly.py", line 150, in channels
2024/01/29 15:18:19	stderr	    rows = self._request('https://frndlytv-api.revlet.net/service/api/v1/tvguide/channels?skip_tabs=0')['data']
2024/01/29 15:18:19	stderr	  File "/usr/src/app/frndly.py", line 116, in _request
2024/01/29 15:18:19	stderr	    self.login()
2024/01/29 15:18:19	stderr	  File "/usr/src/app/frndly.py", line 186, in login
2024/01/29 15:18:19	stderr	    headers['session-id'] = requests.get('https://frndlytv-api.revlet.net/service/api/v1/get/token', params=params, headers=headers, timeout=TIMEOUT).json()['response']['sessionId']
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/requests/api.py", line 73, in get
2024/01/29 15:18:19	stderr	    return request("get", url, params=params, **kwargs)
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/requests/api.py", line 59, in request
2024/01/29 15:18:19	stderr	    return session.request(method=method, url=url, **kwargs)
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 587, in request
2024/01/29 15:18:19	stderr	    resp = self.send(prep, **send_kwargs)
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 701, in send
2024/01/29 15:18:19	stderr	    r = adapter.send(request, **kwargs)
2024/01/29 15:18:19	stderr	  File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 565, in send
2024/01/29 15:18:19	stderr	    raise ConnectionError(e, request=request)
2024/01/29 15:18:19	stderr	requests.exceptions.ConnectionError: HTTPSConnectionPool(host='frndlytv-api.revlet.net', port=443): Max retries exceeded with url: /service/api/v1/get/token?box_id=SHIELD30X8X4X0&device_id=43&tenant_code=frndlytv&device_sub_type=nvidia%2C8.1.0%2C7.4.4&product=frndlytv&display_lang_code=eng&timezone=Pacific%2FAuckland (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7ff2ae0d0a60>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
2024/01/29 15:18:19	stderr	----------------------------------------

My best guess is DNS resolution failed looking up the host frndlytv-api.revlet.net

1 Like

I just find it odd that this started to occur for the frndly and MLB containers.

yup. dns not resolving. if your using ISP dns - switch to something like 1.1.1.1

2 Likes

Is your NAS (and containers running on it) using the same DNS server as the rest of your home network?

I have everything on my home network using my routers LAN IP address for their DNS Server and my router uses Cloudflare DoH.

1 Like

Yes everything is running together just different ports. Not sure how I can change my dns settings on my synology.

Change it in Control Panel > Network.
If your main router acts as a DHCP server for everything you can have the Synology get it's reserved DHCP IP address from it as well as having your main router act as the DNS server for your LAN, then set the Internet DNS server you want everything to use on your router.

@chDVRuser I did a restart of my NAS and it its now working, I did not change the DNS settings. I was able to add frndly as a source again. Thank you so much for your assistance and knowledge.

1 Like