fff-support: Provide shell script with similar output to WebUI

Submitted by Adrian Schmutzler on July 29, 2017, 10:40 a.m.

Details

Message ID 1501324811-29060-1-git-send-email-freifunk@adrianschmutzler.de
State Superseded
Headers show

Commit Message

Adrian Schmutzler July 29, 2017, 10:40 a.m.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>

Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---
 .../fff/fff-support/files/etc/show_info.sh         | 123 +++++++++++++++++++++
 1 file changed, 123 insertions(+)
 create mode 100755 src/packages/fff/fff-support/files/etc/show_info.sh

Patch hide | download patch | download mbox

diff --git a/src/packages/fff/fff-support/files/etc/show_info.sh b/src/packages/fff/fff-support/files/etc/show_info.sh
new file mode 100755
index 0000000..17fbb9f
--- /dev/null
+++ b/src/packages/fff/fff-support/files/etc/show_info.sh
@@ -0,0 +1,123 @@ 
+#!/bin/sh
+
+. /etc/community.cfg
+. /etc/firmware_release
+
+HOSTNAME=$(uci -q get 'system.@system[0].hostname')
+
+human_bytes() {
+	while read B ; do
+		[ $B -lt 1024 ] && echo ${B} B && break
+		KB=$(((B+512)/1024))
+		[ $KB -lt 1024 ] && echo ${KB} KB && break
+		MB=$(((KB+512)/1024))
+		[ $MB -lt 1024 ] && echo ${MB} MB && break
+		GB=$(((MB+512)/1024))
+		[ $GB -lt 1024 ] && echo ${GB} GB && break
+		echo $(((GB+512)/1024)) TB
+	done
+}
+
+if pidof fastd >/dev/null ; then
+	vpn_active="aktiv"
+else
+	vpn_active="inaktiv"
+fi
+if grep -q '1' /sys/class/net/l2tp*/carrier 2> /dev/null ; then
+	l2tp_active="aktiv"
+else
+	l2tp_active="inaktiv"
+fi
+up="$(uptime)"
+load="${up##*:}"
+uptime="${up%%,*}"
+uptime="${uptime##*up}"
+
+#include OpenWrt version
+. /etc/openwrt_release
+. /etc/firmware_release
+
+addr() {
+	local addr="$(ip -$1 address show dev $2 2>/dev/null | tr '/' ' '| awk '/inet/{ printf("%s ", $2); }')"
+	echo "${addr:--}"
+}
+default_gw() {
+	ip -$1 route list 0/0 dev $2 2> /dev/null | awk '{print($3); exit(0)}'
+}
+wanif=$(uci -q get network.wan.ifname)
+if [ -n "$(default_gw 4 $wanif)" -o  -n "$(default_gw 6 $wanif)" ]; then
+	internet_active="Ja"
+else
+	internet_active="Nein"
+fi
+
+echo ""
+echo "Router configuration overview:"
+
+echo ""
+echo "-> SYSTEM"
+echo "Name: ${HOSTNAME}"
+echo "Modell: $(cat /tmp/sysinfo/model 2>/dev/null)"
+echo "MAC-Adresse: $(cat /sys/class/net/br-mesh/address)"
+echo "Bekannte Knoten: $((`cat /sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]' | cut -b 39-55 | sort | uniq | wc -l 2>/dev/null`+1))"
+echo "Nachbarknoten: $(cat /sys/kernel/debug/batman_adv/bat0/originators | grep '^[0-9a-f]' | cut -b 37-53 | sort | uniq | wc -l 2>/dev/null)"
+echo "VPN via fastd: ${vpn_active}"
+echo "VPN via L2TP: ${l2tp_active}"
+echo "Laufzeit: ${uptime}"
+echo "Auslastung: ${load}"
+echo "Uhrzeit: $(date)"
+
+echo ""
+echo "-> SOFTWARE"
+echo "Firmware Version: ${FIRMWARE_VERSION}"
+echo "LEDE Version: ${DISTRIB_DESCRIPTION}"
+echo "Kernel Version: $(uname -s -m -r)"
+echo "Batman-Adv Version: $(cat /sys/module/batman_adv/version 2>/dev/null)"
+echo "Fastd Version: $(fastd --version 2> /dev/null | cut -d' ' -f 2)"
+
+echo ""
+echo "-> Netz: FREIFUNK"
+echo "Nutzer: $(cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2> /dev/null | grep -c 'W')"
+echo "Empfangen: $(cat /sys/class/net/br-mesh/statistics/rx_bytes | human_bytes)"
+echo "Gesendet: $(cat /sys/class/net/br-mesh/statistics/tx_bytes | human_bytes)"
+echo "IPv4 Adressen: $(addr 4 br-mesh)"
+echo "IPv6 Adressen: $(addr 6 br-mesh)"
+
+echo ""
+echo "-> Netz: WAN"
+echo "Internet vorhanden: ${internet_active}"
+echo "Empfangen: $(cat /sys/class/net/${wanif}/statistics/rx_bytes | human_bytes)"
+echo "Gesendet: $(cat /sys/class/net/${wanif}/statistics/tx_bytes | human_bytes)"
+echo "IPv4 Adressen: $(addr 4 $wanif)"
+echo "IPv6 Adressen: $(addr 6 $wanif)"
+
+echo ""
+echo "-> EINSTELLUNGEN"
+echo "Knotenname: ${HOSTNAME}"
+echo "Knotenbeschreibung: $(uci -q get 'system.@system[0].description')"
+echo "GPS Breitengrad: $(uci -q get 'system.@system[0].latitude')"
+echo "GPS Laengengrad: $(uci -q get 'system.@system[0].longitude')"
+echo "Standortbeschreibung: $(uci -q get 'system.@system[0].position_comment')"
+echo "E-Mail Adresse: $(uci -q get 'system.@system[0].contact')"
+
+echo ""
+echo "-> SWITCH"
+if swconfig list | grep -q switch0 ; then
+	swconfig dev switch0 show | grep "\t*link:" | while read line ; do
+		line=$(echo "$line" | tr -d '\n' | tr -d '\t')
+		port=$(echo "$line" | sed 's/.* port:\([^ ]*\) .*/\1/')
+		link=$(echo "$line" | sed 's/.* link:\([^ ]*\).*/\1/')
+		if [ "$link" == "up" ] ; then
+			speed=$(echo "$line" | sed 's/.* speed:\([^ ]*\).*/\1/')
+			duplex=$(echo "$line" | sed 's/.* \([^ ]*-duplex\).*/\1/')
+		else
+			speed="no link"
+			duplex=""
+		fi
+		port="Port ${port}"
+		echo "${port}: ${link} @ $speed $duplex"
+	done
+fi
+
+echo ""
+echo "END"

Comments

Dominik Heidler July 29, 2017, 3:04 p.m.
Hi,

sieht gut aus.

Reviewed-by: Dominik Heidler <dominik@heidler.eu>
Tested-by: Dominik Heidler <dominik@heidler.eu>

Am 29.07.2017 um 12:40 schrieb Adrian Schmutzler:
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> 
> Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> ---
>  .../fff/fff-support/files/etc/show_info.sh         | 123 +++++++++++++++++++++
>  1 file changed, 123 insertions(+)
>  create mode 100755 src/packages/fff/fff-support/files/etc/show_info.sh
> 
> diff --git a/src/packages/fff/fff-support/files/etc/show_info.sh b/src/packages/fff/fff-support/files/etc/show_info.sh
> new file mode 100755
> index 0000000..17fbb9f
> --- /dev/null
> +++ b/src/packages/fff/fff-support/files/etc/show_info.sh
> @@ -0,0 +1,123 @@
> +#!/bin/sh
> +
> +. /etc/community.cfg
> +. /etc/firmware_release
> +
> +HOSTNAME=$(uci -q get 'system.@system[0].hostname')
> +
> +human_bytes() {
> +	while read B ; do
> +		[ $B -lt 1024 ] && echo ${B} B && break
> +		KB=$(((B+512)/1024))
> +		[ $KB -lt 1024 ] && echo ${KB} KB && break
> +		MB=$(((KB+512)/1024))
> +		[ $MB -lt 1024 ] && echo ${MB} MB && break
> +		GB=$(((MB+512)/1024))
> +		[ $GB -lt 1024 ] && echo ${GB} GB && break
> +		echo $(((GB+512)/1024)) TB
> +	done
> +}
> +
> +if pidof fastd >/dev/null ; then
> +	vpn_active="aktiv"
> +else
> +	vpn_active="inaktiv"
> +fi
> +if grep -q '1' /sys/class/net/l2tp*/carrier 2> /dev/null ; then
> +	l2tp_active="aktiv"
> +else
> +	l2tp_active="inaktiv"
> +fi
> +up="$(uptime)"
> +load="${up##*:}"
> +uptime="${up%%,*}"
> +uptime="${uptime##*up}"
> +
> +#include OpenWrt version
> +. /etc/openwrt_release
> +. /etc/firmware_release
> +
> +addr() {
> +	local addr="$(ip -$1 address show dev $2 2>/dev/null | tr '/' ' '| awk '/inet/{ printf("%s ", $2); }')"
> +	echo "${addr:--}"
> +}
> +default_gw() {
> +	ip -$1 route list 0/0 dev $2 2> /dev/null | awk '{print($3); exit(0)}'
> +}
> +wanif=$(uci -q get network.wan.ifname)
> +if [ -n "$(default_gw 4 $wanif)" -o  -n "$(default_gw 6 $wanif)" ]; then
> +	internet_active="Ja"
> +else
> +	internet_active="Nein"
> +fi
> +
> +echo ""
> +echo "Router configuration overview:"
> +
> +echo ""
> +echo "-> SYSTEM"
> +echo "Name: ${HOSTNAME}"
> +echo "Modell: $(cat /tmp/sysinfo/model 2>/dev/null)"
> +echo "MAC-Adresse: $(cat /sys/class/net/br-mesh/address)"
> +echo "Bekannte Knoten: $((`cat /sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]' | cut -b 39-55 | sort | uniq | wc -l 2>/dev/null`+1))"
> +echo "Nachbarknoten: $(cat /sys/kernel/debug/batman_adv/bat0/originators | grep '^[0-9a-f]' | cut -b 37-53 | sort | uniq | wc -l 2>/dev/null)"
> +echo "VPN via fastd: ${vpn_active}"
> +echo "VPN via L2TP: ${l2tp_active}"
> +echo "Laufzeit: ${uptime}"
> +echo "Auslastung: ${load}"
> +echo "Uhrzeit: $(date)"
> +
> +echo ""
> +echo "-> SOFTWARE"
> +echo "Firmware Version: ${FIRMWARE_VERSION}"
> +echo "LEDE Version: ${DISTRIB_DESCRIPTION}"
> +echo "Kernel Version: $(uname -s -m -r)"
> +echo "Batman-Adv Version: $(cat /sys/module/batman_adv/version 2>/dev/null)"
> +echo "Fastd Version: $(fastd --version 2> /dev/null | cut -d' ' -f 2)"
> +
> +echo ""
> +echo "-> Netz: FREIFUNK"
> +echo "Nutzer: $(cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2> /dev/null | grep -c 'W')"
> +echo "Empfangen: $(cat /sys/class/net/br-mesh/statistics/rx_bytes | human_bytes)"
> +echo "Gesendet: $(cat /sys/class/net/br-mesh/statistics/tx_bytes | human_bytes)"
> +echo "IPv4 Adressen: $(addr 4 br-mesh)"
> +echo "IPv6 Adressen: $(addr 6 br-mesh)"
> +
> +echo ""
> +echo "-> Netz: WAN"
> +echo "Internet vorhanden: ${internet_active}"
> +echo "Empfangen: $(cat /sys/class/net/${wanif}/statistics/rx_bytes | human_bytes)"
> +echo "Gesendet: $(cat /sys/class/net/${wanif}/statistics/tx_bytes | human_bytes)"
> +echo "IPv4 Adressen: $(addr 4 $wanif)"
> +echo "IPv6 Adressen: $(addr 6 $wanif)"
> +
> +echo ""
> +echo "-> EINSTELLUNGEN"
> +echo "Knotenname: ${HOSTNAME}"
> +echo "Knotenbeschreibung: $(uci -q get 'system.@system[0].description')"
> +echo "GPS Breitengrad: $(uci -q get 'system.@system[0].latitude')"
> +echo "GPS Laengengrad: $(uci -q get 'system.@system[0].longitude')"
> +echo "Standortbeschreibung: $(uci -q get 'system.@system[0].position_comment')"
> +echo "E-Mail Adresse: $(uci -q get 'system.@system[0].contact')"
> +
> +echo ""
> +echo "-> SWITCH"
> +if swconfig list | grep -q switch0 ; then
> +	swconfig dev switch0 show | grep "\t*link:" | while read line ; do
> +		line=$(echo "$line" | tr -d '\n' | tr -d '\t')
> +		port=$(echo "$line" | sed 's/.* port:\([^ ]*\) .*/\1/')
> +		link=$(echo "$line" | sed 's/.* link:\([^ ]*\).*/\1/')
> +		if [ "$link" == "up" ] ; then
> +			speed=$(echo "$line" | sed 's/.* speed:\([^ ]*\).*/\1/')
> +			duplex=$(echo "$line" | sed 's/.* \([^ ]*-duplex\).*/\1/')
> +		else
> +			speed="no link"
> +			duplex=""
> +		fi
> +		port="Port ${port}"
> +		echo "${port}: ${link} @ $speed $duplex"
> +	done
> +fi
> +
> +echo ""
> +echo "END"
>
Adrian Schmutzler July 29, 2017, 11:02 p.m.
Danke. Bitte beim applien noch "similar" und "output" im Titel vertauschen,
damit der Satz Sinn gibt.

-----Original Message-----
From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of
Dominik Heidler
Sent: Samstag, 29. Juli 2017 17:05
To: Adrian Schmutzler <freifunk@adrianschmutzler.de>;
franken-dev@freifunk.net
Subject: Re: [PATCH] fff-support: Provide shell script with similar output
to WebUI

> Hi,
> 
> sieht gut aus.
> 
> Reviewed-by: Dominik Heidler <dominik@heidler.eu>
> Tested-by: Dominik Heidler <dominik@heidler.eu>
> 
Am 29.07.2017 um 12:40 schrieb Adrian Schmutzler:
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> 
> Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> ---
>  .../fff/fff-support/files/etc/show_info.sh         | 123
+++++++++++++++++++++
>  1 file changed, 123 insertions(+)
>  create mode 100755 
> src/packages/fff/fff-support/files/etc/show_info.sh
> 
> diff --git a/src/packages/fff/fff-support/files/etc/show_info.sh 
> b/src/packages/fff/fff-support/files/etc/show_info.sh
> new file mode 100755
> index 0000000..17fbb9f
> --- /dev/null
> +++ b/src/packages/fff/fff-support/files/etc/show_info.sh
> @@ -0,0 +1,123 @@
> +#!/bin/sh
> +
> +. /etc/community.cfg
> +. /etc/firmware_release
> +
> +HOSTNAME=$(uci -q get 'system.@system[0].hostname')
> +
> +human_bytes() {
> +	while read B ; do
> +		[ $B -lt 1024 ] && echo ${B} B && break
> +		KB=$(((B+512)/1024))
> +		[ $KB -lt 1024 ] && echo ${KB} KB && break
> +		MB=$(((KB+512)/1024))
> +		[ $MB -lt 1024 ] && echo ${MB} MB && break
> +		GB=$(((MB+512)/1024))
> +		[ $GB -lt 1024 ] && echo ${GB} GB && break
> +		echo $(((GB+512)/1024)) TB
> +	done
> +}
> +
> +if pidof fastd >/dev/null ; then
> +	vpn_active="aktiv"
> +else
> +	vpn_active="inaktiv"
> +fi
> +if grep -q '1' /sys/class/net/l2tp*/carrier 2> /dev/null ; then
> +	l2tp_active="aktiv"
> +else
> +	l2tp_active="inaktiv"
> +fi
> +up="$(uptime)"
> +load="${up##*:}"
> +uptime="${up%%,*}"
> +uptime="${uptime##*up}"
> +
> +#include OpenWrt version
> +. /etc/openwrt_release
> +. /etc/firmware_release
> +
> +addr() {
> +	local addr="$(ip -$1 address show dev $2 2>/dev/null | tr '/' ' '|
awk '/inet/{ printf("%s ", $2); }')"
> +	echo "${addr:--}"
> +}
> +default_gw() {
> +	ip -$1 route list 0/0 dev $2 2> /dev/null | awk '{print($3);
exit(0)}'
> +}
> +wanif=$(uci -q get network.wan.ifname) if [ -n "$(default_gw 4 
> +$wanif)" -o  -n "$(default_gw 6 $wanif)" ]; then
> +	internet_active="Ja"
> +else
> +	internet_active="Nein"
> +fi
> +
> +echo ""
> +echo "Router configuration overview:"
> +
> +echo ""
> +echo "-> SYSTEM"
> +echo "Name: ${HOSTNAME}"
> +echo "Modell: $(cat /tmp/sysinfo/model 2>/dev/null)"
> +echo "MAC-Adresse: $(cat /sys/class/net/br-mesh/address)"
> +echo "Bekannte Knoten: $((`cat
/sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]' | cut -b
39-55 | sort | uniq | wc -l 2>/dev/null`+1))"
> +echo "Nachbarknoten: $(cat /sys/kernel/debug/batman_adv/bat0/originators
| grep '^[0-9a-f]' | cut -b 37-53 | sort | uniq | wc -l 2>/dev/null)"
> +echo "VPN via fastd: ${vpn_active}"
> +echo "VPN via L2TP: ${l2tp_active}"
> +echo "Laufzeit: ${uptime}"
> +echo "Auslastung: ${load}"
> +echo "Uhrzeit: $(date)"
> +
> +echo ""
> +echo "-> SOFTWARE"
> +echo "Firmware Version: ${FIRMWARE_VERSION}"
> +echo "LEDE Version: ${DISTRIB_DESCRIPTION}"
> +echo "Kernel Version: $(uname -s -m -r)"
> +echo "Batman-Adv Version: $(cat /sys/module/batman_adv/version
2>/dev/null)"
> +echo "Fastd Version: $(fastd --version 2> /dev/null | cut -d' ' -f 2)"
> +
> +echo ""
> +echo "-> Netz: FREIFUNK"
> +echo "Nutzer: $(cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2>
/dev/null | grep -c 'W')"
> +echo "Empfangen: $(cat /sys/class/net/br-mesh/statistics/rx_bytes |
human_bytes)"
> +echo "Gesendet: $(cat /sys/class/net/br-mesh/statistics/tx_bytes |
human_bytes)"
> +echo "IPv4 Adressen: $(addr 4 br-mesh)"
> +echo "IPv6 Adressen: $(addr 6 br-mesh)"
> +
> +echo ""
> +echo "-> Netz: WAN"
> +echo "Internet vorhanden: ${internet_active}"
> +echo "Empfangen: $(cat /sys/class/net/${wanif}/statistics/rx_bytes |
human_bytes)"
> +echo "Gesendet: $(cat /sys/class/net/${wanif}/statistics/tx_bytes |
human_bytes)"
> +echo "IPv4 Adressen: $(addr 4 $wanif)"
> +echo "IPv6 Adressen: $(addr 6 $wanif)"
> +
> +echo ""
> +echo "-> EINSTELLUNGEN"
> +echo "Knotenname: ${HOSTNAME}"
> +echo "Knotenbeschreibung: $(uci -q get 'system.@system[0].description')"
> +echo "GPS Breitengrad: $(uci -q get 'system.@system[0].latitude')"
> +echo "GPS Laengengrad: $(uci -q get 'system.@system[0].longitude')"
> +echo "Standortbeschreibung: $(uci -q get
'system.@system[0].position_comment')"
> +echo "E-Mail Adresse: $(uci -q get 'system.@system[0].contact')"
> +
> +echo ""
> +echo "-> SWITCH"
> +if swconfig list | grep -q switch0 ; then
> +	swconfig dev switch0 show | grep "\t*link:" | while read line ; do
> +		line=$(echo "$line" | tr -d '\n' | tr -d '\t')
> +		port=$(echo "$line" | sed 's/.* port:\([^ ]*\) .*/\1/')
> +		link=$(echo "$line" | sed 's/.* link:\([^ ]*\).*/\1/')
> +		if [ "$link" == "up" ] ; then
> +			speed=$(echo "$line" | sed 's/.* speed:\([^
]*\).*/\1/')
> +			duplex=$(echo "$line" | sed 's/.* \([^
]*-duplex\).*/\1/')
> +		else
> +			speed="no link"
> +			duplex=""
> +		fi
> +		port="Port ${port}"
> +		echo "${port}: ${link} @ $speed $duplex"
> +	done
> +fi
> +
> +echo ""
> +echo "END"
> 

--
franken-dev mailing list
franken-dev@freifunk.net
http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Robert Langhammer July 30, 2017, 9:13 a.m.
Hallo,

Skript sieht gut aus. Ich finde, es sollte im Pfad sein, z.B /usr/bin/ .
Entspricht dann auch dem FHS.

Eventuell auch ohne .sh hinten dran. Dann hat es mehr so nen
Kommandocharakter.


Robert



Am 30.07.2017 um 01:02 schrieb mail@adrianschmutzler.de:
> Danke. Bitte beim applien noch "similar" und "output" im Titel vertauschen,
> damit der Satz Sinn gibt.
>
> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of
> Dominik Heidler
> Sent: Samstag, 29. Juli 2017 17:05
> To: Adrian Schmutzler <freifunk@adrianschmutzler.de>;
> franken-dev@freifunk.net
> Subject: Re: [PATCH] fff-support: Provide shell script with similar output
> to WebUI
>
>> Hi,
>>
>> sieht gut aus.
>>
>> Reviewed-by: Dominik Heidler <dominik@heidler.eu>
>> Tested-by: Dominik Heidler <dominik@heidler.eu>
>>
> Am 29.07.2017 um 12:40 schrieb Adrian Schmutzler:
>> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>>
>> Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>> ---
>>  .../fff/fff-support/files/etc/show_info.sh         | 123
> +++++++++++++++++++++
>>  1 file changed, 123 insertions(+)
>>  create mode 100755 
>> src/packages/fff/fff-support/files/etc/show_info.sh
>>
>> diff --git a/src/packages/fff/fff-support/files/etc/show_info.sh 
>> b/src/packages/fff/fff-support/files/etc/show_info.sh
>> new file mode 100755
>> index 0000000..17fbb9f
>> --- /dev/null
>> +++ b/src/packages/fff/fff-support/files/etc/show_info.sh
>> @@ -0,0 +1,123 @@
>> +#!/bin/sh
>> +
>> +. /etc/community.cfg
>> +. /etc/firmware_release
>> +
>> +HOSTNAME=$(uci -q get 'system.@system[0].hostname')
>> +
>> +human_bytes() {
>> +	while read B ; do
>> +		[ $B -lt 1024 ] && echo ${B} B && break
>> +		KB=$(((B+512)/1024))
>> +		[ $KB -lt 1024 ] && echo ${KB} KB && break
>> +		MB=$(((KB+512)/1024))
>> +		[ $MB -lt 1024 ] && echo ${MB} MB && break
>> +		GB=$(((MB+512)/1024))
>> +		[ $GB -lt 1024 ] && echo ${GB} GB && break
>> +		echo $(((GB+512)/1024)) TB
>> +	done
>> +}
>> +
>> +if pidof fastd >/dev/null ; then
>> +	vpn_active="aktiv"
>> +else
>> +	vpn_active="inaktiv"
>> +fi
>> +if grep -q '1' /sys/class/net/l2tp*/carrier 2> /dev/null ; then
>> +	l2tp_active="aktiv"
>> +else
>> +	l2tp_active="inaktiv"
>> +fi
>> +up="$(uptime)"
>> +load="${up##*:}"
>> +uptime="${up%%,*}"
>> +uptime="${uptime##*up}"
>> +
>> +#include OpenWrt version
>> +. /etc/openwrt_release
>> +. /etc/firmware_release
>> +
>> +addr() {
>> +	local addr="$(ip -$1 address show dev $2 2>/dev/null | tr '/' ' '|
> awk '/inet/{ printf("%s ", $2); }')"
>> +	echo "${addr:--}"
>> +}
>> +default_gw() {
>> +	ip -$1 route list 0/0 dev $2 2> /dev/null | awk '{print($3);
> exit(0)}'
>> +}
>> +wanif=$(uci -q get network.wan.ifname) if [ -n "$(default_gw 4 
>> +$wanif)" -o  -n "$(default_gw 6 $wanif)" ]; then
>> +	internet_active="Ja"
>> +else
>> +	internet_active="Nein"
>> +fi
>> +
>> +echo ""
>> +echo "Router configuration overview:"
>> +
>> +echo ""
>> +echo "-> SYSTEM"
>> +echo "Name: ${HOSTNAME}"
>> +echo "Modell: $(cat /tmp/sysinfo/model 2>/dev/null)"
>> +echo "MAC-Adresse: $(cat /sys/class/net/br-mesh/address)"
>> +echo "Bekannte Knoten: $((`cat
> /sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]' | cut -b
> 39-55 | sort | uniq | wc -l 2>/dev/null`+1))"
>> +echo "Nachbarknoten: $(cat /sys/kernel/debug/batman_adv/bat0/originators
> | grep '^[0-9a-f]' | cut -b 37-53 | sort | uniq | wc -l 2>/dev/null)"
>> +echo "VPN via fastd: ${vpn_active}"
>> +echo "VPN via L2TP: ${l2tp_active}"
>> +echo "Laufzeit: ${uptime}"
>> +echo "Auslastung: ${load}"
>> +echo "Uhrzeit: $(date)"
>> +
>> +echo ""
>> +echo "-> SOFTWARE"
>> +echo "Firmware Version: ${FIRMWARE_VERSION}"
>> +echo "LEDE Version: ${DISTRIB_DESCRIPTION}"
>> +echo "Kernel Version: $(uname -s -m -r)"
>> +echo "Batman-Adv Version: $(cat /sys/module/batman_adv/version
> 2>/dev/null)"
>> +echo "Fastd Version: $(fastd --version 2> /dev/null | cut -d' ' -f 2)"
>> +
>> +echo ""
>> +echo "-> Netz: FREIFUNK"
>> +echo "Nutzer: $(cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2>
> /dev/null | grep -c 'W')"
>> +echo "Empfangen: $(cat /sys/class/net/br-mesh/statistics/rx_bytes |
> human_bytes)"
>> +echo "Gesendet: $(cat /sys/class/net/br-mesh/statistics/tx_bytes |
> human_bytes)"
>> +echo "IPv4 Adressen: $(addr 4 br-mesh)"
>> +echo "IPv6 Adressen: $(addr 6 br-mesh)"
>> +
>> +echo ""
>> +echo "-> Netz: WAN"
>> +echo "Internet vorhanden: ${internet_active}"
>> +echo "Empfangen: $(cat /sys/class/net/${wanif}/statistics/rx_bytes |
> human_bytes)"
>> +echo "Gesendet: $(cat /sys/class/net/${wanif}/statistics/tx_bytes |
> human_bytes)"
>> +echo "IPv4 Adressen: $(addr 4 $wanif)"
>> +echo "IPv6 Adressen: $(addr 6 $wanif)"
>> +
>> +echo ""
>> +echo "-> EINSTELLUNGEN"
>> +echo "Knotenname: ${HOSTNAME}"
>> +echo "Knotenbeschreibung: $(uci -q get 'system.@system[0].description')"
>> +echo "GPS Breitengrad: $(uci -q get 'system.@system[0].latitude')"
>> +echo "GPS Laengengrad: $(uci -q get 'system.@system[0].longitude')"
>> +echo "Standortbeschreibung: $(uci -q get
> 'system.@system[0].position_comment')"
>> +echo "E-Mail Adresse: $(uci -q get 'system.@system[0].contact')"
>> +
>> +echo ""
>> +echo "-> SWITCH"
>> +if swconfig list | grep -q switch0 ; then
>> +	swconfig dev switch0 show | grep "\t*link:" | while read line ; do
>> +		line=$(echo "$line" | tr -d '\n' | tr -d '\t')
>> +		port=$(echo "$line" | sed 's/.* port:\([^ ]*\) .*/\1/')
>> +		link=$(echo "$line" | sed 's/.* link:\([^ ]*\).*/\1/')
>> +		if [ "$link" == "up" ] ; then
>> +			speed=$(echo "$line" | sed 's/.* speed:\([^
> ]*\).*/\1/')
>> +			duplex=$(echo "$line" | sed 's/.* \([^
> ]*-duplex\).*/\1/')
>> +		else
>> +			speed="no link"
>> +			duplex=""
>> +		fi
>> +		port="Port ${port}"
>> +		echo "${port}: ${link} @ $speed $duplex"
>> +	done
>> +fi
>> +
>> +echo ""
>> +echo "END"
>>
> --
> franken-dev mailing list
> franken-dev@freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
>
Adrian Schmutzler July 30, 2017, 3:36 p.m.
Find ich auch gut, habe ne v2 gebaut. Unterschied ist nur der Dateiname.

-----Original Message-----
From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of
robert
Sent: Sonntag, 30. Juli 2017 11:13
To: franken-dev@freifunk.net
Subject: Re: [PATCH] fff-support: Provide shell script with similar output
to WebUI

Hallo,

Skript sieht gut aus. Ich finde, es sollte im Pfad sein, z.B /usr/bin/ .
Entspricht dann auch dem FHS.

Eventuell auch ohne .sh hinten dran. Dann hat es mehr so nen
Kommandocharakter.


Robert



Am 30.07.2017 um 01:02 schrieb mail@adrianschmutzler.de:
> Danke. Bitte beim applien noch "similar" und "output" im Titel 
> vertauschen, damit der Satz Sinn gibt.
>
> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf 
> Of Dominik Heidler
> Sent: Samstag, 29. Juli 2017 17:05
> To: Adrian Schmutzler <freifunk@adrianschmutzler.de>; 
> franken-dev@freifunk.net
> Subject: Re: [PATCH] fff-support: Provide shell script with similar 
> output to WebUI
>
>> Hi,
>>
>> sieht gut aus.
>>
>> Reviewed-by: Dominik Heidler <dominik@heidler.eu>
>> Tested-by: Dominik Heidler <dominik@heidler.eu>
>>
> Am 29.07.2017 um 12:40 schrieb Adrian Schmutzler:
>> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>>
>> Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>> ---
>>  .../fff/fff-support/files/etc/show_info.sh         | 123
> +++++++++++++++++++++
>>  1 file changed, 123 insertions(+)
>>  create mode 100755
>> src/packages/fff/fff-support/files/etc/show_info.sh
>>
>> diff --git a/src/packages/fff/fff-support/files/etc/show_info.sh
>> b/src/packages/fff/fff-support/files/etc/show_info.sh
>> new file mode 100755
>> index 0000000..17fbb9f
>> --- /dev/null
>> +++ b/src/packages/fff/fff-support/files/etc/show_info.sh
>> @@ -0,0 +1,123 @@
>> +#!/bin/sh
>> +
>> +. /etc/community.cfg
>> +. /etc/firmware_release
>> +
>> +HOSTNAME=$(uci -q get 'system.@system[0].hostname')
>> +
>> +human_bytes() {
>> +	while read B ; do
>> +		[ $B -lt 1024 ] && echo ${B} B && break
>> +		KB=$(((B+512)/1024))
>> +		[ $KB -lt 1024 ] && echo ${KB} KB && break
>> +		MB=$(((KB+512)/1024))
>> +		[ $MB -lt 1024 ] && echo ${MB} MB && break
>> +		GB=$(((MB+512)/1024))
>> +		[ $GB -lt 1024 ] && echo ${GB} GB && break
>> +		echo $(((GB+512)/1024)) TB
>> +	done
>> +}
>> +
>> +if pidof fastd >/dev/null ; then
>> +	vpn_active="aktiv"
>> +else
>> +	vpn_active="inaktiv"
>> +fi
>> +if grep -q '1' /sys/class/net/l2tp*/carrier 2> /dev/null ; then
>> +	l2tp_active="aktiv"
>> +else
>> +	l2tp_active="inaktiv"
>> +fi
>> +up="$(uptime)"
>> +load="${up##*:}"
>> +uptime="${up%%,*}"
>> +uptime="${uptime##*up}"
>> +
>> +#include OpenWrt version
>> +. /etc/openwrt_release
>> +. /etc/firmware_release
>> +
>> +addr() {
>> +	local addr="$(ip -$1 address show dev $2 2>/dev/null | tr '/' ' '|
> awk '/inet/{ printf("%s ", $2); }')"
>> +	echo "${addr:--}"
>> +}
>> +default_gw() {
>> +	ip -$1 route list 0/0 dev $2 2> /dev/null | awk '{print($3);
> exit(0)}'
>> +}
>> +wanif=$(uci -q get network.wan.ifname) if [ -n "$(default_gw 4 
>> +$wanif)" -o  -n "$(default_gw 6 $wanif)" ]; then
>> +	internet_active="Ja"
>> +else
>> +	internet_active="Nein"
>> +fi
>> +
>> +echo ""
>> +echo "Router configuration overview:"
>> +
>> +echo ""
>> +echo "-> SYSTEM"
>> +echo "Name: ${HOSTNAME}"
>> +echo "Modell: $(cat /tmp/sysinfo/model 2>/dev/null)"
>> +echo "MAC-Adresse: $(cat /sys/class/net/br-mesh/address)"
>> +echo "Bekannte Knoten: $((`cat
> /sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]' | 
> cut -b
> 39-55 | sort | uniq | wc -l 2>/dev/null`+1))"
>> +echo "Nachbarknoten: $(cat 
>> +/sys/kernel/debug/batman_adv/bat0/originators
> | grep '^[0-9a-f]' | cut -b 37-53 | sort | uniq | wc -l 2>/dev/null)"
>> +echo "VPN via fastd: ${vpn_active}"
>> +echo "VPN via L2TP: ${l2tp_active}"
>> +echo "Laufzeit: ${uptime}"
>> +echo "Auslastung: ${load}"
>> +echo "Uhrzeit: $(date)"
>> +
>> +echo ""
>> +echo "-> SOFTWARE"
>> +echo "Firmware Version: ${FIRMWARE_VERSION}"
>> +echo "LEDE Version: ${DISTRIB_DESCRIPTION}"
>> +echo "Kernel Version: $(uname -s -m -r)"
>> +echo "Batman-Adv Version: $(cat /sys/module/batman_adv/version
> 2>/dev/null)"
>> +echo "Fastd Version: $(fastd --version 2> /dev/null | cut -d' ' -f 2)"
>> +
>> +echo ""
>> +echo "-> Netz: FREIFUNK"
>> +echo "Nutzer: $(cat 
>> +/sys/kernel/debug/batman_adv/bat0/transtable_local 2>
> /dev/null | grep -c 'W')"
>> +echo "Empfangen: $(cat /sys/class/net/br-mesh/statistics/rx_bytes |
> human_bytes)"
>> +echo "Gesendet: $(cat /sys/class/net/br-mesh/statistics/tx_bytes |
> human_bytes)"
>> +echo "IPv4 Adressen: $(addr 4 br-mesh)"
>> +echo "IPv6 Adressen: $(addr 6 br-mesh)"
>> +
>> +echo ""
>> +echo "-> Netz: WAN"
>> +echo "Internet vorhanden: ${internet_active}"
>> +echo "Empfangen: $(cat /sys/class/net/${wanif}/statistics/rx_bytes |
> human_bytes)"
>> +echo "Gesendet: $(cat /sys/class/net/${wanif}/statistics/tx_bytes |
> human_bytes)"
>> +echo "IPv4 Adressen: $(addr 4 $wanif)"
>> +echo "IPv6 Adressen: $(addr 6 $wanif)"
>> +
>> +echo ""
>> +echo "-> EINSTELLUNGEN"
>> +echo "Knotenname: ${HOSTNAME}"
>> +echo "Knotenbeschreibung: $(uci -q get 'system.@system[0].description')"
>> +echo "GPS Breitengrad: $(uci -q get 'system.@system[0].latitude')"
>> +echo "GPS Laengengrad: $(uci -q get 'system.@system[0].longitude')"
>> +echo "Standortbeschreibung: $(uci -q get
> 'system.@system[0].position_comment')"
>> +echo "E-Mail Adresse: $(uci -q get 'system.@system[0].contact')"
>> +
>> +echo ""
>> +echo "-> SWITCH"
>> +if swconfig list | grep -q switch0 ; then
>> +	swconfig dev switch0 show | grep "\t*link:" | while read line ; do
>> +		line=$(echo "$line" | tr -d '\n' | tr -d '\t')
>> +		port=$(echo "$line" | sed 's/.* port:\([^ ]*\) .*/\1/')
>> +		link=$(echo "$line" | sed 's/.* link:\([^ ]*\).*/\1/')
>> +		if [ "$link" == "up" ] ; then
>> +			speed=$(echo "$line" | sed 's/.* speed:\([^
> ]*\).*/\1/')
>> +			duplex=$(echo "$line" | sed 's/.* \([^
> ]*-duplex\).*/\1/')
>> +		else
>> +			speed="no link"
>> +			duplex=""
>> +		fi
>> +		port="Port ${port}"
>> +		echo "${port}: ${link} @ $speed $duplex"
>> +	done
>> +fi
>> +
>> +echo ""
>> +echo "END"
>>
> --
> franken-dev mailing list
> franken-dev@freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
>

--
franken-dev mailing list
franken-dev@freifunk.net
http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net