FREETZ Paket Halt-On-Lan (HOL)

Halt-On-Lan ...

  • ... braucht keiner. Wer will soll sich den Patch selbst installieren

    Stimmen: 4 23.5%
  • ... muss erstmal vollendet werden, bevor es in den trunk einfließt

    Stimmen: 1 5.9%
  • ... würde ich gerne testen, wenn es bereits im trunk wäre

    Stimmen: 8 47.1%
  • ... würde ich nur zusammen mit WOL oder Callmonitor testen, sobald es geht

    Stimmen: 4 23.5%

  • Anzahl der Umfrageteilnehmer
    17
  • Umfrage geschlossen .

hermann72pb

IPPF-Promi
Mitglied seit
6 Nov 2005
Beiträge
3,726
Punkte für Reaktionen
16
Punkte
38
Meine Experimente dort haben heute gefruchtet und basierend auf Ideen von astrapi von diesem alten Thread habe ich dem Kind sein Name gegeben und ein neues Paket "Halt-On-Lan" erschaffen.

Momentan ist es nur ein Shell-Skript und eine Konfigurationsseite, später sollte jedoch darauf basierend WOL-CGI erweitert werden. Ich hatte es extra getrennt von WOL-CGI entwickelt, damit man es mehr modularer gestalten kann und z.B. als Aktion für Callmonitor verwenden.

Wenn die SVN-Schreibberechtigten genug mutig sind, könnte würde ich bitten HOL einzuchecken. Viel Unsinn kann es nicht einrichten und muss auch zunächst gewählt werden. Damit ermöglichen wir eine breitere Testphase als nur von hier.

HOL redet momentan mit poweroff.exe unter Windows und mit meinen Wrapper-Skripten, die ich für Linux geschrieben habe. Linux-Variante ist zur Zeit nur eine billige Nachaffung von poweroff.exe, ist aber durchaus erweiterbar und im Unterschied zu poweroff.exe als Sources vorhanden. MAC-Variante könnte man davon sicherlich auch ableiten.

Wenn Fragen bestehen, einfach fragen. Patch ist bei, ein Bildchen mit der Einstellungsseite auch.
Benutzung ist selbsterklärend:
Code:
/var/mod/root # hol
hol v1.0 Halt-On-Lan script
Author hermann72pb <http://www.ip-phone-forum.de/member.php?u=80424>

Usage: hol HOST [ACTION TIME MESSAGE]
HOST      Hostname or ip address: e.g. my.computer or 192.168.178.20
ACTION    Actions for poweroff: e.g. shutdown, reboot, logoff, lock, etc.
TIME      time in seconds for warning before the action:
          e.g. 10 or 0 for no warning
MESSAGE   Warning message: e.g. Please close all your files
/var/mod/root # hol 192.168.178.20
/var/mod/root # hol 192.168.178.20 lock
/var/mod/root # hol MeinPC monitor_off 15
/var/mod/root # hol DeinNotebook monitor_off 15 "Hey, du\nschalte aus!"

07.03.2010 Unter poweroff-linux.tar.bz2 habe ich Skripte für Linux-Rechner gepackt. Sie sind sehr weit von dem entfernt, was man als perfekt oder fertig bezeichnen könnte. Sie sollen aber grundsätzlich auf Hauptfelder (Herunterfahren/Reboot) funktionieren. Die poweroff-Skripte sollte man als root oder wenigstens als Benutzer mit Herunterfahr-/Reboot-Rechten installieren. Die drei eigentlichen Skripte landen unter /usr/sbin, unter /etc/init.d wird der Starter platziert. Skripte nutzen netcat und setzen dementsprechend seine Existens auf dem Rechner voraus.

Ich bitte diese poweroff-Variante für Linux nur als Anfangsidee zu betrachten und bitte jemanden mit viel Linux-Erfahrung drüber zu schauen. Da gibt es noch sehr viele Baustellen.


MfG
 

Anhänge

  • hol_v_1_0.patch.bz2
    2.9 KB · Aufrufe: 44
  • hol_v_1_0_bild.jpg
    hol_v_1_0_bild.jpg
    46.1 KB · Aufrufe: 201
  • poweroff-linux.tar.bz2
    1.3 KB · Aufrufe: 48
Zuletzt bearbeitet:
Klingt spannend, muss ich mal ausprobieren, sobald ich wieder eine ordentliche Box habe.

und im Unterschied zu poweroff.exe als Sources vorhanden.

Nachdem was ich auf der Website lese, sind die Sources bei poweroff.exe sehr wohl im Download enthalten.

Gruß,
Kay
 
Um den Bedarf an Halt-On-Lan abzuschätzen, habe ich nun eine Umfrage erstellt. Bitte abstimmen!
Ich habe nun den ersten Baustein gelegt und eine halbwegs funktionierende Lösung hier gepostet. Alleine schaffe ich es allerdings nicht weiter und komplett an allen Fronten zu entwickeln. Was ich mir noch vorstellen könnte, wäre HOL und WOL zu verheiraten und HOL aus dem 82-WebIF von WOL sozusagen GUI-tauglich zu gestalten. Würde allerdings etwas dauern.
Auf den anderen Fronten brauche ich jedoch Unterstützung:
1. HOL als eine Callaction von Callmonitor zu hinterlegen (gibt es überhaupt Bedarf dazu, oder reicht es per Skript aufzurufen?)
2. Klient für Linux weiter zu entwickeln und eine Art Installationskript oder wenigstens howto zu schreiben.
3. Klient für Windows weiter zu tunen, dass es sich vernünftig und idiotensicher als Dienst installieren lässt und danach auch läuft. Momentan habe ich da eine Reihe Probleme auf meinem Win7x64 als nicht-Admin. Evtl. würden da Sorcen helfen etwas zu patchen. Auch ein Installationsskript oder wenigstens Howto wäre auch hier nicht schlecht.
4. Klient für MAC basierend auf Linux-Variante. Ich weiß nicht, ob es geht und mit wieviel Aufwand.

Freiwillige bitte melden!

MfG
 
Eventuell würde ich den Service für Windows weiter "tunen". Ich weiß allerdings noch nicht ob meine Kenntnisse dafür ausreichen...
In poweroff ist außerdem keinerlei Lizenzinformation enthalten, was darf/soll man da tun wenn man dran rumgepatcht hat?
 
Ich würde sagen, versuch es erstmal und gib deine Version (wenn überhaupt eine entstehen sollte) erstmal an einen engen Kreis zum Testen weiter. Wenn es denn weiter läuft und Änderungen dringends notwendig sind, kann man sich mit dem Entwickler in Verbindung setzen. Nach meiner Erfahrung haben solche Leute meistens generell nichts gegen Weiterentwicklung, selbst wenn es nirgendswo reingeschrieben steht. Man muss es nur dem Autor plausibel machen, wofür du es brauchst und warum die Änderung notwendig ist. Dann wird er sicherlich nichts dagegen haben.

MfG
 
Einige, sehr kleine Erfahrungen zu HOL

Hallo hermann72pb,

vielen Dank für Deine Mühe. Und go go go!

WOL und(!) HOL sind Funktionen, die ich sowohl im häuslichen Netz (FB7170 mit 1x XP home und 1 x XP 32 Pro, 1 x Win7 32Bit Pro und 1 x Linux) als auch mit Zugriff übers Internet oder per Anruf auf die Fritzbox sehr bräuchte.

WOL klappt über debug.cfg mit ungefreetzter 7170 leider sehr unzuverlässig, obwohl entsprechende BIOS-Einstellungen getätigt; über Anruf trotz der hier im Forum angebotenen Lösungen gar nicht.

HOL wäre super - natürlich auch für ungefreetzte FBs. Wichtigstes Ziel für mich wäre die Möglichkeit, die PCs ohne Admin-Rechte runterzufahren.

Meine bisherigen Erfahrungen:

-Poweroff funktioniert hier nur mit Admin-Rechten.
-Windows eigene Remote-shutdown-Funktion geht auch nur mit Admin und zwar sowohl innherhalb der Windows PCs als auch mit net rpc shutdown -I ipAddressOfWindowsPC -U username%password von einem Linux-PC aus den WIndows-PC ausschaltend.
-Irgendeinen SSHD auf einem Windows-PC habe ich noch nicht installiert um nach einer sicheren SSH-Verbindung einen Windwos mittels CMD auszuschalten.
-WOL funkioniert besser mit über PCI angebundene (in meinem Fall realtek)LAN-Karte als über den Motherboard internen (realtek)Lan-Stecker obwohl bei beiden jeweils die WOL-BIOS-Einstellungen enabled wurden.

