JDownloader Community - Appwork GmbH
 

 
 
Thread Tools Display Modes
  #1  
Old 30.04.2010, 14:43
personne146
Guest
 
Posts: n/a
Wink [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")
Changez l'extension du fichier en .py

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"
en remplaçant "lechemindemonfichier\lenomdemonfichier.py" par le chemin complet vers le fichier ("C:\Python26\python.exe" est le chemin par défaut de l'interpréteur Python)

pour GNU/Linux et MacOS
Code:
python "lechemindemonfichier/lenomdemonfichier.py"
en remplaçant "lechemindemonfichier/lenomdemonfichier.py" par le chemin complet vers le fichier

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  
Old 01.05.2010, 09:28
remi
Guest
 
Posts: n/a
Default

@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  
Old 26.05.2010, 18:47
chrisl31
Guest
 
Posts: n/a
Default

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.
Attached Images
File Type: jpg Image 1.jpg (16.2 KB, 581 views)
  #4  
Old 26.05.2010, 23:44
jackrip5
Guest
 
Posts: n/a
Default

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  
Old 27.05.2010, 13:51
chrisl31
Guest
 
Posts: n/a
Default

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  
Old 27.05.2010, 17:52
chrisl31
Guest
 
Posts: n/a
Default

Je précise que je suis sur MacOS 10.5.8.
  #7  
Old 30.05.2010, 20:47
personne146
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by chrisl31 View Post
Dans "Console" j'ai entré "terminal" sans guillemets.
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".

Quote:
Originally Posted by chrisl31 View Post
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.
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  
Old 30.05.2010, 22:14
chrisl31
Guest
 
Posts: n/a
Default

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  
Old 01.06.2010, 13:15
chrisl31
Guest
 
Posts: n/a
Default

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 !
Attached Images
File Type: jpg Image 1.jpg (20.6 KB, 510 views)
  #10  
Old 18.06.2010, 11:42
chrisl31
Guest
 
Posts: n/a
Default

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  
Old 18.06.2010, 12:26
remi
Guest
 
Posts: n/a
Default

"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  
Old 18.06.2010, 14:00
chrisl31
Guest
 
Posts: n/a
Default

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 14:45.
  #13  
Old 19.06.2010, 11:30
remi
Guest
 
Posts: n/a
Default

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  
Old 20.06.2010, 10:37
chrisl31
Guest
 
Posts: n/a
Default

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  
Old 20.06.2010, 12:54
remi
Guest
 
Posts: n/a
Default

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  
Old 20.06.2010, 13:19
chrisl31
Guest
 
Posts: n/a
Default

Oui, je vais essayer ça et je vous raconte ...

merci
  #17  
Old 16.09.2010, 18:39
chrisl31
Guest
 
Posts: n/a
Default

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  
Old 19.09.2010, 18:57
fma16
Guest
 
Posts: n/a
Default

Merci de nous faire part de ta solution, en espérant que cela serve aux autres membres.
  #19  
Old 15.09.2011, 07:55
tarseaqueurva
Guest
 
Posts: n/a
Default

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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 04:45.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.