Weiterleiten eines Magic Pakets (WOL)

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.
Das ist die conf.php ich habe eigentlich nicht weiter gemacht als die verlangten Sachen einzutragen?

PHP:
<?php 
$username = "h1otox"; 
$password = "password"; 
$defaultProfiles = array( 
                        array("name" => "ws1", "mac" => "001A4D4C811F", "broadcast" => "192.168.0.255", "port" => "9"), 
                        array("name" => "ws2", "mac" => "FFFFFFFFFFFF", "broadcast" => "192.168.0.255", "port" => "9") 
                    ); 
$wakelanCall = "/opt/bin/wakelan -b %s -m %s -p %s"; 
$logFileName = "log.txt"; 
?>
 
Ganz am Ende deiner conf.php befindet sich ein Leerzeichen. Entfern das mal bitte. Ich denke dann sollte es funktionieren.

ist von mir leider ein wenig unschön programmiert. Es wäre weniger fehleranfällig wenn ich das '?>' weggelassen hätte also folgendermaßen
PHP:
<?php  
$username = "h1otox";  
$password = "password";  
$defaultProfiles = array(  
                        array("name" => "ws1", "mac" => "001A4D4C811F", "broadcast" => "192.168.0.255", "port" => "9"),  
                        array("name" => "ws2", "mac" => "FFFFFFFFFFFF", "broadcast" => "192.168.0.255", "port" => "9")  
                    );  
$wakelanCall = "/opt/bin/wakelan -b %s -m %s -p %s";  
$logFileName = "log.txt";
 
Danke das war es. Wirklich ein sehr nützliches Programm:) echt schön dass du dir die Mühe gemacht hast. Übrigens ist da noch ein Fehler bei den IP Adressen, die dürfen ab 0 anfangen also z.B. 192.168.0.255 als BC Adresse bei dir im Source hört es bei 1 auf.
PHP:
if(count($tmp) != 4 || $tmp[0] < 0 || $tmp[0] > 255 || $tmp[1] < 0 || $tmp[1] > 255 || $tmp[2] < 0 || $tmp[2] > 255 || $tmp[3] < 0 || $tmp[3] > 255){...}
 
Zuletzt bearbeitet:
Zu den IP-Adressen empfehle ich immer mal hier ins Wiki zu schauen.

itari
 
Danke für den Hinweis. IP-dressen können natürlich auch 0en enthalten. Habs soeben geändert.
 

Anhänge

@ingemar
Ich würde die IPs entweder mit RegExp oder, und viel einfacher, mit ip2long()verifizieren.
 
super Programm!
hat aber ne "kleine" Sicherheitslücke, man kann nämlich die log.txt direkt Aufrufen und dann den Usernamen und die MAC-Adresse auslesen.
Ich hab folgende Änderungen gemacht:
1) Unterverzeichnis log/ erstellt
2) darin .htacces-Datei erstellt, mit dem Inhalt:
deny from all #genereller Zugrifsverbot
oder alternativ
order deny,allow
deny from all
allow from 192.168
#nur von internen Netz zugreifbar

3) die Datei conf.php $logFileName = "log.txt"; geändert auf $logFileName = "log/log.txt";
 
Moin jungs,

eigentlich ist doch das httpwakeup nichts weiter wie ein PHP Script was den WOL-Befehl auslöst oder?

Da ich bei mir arge Probleme mit IPKG hab, wollte ich fragen ob es nicht möglich ist das Wakeup Tool ohne IPKG installation, durch "hinkopieren" zu nutzen?
 
Das hineinkopieren sollte auch funktionieren. Du müstest dazu das Paket unter http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/unstable/wakelan_1.1-2_powerpc.ipk downloaden das Programm wakelan extrahieren (z.B. mit 7zip) und dann auf deine Diskstation kopieren und ausführbar machen (mit chmod).

Die Änderung in der php.ini bleibt dir dadurch aber auch nicht erspart. (siehe WIKI)

ich finde aber die ipkg methode ist einfacher.

grüße ingemar
 
Ja gut das Anpassen der ini ist ja nciht das schlimmste.....

Klar ist das mit IPKG einfacher, aber das sche*s IPKG geht bei mir nicht....
 
Als Anfänger verstehe ich leider nur Bahnhof