Ich befinde mich jetzt und in nächster Zeit nicht zuhause, weswegen ich vieles hier mit meinem Win7 nicht ausprobieren kann. Wenn ich mich dunkel entsinne, kann man auf einem Linux-PC in der /etc/passwd ein konkretes Login-Kommando angeben, das als einziges nach der user-Anmeldung ausgeführt wird. Dadurch könnte man sich vielleicht die Entwicklung einer Applikation sparen, wenn man einen user mittels /etc/shutdown.allow (aber selbstveständlich keinen root) nur zum Runterfahren unter Linux verwendet. Unter Windows habe ich positive Informationen für das Anlegen eines Benutzers zum nur(!) Runterfahren leider trotz stundenlangen Internet-Recherchen nicht finden können. Im Gegenteil, es scheint laut Forenbeiträgen mehr Bedarf danach zu geben. Mit gpedit ist da auch nicht viel zu machen. Und wenn vielleichtmal irgendwie doch, dann wäre das bei einer XP Home sowieso nur mit einem inoffiziellem und aus Lizenzgründen auch sehr wahrscheinlich illegalem gpedit-Nachrüsten möglich. Da sich Fritzbox (mit paar Ausnahmen, die aber sowieso kaum Anwendung in diesem Unterforum finden) und freetz an Privatnutzer wendet und nicht für den Produktiven Einsatz inder Arbeitswelt gedacht sind, wäre es äusserst naheliegend, Windows-Lösungen nicht ausschließlich für die Pro, sondern vor allem für die XP Home und Vista/Win7 Premium-Versionen anzubieten.

Zu der Frage nach der poweroff-Lizenz kann ich leider auch nichts sagen. In Deutschland besteht aber bekanntlich grundsätzlich Urheberrecht.

Viel Erfolg für das weitere Angehen des HOL-Themenkomplexes.

Edit: Unter http://www.spencerstirling.com/computergeek/shutdown.html sehe ich, dass /etc/shutdown.allow nur mittels Tastenkombination geht. Naja, vielleicht geht es trotzdem irgendwie mit einem Befehl. Auf sudo würde ich nicht gern zurückgreifen, da es trotz gezielter Einschränkungen viel Rechte geben kann, wie es mal aufgrund einer Sicherheitslücke wie in der Vergangenheit mal passiert ist, der Fall sein kann.
 
Zuletzt bearbeitet:
@minze: poweroff.exe funktioniert wohl als nicht-admin, sondern als Dienst, wenn man es als solches installiert. Allerdings fährt man in diesem Fall quasi blind und kann den Klienten kaum steuern gescheige beeinflußen. Grund dafür ist wahrscheinlich fehlerhafte Kommunikation zwischen dem Dienst und dem jeweiligen Konto.
Genau so kann man beim Linux vorgehen. Hast du überhaupt mein Skript für Linux dir angesehen? Wenn du die Dateien genau dorthin packst, wie bei mir im Archiv steht, und diesen Shell-Skript als Dienst ausführen lässt, dann muss kein Root am Rechner angemeldet sein, der Rechner wird dennoch runtergefahren. Die einfachste Variante ist diesen Skript als Root laufen zu lassen, man kann die Schwierigkeit aber auch sicherlich steigern und dafür einen speziellen Benutzer anlegen.

Aber Admin-Rechte wird man trotzdem einmalig für die Installation brauchen. Egal ob Windows oder Linux. Weil Herunterfahren einfach nur der Admin einrichten darf. Und das ist auch gut so.

Ohne FREETZ wird es schlecht. Ich werde keine Sonderlösung hier anbieten. Deswegen musst du entweder FREETZ nutzen oder HOL-Paket soweit umbiegen, dass es auch ohne läuft. Oder eben selbst mit dem poweroff über telnet reden, was im Grunde mein Skript ja auch macht.

Die Umfrage zeigt eigentlich, dass die Begeisterung sich deutlich in Grenzen hält. Ist mir aber nicht neu. Habe schon viele exotische Sachen hier gepostet, die an sich nicht schlecht sind, die aber anscheinend keiner braucht. Solche Sachen versinken dann hier in den Tiefen des Forums. Führt lediglich nur dazu, dass die Motivation etwas runtergeht und letztendlich dann auch die Priorisierung.

MfG
 
Nee, Ralf. Das alleine reicht nicht. Ich hatte vor ewigen Zeiten einen Betamax-Skript hier gepostet gehabt. Die "Massen" haben es nicht angenommen. Sagen wir besser, kein Schwein wollte es haben und hatte keinen Bedarf gemeldet. Ist auch voll verständlich, Nieschenanwendung. Ich benutze das Ding jedoch bis heute noch und hatte daran sogar vor Kurzem einige Anpassungen vorgenommen.
An der Erweiterung der bunten Balken oder an den Info-Seiten waren dagegen viele interessiert, obwohl ich es eher als Zusatzinformationen und kleine Modifizierungen angesehen hatte. Dort war aber der Anreiz da, weil die "Massen" es wollten. Und somit ging die Entwicklung etwas schneller.
Für mich persönlich sehe ich die Realisierung von HOL nicht als lebensnotwendig. Ich könnte auch ohne HOL überleben. Deswegen steht es bei mir proritätsmäßig etwas auf der Kippe: Ob der Aufwand sich lohnt.

MfG
 
Der Teil "ob es Dich interessiert" sollte auch abdecken, ob Du es machst, weil Du es für die Allgemeinheit als nützlich betrachtest oder aus sonstigen Gründen machen willst.
Ich mache auch Sachen, die ich selbst zwar nicht brauche, die ich aber aus anderen Gründen interessant finde.
 
Wenn ich überhaupt keine Motivation hätte, wäre wohl daraus nichts geworden. So schlimm ist es noch nicht. Es geht lediglich um den Nutzen für die anderen. Das kann ich persönlich schlecht abschätzen und darum eben diese provokative Umfrage, um es zu klären, ob und inwieweit es die Community als nützlich betrachtet oder nicht.

MfG
 
Hallo

ich weiß nicht wie weit ihr hier gekommen seit, aber ich habe mir einen Telnet -Server geschrieben der per Fritz Box ohne Probleme funktioniert.

Mein Server sollte auf allen Windows System laufen, und man kann Benutzer, Passwort und auch Port festlegen.

Er kann den Rechner
Abschalten
Neu starten
Sperren

Sollte jemand daran Interresse haben einfach Posten
Hier ein Bild des Servers

und der Befehl für die Box

Code:
#!/bin/sh
host=192.168.178.22
port=23
login="username passwort"
(sleep 3; echo $login;
sleep 3;
echo "abschalten";
sleep 3;) | telnet $host
 
Zuletzt bearbeitet:
Hier wäre die Diskussion aber sinnvöller, Oliver.
@ka1477:Ich sage nur ens dazu: Wenn du dein telnet-Dingens mit poweroff.exe-Syntax kompatibel machst, dann kommen wir ins Geschäft, sonst musst du dich leider um die Paketierung auf der Box und um MAC/Linux-Unterstützung selbst kümmern. Ich habe keine Lust hier zweigleisig zu fahren und für poweroff.exe ist meine Wahl damals bereits gefallen. Anhand der Reaktion auf Umfrage siehst du, wie toll das hier ankommt: Nämlich gar nicht. Deswegen ist meine Motivation auf diesem Projekt ziemlich runtergefahren. Trotz einer durchgekauten und einer fast dummy-tauglichen Lösung will es hier keiner haben. Ich hatte mir sogar Mühe gemacht einen Wrapper für Linux zu schreiben, um den Linux-Benutzer diese HOL-Geschichte zu ermöglichen. Auch das will anscheinend keiner haben. Leider ist dieses Thema nicht so brennend interessant, wie ich es mir gedacht hatte.

MfG
 
meinste du so, wenn ja , kein problem^^?

Code:
echo "password geheim"
echo "action lock"
echo "doit"
echo "quit"
 
Das in mehreren Themen zu lesen ist doch eher verwirrend?
 
@ka1477: Lass uns dann bitte doch hier weiter diskutieren und entferne bitte deine Frage aus dem anderen Thread.
Die Spezifikation der Kommunikation von PowerOff.exe ist folgende:
Code:
5 Remote Control

You can remotely control poweroff by starting it as a service and setting the ‘Allow remote control’ option. You can control it by using poweroff itself and selecting a remote computer, or you can control it by using telnet to the port where poweroff listens on (default 3210). For example telnet computer 3210. You’ll see a welcome message like this:

201 Welcome to Poweroff 3.0 created by Jorgen Bosman

