|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Example Firefox add-ons created using the WebExtensions API|
|Awesome Webextensions||1,177||a month ago||cc0-1.0|
|A curated list of awesome resources for WebExtensions development.|
|Downthemall||795||4 months ago||173||other||TypeScript|
|The DownThemAll! WebExtension|
|Downzemall||474||18 days ago||61||lgpl-3.0||C++|
|DownZemAll! is a download manager for Windows, MacOS and Linux|
|Catalog of classic Firefox add-ons created before WebExtensions apocalypse|
|Censortracker||388||4 days ago||31||mit||HTML|
|Censor Tracker is a censorship circumvention extension for Google Chrome and Mozilla Firefox.|
|Webextension Polyfill Ts||371||43||61||3 months ago||27||July 03, 2021||6||zlib||TypeScript|
|This is a TypeScript ready "wrapper" for the WebExtension browser API Polyfill by Mozilla|
|A browser extension that allows you to see dislikes on a youtube video after the youtube update|
|DEPRECATED. 本仓库采用的 Add-on SDK 技术以废弃。 可参考最新的 WebExtensions 在|
|New Tab Override allows you to set the page that shows whenever you open a new tab.|
Maintained by Mozilla's Add-ons team.
WebExtensions are a way to write browser extensions: that is, programs installed inside a web browser that modify the behavior of the browser or web pages loaded by the browser. WebExtensions are built on a set of cross-browser APIs, so WebExtensions written for Google Chrome, Opera, or Edge will, in most cases, run in Firefox too.
The "webextensions-examples" repository is a collection of simple, complete, and installable WebExtensions. The examples show how to use the WebExtensions APIs, and you can use them as a starting point for your WebExtensions.
For an index of all the examples, see the "Example extensions" page on MDN.
The examples are made available under the Mozilla Public License 2.0.
To use the repository, first clone it.
Each example is in a top-level folder and includes a short README explaining what it does. To see how an example works, install it in Firefox by following the installation instructions.
To find your way around a WebExtension's internal structure, have a look at the Anatomy of a WebExtension page on MDN.
To use these examples in Firefox, use the most recent release of Firefox. However, most examples work with earlier releases.
A few examples rely on APIs that are only available in pre-release versions
of Firefox. Where this is the case, the example declares the minimum version
that it needs in the
strict_min_version attribute of the
in the extension's manifest.json file.
Some examples work only on specific domains or pages. Details of any restrictions are provided in each example's README file. None of the examples work in private browsing windows by default, see Extensions in Private Browsing for details.
To run an example extension:
about:debuggingpage. Click Load Temporary Add-on and select the
manifest.jsonfile within the folder of an example extension. Here is a video that demonstrates how to do this.
web-ext run. This launches Firefox and installs the extension automatically. This tool provides some additional development features, such as automatic reloading.
These examples are tested in Firefox. They may work in other browsers, if the
browser supports the APIs used.
Note that these examples all use the
browser namespace and promises to
work with asynchronous functions. This means the examples won't work in
Chrome unless you use the
polyfill provided by Mozilla.
See the overview of WebExtension APIs
for more information.
To learn more about developing WebExtensions, see the WebExtensions documentation on MDN for getting started guides, tutorials, and full API reference docs.
If you encounter an issue:
If you cannot resolve the issue, file a bug.
We welcome contributions, whether they are new examples, new features, bug fixes, or translations of localizable strings. Please see the CONTRIBUTING.md file for more details.