Das hineinkopieren sollte auch funktionieren. Du müstest dazu das Paket unter http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/unstable/wakelan_1.1-2_powerpc.ipk downloaden das Programm wakelan extrahieren (z.B. mit 7zip) und dann auf deine Diskstation kopieren und ausführbar machen (mit chmod).

Die Änderung in der php.ini bleibt dir dadurch aber auch nicht erspart. (siehe WIKI)

ich finde aber die ipkg methode ist einfacher.

grüße ingemar



Kann mir mal jemand erklären, wie genau ich die Angabe in fiogendem Beitrag zu verstehen habe?

http://www.synology-wiki.de/index.php/HttpWakeUp_Wake-On-LAN_Pakete_per_Webinterface_verschicken

Dort steht (ähnlich wie hier)

"Diese muss anschließend entpackt und der enthaltene Ordner auf die Freigabe der Web-Station kopiert werden. "

? ? ? "auf die Freigabe der Webstation kopieren?"

Wenn es hieße: "Auf die Webstation kopieren" - dann könnte ich es verstehen. Filestation öffnen --> Einfügen --> fertig.

Habe ich auch schon gemacht, weil ich nun wirklich nicht verstehe, was bzw. wie ich es sonst tun müsste.
- Oder bedeutet das nur, dass die Webstation freigegeben sein muss, um überhaupt darauf kopieren zu können? hm.....

Dann steht hier noch was von:
"und dann auf deine Diskstation kopieren und ausführbar machen (mit chmod)."

Da hier NICHT von "auf die Freigabe kopieren" die Rede ist, vermute ich, dass damit lediglich gemeint ist, dass die Webstation FREIGEGEBEN sein muss, um dort hin zu kopieren zu können?

(Wenn es so ist, wäre "auf die Freigabe kopieren" undeutsch und mehr als irritierend)


Nun zum Letzten Teil:
Ausführbar machen mit chmod ?
Kann man mir das erklären?


Ach ja: was ich auch nicht verstehe (da ich mehr als Anfänger bin und es in der Anleitung für Wissende beschrieben ist):

Änderung in der conf.php

Parameter
username -- ein frei wählbarer Benutzername
password -- ein frei wählbares Passwort
defaultProfiles -- ein Array für vorkonfigurierte PCs die aufgeweckt werden sollen
name -- eine frei wählbare Bezeichnung
mac -- die MAC Adresse des PCs (ohne Doppelpunkte oder Bindestriche)
broadcast -- die Broadcast Adresse des Netzwerks an die das MagicPacket verschickt werden soll
port -- der Port an den das MagicPacket verschickt werden soll (sollte in der Regel Port 9 sein)
wakeLanCall -- der Aufruf für wakelan
logFileName -- der Dateiname für das Logfile



conf.php:


<?php
$username = "benutzername";
$password = "secret";
$defaultProfiles = array(
array(
"name" => "Bezeichnung PC1",
"mac" => "FFFFFFFFFFFF",
"broadcast" => "192.168.1.255",
"port" => "9"
),
array(
"name" => "Bezeichnung PC2",
"mac" => "FFFFFFFFFFFF",
"broadcast" => "192.168.1.255",
"port" => "9"
)
);
$wakelanCall = "/opt/bin/wakelan -b %s -m %s -p %s";
$logFileName = "log/log.txt";


1.) Die MAC - Adresse und die IP meiner DS ist mir bekannt und ich sehe, wo ich sie eintragen müsste.

2.) Die MAC - Adresse meiner FritzBox ist mir auch bekannt, aber: ist die FritzBox mein "broadcast"? - die vorgegebene IP irritiert mich, da ich mit: "192.168.1.255" NICHTS anfangen kann.
Muss ich wie folgt es ersetzen? 192.168.178.xx ? ?
Array 1 = IP der DS und Array 2 = IP der FritzBox?

3.) logFileName -- der Dateiname für das Logfile ??? - darf ich hier so dumm erscheinen und fragen, was, wo und wie ich etwas eingeben, angeben, einzutragen habe?

Sorry, wenn ich hier so dumm erscheine - auch wenn dies Alles höchst wahrscheinlich nicht für Anfänger geeignet sein sollte, wäre ich dennoch für weiterführende Hinweise sehr dankbar.




