Name Description Size
assets
content
docs
GuardianClient.sys.mjs An HTTP Client to talk to the Guardian service. Allows to enroll FxA users to the proxy service, fetch a proxy pass and check if the user is a proxy user. 19686
IPPAutoStart.sys.mjs This class monitors the auto-start pref and if it sees a READY state, it calls `start()`. This is done only if the previous state was not a ACTIVE because, in that case, more likely the VPN on/off state is an user decision. 5021
IPPChannelFilter.sys.mjs IPPChannelFilter is a class that implements the nsIProtocolProxyChannelFilter when active it will funnel all requests to its provided proxy. the connection can be stopped 12477
IPPEnrollAndEntitleManager.sys.mjs This class manages the enrolling and entitlement. 6372
IPPExceptionsManager.sys.mjs Manages site exceptions for IP Protection. It communicates with Services.perms to update the ipp-vpn permission type. Site exclusions are marked as permissions with DENY capabilities. While permissions related UI (eg. panels and dialogs) already handle changes to ipp-vpn, the intention of this class is to abstract methods for updating ipp-vpn as needed from other non-permissions related UI. 2707
IPPNetworkErrorObserver.sys.mjs Service Class to observe and record proxy-errors related to IP-Protection @fires IPPNetworkErrorObserver#"proxy-http-error" Fired when the Proxy has recieved the Connect Request and responded with a non-2xx HTTP status code 3701
IPPNimbusHelper.sys.mjs Note: If you add or modify the list of helpers, make sure to update the corresponding documentation in the `docs` folder as well. 1465
IPPOnboardingMessageHelper.sys.mjs This class handles in-panel continuous onboarding messages, including setting the browser.ipProtection.onboardingMessageMask, a pref that gates messages according to feature (general VPN, autostart, site exceptions) through bit mask 3237
IPPOptOutHelper.sys.mjs This class monitors the optedOut pref and if it sees an opted-out state, it sets the state on IPProtectionService 1021
IPPProxyManager.sys.mjs @typedef {object} IPPProxyStates List of the possible states of the IPPProxyManager. @property {string} NOT_READY The proxy is not ready because the main state machine is not in the READY state. @property {string} READY The proxy is ready to be activated. @property {string} ACTIVE The proxy is active. @property {string} ERROR Error Note: If you update this list of states, make sure to update the corresponding documentation in the `docs` folder as well. 14005
IPProtection.sys.mjs IPProtectionWidget is the class for the singleton IPProtection. It is a minimal manager for creating and removing a CustomizableUI widget for IP protection features. It maintains the state of the panels and updates them when the panel is shown or hidden. 10377
IPProtectionHelpers.sys.mjs Note: If you add or modify the list of helpers, make sure to update the corresponding documentation in the `docs` folder as well. 3300
IPProtectionPanel.sys.mjs Manages updates for a IP Protection panelView in a given browser window. 13424
IPProtectionServerlist.sys.mjs This file contains functions that work on top of the RemoteSettings Bucket for the IP Protection server list. 8547
IPProtectionService.sys.mjs @typedef {object} IPProtectionStates List of the possible states of the IPProtectionService. @property {string} UNINITIALIZED The service has not been initialized yet. @property {string} UNAVAILABLE The user is not eligible (via nimbus) or still not signed in. No UI is available. @property {string} UNAUTHENTICATED The user is signed out but eligible (via nimbus). The panel should show the login view. @property {string} OPTED_OUT The user has opted out from using VPN. The toolbar icon and panel should not be visible. @property {string} READY Ready to be activated. Note: If you update this list of states, make sure to update the corresponding documentation in the `docs` folder as well. 7135
IPProtectionUsage.sys.mjs Service Class to observe and record IP protection usage. When started it will observe all HTTP requests and record the transfer sizes of requests and responses that are proxied through the IP protection proxy. It should be started when the IP protection proxy is active. It should be stopped when we know all proxy requests have been completed. It will record all Proxied Requests that match the isolation keys. So after a connection is established, the isolation key should be added. 3141
IPPSignInWatcher.sys.mjs This class monitors the Sign-In state and triggers the update of the service if needed. 1985
IPPStartupCache.sys.mjs This class implements a cache for the IPP state machine. The cache is used until we receive the `sessionstore-windows-restored` event 3725
IPPVPNAddonHelper.sys.mjs This class monitors the VPN add-on installation. 2066
jar.mn 1301
metrics.yaml 3141
moz.build 1223
tests