Contains several scripts that can show information in the XFCE4 task bar (current IPs, plain output of a website, number of queued mails), and enables users to execute various actions (switch the computer to an "offline mode", send enqueued emails).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mxmehl 5628382a5d
show first 3 nameservers
5 years ago
.gitignore initial commit 6 years ago
LICENSE add license 6 years ago fix typo 6 years ago
config.cfg.sample adding function to switch DNS nameservers + monitoring of current settings; adding a README 6 years ago adding msmtp-queue-handler depending on off/on status; make msmtp-queue paths configurable; reset counter when queue=0 6 years ago improve selective status update which makes most preset values unnecessary 6 years ago adding function to switch DNS nameservers + monitoring of current settings; adding a README 6 years ago improved behaviour with default IPs and reduced status file presets 6 years ago show first 3 nameservers 5 years ago

Dynamic Status

These scripts control and monitor several functions of my computer. Most importantly it is possible to switch to a "offline status" which disables several internet-using monitoring functions. and rely on xfce-genmon-plugin to show some status messages on the XFCE task bars. enables users to actively change some values, e.g. the on-/offline status, the used DNS nameserver, and to trigger some actions, e.g. to send mails in an msmtp queue.

I tried to make it as compatible to as many systems as possible but some values are still hard-coded.

DNS nameserver switch

This feature heavily depends on network-manager and its dispatcher feature. In order to use it, put a file in /etc/NetworkManager/dispatcher.d/ and name it 90-custom-resolv.conf for example. Fill it:

# Depending on dynamic status, override /etc/resolv.conf


if [ ! -e $CUSTOM ]; then  # if file does not exists, use default nameserver script
  bash $DEFAULT
  echo "# 90-custom-resolvconf executed" >> /etc/resolv.conf
  exit 0

SET=$(cat $CUSTOM | head -n1 | awk '{print $NF}')  # first line, last word

if [ "$SET" != "auto" ]; then
  cp -f /etc/resolv.conf /etc/resolv.conf.bak   # backup original resolv config file
  cat $CUSTOM > /etc/resolv.conf  # use custom file, update original one 
  echo "# 90-custom-resolvconf didn't change any substantial values here, just added this line." >> /etc/resolv.conf

The file has to be owned by root and be executable in order to function. It will either execute a script that sets default nameserver settings (in my case, it's localhost since I use a local dnsmasq), or take the values from another file which is created by switching the nameservers with

Nameservers can be configured in config.cfg as value of NS=. It holds following pattern:


Please remember to put it between quotes.