Eigene Firmwareänderungen per Skript

nö, ich meine auf die Konsole die ich beim ersten telnet auf die fritz sehe. Sprich telefon läuft, ich mach ein telnet drauf und sehe die Ausgaben von telefon genau so wie die von multid, voipd und dem ganzen anderen Kram. Ich hatte das mal probiert indem ich telefon in der debug.cfg ohne Ausgabeumleitung etc gestartet hab, aber dann ist die Ausgabe ins Nirwana verschwunden...
Ich würd mir dann im monitor Skript die Konsole mit getcons greifen und alles auswerten. Man könnte natürlich auch alle Programme durch ne fifo tee'n, aber das müsste doch auch anders gehen ?
 
Ich würd mir dann im monitor Skript die Konsole mit getcons greifen
Hmmm.. , tja, die Daemon-Ausgaben mit getcons umleiten geht zumindest. Das passiert bei 'nem telnet-Terminal automatisch, wenn das erste Pseudo-Terminal (/dev/pts/0) zugewiesen wird.
Auf jedem anderen Terminal (/dev/pts/x) kann man mit getcons die Ausgabe rüberziehen, solange /dev/pts/0 nicht geöffnet ist (sonst kommt ne Fehlermeldung von getcons).
Aber wie kriegst du das ganze dann auf das Skript :noidea: ?

crusader
 
nachdem ich jetzt ein paar Wochen voller Begeisterung die neue Möglichkeit nutze, eine Anrufliste auf meiner Webpräsenz zu haben, möchte ich nun yac nutzen.

Das einzige was funktioniert ist eine komplette IP-Adresse, die Angabe von 192.168.178 alleine reicht nicht, ebenso 192.168.178.* funktioniert nicht.

Verstehe ich das etwas falsch?

@haveaniceday: vielleicht hast Du ja mal "weniger schläfrig" darüber nachgedacht?

Besten Dank im Voraus!
 
Hi frage,

hab noch nicht so genau hingeschaut, aber ich meine die multid.leases wird ausgewertet. Dort stehen allerdings nur die Clients drin, welche per DHCP ihre
IP-Adresse bekommen haben. Hast du DHCP oder feste IP-Adressen bei dir ?

Alternativ könnte es sein, das die Schleife durch die "Mehrzeiligkeit" von IPS ( aus multi...) nicht ganz funktioniert. Hab ich aber noch nicht getestet.
Ich nutze feste IP-Adressen.

Haveaniceday


Code:
                               [0-9]*.[0-9]*.**)
                                        #IP-Adressen Ziffer.Ziffer.* aus multilease
                                        IPS=`fgrep -i $listener /var/flash/multid.leases | awk '{ print $3 }'`
                                        ;;
                                 ...
                                
                                for IP in $IPS
                                do
                                        ( $listener_type "$IP" "$MSISDN" "$CALLER" "$CALLED" "$virtualname" ) &
                                done
 
hi haveaniceday
, danke für die -gewohnt- schnelle Antwort

ja, ich habe feste ip-adressen

demnach müsste ich einen Weg finden, "IPS" selber mit meinen IPs zu füllen...
so gesehen rutscht dieses Projekt wieder nach unten bei der Priorität ;)
 
enää, brauchst du nicht nach unten rutschen lassen (das Projekt).

Wenn du eine feste IP benachrichtigen willst, kannst du die in callmonitor.listeners eintragen, z.B.:

192.168.178.20 yac

Wenn du mehrere feste IPs benachrichtigen willst, kannst du auch mehrere Zeilen eintragen.

Nur wenn du alle IPs in einem Subnetz erreichen willst, trägst du ein:

192.168.178 yac

Dann wird allerdings auf multid.leases zugegriffen, wo die DHCP-IPs drin stehen.

Gruß
crusader
 
aaaaah, danke!
manchmal hackt es einfach...
 
Mal ne kleine zwischenfrage:

Kann ich auf die >Box auch mittelz WinSCP zugreifen ???

Bekomme einfach keine Verbindung und mit Putty iss mir das alles etwas zu unübersichtlich!

Cu Sven
 
WinSCP sagt mir nichts. Hört sich aber eher nach einem Kopierprogramm als
nach einem "Terminalprogramm".

Der "dropbear/sshd" kann scp und ssh bedienen. Für externen Zugriff: Firewall-Loch nicht
vergessen + "default Passwort" verhindert den Start von dropbear mit Absicht.

Haveaniceday
 
Sagt mir bisher auch alles nix weil ich bisher noch nicht alle Script durchgeschaut habe.

Nur wie kann ich den jetzt mittels SSH drauf zuigreifen...

SCP oder SFTP mit Port 22 oder Port 23 funzt bei mir nicht.

Oder wie mache ich das Loch auf ?!?

Cu Sven
 
Versteh den Ablauf nicht so ganz.

Die Doku iss etwas unverständlich geschrieben finde ich.

Also bis "usr/bin/modstart" bin ich gekommen.
Muss ich debug.cfg unbedingt mit dem "vi" bearbeiten ? Komm damit überhaupt nicht klar.

Cu Sven
 
Hi Sven,

Files unter /var/flash dürfen nur mit nvi editiert werden.
Manche enthalten "binäre Daten" und sind gar nicht für
das Editieren geeignet.

vi/nvi: http://www.ip-phone-forum.de/forum/viewtopic.php?t=9263

Die nächster Version wird ein "passwd.store" zum Ablegen des Passwords enthalten.
Keine manuelle Konfig mehr notwendig.
Einige andere Sachen werden auch über "Schalter" ( telnet, ftp,,,) konfigurierbar sein.

sshd/dropbear
Dieses ist ein "ssh-Daemon"
Sobald du ein Passwort eingetragen hast wird dieser Daemon gestartet.
Nützlich: z.B. Fernwartung der Box vom Internet
Howto: - dyndns einrichten
- Loch in den Fritzbox-Firewall boren.
( Bearbeiten von /var/flash/ar7.cfg )
...
forwardrules = "tcp 0.0.0.0:0 0.0.0.0:0 1 out",
"udp 0.0.0.0:0 0.0.0.0:0 1 out",
=> eingefügen: "tcp 0.0.0.0:22 0.0.0.0:22",
"udp 0.0.0.0:5060 0.0.0.0:5060",
"udp 0.0.0.0:7078 0.0.0.0:7078",
"udp 0.0.0.0:7079 0.0.0.0:7079",
...
- Port forward von einem beliebigen Rechner
- ssh -l root <deindynsname> -L 8080:127.0.0.1:80
Jetzt kannst du Fernwartung bei deiner Fritz machen. ( Verschlüsselt übers Internet )
Öffne im Browser des "ssh-Rechners" http://localhost:8080
( Für Windowsuser sollte das auch über "putty" gehen ! )
Hinweis: der Erste Start mit dropbear dauert lange. Keys werden generiert

Wenn du Probleme mit dem o.a. Text hast macht es Sinn mit einem Freund mit Linux-Know-How zusammen zu versuchen.

Ich nicht besonders geeignet Doku zu schreiben. ( Motivation fehlt, "Kein Anfänger" => Sourcecode ist doch selbstdokumentierend *grins* )
Vielleicht macht ein neuer Thread mit der Bitte um Hilfe Sinn. Ich versuche mich auf Erweiterungen und Vereinfachungen zu konzentrieren.

Haveaniceday
 
Ich werd noch bekloppt...

Jetzt kann ich einigermaßen mit VI umgehen und habe mal etwas rumgespielt.

Nur was ich leider immer noch nicht geschafft habe ist das Passwd zu ändern.

Ich habe das PWD vom auf der Config Seite eingerichtet.
Denke mal das das wohl nicht gemeint war.
Denn in shadow und in debug und allem sonzt was ich feunden habe steht überall das selbe PWD drin.

modstart habe ich schon einmal aufgerufen. Beim zweiten aufruf kam die Meldung das das Script vielleicht zu weit (vorne) sein könnte. Was immer das zu bedeuten hat.

In welcher Datei kann ich das SSH PWD ändern so das ich drauf zugreifen kann ?!?

Cu Sven
 
Hi.
Du musst das Password in der debug.cfg ändern...
Bei mir sieht das so aus:
Code:
PASSWD='BVr2ZfjfukevE'
export PASSWD
DROPPORT='22'
export DROPPORT
Wie das genau funktioniert sieht man auf diesem Bild links oben: (links oben)
http://www.ip-phone-forum.de/forum/download.php?id=1728

MfG Oliver
 
Hm ja gut aber bei mir ist das debug.cfg und shadow PWD gleich.
Und selber eins rein zu schreiben, in klarschrift, wird wohl nicht klappen.
Sieht mir auch nicht nach (md5) aus.

Ich weis wirklich nicht wie das gemeint ist mit der Grafik und Root Passwort eingeben.

Cu Sven
 
Gut, nochmal im Klartext: (telnet-Konsole)
Code:
~ # passwd root
Changing password for root
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
Enter new password:
Bad password: too short.

Warning: weak password (continuing).
Re-enter new password:
Password changed.
~ # cat /var/tmp/shadow
root:$1$$2DjgGJjAw6WRtYm1hPIfr0:12332:0:99999:7::: (von hier)
ftp:$1$$whuMjZj.HMFoRRtkO0:12332:0:99999:7:::
~ # nvi /var/flash/debug.cfg
PASSWD='$1$$2DjgGJjAw6WRtYm1hPIfr0' (nach hier kopieren)
export PASSWD
DROPPORT='22'
export DROPPORT
/usr/bin/bftpd -d

MfG Oliver
 
In der Version mod-0.53 geht "passwd" nicht. Habe verpennt passwd zu modifizieren.
Es versucht auf das Readonly Filesystem zu schreiben.

http://www.inch.com/commercial/web/server/apache/htpasswd.html Kann man nehmen
um ein Passwort zu generieren.
Bei dem gleichen Passwort enstehen (fast) immer unterschiedliche Strings. Das liegt an
dem "Salt" welches in dem String mit enthalten ist. Dadurch wurden/werden
Wörterbuchattacken etwas schwerer.
Aber demnächst ist ja ein "passwd.store" zur Vereinfachung mit drin.

Ich krempel nur gerade "modstart" um für mehr Konfigurierbarkeit und ich muss
noch testen.

Haveaniceday
 
Hi Leute,

es ist so weit. Eine neue Version ist fertig. Dieses sind Skripts zum Selbermachen, keine fertigen Images !
Fertige Images dürfen nicht ins Forum.

Bitte denkt daran, für eigene Probleme mag ich eigene Threads. Dort helfe ich gerne.

Neue Features:
- passwd.store
- callmonitor erweitert
- Mehr Start/kein Start konfigurierbar.

Weiteres: Siehe Bild und README.Konfiguration

Haveaniceday

Known Problems
  • Beispiel für ETHERWAKES , das "S" fehlt in debug.cfg. Bitte zum Konfigurieren hinzufügen. Die Option ETHERWAKES darf auch keine "#" davor haben um aktiv zu sein.
    Hinweis Konfiguration: "etherwakes" als Funktion in debug.cfg wählen.
  • Manche Passwörter gehen nicht. Grund: Mein "sed String" nutzt "/" als Feldtrenner.
    Wenn das verschlüsselte Passwort ein "/" enhält meckert sed.
    Dabei wird debug.cfg gelöscht ! Fix siehe unten.. Sorry
Code:
README.Konfiguration:

Mit der Version 0.55 hat sich einiges an der Konfigurierbarkeit getan.

###############################################
- Erster Start:

- Image als "Update" Einspielen

- per Telnet auf der Box anmelden
  ( user: root, Passwort: fritzbox )

- Meine Empfehlung: Alteinträge in /var/flash/debug.cfg löschen
  echo > /var/flash/debug.cfg

- modstart wird jetzt selbstständig ausgeführt.

Ende Erster Start..
###############################################

Konfiguration:

  Auf der Box "nvi /var/flash/debug.cfg" aufrufen
  Achtung: unbedingt http://www.ip-phone-forum.de/forum/viewtopic.php?t=9263
  lesen und erstehen. Erst dann damit arbeiten !

=========================================
Konfigurierbares Passwort:
  passwd.store aufrufen
  Das Password wird vom Skript in passend in /var/flash/debug.cfg abgelegt.

=========================================
sshd/dropbear
  Dieses ist ein "ssh-Daemon". Zum Starten in debug.cfg "TELNET=" auf die Werte 2, 3 oder 5 setzen.
  Sobald du ein Passwort eingetragen hast wird dieser Daemon gestartet.
  Nützlich: z.B. Fernwartung der Box vom Internet
  Howto: - dyndns einrichten
         - Loch in den Fritzbox-Firewall boren.
            ( Bearbeiten von /var/flash/ar7.cfg mit nvi )
               ...
                       forwardrules = "tcp 0.0.0.0:0 0.0.0.0:0 1 out",
                                       "udp 0.0.0.0:0 0.0.0.0:0 1 out",
                      => eingefügen:   "tcp 0.0.0.0:22 0.0.0.0:22",
                                       "udp 0.0.0.0:5060 0.0.0.0:5060",
                                       "udp 0.0.0.0:7078 0.0.0.0:7078",
                                       "udp 0.0.0.0:7079 0.0.0.0:7079",
               ...
         - Port forward von einem beliebigen Rechner
         - ssh -l root <deindynsname> -L 8080:127.0.0.1:80
         Jetzt kannst du Fernwartung bei deiner Fritz machen. ( Verschlüsselt übers Internet )
         Öffne im Browser des "ssh-Rechners" http://localhost:8080
         ( Für Windowsuser sollte das auch über "putty" gehen ! )
        Hinweis: der Erste Start mit dropbear dauert lange. Keys werden generiert

=========================================
crontab
  Zum Starten des Daemon CROND=1 in /var/flash/debug.cfg setzen.
  In dem Image ist ein "crond" Daemon enthalten.
  cat <<EOP > /var/spool/cron/crontabs/root
  #0 * * * * echo Aktion zur vollen Stunde... > /tmp/crontab.log
  EOP
  => Schreibe einfach deine gewünschte Konfiguration statt "#0 ..."

=========================================
bftpd
  Zum Starten des Daemon BFTPD=1 in /var/flash/debug.cfg setzen.
  kleiner ftpd Server für fritz. Macht nicht viel Sinn, da alles im Ram abgelegt wird !
  => ACHTUNG: EUER SPEICHER IST BEGRENZT
  Die "sed" Zeile ist nur ein Konfigurationsbeispiel. Ich wollte die Konfigdatei nicht als "konfigurierbar"
  in /var/flash/debug.cfg schreiben. Weiss nicht wie viel Platz dort ist !

=========================================
callmonitor.sh
  Anzeigen von Anrufern auf PC oder DBOX/Dreambox
  Aufrufen von yac
  Ablegen von Anrufern in debug.cfg
  Konfiguration über debug.cfg
  "Toggle" dropbear start
  dropbear start/stop
  etherwake

  Aktivierung über folgende Variablen:

        #CALLOWNGET=/control/message?nmsg= $MSISDN \nText
        # CALLINFO:
        # 0: normaler AVM start ( nur auf lokaler IP Listen ),
        # 1:CALLINFO,
        # 2: listen, kein CALLINFO,
        # 3:CALLINFO + Listen
        # 4: output nicht nach /dev/null sonst normal
        CALLINFO=1

        # CALLINVERS wenn 1: Suche nach Namen ueber das Telefonbuch
        CALLINVERS=1
        # CALLUPDATE wenn 1:Namen in debug.cfg merken
        # Ansonsten werden die Namen in /var/tmp/tempcall.cfg abgelegt
        CALLUPDATE=0


  Einstellen der Konfiguration zwischen:
  cat <<EOP > /var/tmp/callmonitor.listeners
EOP

  Möglichkeiten: ( Details: schaut euch callmonitor.out an )

  192.168.178.26 dboxmessage
  192.168.178.26 dboxpopup
  192.168.178.26 dreammessage => Message an Dreambox
  [url]www.somwhere.net[/url] ownmessage [url]www.somewhere.net[/url] => Aufruf wird über #CALLOWNGET... definiert
  192.168.178.12 ownmessage  => Message aus "#CALLOWNGET"
  192.168.178.12 own2message => Message aus "#CALLOWNGET"
  192.168.178.12 own3message => Message aus "#CALLOWNGET"
  Die "own*message"-Versionen machen verschiedene Ersetzungen.
  Teilweise einschl. Variablen und Zeichenmaskierung


  etherwakes "caller" "yourhomenumber"
  Wenn der Anrufer und die Homnummer übereinstimmt werden alle Zeilen
  mit ETHERWAKE=.. ausgewertet

  droptoggle "caller" "yourhomenumber"
  dropon "caller" "yourhomenumber"
  dropoff "caller" "yourhomenumber"

  matchtest "caller" "yourhomenumber"  => /var/tmp/matchtest
  Sinnvoll um Zeichenketten auszuprobieren.
  Wenn nur 2 Zeilen drin sind sieht man nur die ankommenden Werte
  Zeile 3 + 4 sind "match" von "caller" und "yourhomenumber"

Nicht mit drin:
kernel für IP-Tables: Mit Kernel/make habe ich mich nicht beschäftigt.
minihttp für SL-WLAN: Platznot beim Starten von WLAN und dropbear..
 

Anhänge

  • mod-0.55.tar.gz
    1.3 MB · Aufrufe: 121
  • fritzbox-mod-0.55.jpeg
    fritzbox-mod-0.55.jpeg
    254.7 KB · Aufrufe: 254
Hi Haveaniceday,

wir ja immer platz probleme haben bin ich der meineung das du den bftpd mal rausschmeinsen soltest, da der zugirf ja mit db 0.44 via SCP (nicht sftp) klapt und so das nur dopelt gemopelt ist.

das einzige was der nachteil ist das beim scp es z.z. kein chroot gibt um den user einzusperen in ein bestimmtes verzeichnis.
aber der AW sollte wissen was er tut! ;-)

das mod-0.55 konte ich noch nicht testen...

gruss bofh
 
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.