Skip to content

Instantly share code, notes, and snippets.

@rainchen
Created September 15, 2017 02:52
Show Gist options
  • Save rainchen/470031628e4c3d19122637d9e21a173b to your computer and use it in GitHub Desktop.
Save rainchen/470031628e4c3d19122637d9e21a173b to your computer and use it in GitHub Desktop.
scan Google Chrome installed Extensions dir and show each extension's info
#!/bin/bash
# scan Google Chrome installed Extensions dir and show each extension's info
# refs: https://www.jamf.com/jamf-nation/discussions/11307/chrome-extension-reporting
loggedInUser=$( ls -l /dev/console | awk '{print $3}' )
path="/Users/${loggedInUser}/Library/Application Support/Google/Chrome/Default/Extensions"
if [[ $1 != "" ]]; then
path=$1
echo "Read extensions from \"$path\""
echo
fi
JSONS=$( find "$path" -maxdepth 4 -name "manifest.json" )
while read JSON; do
NAME=$( awk -F'"' '/name/{print $4}' "$JSON" )
VERSION=$( awk -F'"' '/"version"/{print $4}' "$JSON" )
DESCRIPTION=$( awk -F'"' '/"description"/{print $4}' "$JSON" )
ID=$( echo "$JSON" | awk -F'/' '{print $(NF-2)}' )
URL="https://chrome.google.com/webstore/detail/$ID"
EXT_PATH="$path/$ID"
if [[ ! -z "$NAME" ]] && [[ ! "$NAME" =~ "_MSG_" ]]; then
EXTS+=( "${NAME}\n" )
echo "id: $ID"
echo "name: $NAME"
echo "version: $VERSION"
echo "description: $DESCRIPTION"
echo "path: $EXT_PATH"
echo "url: $URL"
echo
fi
done < <(echo "$JSONS")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment