Skip to content

Instantly share code, notes, and snippets.

@nickolay-kofanov
Forked from jasmas/umbrellactl
Created March 23, 2022 22:42
Show Gist options
  • Save nickolay-kofanov/e474dce80a7e7b252a2d69688d344cb2 to your computer and use it in GitHub Desktop.
Save nickolay-kofanov/e474dce80a7e7b252a2d69688d344cb2 to your computer and use it in GitHub Desktop.
umbrellactl: Bash script to check status, enable or disable Cisco Umbrella Roaming Security Module for AnyConnect on MacOS
#!/usr/bin/env bash
PLUGIN_BASE='/opt/cisco/anyconnect/bin/plugins'
read -r -d '' USAGE << EGASU
Usage: `basename $0` [-s|-e|-d|-h]
-s, --status Print Umbrella Roaming Security module status
-e, --enable Enable Umbrella Roaming Security module
-d, --disable Disable Umbrella Roaming Security module
-h, --help Show this message.
EGASU
# Check plugin status, return 0 if enabled, 1 if disabled
function check_status {
[[ -f $PLUGIN_BASE/libacumbrellaapi.dylib ]] &&
[[ -f $PLUGIN_BASE/libacumbrellactrl.dylib ]] &&
[[ -f $PLUGIN_BASE/libacumbrellaplugin.dylib ]]
}
# Check if plugin disabled by utility, return 0 if yes, 1 if no
function verify_plugin_disabled {
[[ -f $PLUGIN_BASE/disabled/libacumbrellaapi.dylib ]] &&
[[ -f $PLUGIN_BASE/disabled/libacumbrellactrl.dylib ]] &&
[[ -f $PLUGIN_BASE/disabled/libacumbrellaplugin.dylib ]]
}
# Disable plugin
function disable_plugin {
sudo mkdir -p $PLUGIN_BASE/disabled
sudo mv -f $PLUGIN_BASE/libacumbrellaapi.dylib $PLUGIN_BASE/libacumbrellactrl.dylib $PLUGIN_BASE/libacumbrellaplugin.dylib $PLUGIN_BASE/disabled
}
# Enable plugin
function enable_plugin {
sudo mv -f $PLUGIN_BASE/disabled/libacumbrellaapi.dylib $PLUGIN_BASE/disabled/libacumbrellactrl.dylib $PLUGIN_BASE/disabled/libacumbrellaplugin.dylib $PLUGIN_BASE/
}
case "$1" in
'-s'|'--status')
check_status &&
echo Umbrella Roaming Security Module for AnyConnect is ENABLED. ||
echo Umbrella Roaming Security Module for AnyConnect is DISABLED.
exit 0
;;
'-e'|'--enable')
verify_plugin_disabled &&
enable_plugin &&
echo Umbrella Roaming Security Module for AnyConnect has been ENABLED. &&
exit 0 ||
echo ERROR: Umbrella Roaming Security Module for AnyConnect can only be enabled if it has previously been disabled by this utility.
exit 1
;;
'-d'|'--disable')
check_status &&
disable_plugin &&
echo Umbrella Roaming Security Module for AnyConnect has been DISABLED. ||
echo ERROR: Umbrella Roaming Security Module for AnyConnect does not appear to be enabled.
exit 1
;;
'-h'|'--help')
echo "$USAGE"
exit 0
;;
*)
echo "$USAGE"
exit 1
;;
esac
@nickolay-kofanov
Copy link
Author

To install on MacOS open Terminal and run:

$ cd /usr/local/bin
$ curl -LO https://git.io/umbrellactl
$ chmod 755 umbrellactl
$ umbrellactl

Usage: umbrellactl [-s|-e|-d|-h]

    -s, --status    Print Umbrella Roaming Security module status
    -e, --enable    Enable Umbrella Roaming Security module
    -d, --disable   Disable Umbrella Roaming Security module
    -h, --help      Show this message.

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