Script für Wake on LAN über FRITZ!Box (update)

Die meisten FRITZ!Box-Modelle bringen eine „Wake on Lan“-Funktion mit, über die sich ein ausgeschalteter Heimrechner starten läßt, wenn beispielsweise gerade Zugriff vom Büro aus notwendig ist. Solange der Rechner zu Hause am (verkabelten) LAN hängt, funktioniert das Ganze einwandfrei. Allerdings muß man sich auf der FRITZ!Box zunächst per HTTP-Auth und anschließend mit Admin-Paßwort anmelden, ins entsprechende Menü navigieren, dort den Rechner auswählen, der aufgeweckt werden soll, und schließlich den finalen Button drücken. Da das alles unglaublich viel Zeit frißt (bestimmt volle 1-2 Minuten!), hier ein PerlPython-Script, das den Kram automatisiert: Einmalig anpassen, starten, fertig.


Update:

Das Script liegt nun auf GitHub und wurde mit einer FRITZ!Box 7390, 7170 und 7112 getestet.

Tags:

26 Antworten zu “Script für Wake on LAN über FRITZ!Box (update)”

  1. Tristan says:

    Es wäre schön, wenn du das Script so umschreiben könntest, das es dich zur Eingabe des Usernames und der Passwörter bittet. Ich fühle mich nicht so richtig wohl, wenn ich diese sensiblen Daten in Klartext abspeichere. Vielleicht gibt es auch noch eine andere Möglichkeit. Trotzdem vielen Dank.

    Grüße Tristan

    AntwortenAntworten
  2. speaker says:

    @Tristan: Ich habe das Script angepaßt und eine entsprechende Abfrage eingebaut.

    AntwortenAntworten
  3. Tristan says:

    Vielen Dank. Noch schöner wäre natürlich eine Keychainabfrage wie beim Encfs Script von http://widerin.org/blog/secure-your-dropbox ;)

    AntwortenAntworten
  4. speaker says:

    @Tristan: Man kann’s auch übertreiben. ;)

    AntwortenAntworten
  5. Chris says:

    Hallo

    Eine super Idee dieses Script!

    Hab es sofort ausprobiert!Leider funktioniert es bei mir auf der 7390
    mit der aktuellen Firmware 84.05.50 nicht.

    Bekomme ständig die Meldung „login error“.

    Ich vermute,dass sich die Adressen der Websites geändert haben oder die
    Reihenfolge der Abfrage der Passwörter!

    Leider bin ich kein Perl und Fritzbix-Experte.

    Hat jemand Tipps?

    Vielen Dank für jeden Tipp

    AntwortenAntworten
  6. speaker says:

    @Chris: Hast du den Kommentar am Ende der Config-Sektion geprüft (SSL-Zertifikatsüberprüfung abschalten)?

    AntwortenAntworten
  7. Chris says:

    Hallo

    Ja, habe ich aktiviert bzw. die Kommentarraute entfernt. Zeile sieht so aus:

    $ua->ssl_opts(verify_hostname => 0);

    An der neuen Firmware liegts auch nicht. Habe die 84.05.05 und die 84.05.22 auch probiert. Leider ohne Erfolg. Mein Verdacht ist auch das Zertifikat, da laut Fritzbox Logs auch nie ein Login-Vorgang stattfindet. Das heisst, er müsste sich an der Zertifikatswarnung aufhängen (die kommt auch, wenn ich es manuell mache).

    Hast du noch eine Idee, bzw. einen Tipp für mich? Verzweifle langsam, weil das echt ne coole Sache wäre.

    Vielen Dank!

    AntwortenAntworten
  8. speaker says:

    @Chris: Ich habe das Script an die aktuelle 7390-Firmware angepaßt. Nun sollte alles funktionieren.

    AntwortenAntworten
  9. Chris says:

    Vielen Dank. Läuft jetzt alles super. Lag also doch an der Firmware und nicht am Zertifikat. Danke für den Support. Viele Grüsse!

    AntwortenAntworten
  10. extrafein says:

    Besten Dank für das tolle Skript. Funktioniert bestens!

    Da ich nicht den std.SSL Port verwende, ist mir noch ein kleiner Fehler aufgefallen:

    Zeile 50:
    alt> my $url_base = „https://“.$host;
    neu> my $url_base = „https://“.$host.“:“.$port;

    Nochmals Danke! Das Skript ist sehr hilfreich!

    AntwortenAntworten
  11. speaker says:

    @extrafein: Danke, eingefügt.

    AntwortenAntworten
  12. thanksalot says:

    Vielen Dank für das super Skript. Habe schon ewig nach einer Möglichkeit gesucht ohne Firmwaremod den Wakeonlan Befehl übers Internet auslösen zu können. Funktioniert übrigens auch mit der Fritz!Box 7360 SL mit Firmware 109.05.50.

    AntwortenAntworten
  13. joerghh says:

    Hmmm … Bei mir funzt es mit einer FB 7570 leider nicht.

    Läuft zwar durch und kommt mit „wakeup done“ zurück, aber im Ereignisprotokoll der Box erscheint ein „Anmeldung an der FRITZ!Box Benutzeroberfläche von IP-Adresse 12.34.56.78 gescheitert (falsches Kennwort).“

    Habe allerdings u. a. das Sonderzeichen $ in den Passwörtern. SSL-Port ist Standard 443.

    Irgendeine Idee?

    AntwortenAntworten
  14. speaker says:

    @joerghh: Sollte eigentlich funktionieren – mal das Kennwort überprüft? Es gibt bei einigen FBs unterschiedliche Paßwörter für die Anmeldung vom lokalen LAN und aus dem Internet. Letzteres erfordert bspw. noch einen Login-Namen.

    Ich habe mal ein aktualisiertes Script auf GitHub gepusht, URL siehe Artikel.

    AntwortenAntworten
  15. joerghh says:

    @speaker: Nee, funzt leider immer noch nicht :-( Weiterhin die selbe Meldung im Ereignisprotokoll wie zuvor –> siehe oben.

    Im neuen Script fehlt außerdem der Admin-Login, der bei meiner FB 7570 nach dem User-Login weiterhin benötigt wird.

    Ein manueller SSL-Login über Browser mit allen Daten funktioniert übrigens problemlos.

    AntwortenAntworten
  16. speaker says:

    @joerghh: Der Admin-Login war vorher bereits ohne Funktion, weil bei neueren FBs dieser nicht mehr gesondert benötigt wird.

    Ich habe gerade noch einmal das Script auf GitHub entsprechend angepaßt, bitte prüfen.

    AntwortenAntworten
  17. joerghh says:

    Ja, jetzt funktioniert’s. Klasse, dass Du Dir soviel Zeit für einen simplen „Vorbei-Surfer“ wie mich nimmst! War nur auf der Suche nach einem Script, mit dem ich von meinem Rootserver meinem PC Zuhause per WoL starten kann.

    Wahrscheinlich lag es wohl am fehlenden Admin-Login, welches meines FB benötigt.

    Nochmals vielen Dank! *thumbup*

    AntwortenAntworten
  18. Lars says:

    Tolle Idee, genau was ich gesucht habe.
    Was mir jedoch nicht ganz klar ist (Achtung, saudoofe Frage!): Wo liegt das Script und wie muss es aufgerufen werden?

    Ich wollte es auf meine Synology Diskstation packen und dort zeitgesteuert aufrufen lassen. Perl ist installiert, aber ich bekomme Fehlermeldungen und das Script bricht ab.

    AntwortenAntworten
  19. speaker says:

    @Lars: Der Ort, wo das Script liegt, ist völlig egal. Es kann mit „perl wakeup.pl“ gestartet werden.

    AntwortenAntworten
  20. Sid says:

    Super Script, habs grade per googeln gefunden und läuft auch wunderbar auf ner KD-Fritzbox (Cable 6490). Danke!!

    AntwortenAntworten
  21. hansland says:

    Hi!
    Vielen Dank für das schöne Script.
    Besteht eine Chance, das Script für eine FB6360 (Cable @KD) anzupassen?
    Habe einen eigenen User für WoL angelegt, es scheitert jedoch mit [login faileed]. SSL-Auth übergehe ich dabei.
    Vielen Dank vorab,
    Gruß, Alex

    AntwortenAntworten
  22. Julian says:

    Hi!
    Tolles Script, leider läuft es seit kurzem bei mir nicht mehr und bringt immer ein „[error] 404 Not Found“. Der remote Login und der local Login wird noch abgefragt, und dann kommt der 404.

    Meine Fritzbox is eine 7390 mit FritzOS 06.30

    Ich lasse automatische Updates machen, daher kann ich nicht sagen, ob es seit einem bestimmten Update nicht mehr geht, aber ich denke es fast.

    Danke im Voraus

    Achso, kleine Anmerkung: Die Ziele
    my $url_base = „https://“.$host;
    sollte eigentlich so heißen
    my $url_base = „https://“.$host.“:“.$port;
    damit man auch veränderte Ports benutzen kann.

    AntwortenAntworten
  23. speaker says:

    @Julian: Fixed. Kommentare zum Script bitte auf GitHub posten.

    AntwortenAntworten
  24. Julian says:

    Dank! Läuft wieder 1a!

    Das Script ist genial. Kein Freetzen oder Modden von der FB. Danke!

    Woher weißt Du / hast Du die Infos, wie Du das Fritzbox-Interface per LWP / web request steuerst?

    AntwortenAntworten
  25. speaker says:

    @Julian: Ich schaue mir halt an, was passiert, wenn ich manuell die entsprechenden Buttons klicke, und bastel das dann nach. ;)

    AntwortenAntworten
  26. Julian says:

    Danke, dass Du das Script immer up-2-date hältst!!!

    AntwortenAntworten

Eine Antwort hinterlassen