├── chromeextensionslist.sh
├── extensionlistEA.sh
├── extensionslist.sh
└── systemextensions.sh
/chromeextensionslist.sh:
--------------------------------------------------------------------------------
1 | find ~/Library/Application\ Support/Google/Chrome/Default/Extensions -type f -name "manifest.json" -print0 | xargs -I {} -0 grep '"name":' "{}" | uniq
2 |
--------------------------------------------------------------------------------
/extensionlistEA.sh:
--------------------------------------------------------------------------------
1 |
2 | #!/bin/sh
3 | #
4 | # List All Credential Providers
5 | credentialprovider=`pluginkit -mAvvv -p com.apple.authentication-services-credential-provider-ui | grep Path | grep -o '/.*'`;echo "$credentialprovider"
6 | #
7 | # List Safari Extensions
8 | safariextensions=`pluginkit -mAvvv -p com.apple.Safari.web-extension | grep Path | grep -o '/.*' `;echo "$safariextensions"
9 | #
10 | # List SSO Extensions
11 | ssoextensions=`pluginkit -mAvvv -p com.apple.AppSSO.idp-extension | grep -v /System | grep Path | grep -o '/.*' `;echo "$ssoextensions"
12 | #
13 | #List System Extensions
14 | systemextensions=`defaults read /Library/SystemExtensions/db.plist | grep originPath | cut -d '"' -f2`;echo "$systemextensions"
15 |
--------------------------------------------------------------------------------
/extensionslist.sh:
--------------------------------------------------------------------------------
1 | pluginkit -mAvvv -p com.apple.authentication-services-credential-provider-ui | grep Path | grep -o '/.*'
2 | pluginkit -mAvvv -p com.apple.Safari.web-extension | grep Path | grep -o '/.*'
3 | pluginkit -mAvvv -p com.apple.AppSSO.idp-extension | grep -v /System | grep Path | grep -o '/.*'
4 | defaults read /Library/SystemExtensions/db.plist | grep originPath | cut -d '"' -f2
5 |
--------------------------------------------------------------------------------
/systemextensions.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | #
4 | # Recurse through specified folder to find all '.systemextension'
5 | # folders and check whether the system extension is enabled via systemextensionctl
6 | #
7 | # $1 - Folder to recurse through, default $PWD
8 | #
9 | # Examples:
10 | # ./script.sh
11 | # ./script.sh /Applications
12 | #
13 | recurse() {
14 | # Use provided folder to recurse, if not specified use current dir
15 | curdir=$(pwd)
16 | if [[ -n $1 ]]; then
17 | curdir=$1
18 | fi
19 |
20 | # Get the list of enabled system extension
21 | enabled_sysext=$(systemextensionsctl list | grep 'activated enabled' | awk '{print $4}')
22 |
23 | # Looping through all directory with '.systemextension' in it
24 | OLD_IFS=$IFS
25 | IFS=$'\n'
26 | for dir in $(find $curdir -type d -name '*.systemextension'); do
27 | # Getting the app name and system extension name
28 | app_name=$(echo $dir | sed -E 's/.*\/([^/]+)\.app.*/\1/g')
29 | sysext_name=$(echo $dir | sed -E 's/.*\/([^/]+)\.systemextension$/\1/g')
30 |
31 | # Check whether the app system extension is loaded
32 | echo $enabled_sysext | grep $sysext_name 2>&1 >/dev/null
33 | if [[ $? == 0 ]]; then
34 | echo "$app_name | $sysext_name (loaded)"
35 | else
36 | echo "$app_name | $sysext_name (not loaded)"
37 | fi
38 | done
39 | IFS=$OLD_IFS
40 |
41 | exit 0
42 | }
43 |
44 | recurse "$@"
45 |
--------------------------------------------------------------------------------