config/.local/bin/status-net

38 lines
870 B
Bash
Executable File

#!/bin/bash
dev_wifi=$(<"$HOME"/.config/net-cfg/dev_wifi)
dev_eth=$(<"$HOME"/.config/net-cfg/dev_eth)
dev_vpn=$(<"$HOME"/.config/net-cfg/dev_vpn)
wifi_icon=" "
eth="$(ip -o address | grep -i "$dev_eth *inet ")"
if [ -n "$eth" ]
then
speed="$(cat "/sys/class/net/$dev_eth/speed")"
case $speed in
10) speed="10Base-T" ;;
100) speed="100Base-T" ;;
1000) speed="Gigabit" ;;
*) speed="UNKNOWN $speed" ;;
esac
eth_status="$speed"
fi
ssid="$(iw dev "$dev_wifi" link | grep -i SSID)"
if [ -n "$ssid" ]
then
signal="$(awk '/^\s*w/ { print int($3 * 100 / 70) "%" }' /proc/net/wireless)"
wifi_status="$wifi_icon ${signal} ${ssid##*SSID: }"
fi
vpn="$(ip -o address | grep -i "$dev_vpn *inet ")"
if [ -n "$vpn" ]
then
vpn_status=""
else
vpn_status=""
fi
echo "${vpn_status} $wifi_status$eth_status"