Skip to content

Instantly share code, notes, and snippets.

@Gnnng
Last active March 17, 2018 15:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Gnnng/3011b7aca8c1be4f3f27e1002cd5bb9c to your computer and use it in GitHub Desktop.
Save Gnnng/3011b7aca8c1be4f3f27e1002cd5bb9c to your computer and use it in GitHub Desktop.
Bitbar plugin for start/stop openfortivpn (brew service)
#!/bin/bash
sudo=/usr/bin/sudo
brew=/usr/local/bin/brew
icon_off='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'
icon_on='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'
function display() {
ifconfig -l | grep ppp0 > /dev/null && icon="$icon_on" || icon="$icon_off"
echo "| image=$icon"
echo "---"
echo "Start | bash=$sudo param1=$0 param2=start terminal=false"
echo "Stop | bash=$sudo param1=$0 param2=stop terminal=false"
}
# change to a real file for debugging
log=/dev/null
case $1 in
start)
sudo $brew services restart openfortivpn >> $log 2>&1
;;
stop)
sudo $brew services stop openfortivpn >> $log 2>&1
;;
*)
display
;;
esac
@Gnnng
Copy link
Author

Gnnng commented Mar 17, 2018

It requires password-less sudo to run in order to achieve terminal=false, so the script path needs to be added correctly in sudoers file via sudo visudo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment