pyLoad reconnect.sh erstellen

Status
Für weitere Antworten geschlossen.

theMario

Benutzer
Mitglied seit
29. Dez 2011
Beiträge
403
Punkte für Reaktionen
0
Punkte
22
Ganz so einfach wird die Beantwortung deiner Frage nicht.

Zunächst erst einmal - wenn du die reconnect.sh ausführst - welche Meldung bekommst Du?
Wie / wo / auf welchem System mit welchem Zugang versuchst du diese Datei zum Laufen zu bringen? Ich möchte jetzt nicht lesen, dass du den Router dazu bringen möchtest, eine neue IP zu erhaschen - nein - das System, auf dem die Datei laufen soll... und in welcher Umgebung du auf das System zugreifst. Ich gehe davon aus, dass die reconnect.sh auf einer Syno DS laufen soll. Du sitzt vor einem Windowsgerät? Und ab jetzt wird es eben interessant... !

Wenn du dich genug belesen hast, greifst du mit sowas wie "putty" auf die DS zu und versuchst einmal, die reconnect.sh mittels -code sh reconnect.sh zum Laufen zu bringen.

Dann, womit erstellst du die reconnect.sh? @ Anmerkung: Mit einem Windows Editor wird das nichts. Da empfehle ich dir sowas wie "winvi".
Hast du die erstellte reconnect.sh nach jedem editieren mit mit -code: chmod +x reconnect.sh bearbeitet?

Bin manchmal ein wenig kompliziert - aber ich bin eben auch immer ich :D

LG theMario
 
Zuletzt bearbeitet:

LingLing

Benutzer
Mitglied seit
21. Nov 2012
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Hallo!

Also vorweg, ich habe das Script zum Laufen gebracht. Ich vergas den Port mitanzugeben hinter der IP. Mein Skript sieht jetzt so aus:


#!/bash/sh
curl "http://192.168.0.1:8080/cgi-bin/logi" -d "rc=%40&PN=MEIN_BENUTZERNAME&PS=MEIN-PASSWORT&rd=menu" -b
curl "http://192.168.0.1:8080/cgi-bin/dial?rc=@&A=H0&rd=status&ZT=1353534884377" -c "
curl "http://192.168.0.1:8080/cgi-bin/dial?rc=@&A=D0&rd=status&ZT=1353534902759" -c "

Dennoch, um auf deine Fragen einzugehen. Das Script läuft auf einer DS212J, ich habe das Skript mittels vi erstellt und mich per Putty auf das Gerät verbunden. Nach jeder Änderung habe ich es auch ausführbar gemacht. Letztlich hat eben nur der Port gefehlt. Theroretisch dachte ich, dass ich diesen nicht brauche, aber praktisch eben doch. Ich habe an dem Router die Fernwartung aktiviert auf Port 8080 und somit scheine ich diesen Port angeben zu müssen. Soll heißen, mit Fernwartung inaktiv kann ich mich auf den router verbinden mit 192.168.0.1 mit Fernwarnung aktiv muss ich 192.168.0.1:8080 angeben.

Also alles halb so wild, man muss nur eben nachdenken was man tut.

Viel dank und schöne Grüße,

LingLing
 

theMario

Benutzer
Mitglied seit
29. Dez 2011
Beiträge
403
Punkte für Reaktionen
0
Punkte
22
Schön,

dass du es am Laufen hast. Ist schon verrückt, was so manchmal gebraucht wird. An die Portangabe hatte ich auch nicht gedacht. Habe auch keinen D-Link Router mehr.

Vor Allem finde ich gut, dass du hier noch dich meldest, erklärst, dass du alles hinbekommen hast und vor Allem das WIE erklärst! Somit findet diese Lösung der nächste User mit deinem ehemaligen Problem. Vielleicht solltest du Dein Wissen auch im Syno Wiki versuchen, unterzubringen. Für die D-Link Nutzergemeinde ist da nichts hinterlegt.

Ich wünsche dir ein schönes WE.

theMario, der immer noch nicht weiß, warum sein reconnect funktioniert.
 

renaulti

Benutzer
Mitglied seit
31. Mrz 2012
Beiträge
392
Punkte für Reaktionen
0
Punkte
16
Hallo

entschuldige dass ich das Thema so spät nocheinmal aufgreife aber ich habe probleme beim erstellen der reconnect.sh.

Habe einen Netgear DGND3800b mit dem Jdownloader funktioniert alles reibungslos.

Wenn ich mich richtig erinnere sollte es mit dem batch script aus dem Jdownloader funktionieren.

Hier eimal das Script
Rich (BBCode):
@echo off
rem Hier IP & Password von Router festlegen
set IP=IP des Routers
set Pass=Password

rem Hier wird hash-code in hash.txt generiert
curl http://%IP%/ >salt.log
cscript //NoLogo hash.vbs %Pass%
set /p PWD=<hash.txt

rem Hier meldet sich ihre Pc an Router an
curl http://%IP%/post_login.xml?hash=%PWD% 


rem Ab hier kann Router ausgelesen und kontroliert werden


rem alte IP aus Router auslesen
for /f "delims=>< tokens=17" %%i in ('curl http://%IP%/wan_connection_status.xml') do @echo %%i >ip.log

set /p oldIP=<ip.log
@echo Ihre alte IP: %oldIP%


rem Hier wird Reconnect ausgeführt
:reconnect
curl http://%IP%/wan_pppoe.cgi?connect=false
curl http://%IP%/wan_pppoe.cgi?connect=true

rem 10 Sekunden warten, bis neue IP zugeteilt ist
:wait
set WAITTIME=15
@echo countdown...
cscript //NoLogo sleep_countdown.vbs %WAITTIME%
@echo.

rem neue IP aus Router auslesen
:getNewIp
for /f "delims=>< tokens=17" %%i in ('curl http://%IP%/wan_connection_status.xml') do @echo %%i >ip.log

set /p newIP=<ip.log
@echo neue IP: %newIP%    alte IP: %oldIP%

pause

if (%newIP%)==(%oldIP%) goto reconnect
@echo neue IP: %newIP%    alte IP: %oldIP%

rem Buchfuehrung ueber IP-Wechsel
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set stunde=%TIME:~-11,2%
set minute=%TIME:~-8,2%
set sekunde=%TIME:~-5,2%
set datum=%jahr%.%monat%.%tag%
set zeit=%stunde%:%minute%:%sekunde%
set timest=%datum%    %zeit%
@echo %timest%    %newIP% >>connect.txt
pause
exit

Gruß

Renaulti
 

theMario

Benutzer
Mitglied seit
29. Dez 2011
Beiträge
403
Punkte für Reaktionen
0
Punkte
22
Hallo Renaulti,

dein Script ist ein "Windows Script" Das kenne / habe ich auch so ähnlich für eine Fritz.Box. Du lässt aber über eine Windowsversion von curl.EXE deinen Router neu starten. Das wird nicht in einer Linuxumgebung laufen. Du kannst doch mit deinem Benziner auch keinen Diesel fahren - zumindest nicht so lange :D
curl in linux sieht anders aus. Scripte, auch für deinen Router findest du im Forum.
 

renaulti

Benutzer
Mitglied seit
31. Mrz 2012
Beiträge
392
Punkte für Reaktionen
0
Punkte
16
Danke für deine Antwort theMario

Aber wo finde ich den ein Script für meinen Router den suche schon seit ein paar Tagen und finde aber keins oder wie erstelle ich ein script für Linux denn habe ja in meinem Windowsscript die Adressen drinstehen die den reconnect ausführen weiß nur nicht wie ich das hinkriege dass der auch dass passwort kennt

Gruß

Renaulti
 

theMario

Benutzer
Mitglied seit
29. Dez 2011
Beiträge
403
Punkte für Reaktionen
0
Punkte
22
Versuch es doch mal hier. Aber Vorsicht bei der eingeblendeten Werbung. Es ist nicht das Kreuz rechts oben, welches das Fenster schliesst, sondern der Button links daneben... .

Viel Glück
 

renaulti

Benutzer
Mitglied seit
31. Mrz 2012
Beiträge
392
Punkte für Reaktionen
0
Punkte
16
Hallo

Danke für deinen Link theMario,
Leider finde ich auch dort nichts für meinen Router. Habe mir jedoch den aufbau der Netgear reconnect scripte angesehen und es dann Folgendermaße angepasst und gleich aufgebaut die Adresse für den Reconnect habe ich aus dem Windowscript genommen und für die anmeldung den ersten Teil der Scripte auf der Seite das sieht dann Folgendermaße aus:
Rich (BBCode):
curl http://%USER%:%PWD%@%IP%/wan_pppoe.cgi?connect=false
curl http://%USER%:%PWD%@%IP%/wan_pppoe.cgi?connect=true

Ip,Passwortund Benutzernahme habe ich jedoch beim ausführen dementsprechen umgeändert.

