#1
|
|||
|
|||
[script][Livebox Sagem] Changement IP (Windows, GNU/Linux et MacOS)
Salut à tous,
en utilisant ce post j'ai cherché une solution de changement d'ip pour la livebox de sagem pour toutes les plateformes. Je me suis donc tourné vers le python, un langage de programmation interprété et fonctionnant sur la plupart des plates-formes informatiques. En premier lieu, téléchargez et installez l'interpreteur **External links are only visible to Support Staff**Python 2.6.5 pour votre plateforme (pour les personnes sous GNU/Linux utilisez votre gestionnaire de dépôts). Ensuite créez un fichier et coller le code suivant Code:
import getpass import sys import telnetlib HOST = "192.168.1.1" user = "root" password = "1234" tn = telnetlib.Telnet(HOST) tn.read_until("login: ") tn.write(user + "\n") tn.read_until("Password: ") tn.write(password + "\n") tn.read_until("[root @ home]$") tn.write("sndcp\n") tn.read_until("[root @ sndcp]$") tn.write("pppoestop 0\n") tn.read_until("[root @ sndcp]$") tn.write("pppoestart 0\n") tn.read_until("[root @ sndcp]$") tn.write("exit\n") tn.read_until("[root @ home]$") tn.write("exit\n") Dans JDownloader, allez dans 'Préférences'->'Reconnexion'->'En lot' coller la ligne suivante dans la zone 'Script par lot' pour Windows Code:
C:\Python26\python.exe "lechemindemonfichier\lenomdemonfichier.py" pour GNU/Linux et MacOS Code:
python "lechemindemonfichier/lenomdemonfichier.py" Faites "Renouveler IP" et ça devrait fonctionner en quelques secondes. Le script marche sous mon Windows XP SP3 et mon ArchLinux pour ceux qui ont déjà la version 3.1.2 de Python ce script devrait fonctionner (je ne l'ai pas encore testé) Code:
import getpass import telnetlib HOST = "192.168.1.1" user = "root" password = "1234" tn = telnetlib.Telnet(HOST) tn.read_until(b"login: ") tn.write(user.encode('ascii') + b"\n") tn.read_until(b"Password: ") tn.write(password.encode('ascii') + b"\n") tn.read_until(b"[root @ home]$") tn.write(b"sndcp\n") tn.read_until(b"[root @ sndcp]$") tn.write(b"pppoestop 0\n") tn.read_until(b"[root @ sndcp]$") tn.write(b"pppoestart 0\n") tn.read_until(b"[root @ sndcp]$") tn.write(b"exit\n") tn.read_until(b"[root @ home]$") tn.write(b"exit\n") |
#2
|
|||
|
|||
@personne146
Merci pour votre contribution. Voici le lien python :- "**External links are only visible to Support Staff**, parce-qu'il n'est pas visible. |
#3
|
|||
|
|||
Bonjour,
Merci pour ces informations. J'ai écrit le script sous Python, et lorsque je le lance directemtn dans avec l'application "Python 2.6", le changement d'IP se produit correctement. Par contre, je n'arrive pas à le faire fonctionner dans Jdownloader. Lorsque je lance le renouvellemnt d'IP, j'ai à cahque fois un échec. Je suppose que python devrait se lancer et exécuter le script. Peut-être ai-je paramétré incorrectement les chemins, je n'ai pas trouvé beaucoup d'infos, étant sur MacOS. Dans "Console" j'ai entré "terminal" sans guillemets. Dans la fenêtre Script par lot, j'ai entré : python "hdd/Users/powermacg5/Documents/livebox_script.py" hdd étant le nom de ma partition (j'ai 2 partitions dans mon disque dur), powermacg5 étant le nom d'utilisateur, livebox_script.py étant le nom de mon script. Dans "Démarrer dans le répertoire de l'application", j'ai laissé: /Applications/jDownloader.app/Contents/Resources/Java qui était là par défaut après installation de JDownloader ... Dois-je mettre unn autre répertoire ? Si vous pouvez m'aider ... merci beaucoup. |
#4
|
|||
|
|||
Merci beaucoup beaucoup pour ce beau script.:thumbup:
Il fonctionne avec la BBOX2 de Belgacom. Je suis sur Linux et j'ai du changer quelques petits détails. L'idée de base restant identique ! Concernant l'utilisateur : Sur la bbox ce n'est pas root mais admin. Il faut donc dans tout le script changer "root" par "admin". Dans JDownloader, allez dans 'Préférences'->'Reconnexion'->'En lot' coller la ligne "lechemindemonfichier/lenomdemonfichier.py" dans la zone 'Script par lot' pour LINUX sans la commande python. Sur cette même page il faut changer l'interprète, càd effacer "/bin/bash" et le remplacer par "python". Et voilà le tour est joué. Encore une fois merci !:thumbup: |
#5
|
|||
|
|||
J'ai essayé d'adapter les conseils de jackrip5 à mon cas, mais ça ne fonctionne toujours pas.
Par contre, si je double-clique sur mon script dans le finder, le script est bien lancé et opère correctement la reconnection (le nom de l'application est "Python Launcher" qui lance elle-même "Terminal"). Mais comment lancer ce script à partir de Jdownloader ??? |
#6
|
|||
|
|||
Je précise que je suis sur MacOS 10.5.8.
|
#7
|
|||
|
|||
Tu peux laisser "/bin/bash" par défaut et le "python" devant la ligne dans "Script par lot"
ou comme le dit jackrip5, mettre le chemin vers l'interpreteur python (essaye un "where python" dans un terminal pour avoir le chemin) et sans le "python" dans "Script par lot". Si je ne dis pas de bétises, ton chemin devrait commencer par '/', comme sous Linux, sans le "hdd" (regarde en exemple le chemin par défaut de "Démarrer dans le répertoire de l'application" commence bien par '/'). |
#8
|
|||
|
|||
Merci beaucoup personne146.
J'essaye ça et je fais mon rapport :-) J'avoue que je ne suis pas du tout un boss dans l'utilisation de terminal et autres du même genre ... merci. |
#9
|
|||
|
|||
Bon, ça ne marche toujours pas.
J'ai essayé toutes les combinaisons proposées et toujours pas de reconnection. Le doute (mais ce n'est pas le seul ) reste sur le champ à remplir intitulé "Démarrer dans le répertoire de l'application". Je ne comprends pas ce que ça veut dire, et encore moins quoi écrire dedans. Des idées ? Sinon, mon interpréteur python ne se nomme pas "python", mais "Python Launcher". Je joins une copie d'écran de ce que contient le dossier "Python 2.6" située dans mon dossier "Applications". Lorsque ( Jdownloader n'étant pas lancé ) je double-clique sur mon fichier "livebox_script.py", il lance l'application "Python Launcher" qui lance elle-même "Terminal", qui effectue correctement la reconnection. Je dis ça si ça peut aider pour le diagnostic de mon problème. Merci encore pour votre aide ! |
#10
|
|||
|
|||
Re-bonjour ...
Personne donc ne sait ce que veut dire précisément : "Démarrer dans le répertoire de l'application" merci d'avance ;-) |
#11
|
|||
|
|||
"Démarrer dans le répertoire de l'application" veut dire que le script est exécuter dans le répertoire sélectionné. Quand vous voulez exécuter un programme dans votre script, le programme doit se trouver dans se répertoire.
|
#12
|
|||
|
|||
merci Remi pour cette précision.
Je me doutais un peu de la réponse, mais je voulais avoir une confirmation. De toute façon, ça ne marche pas. Je crois avoir essayé toutes les combinaisons possibles avec tous les conseils que vous m'avez donnés. Impossible de faire se lancer toute seule (à partir de jdownloader) l'application Python... Rien ne se passe. Franchement, je ne crois pas que cela vienne d'une erreur de ma part, ou alors, c'est vraiment tordu. Merci quand même pour vos conseils, pour ma part, j'abandonne, à moins que quelqu'un ayant réussi cela sur MacOSX ne se manifeste... ;) Last edited by chrisl31; 18.06.2010 at 15:45. |
#13
|
|||
|
|||
Il faut trouver quelqu'un qui connait bien le Mac et qui sait comment ont dois appeler des applications Python. Cherchez un peu su le web.
Je ne sais pas si "How to run a Python script" dans la page "**External links are only visible to Support Staff** (en anglais) peut vous aider. |
#14
|
|||
|
|||
merci encore Remi
Le truc bizarre, c'est que si je double-clique sur mon script python dans le finder, c'est à dire sans que jdownloader soit utilisé, le script fonctionne parfaitement et le changement d'IP se produit. Le problème se situe au sein même de jdownloader, qui est incapable de lancer le script. Je ne trouve rien sur le web (et j'ai vraiment beaucoup cherché !), car le souci ne vient pas du script python en soi, mais de l'impossibilité de faire lancer ce script par jdownloader ... |
#15
|
|||
|
|||
Juste une idée. Essayez de lancer un autre script à partir de jD. N'importe lequel. Si ça marche le problème ne se situe plus chez jD.
Puis, essayez de trouver un moyen pour appeler votre script Python et remplacez le contenu de ce premier script par un appel à votre script Python. |
#16
|
|||
|
|||
Oui, je vais essayer ça et je vous raconte ...
merci |
#17
|
|||
|
|||
Bonjour
Après ce long silence sur ce forum, je viens vous dire que j'ai enfin réussi ! ... mais pas avec cette méthode. En fouillant sur le web et en expérimentant, j'ai réussi en créant un script en Applescript et en le lançant en mode "externe". Je viens de créer un nouveau sujet là http://board.jdownloader.org/showthr...051#post105051 merci à tous:) |
#18
|
|||
|
|||
Merci de nous faire part de ta solution, en espérant que cela serve aux autres membres.
|
#19
|
|||
|
|||
Salut,
les premières lignes « import getpass » et « import sys » sont complètement inutiles dans ce script (cf. premier post) ; les deux modules demandés ne sont pas utilisés dans le script. |
Thread Tools | |
Display Modes | |
|
|