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 readablenamefield

When using the above parameters for the request URL the API returns an empty response body along with an HTTP 204 status code.
Adding
acceptformat=crx3to the request URL returns the extension.The SHA-256 checksum of the downloaded file matches the value returned by the API.
Only
response,prodversion,xandacceptformatseem to be mandatory parameters, at least a request with only those results in an identical file.It seems further that
prodversioncan be any value >= 32.