.titleBar { margin-bottom: 5px!important; }

[gelöst] wol

Dieses Thema im Forum "Freetz" wurde erstellt von astrapi, 27 Sep. 2008.

  1. astrapi

    astrapi Mitglied

    Registriert seit:
    27 Mai 2005
    Beiträge:
    341
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Chemnitz
    #1 astrapi, 27 Sep. 2008
    Zuletzt bearbeitet: 17 Okt. 2008
    Hallo,

    ist es möglich, in er WOL-Liste nur bestimmte PC's anzeigen zu lassen, und nicht alle die in der hosts-datei stehen?

    mfg
     
  2. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Nur, wenn du selber ein wenig Coden willst.
     
  3. astrapi

    astrapi Mitglied

    Registriert seit:
    27 Mai 2005
    Beiträge:
    341
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Chemnitz
    gern, bräucht aber mal nen kleinen denkanstoss wo ich da anfangen muss
     
  4. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,564
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    hier

    Du kannst vielleicht anstatt hosts eine eigene config-Datei für wol-cgi nehmen, die man dann vielleicht per einen Hacken aktivieren kann.

    Wenn du mit dem Programmieren und Tests fertig bist, kannst du deine Änderungen hier veröffentlichen, dann wird es jemand evtl. in den trunk übernehmen.



    Aber wo ist das Problem, dass du alle hosts siehst?


    MfG
     
  5. astrapi

    astrapi Mitglied

    Registriert seit:
    27 Mai 2005
    Beiträge:
    341
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Chemnitz
    das hatte ich vor, eine eigene datei, in der die hostnamen oder ipadressen drinstehen...

    hab mehrere virtuelle rechner, namen von lokalen websiten in der hostsdatei, insgesamt ca. 15 einträge, und nur 2 rechner will ich mit wol aufwecken...
     
  6. astrapi

    astrapi Mitglied

    Registriert seit:
    27 Mai 2005
    Beiträge:
    341
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Chemnitz
  7. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,564
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Du hast nach einem Denkanstoß gefragt. Ich hab dir darauf im genausten die Stelle gezeigt, wo es meiner Meinung nach abzuändern ist. Du hättest es genau so gut rausfinden können, wenn du selbst in den Sourcen nachgeschaut hättest. Mehr Tipps kann ich dir leider mangels Zeit nicht geben.

    Es existieren einige Informationen, wie FREETZ aufgebaut ist, wo die Einstellungen gespeichert werden und wie man eigene Pakete mit Web-Guis bauen kann. Das musst du leider alles selbst erforschen, wenn du die GUI so umbiegen willst, wie ich es vorgeschlagen hatte. Das Gute dabei ist: Du kannst gerne bei anderen Paketen abschauen, wenn du was Ähnliches machen willst.

    MfG
     
  8. astrapi

    astrapi Mitglied

    Registriert seit:
    27 Mai 2005
    Beiträge:
    341
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Chemnitz
    sorry das ich nochmals so dum frage...also ich hab jetzt ne datei "/etc/wols", darin stehen die rechner die per wol aufgeweckt werden können, in der wol liste (port 82) stehen auch nur die drin, also die änderungen die ich gemacht hab, klappen....jetzt steh ich vor dem problem, das die datei über das webif geändert werden soll, wie bewerkstellige ich das?
     
  9. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Dazu suche dich bitte durch die existierenden Webinterfaces, dort wird "alle Nase lang" etwas geändert an Konfigurationsdateien. Anhand derer kannst du dich da durch"beissen".
     
  10. astrapi

    astrapi Mitglied

    Registriert seit:
    27 Mai 2005
    Beiträge:
    341
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Chemnitz
    sorry das ich da noch nicht ganz dahintergestiegen bin, hab es für meine box ohe das webif hinbekommen und werde es erstmal so lassen, wenn mir mal die decke auf den kopf fällt, werde ich danach suchen....durch die webifs hab ich mich gewühlt, aber eben noch nicht das passende gefunden...
     
  11. ao

    ao Aktives Mitglied

    Registriert seit:
    15 Aug. 2005
    Beiträge:
    2,078
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Trotzdem wäre es natürlich schön, wenn Du hier beschreibst, was Du genau gemacht hast. Vielleicht schreibt es dann jemand (oder Du selbst ;)) ins Freetz-Wiki. Und vielleicht wird dann auch einmal ein Paket daraus - mit oder ohne GUI. Ein nützliches HowTo zum Erstellen eines WebGUIs findest Du hier.
     
  12. astrapi

    astrapi Mitglied

    Registriert seit:
    27 Mai 2005
    Beiträge:
    341
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Chemnitz
    also ich ne datei "/etc/wols" angelegt und das cgi-Script für die Auswahl des zu weckenden PC angepasst, mehr nich...
     
  13. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    /etc/wols kann niemals editierbar sein, da sie im schreibgeschützten Teil des Flashs liegt, das weißt du, oder? Denn so kannst du da niemals ein WebIF nutzen, um das zu editieren, da diese Datei _vor_ dem Flashen korrekt im Image landen muss, oder aber "mount -o bind ..." bei jedem Neustart der Box remounted werden muß. Dennoch kannst du mal das online stellen, was du mit Hilfe des Forums hinbekommen hast, denn vielleicht hilft dir sogar wer, da noch was weiteres zu machen.
     
  14. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,564
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Also cgi geändert an der Stelle, die ich dir empfohlen hatte?

    Man könnte irgendwo in GUI einen Schalter anlegen "benutze hosts" und einen Eingabefenster für alternative hosts zum Wecken. Wenn die Anzahl der manuelen wol-hosts überschaubar ist, kann man sie in einer Variable abspeichern. WOL-cgi muss dann angepasst werden.

    Als Beispiel kannst du z.B. "Downloader" anschauen. Dort speichere ich mehrere Zeilen in einer Variable. Es wäre für diesen Fall besser, als eine separate config-Seite dafür zu spendieren.

    MfG
     
  15. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Am Rande: Hat eigentlich schon einmal jemand gesehen, dass AVM in der AiO tatsächlich selber WOL implementiert hat?
     
  16. astrapi

    astrapi Mitglied

    Registriert seit:
    27 Mai 2005
    Beiträge:
    341
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Chemnitz
    @hermann72pb. ja genau die:

    Code:
    #!/bin/sh
    
    PATH=/bin:/usr/bin:/sbin:/usr/sbin
    
    cgi_width=560
    . /usr/lib/libmodcgi.sh
    
    cgi_begin 'Wake on LAN'
    
    cat << EOF
    <p>
    
    $(lang de:"[COLOR=Red]Zugelassene[/COLOR] Hosts" en:"[COLOR=Red]Approved[/COLOR] hosts"):
    <select onChange="var s = this.options[this.options.selectedIndex].value; document.wake.mac.value = s.substr(0,s.search(/\*/)); document.wake.interf.value = s.substr(s.search(/\*/)+1); return false;">
    <option value="*" selected>$(lang de:"(w&auml;hlen)" en:"(choose)")</option>
    EOF
    
    if [ -r /tmp/flash/exhosts ]; then
        egrep -v '^(#|[[:space:]]*$)' /tmp/flash/exhosts |
        while read -r ip mac interface host desc; do
          [COLOR=Red]if grep -q "$host" /etc/wols; then[/COLOR]
            [COLOR=Red]if [ -n "$host" ]; then[/COLOR]
              if [ dhcp-host = "$mac" ]; then
                if [ -n "$host" -a -r /var/tmp/multid.leases ]; then
                  mac=`sed "/${host}/!d;s/^lease //;s/ .*//" /var/tmp/multid.leases`
                else
                  continue
                fi
              fi
              if [ -n "$mac" -a "$mac" != "*" ]; then
                if [ -n "$interface" -a "$interface" != "*" ]; then
                  value="$mac*$interface"
                else
                  value="$mac*"
                fi
                echo -n '<option value="'"$value"'">'
                if [ -n "$desc" ]; then
                  [ '*' != "$host" ] && echo -n "$host "
                  echo -n "$desc"
                elif [ -n "$host" -a "$host" != "*" ]; then
                  echo -n "$host"
                else
                  echo -n "$mac"
                fi
                echo '</option>'
              fi
    [COLOR=Red]        fi
          fi[/COLOR]
        done
    fi
    
    cat << EOF
    </select>
    </p>
    <p>$(lang de:"MAC und Netzwerk-Schnittstelle f&uuml;r Etherwake angeben oder einen der [COLOR=Red]zugelassenen[/COLOR] Hosts w&auml;hlen." en:"Fill in a MAC address and a network interface for etherwake or select a [COLOR=Red]approved[/COLOR] host from the drop down list above.")</p>
    <form style="padding-top: 10px; padding-bottom: 10px;" name="wake" action="/cgi-bin/wake.cgi" method="post">
    <table border="0" cellspacing="1" cellpadding="0">
    <tr>
    <td width="230">MAC: <input type="text" name="mac" size="17" maxlength="17" value=""></td>
    <td width="210">Interface: <select name="interf">
    EOF
    echo '<option title="tcp" value="tcp">'$interface'</option>'
    
    for INTERFACE in $(ifconfig |grep ^[a-z]|cut -f1 -d ' '); do
        echo '<option title="'$INTERFACE'" value="'$INTERFACE'">'$INTERFACE'</option>'
    done
    
    cat << EOF
    
    </select></td>
    <td width="100"><input type="submit" value="WakeUp"></td>
    </tr>
    </table>
    </form>
    EOF
    
    cgi_end
    
    die roten Zeilen sind neu, die roten Wörter geändert.

    Verweist halt im Moment noch auf besagte "/etc/wols/" kann aber geändert werden, darin stehen nur die hostnamen die per wol startfähig sind.

    @Silent-Tears: hab ich bemerkt, wollte aber nicht wirklich funktionieren, außerdem will ich meiner freundin ermöglichen unseren server per wol zu starten, da wäre es zuviel sie über das original webif zu schicken...
     
  17. ao

    ao Aktives Mitglied

    Registriert seit:
    15 Aug. 2005
    Beiträge:
    2,078
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Oh, ist mir gar nicht aufgefallen, tatsächlich? Danke für den Hinweis!
     
  18. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    *lach* Schon ok, hab ich auch nur durch Zufall gesehen. Ich war schon am überlegen, was man dafür rauspatchen kann :D
     
  19. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,564
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    hm, die Idee ist nicht schlecht nach Stichwörtern zu suchen...

    Wenn man es so realisiert, kann man es so wie ich vorgeschlagen hatte in eine Variable packen. Dann sollen dort nur die Namen stehen, nicht die volle Zeilen a-la hosts. Dann sollte der anzuhackende Schalter "Hosts für WOL nach Namen filtern" heißen. Dann macht man eben if nach diesem Schalter und durchforstet die Variable anstatt /etc/wols, aber mit doppelten Ausführungszeichen...

    Würdest du es realisieren?

    MfG
     
  20. astrapi

    astrapi Mitglied

    Registriert seit:
    27 Mai 2005
    Beiträge:
    341
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Chemnitz
    es stehen auch nur die namen drin, den rest nimmt er aus der exhosts datei....wie meinst du das mit einer variablen?