Doch in Putty kriege ich Folgende Fehlermeldung:
Rich (BBCode):
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title>401 Zugriff verweigert</title></head>
<body onload="document.aForm.submit()"><h1>401 Zugriff verweigert</h1>
<p>Der Zugriff auf diese Ressource wurde verweigert; der Client hat nicht die erforderlichen Authentifizierungsdaten übermittelt.</p><form method="post" action="unauth.cgi?id=0" name="aForm"></form></body>
</html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title>404 Nicht gefunden</title></head>
<body><h1>404 Nicht gefunden</h1>
<p>Die angeforderte Ressource ist nicht verfügbar.</p></body>
</html>
 

theMario

Benutzer
Mitglied seit
29. Dez 2011
Beiträge
403
Punkte für Reaktionen
0
Punkte
22
Zuletzt bearbeitet:

renaulti

Benutzer
Mitglied seit
31. Mrz 2012
Beiträge
392
Punkte für Reaktionen
0
Punkte
16
Schreibe mein script mit notepad+.

Habe dies (#!/bin/sh) auch schon probiert werde es mal mit bash versuchen und wenn das nicht klappt versuche ich auch noch das mit der adresse.
Werde im laufe des Tages das ergebnis posten
 

theMario

Benutzer
Mitglied seit
29. Dez 2011
Beiträge
403
Punkte für Reaktionen
0
Punkte
22
Ob das was wird mit notepad+? Ich kenne den Editor nicht, verwende selbst WinVi 3 und schaue ab und zu noch mit dem Editor vi auf dem NAS nach, ob es auch so ausschaut, wie ich es haben will. Die Windowseditoren schreiben zusätzliche Steuerzeichen in eine editierte Datei. Das macht den Inhalt für Linux unbrauchbar.

Viel Erfolg
 

renaulti

Benutzer
Mitglied seit
31. Mrz 2012
Beiträge
392
Punkte für Reaktionen
0
Punkte
16
Also habe mit Notepad++ und WinVi bekomme ich die gleichen ergebnisse.

Mit diesem Script hat es Einmal funktioniert:
Rich (BBCode):
#!/bin/sh 
curl "http://%USER%:%PWD%@%IP%/st_poa.cgi" -d "ConMethod=Disconnect"
curl "http://%USER%:%PWD%@%IP%/st_poa.cgi" -d "ConMethod=++Connect++"

Was ich aber nun nicht verstehe wenn ich das Script nochmal ausführen möchte klappt es nichtmehr :(
 

theMario

Benutzer
Mitglied seit
29. Dez 2011
Beiträge
403
Punkte für Reaktionen
0
Punkte
22
Wie startest du das Script? Welche Meldungen bekommst du?
 

renaulti

Benutzer
Mitglied seit
31. Mrz 2012
Beiträge
392
Punkte für Reaktionen
0
Punkte
16
Starte das Script mit Putty

Diese Meldung bekomme ich wenn es NICHT funktioniert:
Rich (BBCode):
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title>401 Zugriff verweigert</title></head>
<body onload="document.aForm.submit()"><h1>401 Zugriff verweigert</h1>
<p>Der Zugriff auf diese Ressource wurde verweigert; der Client hat nicht die er                                                                                                                                                             forderlichen Authentifizierungsdaten übermittelt.</p><form method="post" action                                                                                                                                                             ="unauth.cgi?id=657743766" name="aForm"></form></body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<META name="description" content="DGND3800">
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<META http-equiv="Content-Style-Type" content="text/css">
<META http-equiv="Pragma" content="no-cache">
<META HTTP-equiv="Cache-Control" content="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="Mon, 06 Jan 1990 00:00:01 GMT">

<link rel="stylesheet" href="form.css">
<title>NETGEAR Router DGND3800B</title>
<link rel="stylesheet" href="css/table.css">
<link rel="stylesheet" href="css/scrollbar.css">
<link rel="stylesheet" href="css/button.css">

<script src="script/jquery.js"></script>
<script src="script/jquery.mousewheel.js"></script>
<script type="text/javascript" src="script/jquery.jscrollpane.min.js"></script>

<script src="script/script.js"></script>
<script language="javascript" type="text/javascript" src="func.js"></script>
<script language="javascript" type="text/javascript" src="msg.js"></script>
<script language="javascript" type="text/javascript" src="utility.js"></script>
<script language="javascript" type="text/javascript" src="browser.js"></script>
<script language="javascript" type="text/javascript" src="md5.js"></script>

<script type="text/javascript">


    $(document).ready(function()
    {
        $("#target").submit(function() {
            buttonFilter();
        });

    });



function delayedLoad()
{
        var nextF = document.forms[0].next_file.value;
    var pnpxstatus=document.forms[0].pnpxstart.value;
        if (nextF == "historyBack"){
        document.getElementById("warning").style.display="block";
                setTimeout("history.back()", 6000);
        }else{
        if(pnpxstatus==1){
            document.getElementById("quitblock").style.display="block";
        }else{
            document.getElementById("warning").style.display="block";
            setTimeout("location.replace('" + nextF + "')", 6000);
        }
    }
}
</script>
</head>
<body  leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="del                                                                                                                                                             ayedLoad()" style="margin:0px;background-color:#e5e5e5">
<form id="target"  name="msg" action="message.cgi" method="post" onSubmit="retur                                                                                                                                                             n false">
<input type="hidden" name="buttonHit"><input type="hidden" name="buttonValue">
<input type="hidden" name="pnpxstart" value='0'>
<table WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="4">

<tr>
        <td align="left"><h1></h1></td>
</tr>
</table>

<table WIDTH="100%" BORDER="0" CELLSPACING="3" CELLPADDING="0">
<tr>
 <td colspan="2" background="liteblue.gif" height="12">  </td>
</tr>
</table>

<table WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="4">

<tr>
 <td align=center><b>Sitzung verbunden.
</b></TD>
</TR>
</table>

<table WIDTH="100%" BORDER="0" CELLSPACING="3" CELLPADDING="0">
<tr>
 <td colspan="2" background="liteblue.gif" height="12">  </td>
</tr>
</table>

<div id="warning" style="display: none;">
<table WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="4">
<tr>
 <td align=center>Hier wird in einigen Sekunden wieder die vorherige Seite angez                                                                                                                                                             eigt ...</TD>
</TR>
</TABLE>
</div>
<div id="quitblock" style="display: none;">
<table WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="4">
<tr align="left" valign="middle">
<td  style="padding-top:10px;padding-bottom:10px" align="center" colspan="2" cla                                                                                                                                                             ss="table-seperate-border">
   <button type="BUTTON" value="Beenden" name="quit" class="butto                                                                                                                                                             n-rule" onClick="buttonClick(this,'Beenden');top.location.replace('close_process                                                                                                                                                             .htm');"><span class="roundleft_button">   Beenden</span><span class="                                                                                                                                                             roundright_button">    </span></button>
</td>
</tr>
</TABLE>
</div>
 <input type="hidden" name="next_file" value="RST_st_ppa.htm">
</form>
</BODY>
</HTML>
 

theMario

Benutzer
Mitglied seit
29. Dez 2011
Beiträge
403
Punkte für Reaktionen
0
Punkte
22
<body onload="document.aForm.submit()"><h1>401 Zugriff verweigert</h1>
<p>Der Zugriff auf diese Ressource wurde verweigert; der Client hat nicht die er
erforderlichen Rechte

Versuche es mal mit dem user "root" und dem Passwort eines admin oder des ftpuser.Benutzer der Box findest in den Einstellungsshell des Routers. ggf musst den erst einmal aktivieren.
 

renaulti

Benutzer
Mitglied seit
31. Mrz 2012
Beiträge
392
Punkte für Reaktionen
0
Punkte
16
Mit root funktioniert es schonmal nicht versuche nun diese Einstellung im Router zu finden

Diese Einstellung finde ich leider nicht in meinem Router.

Hebe es grade nochmal versucht mit dem Reconnect und da bekamm ich Follgende Meldung die IP hat sich auch nicht geändert also wieder hat es nicht funktioniert wieder mit Admin und Adminpasswort:
Rich (BBCode):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <META name="description" content="DGND3800">
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<META http-equiv="Content-Style-Type" content="text/css">
<META http-equiv="Pragma" content="no-cache">
<META HTTP-equiv="Cache-Control" content="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="Mon, 06 Jan 1990 00:00:01 GMT">

        <meta charset="UTF-8" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="CDL.css">
        <link rel="stylesheet" type="text/css" href="css/mainpage.css">
        <script type="text/javascript" src="script/jquery.js"></script>
        <script type="text/javascript" src="effect.js"></script>
        <link rel="stylesheet" href="CDL.css">
        <title>NETGEAR Genie</title>
        <script>
        var t;
        function wait()
        {
            t = setTimeout('do_redirect()',1500);
        }

        function do_redirect()
        {
             top.location.href = "MNU_access_multiLogin2.htm";
        }
        </script>

</head>
<body onLoad="do_redirect();">
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <META name="description" content="DGND3800">
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<META http-equiv="Content-Style-Type" content="text/css">
<META http-equiv="Pragma" content="no-cache">
<META HTTP-equiv="Cache-Control" content="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="Mon, 06 Jan 1990 00:00:01 GMT">

        <meta charset="UTF-8" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="CDL.css">
        <link rel="stylesheet" type="text/css" href="css/mainpage.css">
        <script type="text/javascript" src="script/jquery.js"></script>
        <script type="text/javascript" src="effect.js"></script>
        <link rel="stylesheet" href="CDL.css">
        <title>NETGEAR Genie</title>
        <script>
        var t;
        function wait()
        {
            t = setTimeout('do_redirect()',1500);
        }

        function do_redirect()
        {
             top.location.href = "MNU_access_multiLogin2.htm";
        }
        </script>

</head>
<body onLoad="do_redirect();">
</body>
</html>
myds> /volume1/public/reconnect.sh
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <META name="description" content="DGND3800">
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<META http-equiv="Content-Style-Type" content="text/css">
<META http-equiv="Pragma" content="no-cache">
<META HTTP-equiv="Cache-Control" content="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="Mon, 06 Jan 1990 00:00:01 GMT">

        <meta charset="UTF-8" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="CDL.css">
        <link rel="stylesheet" type="text/css" href="css/mainpage.css">
        <script type="text/javascript" src="script/jquery.js"></script>
        <script type="text/javascript" src="effect.js"></script>
        <link rel="stylesheet" href="CDL.css">
        <title>NETGEAR Genie</title>
        <script>
        var t;
        function wait()
        {
            t = setTimeout('do_redirect()',1500);
        }

        function do_redirect()
        {
             top.location.href = "MNU_access_multiLogin2.htm";
        }
        </script>

</head>
<body onLoad="do_redirect();">
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <META name="description" content="DGND3800">
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<META http-equiv="Content-Style-Type" content="text/css">
<META http-equiv="Pragma" content="no-cache">
<META HTTP-equiv="Cache-Control" content="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="Mon, 06 Jan 1990 00:00:01 GMT">

        <meta charset="UTF-8" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="CDL.css">
        <link rel="stylesheet" type="text/css" href="css/mainpage.css">
        <script type="text/javascript" src="script/jquery.js"></script>
        <script type="text/javascript" src="effect.js"></script>
        <link rel="stylesheet" href="CDL.css">
        <title>NETGEAR Genie</title>
        <script>
        var t;
        function wait()
        {
            t = setTimeout('do_redirect()',1500);
        }

        function do_redirect()
        {
             top.location.href = "MNU_access_multiLogin2.htm";
        }
        </script>

</head>
<body onLoad="do_redirect();">
</body>
</html>
 
Zuletzt bearbeitet:

js310884

Benutzer
Mitglied seit
23. Sep 2014
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Reconnect in pyload erfolglos!

Hallo liebe Foren-Gemeinde,

ich probiere nun auch schon seit einigen Wochen den reconnect per reconnect.sh und einer FRITZ!Box 7390 hinzubekommen.

Die Ausgangssituation ist die gleiche, wie bei vielen hier:
- DS214 mit pyload 0.4.9 über synocommunity installiert
- manuelle Ausführung als root per ssl über putty (sh /volume1/pyload/reconnect.sh) funktioniert und die Fritzbox connected neu
- reconnect.sh mit #!/bin/sh am Anfang und alles in einer Datei, also keine Verlinkung auf eine data.txt oder data.xml
- reconnect.sh unter /volume1/pyload/reconnect.sh UND /volume1/@appstore/pyload/etc/reconnect.sh
- per chmod +x ausführbar gemacht
- unter beiden o.g. Pfaden findet pyload das Script und führt es auch aus, jedoch die Log-Meldung --> Reconnected, new IP: xxx.xxx.xxx.xxx (leider gleiche, alte IP)

Optionen, die noch bleiben:
- ./reconnect statt /volume1/pyload/reconnect.sh unter "Method" testen
- data.txt oder data.xml erstellen und ausführbar machen sowie den Code für UPNP für DRITZ!Box dort hin auslagern

Wisst ihr noch einen Rat?

Grüße,
js310884
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat