Polybar: Add network status module
This commit is contained in:
60
.config/polybar/amidown.sh
Executable file
60
.config/polybar/amidown.sh
Executable file
@@ -0,0 +1,60 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# netstatus.sh
|
||||
# Copyright (C) 2018 rehashedsalt <salt@lap-th-e560-0>
|
||||
#
|
||||
# Distributed under terms of the MIT license.
|
||||
#
|
||||
|
||||
# Global vars
|
||||
if_default=""
|
||||
ipv4_private=""
|
||||
|
||||
# Define our tests
|
||||
function test-gateway {
|
||||
if ip r | grep default > /dev/null 2>&1; then
|
||||
ipr="$(ip r | grep default)"
|
||||
ipv4_private="$(echo $ipr | awk '{print $3}')"
|
||||
if_default="$(echo $ipr | awk '{print $5}')"
|
||||
unset ipr
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
function test-internet {
|
||||
if ping -c 1 8.8.8.8 > /dev/null 2>&1; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
function test-dns {
|
||||
if ping -c 1 google.com > /dev/null 2>&1; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Actually go through with them
|
||||
if ! test-gateway; then
|
||||
printf "NONE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! test-internet; then
|
||||
printf "LOCAL"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if ! test-dns; then
|
||||
printf "NO DNS"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
printf "UP"
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user