p-dor / LiveboxMonitor

Interface graphique de contrôle d'une Livebox 4, 5, 6 ou 7
https://p-dor.github.io/LiveboxMonitor/
MIT License
300 stars 16 forks source link

Pouvoir spécifier l'url d'un répéteur wifi #45

Closed jfgiorgi closed 1 year ago

jfgiorgi commented 1 year ago

LiveboxMonitor fonctionne bien via un reverse proxy: il suffit de remplacer "Livebox URL" avec l'url du reverse proxy. Toutefois ceci ne permet d’accéder au(x) répéteur(s) wifi ce qui est normal. Si on ouvre aussi un reverse proxy vers un répéteur wifi, on devrait pouvoir l'utiliser pour que LiveboxMonitor puisse y accéder.

A cet effet il faudrait pouvoir spécifier quelque part un url pour joindre le répéteur.

Idéalement et simplement sans modifier l'UI on pourrait peut-être utiliser un fichier de translation d'url qu'on peut spécifier en option au programme. Le fichier contiendrait un 'dict' d'url vers url. Quand on cherche a ouvrir un url si il est dans le dict alors on utilise la valeur.

J'ai fait une modif dans ce sens sur mon fork (le fichier est en yaml). Je test un peu plus avant de faire un PR.

p-dor commented 1 year ago

Sinon dans le fichier Config.txt il y a une liste pour chaque répéteur identifié, avec l'adresse MAC comme clé. Cette structure est surtout pour indiquer le mot de passe par répéteur, mais on pourrait simplement rajouter un champ 'URL' et le prendre en compte lors de la connexion au lieu de prendre l'adresse IP que retourne la Livebox. Cette solution serait très simple à implémenter je pense, si ça convient...

jfgiorgi commented 1 year ago

disons que l'avantage d'un fichier séparé est que Config.txt reste le même quelque soit l'endroit ou on est.

Par exemple, avec mon PC portable:

Le Config.txt reste le meme.

C'est donc mieux de séparer les 2 deux, cela évite de modifier Config.txt suivant l'emplacement d’exécution du programme LiveboxMonitor. Conceptuellement, le fichier Config.txt est lié a une Livebox, l'autre fichier est lié a l'emplacement de LiveboxMonitor.

D'ailleurs on peut aussi utiliser ceci pour accéder au(x) répéteur(s) depuis l'ip public via un redirection de port et un changement d'url (a tester). Du coup il serait mieux d'appeler l'option--redirection par exemple puisqu'en en pratique ça revient a faire de la redirection http. Je ferais le changement demain et publierai le PR.

Apres c'est toi qui décide, si tu préfères tout avoir dans Config.txt ou pas.

jfgiorgi commented 1 year ago

d'ailleurs plutôt que lire un fichier, passer les redirections en argument serait sans doute mieux:

python3 LiveboxMonitor.py --redir url1=url2 --redir url3=url4

p-dor commented 1 year ago

Ok je comprends et effectivement ça a du sens. Je réfléchie encore un peu… Une autre option, peut être plus générique, serait de spécifier le nom du fichier de config en paramètre (en conservant Config.txt par défaut), ce qui permettrait de basculer simplement vers une autre config (contenant les redirections). L'avantage c'est qu'on peut avoir plusieurs configs, le désavantage par contre dans ce cas sera qu'il faudra cloner...

p-dor commented 1 year ago

PR https://github.com/p-dor/LiveboxMonitor/pull/46 intégrée. Merci ! Comme je ne suis pas à la lettre les conventions Python (je viens du C++ et ne suis pas un "pythoniste" pur et dur) je vais probablement remettre le code aux conventions du programme.