31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
# IP Protection
|
|
|
|
This document describes the implementation of the IP Protection feature in Firefox.
|
|
|
|
The code is split across two directories:
|
|
|
|
- `toolkit/components/ipprotection` — platform-independent core: the state machine,
|
|
the proxy/network stack, and all core helpers. This layer has no dependency on
|
|
browser UI or chrome.
|
|
- `browser/components/ipprotection` — browser-specific UI layer: the panel, toolbar
|
|
button, alert and infobar managers, and onboarding helpers.
|
|
|
|
Each layer is composed of three major areas:
|
|
|
|
- A finite-state machine managed by the main component: `IPProtectionService` (toolkit).
|
|
- The UI, controlled by `IPProtection` and `IPProtectionPanel` (browser).
|
|
- The proxy/network controller: `IPPProxyManager` and helper classes (toolkit).
|
|
|
|
The two layers are wired together by `IPProtectionActivator` (toolkit), which
|
|
assembles the full helper list and initialises the service.
|
|
|
|
See the following pages for details on components, preferences, and the state machine.
|
|
|
|
```{toctree}
|
|
Components
|
|
Constants
|
|
Preferences
|
|
StateMachine
|
|
BandwidthUsageDisplay
|
|
```
|