# Extension for Experts

## Programmatic configuration

All versions of the NopeCHA browser extension support programmatic configuration or pre-configuration of the settings.
This allows you to avoid having to change settings in the popup menu manually.
If you are programming a bot, this is the recommended way to configure the extension.

To programmatically configure the official release of the extension from the web store, see [Graphical build](/guides/extension_advanced#graphical-build).

To pre-configure the automation build of the extension, see [Automation build](/guides/extension_advanced#automation-build).

---

## Nightly NopeCHA browser extensions

In addition to the official NopeCHA browser extensions found on the [Chrome Web Store](https://nopecha.com/chrome) and [Firefox Add-ons](https://nopecha.com/firefox), we also publish nightly builds of the extension.

!!!warning
Nightly builds are not recommended if you need a stable version of the extension. Official NopeCHA browser extensions receive automatic updates and are the recommended way to make sure that the extension continues to work on all the latest CAPTCHA.
!!!

You can find the latest nightly builds of the NopeCHA browser extensions here:

[!ref target="blank" text="GitHub Release"](https://nopecha.com/github/release)

We publish the latest builds on GitHub before they are submitted to the Chrome Web Store and Firefox Add-ons. As such, they may contain bugs and we recommend that you keep a close eye on the GitHub Release page for updates.

---

## Graphical vs Automation builds

Starting in v0.4, we ship an additional build of the extension called the `automation` build. This build is identical to the `graphical` build except that it does not include the popup menu and instead uses the settings read from a file. In this way, `automation` build can be pre-configured by editing the settings file. The `graphical` build, on the other hand, supports programmatic configuration.

[!ref Configuring the graphical build](/guides/extension_advanced#graphical-build)

[!ref Configuring the automation build](/guides/extension_advanced#automation-build)

If you want to configure the extension manually via the popup menu or programmatically via a URL, we recommend that you use the official NopeCHA browser extensions found on the [Chrome Web Store](https://nopecha.com/chrome) and [Firefox Add-ons](https://nopecha.com/firefox). The official releases are idential to the `graphical` builds from the GitHub Release page, except that they receive automatic updates.

Graphical version (Web Store Release)      |  Automation version (GitHub Release)
:-----------------------------------------:|:------------------------------------------:
![](/static/extension_graphical_popup.png) | ![](/static/extension_automation_popup.png)

The `graphical` builds are available on the [Chrome Web Store](https://nopecha.com/chrome), [Firefox Add-ons](https://nopecha.com/firefox) and [GitHub Release page](https://nopecha.com/github/release).
- For Chrome, download the `chromium.zip` file.
- For Firefox, download the `firefox.zip` file.

The `automation` builds are available on the [GitHub Release page](https://nopecha.com/github/release).
- For Chrome, download the `chromium_automation.zip` file.
- For Firefox, download the `firefox_automation.zip` file.

---

## Loading the nightly extensions

If you are unfamiliar with how to load an externally downloaded extension, follow these steps (this guide is for Chrome):

1. Download the extension from the [GitHub Release page](https://nopecha.com/github/release). Since we are using Chrome in this guide, download the `chromium.zip` or `chromium_automation.zip` file, depending on if you want a graphical or automation build.

2. Extract the ZIP file to a directory of your choice.

3. Go to the `chrome://extensions` URL in your browser.

![Load the extension (Chrome)](/static/extension_chrome_developer.png)

4. Enable the `Developer mode` toggle in the top right corner (highlighted in red in the above screenshot).

5. Click the `Load unpacked` button in the top left corner (highlighted in blue in the above screenshot).

6. Navigate to the directory where you extracted the ZIP file and select it. The directory should contain a `manifest.json` file.

---

## Graphical build

### Configuring extension settings

You can import settings into the extension using a "Magic URL" that the extension recognizes.

With the NopeCHA extension installed, when you open a Magic URL, the extension will automatically import the settings encoded in the URL.

To generate a Magic URL, open the extension popup and go to `Settings` (button in top left of the popup) and then `Export Settings`.

![Export Settings in Extension Popup](/static/extension_graphical_export.png)

You can then open the Magic URL from any machine with NopeCHA extension installed to import your settings.

!!!warning
Magic URLs can sometimes be unreliable. For a more reliable way to import settings, see the [Automation build](/guides/extension_advanced#automation-build) section.

!!!

---

## Automation build

### Configuring extension settings

1. Navigate to the directory where you extracted the ZIP file.

![Navigate to the extension directory](/static/extension_automation_directory.png)

2. Open the `manifest.json` file. You should see a `nopecha` section
at the bottom.

![Edit `manifest.json`](/static/extension_automation_manifest.png)

3. Replace `YOUR KEY HERE` with your NopeCHA key. You can set all extension settings here.

!!!
Notice that some settings such as `awscaptcha` and `textcaptcha` are set to `false` by default. This is to improve performance and reduce the overhead of the extension if you do not use these features. To enable them, set both `<captcha>_auto_solve` and `<captcha>_auto_open` to `true` in the `manifest.json` file.
!!!

![Reload the extension (Chrome)](/static/extension_reload.png)

4. Reload the extension after you make changes to the `manifest.json` file. To do so, go to the `chrome://extensions` URL, find the NopeCHA extension and click the `reload` icon (highlighted in red in the above screenshot).

5. You can now use the extension with your custom settings. When you want to change the settings, repeat the steps above.

!!!warning
Please note that the extension installed in this manner will not automatically update when a new version is released. You will need to manually download the latest version from the [GitHub Release page](https://nopecha.com/github/release) and repeat the steps above.

If you want to make sure that the extension continues to work on all the latest CAPTCHA without having to manually update it, we recommend that you use the official NopeCHA browser extensions found on the [Chrome Web Store](https://nopecha.com/chrome) and [Firefox Add-ons](https://nopecha.com/firefox).
!!!