Poweroff uses a protocol like ftp or smtp with commands and reply codes. You enter a command and poweroff will reply with ‘2xx message’ on success or ‘5xx message’ on error.

You can enter the following commands:

QUIT 		Terminates the connection
HELP 		Shows this help
PASSWORD p 	Authenticates the client with a password
ACTION a 	The action to perform (logoff, reboot, shutdown, poweroff, standby, hibernate, lock, wol, monitor_off, monitor_on, no_action)
WHO w 		Who must perform the action (local, remote)
WHEN w 		When must the action be performed (immediate, scheduled, after_process)
SIMULATE s 	Simulate the action (on, off)
COMPUTER c 	The remote computer name
MAC m 		The remote computer mac address (WOL)
IP i 		The remote computer ip address (WOL)
SUBNET s 	The remote computer subnet mask (WOL)
WARNING w 	Show warning before doing the action (on, off)
WARNTIME w 	The number of seconds to show the warning
MESSAGE m 	The warning message
PLAYSOUND p 	Play a sound when showing the warning (on, off)
SOUNDFILE s 	The WAV file to play
RUNPRG r 	Runs a program before doing the action (on, off)
PROGRAM p 	The program to run
DIRECTORY d 	The startup directory for the program
SCHEDULE s 	The type of schedule (fixed_day, daily, day_of_month, after_x_seconds)
TIME t 		The time when to do the action (hh:mm)
DATE d 		The date when to do the action (dd/mm/yyyy)
DAYS d 		The days of the week when to do the action (m, t, w, th, f, s, su)
WEEKS d 	The weeks of the month when to do the action (1, 2, 3, 4, 5)
DAY d 		The day of the month when to do the action (1-31)
WAIT w 		The number of seconds to wait before checking the time
SECONDS w 	The number of seconds to wait before doing the action
PROCESS p 	Wait for process p to finish
FORCE f 	Force applications to close (on, off)
CANCEL c 	Allow the user to cancel the action (on, off)
SHOW 		Show current settings
VERSION 	Show current poweroff version
DOIT 		Do the action
STOP		Stops the current scheduled action

Example:
telnet computer 3210

201 Welcome to Poweroff 3.0.0.5 created by Jorgen Bosman
action logoff
250 OK
warning on
250 OK
message You will be logged off in 10 seconds
250 OK
warntime 10
250 OK
doit
250 OK
quit
201 Bye bye
Connection closed by foreign host.

Dies ist übrigens auf der Seite zu poweroff.exe ausführlich dokumentiert.
Du musst nicht alles von diesem Protokoll implementieren, es wäre aber meiner Meinung nach sinnvoll sich an diesem Standard zu halten. Der Autor hatte sich schon darüber einige Gedanken gemacht. Und diese Ideen finde ich gar nicht verkehrt. Es ähnelt sich zwar sehr an die Kommunikation mit einem SMTP- oder FTP-Server. Aber ganz verkehrt ist die Idee dadurch nicht.
Wenn du deine Kenne in Windows-Programmierung dafür einsetzen könntest, etwas noch schlankeres als poweroff.exe zu entwickeln, wäre es ganz gut. Beachte aber bitte, dass wir diese Windows-Implementierung hier eigentlich nicht diskutieren wollen, denn es geht hier eigentlich um FREETZ. Deswegen bitte (wenn überhaupt) nur eine fertige Lösung von deinem Programm posten. Wenn es durch dein Programm mehr Interesse und Anerkennung hier findet, könnte ich es auf FREETZ-Seite etwas weiter treiben.

MfG
 
Dein Wunsch sei mir befehlen... ;-)
Hab das Posting aus dem anderen Thread hier her verschoben.

MfG Oliver
 
Ich habe vor längerer Zeit mich daran gesetzt, einen Windows-Dienst zu schreiben der mit deinem poweroff-Script kompatibel ist. Das Ding läuft auch soweit, allerdings funktionieren Hibernate und Suspend nicht. Das wollte ich dann auch noch machen (erfordert die Erzeugung eines Prozesses durch den eingeloggten Nutzer) hatte aber irgendwann dann schlicht und ergreifend keine Lust mehr. Bei Bedarf und wenn ich Zeit habe werde ich das vollenden oder zumindest den derzeitigen Stand veröffentlichen, ich hatte nur leider das Dingens völlig vergessen.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.