#!/bin/bash


function ifstatus(){
  is_wireless=false
  is_ethernet=false
  is_proton=false
  is_homevpn=false

  if nmcli -g TYPE connection show --active | grep -q "wireless";then
    is_wireless='true'
  fi
  if nmcli -g TYPE connection show --active | grep -q "ethernet";then
    is_ethernet='true'
  fi
  if nmcli -g TYPE,NAME connection show --active | grep -e "vpn" -e "wireguard" | grep -qi "proton";then
    is_proton='true'
  fi
  if nmcli -g TYPE,NAME connection show --active | grep -e "vpn" -e "wireguard" | grep -qi "home";then
    is_homevpn='true'
  fi
  echo $(jq -n --arg wifi "${is_wireless}" --arg wired "${is_ethernet}" --arg proton "${is_proton}" --arg homevpn "${is_homevpn}" '{wifi: $wifi, wired: $wired, proton: $proton, homevpn: $homevpn}')
}

ifstatus

ip monitor address | {
  while read -r event; do
#    echo hi ${event};
    ifstatus
  done;
}
