Remote Protocols
Firefox supports several remote protocols, which allow to inspect and control the browser, usually for automation purposes:
Common documentation
The following documentation pages apply to all remote protocols
Protocols
Marionette
Marionette is used both by internal tools and testing solutions, but also by geckodriver to implement the WebDriver (HTTP) specification. The documentation for Marionette can be found under testing/marionette.
Remote Protocol (CDP)
Firefox implements a subset of the Chrome DevTools Protocol (CDP) in order to support third party automation tools such as puppeteer. The documentation for the remote protocol (CDP) implement can be found at remote/cdp.
WebDriver BiDi
The WebDriver BiDi specification extends WebDriver HTTP to add bidirectional communication. Dedicated documentation will be added as the Firefox implementation makes progress.
Architecture
Message Handler
The documentation for the framework used to build WebDriver BiDi modules can be found at remote/messagehandler.
Bugs
Bugs are tracked under the Remote Protocol product.
Communication
See Communication on our project wiki.