Netgear Router ReConnect

    • Offizieller Beitrag

    Hallo

    Da ich oft bei Rapidshare was lade (Natürlich legal :comp1: ) und keine Lust hab immer > 30minuten zu warten, bzw Geld zu zahlen damit ich ein Premium Acc kriege, starte ich mein Router neu. Früher indem ich den Router 5 Sekunden vom Netz genommen hatte, bis ich dann entdeckt habe das man das auch im Router machen kann (Verbindung Trennen). Also hab ich mich dran gemacht, und dies versucht zu Automatisieren, was mir auch gelang :)

    DIESES PROGRAMM IST AUSSCHLIEßLICH FÜR NETGEAR ROUTER GEDACHT! AUSERDEM IST DAS PROGRAMM NOCH BETA!

    Habe es mit Netgear dg834B Netgear dg834GB Netgear DGB111PNB ausprobiert.

    Das Skript brauch ein paar zusatzdateien (Bilder) die in der Angehängten ZIP sind.


    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=server_connection.ico
    #AutoIt3Wrapper_outfile=Router ReConnect.exe
    #AutoIt3Wrapper_Compression=3
    #AutoIt3Wrapper_Res_Comment=Router ReConnect ist nur für Netgear Router!
    #AutoIt3Wrapper_Res_Description=Trennt und wiederverbindet Netgear Router
    #AutoIt3Wrapper_Res_Fileversion=0.9.5.0
    #AutoIt3Wrapper_Res_LegalCopyright=GtaSpider
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;AutoIt Versions Check
    If Number(StringReplace(@AutoItVersion, ".", "")) < 3281 Then _ErrorMsg ("Das Skript funktioniert möglicherweise nicht mit Ihrer AutoIt Version!" & @CRLF & "Wollen Sie es trozdem starten?", 0, 52)

    ;Includes
    #include <A3LGDIPlus.au3>
    #include <A3LScreenCap.au3>
    #include <inet.au3>
    #include <ie.au3>
    #include <string.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;FileInstalls
    DirCreate(@TempDir&"\Rout~")
    FileInstall("AeroTemplate.png",@TempDir&"\Rout~\AeroTemplate.png",1)
    FileInstall("master07_background.jpg",@TempDir&"\Rout~\master07_background.jpg",1)
    FileInstall("grey.gif",@TempDir&"\Rout~\grey.gif",1)

    [/autoit] [autoit][/autoit] [autoit]

    ;Globals
    Global Const $AC_SRC_ALPHA = 1
    Global Const $ULW_ALPHA = 2
    Global Const $ProgramVersion = "0.9.5beta"
    Global $old_string = "", $runthis = ""
    Global $launchDir = @DesktopDir
    Global $Username = RegRead("HKEY_CURRENT_USER\Software\Router ReConnect", "Username")
    Global $Userpassword = _StringEncrypt(0, RegRead("HKEY_CURRENT_USER\Software\Router ReConnect", "Userpassword"), "RoUReC3%'§^'", 2)
    Global $RouterAdress = RegRead("HKEY_CURRENT_USER\Software\Router ReConnect", "Router Adress")

    [/autoit] [autoit][/autoit] [autoit]

    ;Windows Version Check
    IF @OSVersion <> "WIN_XP" Then _ErrorMsg("Das Skript funktioniert möglicherweise nicht mit Ihrem Betriebssystem!"&@CRLF&"Das Program wurde für Windows XP erstellt, Sie haben Windows "&Stringupper(StringTrimLeft(@OSVersion,4))&"."&@CRLF&"Wollen Sie es trozdem starten?",0,52)

    ;GDI Startup
    _GDIP_Startup ()
    $pngSrc = @TempDir&"\Rout~\AeroTemplate.png"
    If Not FileExists($pngSrc) Then _ErrorMsg ("Die Datei " & $pngSrc & " Existiert nicht, Programm wird beendet", 1, 16)
    $hImage = _GDIP_ImageLoadFromFile ($pngSrc)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $width = _GDIP_ImageGetWidth ($hImage)
    $height = _GDIP_ImageGetHeight ($hImage)

    [/autoit] [autoit][/autoit] [autoit]

    ;Falls RegDaten nicht vorhanden, erstellen.
    If $Username = '' Or $Userpassword = '' Or $RouterAdress = '' Then

    [/autoit] [autoit][/autoit] [autoit]

    $guiUserdata = GUICreate("Router ReConnect v" & $ProgramVersion & " - By GtaSpider", 295, 183, 207, 141, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE))
    GUICtrlCreatePic(@TempDir&"\Rout~\master07_background.jpg", -16, -40, 534, 400)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("Router Adresse:", 160, 16, 80, 15)
    GUICtrlSetBkColor(-1, -2)
    $inpRouterAdress = GUICtrlCreateInput("www.Routerlogin.com", 160, 32, 121, 21)
    GUICtrlCreateLabel("Username:", 160, 56, 55, 15)
    GUICtrlSetBkColor(-1, -2)
    $inpUsername = GUICtrlCreateInput("admin", 160, 72, 121, 21)
    GUICtrlCreateLabel("Passwort:", 160, 96, 50, 15)
    GUICtrlSetBkColor(-1, -2)
    $inpUserpassword = GUICtrlCreateInput("", 160, 112, 121, 21, $ES_PASSWORD)
    $butNext = GUICtrlCreateButton("&Weiter", 160, 138, 121, 25, $BS_DEFPUSHBUTTON)
    GUISetState()

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    CAse $butNext
    RegWrite("HKEY_CURRENT_USER\Software\Router ReConnect", "Username","REG_SZ",GUICtrlRead($inpUsername))
    RegWrite("HKEY_CURRENT_USER\Software\Router ReConnect", "Userpassword","REG_SZ",_StringEncrypt(1,GUICtrlRead($inpUserpassword), "RoUReC3%'§^'", 2))
    RegWrite("HKEY_CURRENT_USER\Software\Router ReConnect", "Router Adress","REG_SZ",StringLower(StringReplace(GUICtrlRead($inpRouterAdress),"http:\\","")))
    ExitLoop
    EndSwitch
    WEnd
    GUIDelete()
    Global $Username = RegRead("HKEY_CURRENT_USER\Software\Router ReConnect", "Username")
    Global $Userpassword = _StringEncrypt(0, RegRead("HKEY_CURRENT_USER\Software\Router ReConnect", "Userpassword"), "RoUReC3%'§^'", 2)
    Global $RouterAdress = RegRead("HKEY_CURRENT_USER\Software\Router ReConnect", "Router Adress")
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;PNG Gui
    $GUI = GUICreate("Router ReConnect", $width, $height, -1, -1, $WS_POPUP, $WS_EX_LAYERED)
    SetBitmap ($GUI, $hImage, 0)
    GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST")

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    $hBMP = _ScreenCap_Capture (@TempDir & "\Rout~\wg.jpg", 0, 0, @DesktopWidth, @DesktopHeight, False)
    WinSetOnTop($GUI, "", 1)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To 255 Step 10
    SetBitmap ($GUI, $hImage, $i)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    ;Control GUI
    $controlGui = GUICreate($ProgramVersion, $width, $height, 0, 0, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $GUI)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreatePic(@TempDir&"\Rout~\grey.gif", 0, 0, $width, $height)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $dellab = GUICtrlCreateLabel("Please Wait...", 140, 10, 400, 40)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetFont(-1, 20, 800)
    GUICtrlSetBkColor(-1, -2)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    SplashImageOn("", @TempDir & "\Rout~\wg.jpg", @DesktopWidth, @DesktopHeight, 0, 0, 1)
    WinSetOnTop($controlGui, "", 1)
    Global Const $MomentaryIP = _GetIP()
    ;Zum Router wird Verbunden
    $oIE = _IECreate($RouterAdress, 0, 0, 0)
    WinWait("Verbindung zu "&$RouterAdress&" herstellen", "", 7)
    ControlSetText("Verbindung zu "&$RouterAdress&" herstellen", "", 1003, $Username)
    ControlSetText("Verbindung zu "&$RouterAdress&" herstellen", "", 1005, $Userpassword)
    ControlClick("Verbindung zu "&$RouterAdress&" herstellen", "", 1)
    SplashOff()

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlDelete($dellab)
    GUICtrlCreateLabel("Momentary IP:", 50, 20, 120)
    GUICtrlSetFont(-1, 12, 800)
    GUICtrlSetBkColor(-1, -2)
    GUICtrlCreateLabel("New IP:", 103, 45, 70)
    GUICtrlSetFont(-1, 12, 800)
    GUICtrlSetBkColor(-1, -2)
    GUICtrlCreateInput($MomentaryIP, 170, 20, 150, 22, $ES_READONLY)
    GUICtrlSetFont(-1, 12, 800)
    $newipinp = GUICtrlCreateInput("xxx.xxx.xxx.xxx", 170, 45, 150, 22, $ES_READONLY)
    GUICtrlSetFont(-1, 12, 800)
    GUICtrlCreateButton("By GtaSpider", 50, 70, 270, 25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $prog = GUICtrlCreateProgress(50, 97, 650, 17)
    $Edit = GUICtrlCreateEdit("", 330, 20, 370, 75)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetData($prog, 10)
    GUICtrlSetData($Edit, "Zum Router Verbunden" & @CRLF, 1)
    _IELoadWait($oIE);Warten bis Routerseite komplett geladen
    GUICtrlSetData($prog, 15)
    GUICtrlSetData($Edit, "Routerseite komplett geladen" & @CRLF, 1)
    GUICtrlSetData($prog, 20)
    GUICtrlSetData($Edit, "Versuche Router zu trennen" & @CRLF, 1)
    _IENavigate($oIE, "http://"&$RouterAdress&"/setup.cgi?todo=disconnect");Trennt Router
    GUICtrlSetData($prog, 30)
    GUICtrlSetData($Edit, "Der Router wurde getrennt!" & @CRLF, 1)
    For $i = 30 To 90 Step 5
    $ping = Ping("www.google.de", 100);Pingt google an, bis kein error
    $ping = @error
    If Not $ping Then ExitLoop
    GUICtrlSetData($prog, $i)
    GUICtrlSetData($Edit, "Ping Versuch gescheitert, Errorcode: " & $ping & " " & $i & "%" & @CRLF, 1)
    Next
    If $i = 90 And $ping Then
    While $ping
    Ping("www.google.de", 100)
    $ping = @error
    GUICtrlSetData($Edit, "Ping Versuch gescheitert, Errorcode: " & $ping & "%: " & Random(90, 99, 1) & @CRLF, 1)
    WEnd
    EndIf
    GUICtrlSetData($prog, 90)
    GUICtrlSetData($Edit, "Ping Versuch erfolgreich" & @CRLF, 1)
    GUICtrlSetData($Edit, "Lese neue IP ein" & @CRLF, 1)
    $newip = -1
    While $newip = -1
    $newip = _GetIP();Lese neue IP ein bis $newip <> -1
    WEnd
    GUICtrlSetData($newipinp, $newip)
    If $newip <> $MomentaryIP Then
    GUICtrlSetData($prog, 100)
    GUICtrlSetData($Edit, "Router wurde erfolgreich ReConnected!" & @CRLF, 1)
    GUICtrlSetData($Edit, " By GtaSpider" & @CRLF, 1)
    GUICtrlSetBkColor($Edit, 0x00ff00)
    Else
    GUICtrlSetData($prog, 0)
    GUICtrlSetData($Edit, "Router wurde NICHT erfolgreich ReConnected!" & @CRLF, 1)
    GUICtrlSetData($Edit, "Neustart des Programmes erfolgt in 5" & @CRLF, 1)
    GUICtrlSetBkColor($Edit, 0xff0000)
    For $i = 4 To 0 Step - 1
    Sleep(1000)
    GUICtrlSetData($Edit, "Neustart des Programmes erfolgt in " & $i & @CRLF, 1)
    Next
    RunWait('"' & @ComSpec & '" /c "' & @ScriptFullPath & '"', '', @SW_HIDE)
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(5000)

    [/autoit] [autoit][/autoit] [autoit]

    GUIDelete($controlGui)
    For $i = 255 To 0 Step - 5
    SetBitmap ($GUI, $hImage, $i)
    Next

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Funktionen
    Func OnAutoItExit ()
    If IsDeclared("hImage") Then _API_DeleteObject ($hImage)
    _GDIP_Shutdown ()
    If IsDeclared("oIE") Then _IEQuit($oIE)
    FileDelete(@TempDir & "\scratch.bat")
    $sCmdFile = 'ping -n 3 127.0.0.1' & @CRLF _
    & 'del /F /S /Q "'&@TempDir&'\Rout~" > nul' & @CRLF _
    & 'del ' & @TempDir & '\scratch.bat'
    FileWrite(@TempDir & "\scratch.bat", $sCmdFile)
    Run(@TempDir & "\scratch.bat", @TempDir)
    EndFunc ;==>OnAutoItExit

    [/autoit] [autoit][/autoit] [autoit]

    Func _ErrorMsg ($sText, $iExit = 1, $iMsgOpt = 48)
    If MsgBox($iMsgOpt, "Warnung - Router ReConnect v" & $ProgramVersion, $sText) = 7 Or $iExit = 1 Then Exit
    EndFunc ;==>_ErrorMsg

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func WM_NCHITTEST ($hWnd, $iMsg, $iwParam, $ilParam)
    If ($hWnd = $GUI) And ($iMsg = $WM_NCHITTEST) Then Return $HTCAPTION
    EndFunc ;==>WM_NCHITTEST

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func SetBitmap ($hGUI, $hImage, $iOpacity)
    Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend

    [/autoit] [autoit][/autoit] [autoit]

    $hScrDC = _API_GetDC (0)
    $hMemDC = _API_CreateCompatibleDC ($hScrDC)
    $hBitmap = _GDIP_BitmapCreateHBITMAPFromBitmap ($hImage)
    $hOld = _API_SelectObject ($hMemDC, $hBitmap)
    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", _GDIP_ImageGetWidth ($hImage))
    DllStructSetData($tSize, "Y", _GDIP_ImageGetHeight ($hImage))
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", $iOpacity)
    DllStructSetData($tBlend, "Format", $AC_SRC_ALPHA)
    _API_UpdateLayeredWindow ($hGUI, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
    _API_ReleaseDC (0, $hScrDC)
    _API_SelectObject ($hMemDC, $hOld)
    _API_DeleteObject ($hBitmap)
    _API_DeleteDC ($hMemDC)
    EndFunc ;==>SetBitmap

    [/autoit]

    Mfg Spider

    Vorherige Downloads: 25 (Engl + Deut AutoIt Forum)

  • hallo ich habe mal eine frage zu deinem tool, da ich es grade nicht testen kann. muss man jedesmal die router daten neu eingeben?könnte man das tool auch automatisieren quasi das man die option hat das man entweder auf weiter klicken muss oder das es reconnected wenn man es nur aufruft. fände ich nicht schlecht. aber so ist es bestimmt ein klasse tool. muss ich dann mal testen.

  • Hi,
    Nettes Tool, hatte auch schon mal so was geschrieben (bloß ohne GUI). Ist bloß für den Anwendungszweck etwas überflüssig. Ich verweise dabei auf das Programm CryptLoad (siehe google...)!

    • Offizieller Beitrag

    Hallo

    @sigma: du musst die Daten nur einmal eingeben, dann werden sie teils verschlüsselt in die Registry geschrieben und er fragt dich nicht bei jeden programmstart!

    teh_hahn: Ja, hatte ich zuerst auch ohne GUI. Wollt es hier aber nicht ohne GUI reinstellen ;)

    Mfg Spider

  • GtaSpider
    ahh ok das ist gut, aber kann man dann auch die exe einfach aufrufen und er reconnected oder muss ich immer weiter klicken?werd mir dann den source mal geanuer angucken und sehen was ich so verstehe :)

  • naja cryptload ...
    dann kann ich auch RouterControl

    ich werds mal ausprobieren, aber hab gerade nen d-link router dran -.-

  • also ich habe den dg834b v2 (steht auf router).
    hab alles eingestellt, aber bei mir gehts leider nicht. wäre ne schöne alternative zu routercontrol. hängt jetzt seit 4min bei "zum router verbunden" er zeigt mir auch meine aktuelle ip richtig an, aber er macht kein reconnect.
    nach nen paar minuten mehr dann sagt er mir:


    line -1:

    error: the requestetd action with this object has failded.


    sigma

  • Hallo ich hab Win xp pro.
    also erst startet das skript dann passiert was mit dem internet explorer und dann habe grade gesehn das im hintergrund folgendes aufgeht(siehe anhang) ist das normal?könntest du auch eine version amchen die den firefox benutzt?weil ich mache mir bald mit nlite ein windows ohne ie....

    • Offizieller Beitrag

    Hallo

    Wie gesagt, noch BETA ;) Ich hab es nur mit IE 6 Ausprobiert, du hast aber 7, richtig?

    Hab grad kein Vista hier (Festplatte geschrottet :/) kannst du mir bitte sagen was hier bei dir in der MsgBox steht?:

    [autoit]

    #include <IE.au3>
    $aVersion = _IE_VersionInfo ()
    MsgBox(0, "", $aVersion[5])

    [/autoit]

    Mfg Spider

  • da steht drinnen

    V2.2-1

    der ie7 war auch nur ein test download aber bald kommt der ie bis auf den kern eh weg dann würde ich firefox nutzen.


    mfg