@openwpm/webext-instrumentation
v0.4.0
Published
Allows WebExtensions to track and monitor privacy-related browsing behavior
Downloads
3
Readme
OpenWPM instrumentation library for WebExtensions
Allows WebExtensions to track and monitor privacy-related browsing behavior
Installation
This package is yet to be published to npm.
Instrumentation
The instrumentation leverages the available JavaScript APIs for WebExtensions and listens to navigation, web requests, cookie modifications and access to certain javascript API:s, as described in the main OpenWPM project README under the following bullet points:
- HTTP Request and Response Headers, redirects, and POST request bodies
- Javascript Calls
- Response body content
- Cookie Access (Experimental)
More specifically, all packets sent by the instrumentation conform to these interfaces.
Usage
The instrumentation is designed to invoke a dataReceiver
object whenever a packet or log entry is available.
Pending proper documentation, the best way to see how this library is used is to check how the instrumentation is incorporated into the following extensions:
- https://github.com/mozilla/OpenWPM/tree/master/automation/Extension/firefox
- https://github.com/motin/jestr-pioneer-shield-study
Npm publishing
From the master branch
Publishing is done by a core maintainer in the master branch. If there are any impediments to publishing, a PR should be created to address those issues and merged to master before publishing is attempted again.
Bump the semantic package version
Choose the relevant command below based on the changes since the last version:
npm run version-patch # X.Y.Z+1
npm run version-minor # X.Y+1.0
npm run version-major # X+1.0.0
Note: This will stash any uncommitted changes, validate that the build succeeds, test passes and finally bump the package version in a new commit and add a git tag corresponding to the version number (using standard-version).
Publish the package
npm run publish-please
Note: This will run various additional validation and ask for explicit approval before actually publishing the package.
Push the release commit and tag
Just a reminder. :)