mirror of
https://codeberg.org/leana8959/.files.git
synced 2026-02-01 14:29:40 +00:00
40 lines
935 B
Bash
40 lines
935 B
Bash
if ! type mullvad >/dev/null; then
|
|
echo -n "Mullvad unavailable"
|
|
exit 1
|
|
fi
|
|
|
|
MULLVAD_STATUS="$(mullvad status -j)"
|
|
|
|
function xmobarColor {
|
|
fg="$1"
|
|
x="$2"
|
|
echo -n "<fc=$fg>$x</fc>"
|
|
}
|
|
|
|
case "$(echo "$MULLVAD_STATUS" | jq -r ".state")" in
|
|
connected)
|
|
function has-feature {
|
|
echo "$MULLVAD_STATUS" | jq --exit-status ".details.feature_indicators|contains([\"$1\"])" >/dev/null
|
|
}
|
|
if has-feature "LockdownMode"; then
|
|
xmobarColor "green" "Mullvad On "
|
|
else
|
|
xmobarColor "orange" "Mullvad On"
|
|
fi
|
|
|
|
COUNTRY="$(echo "$MULLVAD_STATUS" | jq -r '.details.location.country')"
|
|
CITY="$(echo "$MULLVAD_STATUS" | jq -r '.details.location.city')"
|
|
|
|
echo -n " ($COUNTRY,$CITY)"
|
|
;;
|
|
disconnected)
|
|
function is-locked-down {
|
|
echo "$MULLVAD_STATUS" | jq --exit-status ".details.locked_down" >/dev/null
|
|
}
|
|
if is-locked-down "LockdownMode"; then
|
|
xmobarColor "red" "Mullvad Off "
|
|
else
|
|
xmobarColor "orange" "Mullvad Off"
|
|
fi
|
|
;;
|
|
esac
|