How to modify an extension from the Chrome Web Store?

68,015

You've got two options:

  1. Contact the extension's developer, and ask for assistance.
  2. Edit the source code

I'm going to explain how you can modify an extension, and install it, in easy terms.

Getting the source and modifying it

  1. Install the Chrome extension source viewer.
  2. Go to the page in the Chrome Web Store of the extension you want to modify.
  3. Click on the yellow CRX button, and choose Download (screenshot).
  4. Extract the zip file.
  5. Read the source code, and change what needs to be changed (in your particular case, I had quickly identified that you wanted to change edit config.js and change the "channel" property). Save the changes.

Using the modified version of the extension.

  1. Visit the Chrome extension page (chrome://extensions/).
  2. Enable Developer mode, by activating the switch in the upper-right corner.
  3. Click on the "Load unpacked extension" button.
  4. Select the folder of your extension (to know which folder is correct, check whether the folder contains a file called manifest.json).
  5. Confirm. You're done.

Unless you've made a mistake in either of these steps (including the modification of the source code), the modified extension should work as intended.

Ethics

Modifying someone else's extension for personal use is not a big deal. However, do not distribute this extension without the original developer's consent. The original author has put lots of efforts in creating the extension, and might even have his/her contact details on it. If you distribute a (modified) copy of the extension, the original author cannot update the extension any more, so s/he cannot resolve bugs.
Even worse, if you turn the extension in a bad shape, users will complain to the original author, because their contact details are on it.

Share:
68,015
Alex_dlc
Author by

Alex_dlc

Updated on March 16, 2020

Comments

  • Alex_dlc
    Alex_dlc about 4 years

    I've seen this extension in the Chrome Web store, which shows the newest videos of a YouTube channel. I want to modify this extension in order to make it work with a different channel.

    How can I get this done?

  • Mo Beigi
    Mo Beigi over 8 years
    Works great, had to use this solution to solve a little issue I had when loading the unpacked extension: stackoverflow.com/a/29848882/1800854
  • Mo Beigi
    Mo Beigi over 8 years
    The above solution is not ideal as it messes up the locale. I ended up using this method to modify the extension: stackoverflow.com/a/27081397/1800854 Worked perfectly!
  • Rory O'Kane
    Rory O'Kane almost 7 years
    To summarize @Mohammad's links, if when loading the extension you get an error about not being able to read the folder _metadata because it starts with an underscore, the fix is just to delete the _metadata folder and retry. You don't need to do anything with the _locales folder.
  • JackHasaKeyboard
    JackHasaKeyboard over 6 years
    Why are the folders for the extensions named random characters? That's painful.
  • Metagrapher
    Metagrapher almost 6 years
    The file names are not intended to be human readable. It's intended for resource collision avoidance and for dependency management. This is what is called "reverse engineering". It's not meant to be easy, nor for the faint of heart. It's not meant to be done.. but that's also what makes it one of the most valuable ways to learn.
  • Adam F
    Adam F over 5 years
    Is there any way to do this with a developer extension?
  • merhoo
    merhoo almost 5 years
    CRX did not download the extension for me, anyone else have this problem and potential solutions?