Ich bin und werde kein Programmierer - ich möchte lediglich die DS 106 von der Schweiz aus starten und beenden.

Vielen Dank im Voraus.

Lothar

falls möglich, bitte an diese E-Mail Adresse schreiben:

peters-lothar@online.de





P.S. da offensichtlich die Wiki's nur für "Insider" geschrieben sind, habe ich lange in Google gesucht, bis ich einen Hinweis fand, wie ich im Fenster von Putty ein Script verändern, speichern und nicht nur lesen kann.
Es wäre schön, wenn man Unwissende wie mir - die nicht dumm sterben möchten - in den Wiki's einen Hinweis (z.B. Links) geben würde, wo solche wie Ich weiterführende Informationen bekommen könnten.
 
Zuletzt bearbeitet:
"Diese muss anschließend entpackt und der enthaltene Ordner auf die Freigabe der Web-Station kopiert werden. "

Mit dem PC herunterladen und auf dem PC entpacken.

? ? ? "auf die Freigabe der Webstation kopieren?"

Das Verzeichnis /volume1/web erscheint im DS-Manager als 'gemeinsamer Ordner' (= Share = Freigabe), nachdem man die Web-Station im DS-Manager aktriviert hat. Dieses Verzeichnis ist gemeint bzw. ein Unterverzeichnis von /volume1/web, wenn man mehrere Webprojekte hierarchisch schön voneinander getrennt haben möchte.

Habe ich auch schon gemacht, weil ich nun wirklich nicht verstehe, was bzw. wie ich es sonst tun müsste.
- Oder bedeutet das nur, dass die Webstation freigegeben sein muss, um überhaupt darauf kopieren zu können? hm.....

keine Ahnung, auf was für Gedanken man hier alles kommen kann. Am Einfachsten ist es immer, wenn man sich einen Web-Server auf dem PC installiert (XAMPP), dort alles mal durchspielt und wenn man es kapiert hat, dann auf die DS überträgt. So mache ich es.

Dann steht hier noch was von:
"und dann auf deine Diskstation kopieren und ausführbar machen (mit chmod)."

Das kann man so machen, oder in der File-Station und 'Berechtigungen'.


Da hier NICHT von "auf die Freigabe kopieren" die Rede ist, vermute ich, dass damit lediglich gemeint ist, dass die Webstation FREIGEGEBEN sein muss, um dort hin zu kopieren zu können?

Keine Ahnung, worauf du hier hinaus willst ... suchst jetzt nach Problemen, wo eigentlich keine sind.


(Wenn es so ist, wäre "auf die Freigabe kopieren" undeutsch und mehr als irritierend)

Wenn es dich so sehr stört, dann änder es im Wiki ab; jeder kann da verbessern. Du weißt ja schon, nur herummeckern, bringt es auch nicht.

Nun zum Letzten Teil:
Ausführbar machen mit chmod ?
Kann man mir das erklären?

Ja, zu den Linux-Kommandos gibt es an vielen Stellen im Web Erläuterungen: http://linux.die.net/man/1/chmod

Ich bin und werde kein Programmierer - ich möchte lediglich die DS 106 von der Schweiz aus starten und beenden.

Vielen Dank im Voraus.

Lothar

falls möglich, bitte an diese E-Mail Adresse schreiben:

peters-lothar@online.de

Du weißt ja, dass wir höchst ungern ein Privatissime halten, deshalb die Antwort in aller Öffentlichkeit.

P.S. da offensichtlich die Wiki's nur für "Insider" geschrieben sind, habe ich lange in Google gesucht, bis ich einen Hinweis fand, wie ich im Fenster von Putty ein Script verändern, speichern und nicht nur lesen kann.
Es wäre schön, wenn man Unwissende wie mir - die nicht dumm sterben möchten - in den Wiki's einen Hinweis (z.B. Links) geben würde, wo solche wie Ich weiterführende Informationen bekommen könnten.

Das Wiki ist von Leuten geschrieben worden, die sich engagieren. Hier ist ja, wie dir schon aus den Diskussionen im letzten Jahr bekannt sind, niemand bei Synology angestellt. Hier sind nur Benutzer wie du und ich, die sich freiwillig und unbezahlt der Mühe hingeben, anderen auf die Sprünge zu helfen. Also nochmals, wenn du etwas anderes im Wiki stehen haben willst, dann schreib es dort hinein. Von alleine wird es dort nicht entstehen.

Itari
 
Danke

nun bin ich schon mal ein paar Schritte weiter.

Danke ... und entschuldige bitte meinen Frust..
 
...
ich möchte lediglich die DS 106 von der Schweiz aus starten und beenden.
...

Ich kann dir gerne bei der Installation meines Skripts behilflich sein, doch dein Vorhaben, damit die Diskstation zu starten, ist damit leider nicht möglich.

HttpWakeUp kann lediglich bei laufender Diskstation andere PCs im gleichen Netzwerk per WakeOnLan aufwecken.

Soweit ich weiß ist das aufwecken der DS 106 nicht möglich, da sie kein WOL unterstützt. (bitte korrigiert mich wenn das nicht stimmt)


Grüße Ingemar
 
Ich kann dir gerne bei der Installation meines Skripts behilflich sein, doch dein Vorhaben, damit die Diskstation zu starten, ist damit leider nicht möglich.

HttpWakeUp kann lediglich bei laufender Diskstation andere PCs im gleichen Netzwerk per WakeOnLan aufwecken.

Soweit ich weiß ist das aufwecken der DS 106 nicht möglich, da sie kein WOL unterstützt. (bitte korrigiert mich wenn das nicht stimmt)


Grüße Ingemar



vielen Dank Ingmar.

Meine "Fehlinterpretation" des Artikels ist mir soeben aufgefallen.

Dass, was du schreibst, hatte ich vor wenigen Minuten als "Erleuchtung".
Als ich das Skript per http aufgerufen habe, um zu testen, ob es geht -
wunderte ich mich, dass mir die Option "WakeUp" zur Verfügung stand, bzw. mir fiel ein, dass der Server bereits eingeschaltet war - ich hatte vergessen, ihn aus zu schalten - als ich ihn ausgeschaltet habe - und es natürlich NICHT aufzurufen war - ging mir (leider) ein Licht auf.


Kasus Knaktus: kann ich die DS starten, wenn ich sie mittels angesteuertem Relais V O L L S T Ä N D I G vom Netz trenne? Phase + Null gleichzeitig trennen ?

(hoffentlich nerve ich nicht mit diesen Bastel-Fragen)

Lothar
 
Zuletzt bearbeitet:
Hallo,
das harte vom Netz nehmen einer laufenden DS ist absolut nich zu empfehlen.
Es gibt aber einen Mod im Wiki. Funktioniert folgendermaßen (Zeiten beispielsweise):
per DSM geplant 21:00Uhr abschalten, per Schaltur 21:10 Stom weg, 7:00Uhr per Schaltuhr Strom an und DS bootet.

Gruß Götz
 
Was bedeutet denn diese Fehlermeldung?:
Das bekomme ich wenn ich die url von HttpWakeUp aufrufe

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /volume1/web/httpWakeUp/conf.php:10) in /volume1/web/httpWakeUp/index.php on line 4

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /volume1/web/httpWakeUp/conf.php:10) in /volume1/web/httpWakeUp/index.php on line 4


Und wenn ich stumpf das ignoriere und mich einlogge, kommt bestimmt ein folgefehler der wie folgt lautet:


Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /volume1/web/httpWakeUp/conf.php:10) in /volume1/web/httpWakeUp/index.php on line 4

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /volume1/web/httpWakeUp/conf.php:10) in /volume1/web/httpWakeUp/index.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /volume1/web/httpWakeUp/conf.php:10) in /volume1/web/httpWakeUp/index.php on line 17
 
Hi, in der zip kann ich das iphone design nicht finden. Hat das noch jemand oder mache ich was falsch bei der Installation?
script funktioniert einwandfrei und darum ein großes Dankeschön an den scripter!
 
Hallo Leute,

erstmal danke für den tollen Ansatz um WOL via Synology zu ermöglichen. Leider klappt es bei mir nicht. Das Script sagt zwar, ein Magic Packet wurde versendet, aber mein Server springt nicht an.

Nutze ich WOL mittels dem Tool WOL2 auf meinem Notebook, reagiert der Server zuverlässig und fährt hoch.

Welche Möglichkeiten zum Troubleshooting mit dem Script hätte ich?

Danke für Eure Hilfe!

Gruß,

Capri
 
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