Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prise en charge de l'HTTPS dans l'ajout de profil #29

Closed
Lulucmy opened this issue Mar 5, 2023 · 8 comments
Closed

Prise en charge de l'HTTPS dans l'ajout de profil #29

Lulucmy opened this issue Mar 5, 2023 · 8 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@Lulucmy
Copy link

Lulucmy commented Mar 5, 2023

Bonjour,

Tout d'abord bravo pour votre outil très pratique. Il fonctionne parfaitement sur Mac et avec différent types de Livebox (j'ai pu tester les 3 & 5 sans soucis).

Le seul problème que j'ai rencontré c'est en ajoutant les URLs pour la gestion à distance. Je passe par un DyDNS qui oblige à utiliser HTTPS.
La fonction suivante "force" le HTTP à chaque connexion, et impossible de s'y connecter sans...

# Cleanup URL
def CleanURL(iURL):
n = len(iURL)
if n:
if not iURL[n - 1] == '/':
iURL += '/'
if not iURL.startswith('http://'):
iURL = 'http://' + iURL
return iURL

Problème HTTPS Livebox Monitor

Merci et bonne continuation :)

@p-dor
Copy link
Owner

p-dor commented Mar 5, 2023

Bonsoir, merci pour vos commentaires !
Ah je n'avais pas pensé à ce cas précis :-)
Avez vous Python installé pour essayer des modifications sur le source pour vérifier que cela marche bien ? J'ai des doutes sur la bonne prise en charge de l'HTTPS par le programme...

@p-dor p-dor added the help wanted Extra attention is needed label Mar 5, 2023
@Lulucmy
Copy link
Author

Lulucmy commented Mar 5, 2023

Avez vous Python installé pour essayer des modifications sur le source pour vérifier que cela marche bien ? J'ai des doutes sur la bonne prise en charge de l'HTTPS par le programme...

Pas de soucis, je teste ça

@Lulucmy
Copy link
Author

Lulucmy commented Mar 5, 2023

Ca fonctionne en modifiant CleanURL & LmSession :

# Cleanup URL
def CleanURL(iURL):
	n = len(iURL)
	if n:
		if not iURL[n - 1] == '/':
			iURL += '/'
		if not iURL.startswith('http://') and not iURL.startswith('https://'):
			iURL = 'http://' + iURL
	return iURL

Comme les certificats TLS sont mauvais, il faut ajouter verify = False aux requêtes de LmSession.py :

r = self._session.post(self._url + 'ws', data = aAuth, headers = self._sahServiceHeaders, timeout = DEFAULT_TIMEOUT, verify = False)
r = self._session.post(self._url + 'ws', data = '{"service":"Time", "method":"getTime", "parameters":{}}', headers = self._sahServiceHeaders, timeout = DEFAULT_TIMEOUT, verify = False)
t = self._session.post(self._url + c, data = json.dumps(aData), headers = self._sahServiceHeaders, timeout = iTimeout, verify = False)
t = self._session.post(self._url + c, data = json.dumps(aData), headers = self._sahEventHeaders, timeout = iTimeout, verify = False)

D'un point de vue sécurité c'est pas terrible, mais dans ce contexte à vous de juger

@p-dor p-dor added the enhancement New feature or request label Mar 5, 2023
@p-dor
Copy link
Owner

p-dor commented Mar 5, 2023

Très bien merci pour votre test !
Je vais regarder ça et essayer de me renseigner pour essayer de conserver la sécurité... Sinon tant pis et je mettrai un gros avertissement dans la documentation.

@p-dor p-dor self-assigned this Mar 5, 2023
@p-dor
Copy link
Owner

p-dor commented Mar 11, 2023

Bonjour j'ai commencé à tester un peu.
De mon côté avec les changements ci dessus, une Livebox 5 et l'accès à distance activé, je n'arrive pas à me connecter même sans passer par un DynDNS.
Que je mette mon IP internet après http:// ou https:// c'est le même combat : le serveur ne répond pas (d'ailleurs il aurait été étonnant que cela marche en http://).
Vous avez réussi avec une Livebox 5 ? Si oui j'aimerai comprendre la configuration exacte...
Merci !

@Lulucmy
Copy link
Author

Lulucmy commented Mar 11, 2023

Bonjour,

  • Dans la configuration de la Livebox 5, l'accès a distance est activé (avec username/password/port personnalisé)
  • Le DynDNS est hébergé par ChangeIP

Les seules choses que j'ai modifié dans le code sont dans mon précédent commentaire, et dans le champ URL de la Livebox sur l'app, j'ai entré : https://nomdedomain.com:10000/

A noter que cela ne fonctionne pas sans le HTTPS et sans le port choisi dans la configuration.

Merci & bon week-end :)

@p-dor
Copy link
Owner

p-dor commented Mar 12, 2023

Bon impossible de faire marcher ça avec ma config pour l'instant, que je tente depuis mon VPN ou depuis une connexion 4G, même en tapant l'URL dans plusieurs browsers, depuis un PC, un Mac ou depuis un appareil iOS, le serveur ne répond jamais...
Mais j'ai tout de même incorporé les changements nécessaires pour au moins essayer. C'est maintenant dans le repo.

@p-dor
Copy link
Owner

p-dor commented May 1, 2023

La release v1.1 contenant cette évolution est maintenant publiée.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants