Erstellt vor 6 Jahren

Zuletzt geändert vor 6 Jahren

#1809 new wish

ipv6-Infos unter status ->box-info anzeigen

Erstellt von: MrTweek1987 Verantwortlicher:
Priorität: normal Meilenstein: freetz-future
Komponente: avm Version: devel
Stichworte: Beobachter:
Product Id: Firmware Version:

Beschreibung

Da wir die möglichkeit haben, mittels gw6, radvd, oder sixxs ipv6 zb auf ner 7170 zu nutzen könnte man doch die IPv6-Infos unter den Boxinfos ebenfalls anzeigen… da stehen immer nur die ipv4 infos… =/

getNetworkInfo() {
	ifconfig | sed -ne '
		/^[a-z0-9:]*[ \t]*Link encap:/N
		/inet addr:/N
		/inet addr/s/[ \t]*\n[ \t]*/ /gp
	' | sed -e '
		s/ UP .*//
		s/[ \t]*Link encap:\([^ ]*\).*inet addr:\([0-9.]*\)/ \1 \2/
		s/[ \t]*Mask:[0-9.]*//
		s/[ \t]*Bcast:[0-9.]*//
		s/[ \t]*Scope:.*//
		s/[ \t]*inet6 addr: / /
		s/[ \t]*P-t-P:[0-9.]*//
	' | while read interface itype ipv4 ipv6; do
		hostname=$(sed -ne "/^${ipv4}[ \t][ \t]*/s/[0-9.]*[ \t]*//p" /etc/hosts | sed -e 's/[ \t]/; /g')
		echo "$interface $itype $ipv4 $hostname"
	done
}

Anhänge (1)

box_info.patch (10.9 KB) - hinzugefügt von MrTweek1987 vor 6 Jahren.
This patch adds the missing IPv6-Infos to the Network-section in box_info.cgi. The Skin-Color are changing now to the used-Freetz-Skin. responce needed and testers!!!

Alle Anhänge herunterladen als: .zip

Änderungshistorie (19)

comment:1 Geändert vor 6 Jahren durch MrTweek1987

habe mal die box_info.cgi abgeändert und erhalte dann:

Schnittstellen:  	Protokoll 	IPv4-Adresse	IPv6-Adresse	             Namen
dsl	                Point-to-Point	192.168.0.1	()	        
eth0	                Ethernet	192.168.0.1	(fe80::21a:4fff:fe5b:b91/64) fritz.box
eth1	                Ethernet	192.168.1.1	(fe80::21a:4fff:fe5b:b91/64) fritz.box	
eth2	                Ethernet	192.168.2.1	(fe80::21a:4fff:fe5b:b91/64) fritz.box	
eth3	                Ethernet	192.168.3.1	(fe80::21a:4fff:fe5b:b91/64) fritz.box	
wlan	                Ethernet	192.168.4.1	(fe80::21a:4fff:fe94:3b04/64) fritz.box

die filter wurden angepasst, wie das nun bei mehren ip6-addys ausschaut kann ich net sagen aber man kann ja die relevanten einblenden oder alle, oder sogar in einer neuen seperaten Tabelle =/

Zuletzt geändert vor 6 Jahren von MrTweek1987 (vorher) (Diff)

comment:2 Geändert vor 6 Jahren durch oliver

Was passiert denn mit deiner Methode, wenn kein IPv6 Interface vorhanden ist? Kannst du die Änderungen bitte als Patch anhängen?

comment:3 Geändert vor 6 Jahren durch MrTweek1987

dann steht da keine adresse so wie bei "dsl", aber das war nur testweise man sieht jeweils nur immer 1 pro interface… 2001, fdd8 oder fe80, ich kanns gerne mal ranhängen ich kann ja mal schauen on freetz eine IF-Abfrage hat, die besagt "DIE BOX HAT IPV6" dann sollte man es problemlos hinkriegen, so dass er die funktion mit ipv6, nur ausführt, wenn ipv6_auf der box ist, ansonsten würde er nur ipv4 anzeigen gibts da ne passene VARIABLE??? >.<

Zuletzt geändert vor 6 Jahren von MrTweek1987 (vorher) (Diff)

comment:4 Geändert vor 6 Jahren durch MrTweek1987

Patch: box_info.patch​
Dieser Patch fügt die IPv6-Information hinzu… und zeigt zudem alle IPv6-Adressen zu jedem interface an xD

… comment removed …

Zuletzt geändert vor 6 Jahren von MrTweek1987 (vorher) (Diff)

comment:5 Geändert vor 6 Jahren durch er13

  • Bitte alle Code-Clones eliminieren, insbesondere if [ -d /proc/sys/net/ipv6 ] || find /lib/modules/*-*/kernel/net/ipv6 -maxdepth 1 -name ipv6.ko... und Scope-sed's.
  • chmod vor mkdir macht irgendwie keinen Sinn
  • Klammer um cpu_model bitte wiederherstellen
  • Übersetzungen ins Englische fehlen an einigen Stellen
  • Farben glaube ich haben da auch nichts zu suchen (sollen vom skin abhängen)

p.s. jedes mal, wenn ich mir irgendein cgi-Script anschaue, stelle ich immer wieder fest, dass ich es nicht mag, sieht das hässlich aus… (@MrTweek: nichts gegen Dich, just generell gegen shell-script-based cgi's)

comment:6 Geändert vor 6 Jahren durch MrTweek1987

deine Nachricht hat sich etwas überschnitten, ja habe soweit alles behoben… das mit klammer war ein Konflikt… aber man weiß ja nun, dass man den patch nicht per hand editiert

Das Shell-script kann ich ja verstehen dass der eine oder andere da seine bedenken hat, außerdem würde ich es ohne machen, würde es probleme geben beim auslesen der schnittstellen… Die dateien enthalten nur bei jedem aufrufen die IPv6-Adressen im Format like "<tr><td>[Adresse]</td></tr>" so wie im ersten Post würde ansonsten nur 1 Adresse da stehen…

Bitte testen auf: 7170 (ipv4) und alle anderen boxen… ipv6 und ipv4

Zuletzt geändert vor 6 Jahren von MrTweek1987 (vorher) (Diff)

comment:7 Geändert vor 6 Jahren durch cuma

Das Skin gibt die Farbe vor, nicht das CGI wählt je nach ausgewähltem Skin eine Farbe!

comment:8 Geändert vor 6 Jahren durch MrTweek1987

nein cuma, das script schaut nach welches SKin benutzt wird, und benutzt dann die vorgegebenen farben… (passend zum Skin…

Beispiel an legacy:
http://pichoster.net/images/E3J4A.png

Zuletzt geändert vor 6 Jahren von MrTweek1987 (vorher) (Diff)

comment:9 Geändert vor 6 Jahren durch MrTweek1987

Warte auf testergebnisse, und das absegnen von Oli und Err

comment:10 Geändert vor 6 Jahren durch cuma

Solange dur wartest, schau dir doch comment:7 nochmal an. Dass die Netzwerkinterfaces fest einprogrammiert sind ist auch nicht so toll. Ich hatte bei SixXS immer per Webif einen anderen Namen vergeben…

comment:11 Geändert vor 6 Jahren durch MrTweek1987

Ja Cuma, aber "$AICCU_INTERFACE" scheint aber immer einen leeren wert mit freizeichen, zurückzugeben " " zurückzugeben =( daher habe ich erstmal als notlösung nen grep angesetzt auf die Diff-file im flash =)

wenn ich in der Shell

root@fritz:/var/mod/root# cat /var/tmp/flash/aiccu.diff | grep "export AICCU_INTERFACE=" | sed 's/export AICCU_INTERFACE=//g' | sed "s/'//g"
six0
root@fritz:/var/mod/root# echo $AICCU_INTERFACE

root@fritz:/var/mod/root#

ausführe merkt man, dass das interface nicht gesetzt ist :(

# "AICCU_INTERFACE" isnt accessable at this moment, to avoid unwanted results, we musst get the used aiccu-IF from "aiccu.diff" and grep the needed line =) maybe a little bug?! >.<

echo "<tr><td align='center'><small>$(ifconfig $(cat /var/tmp/flash/aiccu.diff | grep "export AICCU_INTERFACE=" | sed 's/export AICCU_INTERFACE=//g' | sed "s/'//g") | grep "inet6 addr: 2" | sed 's/inet6 addr:/<b>[SixXS]\: <\/b>  /g' | sed 's/ Scope:.*/<\/small>/g')</td></tr>"
Zuletzt geändert vor 6 Jahren von MrTweek1987 (vorher) (Diff)

comment:12 Geändert vor 6 Jahren durch cuma

Nimm doch einfach alle Interfaces mit IPv6: /proc/net/if_inet6

comment:13 Geändert vor 6 Jahren durch MrTweek1987

naja die idee ist besser, die ich habe… und genauer =/

Geändert vor 6 Jahren durch MrTweek1987

This patch adds the missing IPv6-Infos to the Network-section in box_info.cgi. The Skin-Color are changing now to the used-Freetz-Skin. responce needed and testers!!!

comment:14 Geändert vor 6 Jahren durch MrTweek1987

Mal nen kurzer zwischenbericht… der Patch läuft gut… auf meiner 7170 zeigt die Adressen korrekt an…

Cuma, Ja ich habe deine Idee natürlich beachtet, aber das wäre wieder ne schleife die das Interfaces liest, dann die IP-Adresse splittet und replaced… denn in meiner if_net6 steht folgendes… (auszug)

fe80000000000000021a4ffffe943b04 30 40 20 80   wdsdw3
fe80000000000000021a4ffffe943b04 2f 40 20 80   wdsdw2
fe80000000000000021a4ffffe943b04 2e 40 20 80   wdsdw1
fe80000000000000021a4ffffe943b04 2d 40 20 80   wdsdw0
fe80000000000000021a4ffffe943b04 2c 40 20 80   wdsup0

Klar als Index hat man nun da tolle möglichkeiten :) Die Interfaces die meine Variante erstellt sind eigentlich nur die interfaces die das ursprüngliche box_info.gci per regex ausliest, nur dass er in /var/tmp/ eine liste mit Dateien erstellt… und dort die ausgabe der IPv6-Adressen reinschreibt.. später kann man diese dann weiter unten im script… "caten" (Daher die Tabelle in einer Tabelle, die es untereinander anordnet)

Ja dann kommt das problem mit dem Sixxs interface, es ist vom user bennenbar, in "if_net6" habe ich aber keine garantie bzw einen marker, dass es das Interface von SIXXS ist… =/ wenn ich die Datei "aiccu.diff" auslese dann habe ich ja das vom Benutzer spezifizierte interface… =) Wenn aiccu nicht installiert ist, zeigt er es auch nicht an!

Zuletzt geändert vor 6 Jahren von MrTweek1987 (vorher) (Diff)

comment:15 Geändert vor 6 Jahren durch cuma

  • Meilenstein von freetz-1.3 nach freetz-future geändert

comment:16 Geändert vor 6 Jahren durch CarstenSchuette

Warum freetz-future? Der Patch läuft auf der 7390 gut…

comment:17 Geändert vor 6 Jahren durch cuma

#1848

Außerdem kann das so nicht eingecheckt werden, das müsste noch jemand runderneuern. Zuerst ist es abhängig von den Skins in Freetz. Wie oben geschrieben, das Skin gibt die Farbe vor und nicht xyz schau welches Skin aktiv ist und wählt danach die Farbe selbst aus! Es soll aber noch Unmengen andere Skins gegeben, dann wird keine Tabelle angezeigt?? Und es sind noch sehr viele Codeduplikate drin die unnötig sind. Ist zwischenspeichern in Dateien wirklich nötig? Weshalb muss jeder in diesem Verzeichnis schreiben dürfen?

comment:18 Geändert vor 6 Jahren durch MrTweek1987

Das problem ist, dass jeder nach lust und laune die Skins baut =(

Ich meine bzw schlage vor, es einheitlich zu machen… dass man in jedem Skin die gleichen IDs hat.
Oder man nimmt die Farben wieder raus

Zuletzt geändert vor 6 Jahren von MrTweek1987 (vorher) (Diff)
Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.