extension_id=jifpbeccnghkjeaalbbjmodiffmgedin # change this ID
curl -L -o "$extension_id.zip" "https://clients2.google.com/service/update2/crx?response=redirect&os=mac&arch=x86-64&nacl_arch=x86-64&prod=chromecrx&prodchannel=stable&prodversion=44.0.2403.130&x=id%3D$extension_id%26uc"
unzip -d "$extension_id-source" "$extension_id.zip"
Thx to crxviewer for the magic download URL.
The Chrome extension source viewer is open source (github repo) and makes this super easy.
- Find your Chrome local profile directory. Open
chrome://version/
and find the "Profile Path:` field. Open that folder up. - Open the
Extensions/
subfolder - All your extensions are here, with typically readable source.
- On
about:extensions
, turn on Developer Mode and you'll see IDs under each entry - Inside the
Extensions/
folders, the manifest.json has a readablename
field
@stefanschmidt Thanks for the updated curl commands. I refactored a bit to make it a copy paste snippet that automates the process of downloading, verifying, and extracting a Chrome extension to a directory with the extension_name. It also uses
grep -oP
to extract the sha256 from the xml in case someone doesn't want to or can't install xmlstarlet.NOTE: This worked on the specific extension I was targeting didn't test on any others.