Fake Roku et certificat SSL

Bonjour,
je viens d’acquérir le plugin Fake Roku pour simuler des actions que je peux appeller via une télécommande Harmony mais malheureusement, lorsque je presse un bouton j’obtiens une erreur, cf. extrait du journal ci-dessous. Il semble que cela provienne du fait que j’ai un certificat sur le serveur avec mon nom DNS que j’ai remplacé ici par « monadresse.net ».
@lunarok, avez-vous une idée ? Merci

[2020-08-13 18:05:51][INFO] : Arrêt du service fakeroku
[2020-08-13 18:05:54][INFO] : Arrêt du service fakeroku
[2020-08-13 18:05:54][INFO] : Lancement démon fakeroku : /usr/bin/python3 /var/www/html/plugins/fakeroku/resources/fakerokud.py --callback https://127.0.0.1:443/plugins/fakeroku/core/api/jeeRoku.php --apikey TOY5fk7tinIAXFYvtX9XyuKC6SeJ1C0e
ERROR:aiohttp.server:Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_protocol.py", line 418, in start
resp = await task
File "/usr/lib/python3.5/asyncio/futures.py", line 380, in __iter__
yield self  # This tells Task to wait for completion.
File "/usr/lib/python3.5/asyncio/tasks.py", line 304, in _wakeup
future.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
raise self._exception
File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
result = coro.send(None)
File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_app.py", line 458, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_middlewares.py", line 119, in impl
return await handler(request)
File "/var/www/html/plugins/fakeroku/resources/emulated_roku/__init__.py", line 366, in _check_remote_and_host_ip
return await handler(request)
File "/var/www/html/plugins/fakeroku/resources/emulated_roku/__init__.py", line 324, in _roku_keypress_handler
self.handler.on_keypress(self.roku_usn, key)
File "/var/www/html/plugins/fakeroku/resources/fakerokud.py", line 37, in on_keypress
urllib.request.urlopen(JEEDOM_URL + key)
File "/usr/lib/python3.5/urllib/request.py", line 163, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.5/urllib/request.py", line 466, in open
response = self._open(req, data)
File "/usr/lib/python3.5/urllib/request.py", line 484, in _open
'_open', req)
File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
result = func(*args)
File "/usr/lib/python3.5/urllib/request.py", line 1297, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/usr/lib/python3.5/urllib/request.py", line 1254, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "/usr/lib/python3.5/http/client.py", line 1107, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python3.5/http/client.py", line 1152, in _send_request
self.endheaders(body)
File "/usr/lib/python3.5/http/client.py", line 1103, in endheaders
self._send_output(message_body)
File "/usr/lib/python3.5/http/client.py", line 934, in _send_output
self.send(msg)
File "/usr/lib/python3.5/http/client.py", line 877, in send
self.connect()
File "/usr/lib/python3.5/http/client.py", line 1261, in connect
server_hostname=server_hostname)
File "/usr/lib/python3.5/ssl.py", line 385, in wrap_socket
_context=self)
File "/usr/lib/python3.5/ssl.py", line 760, in __init__
self.do_handshake()
File "/usr/lib/python3.5/ssl.py", line 996, in do_handshake
self._sslobj.do_handshake()
File "/usr/lib/python3.5/ssl.py", line 646, in do_handshake
match_hostname(self.getpeercert(), self.server_hostname)
File "/usr/local/lib/python3.5/dist-packages/idna_ssl.py", line 19, in patched_match_hostname
return real_match_hostname(cert, hostname)
File "/usr/lib/python3.5/ssl.py", line 309, in match_hostname
% (hostname, dnsnames[0]))
ssl.CertificateError: hostname '127.0.0.1' doesn't match 'monadresse.net'
INFO:aiohttp.access:192.168.0.28 [13/Aug/2020:16:06:39 +0000] "POST /keypress/Down HTTP/1.1" 500 244 "-" "LuaSocket 2.0.2"

C’est un problème de configuration réseau Jeedom, ca pourrait arriver avec beaucoup de plugins utilisant un démon.

Ok, mais est-ce que j’ai mal configuré quelque chose ? J’ai l’impression que lorsque le daemon est lancé il prend 127.0.0.1 mais comment faire pour qu’il utilise le nom « public » ?!

Déjà dit dans la réponse précédente : configuration réseau jeedom
Me répondre 2mn après sans avoir été la vérifier ou faire des recherches sur le forum ca n’avancera pas
Comme dit aussi, le problème n’a rien à voir avec le plugin

Désolé, je n’ai pas précisé que j’avais bien été vérifié (avant même de créer le premier post) mais

je ne vois rien d’anormal … je colle une capture écran pour être précis. Merci pour le retour.

Ok, j’ai « trouvé » mais je n’explique pas vraiment la chose … j’ai coché « désactiver la gestion du réseau par Jeedom » et en regardant le code de fakeroku.class.php ;

                //getInterfaces retrieve array of interfaces
                if (config::byKey('network::disableMangement')) {
                        $url = network::getNetworkAccess('internal');
                } else {
                        $url = network::getNetworkAccess('internal', 'proto:127.0.0.1:port:comp');
                }

je comprends que j’ai forcé l’utilisation de la valeur « accès interne » … mais c’est la première fois que je suis amené à décocher cette case, quelqu’un peut m’éclairer ?

Bonjour,

Je n’ai pas forcement votre réponse, mais j’ai déjà lu plusieurs fois ici qu’il ne faut pas cocher https pour le local (cela n’a pas de sens en plus).

A tester…

1 « J'aime »

Bonjour, en effet, en mettant HTTP à la place de HTTPS et en laissant décochant « Désactiver la gestion du réseau » le plugin Fake Roku utilise « http://127.0.0.1 » et il n’y a pas de problème de certificat. Merci pour cette « astuce ».

Si ton souci est résolut pense à cocher la case “solution” sur le message qui répond à la demande. ça fermera automatiquement la sujet et fera remonter la réponse sur le 1er post pour que ceux qui auraient la même demande visualisent immédiatement la solution.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.