Skip to main content

Firefox proxy profile manager

Project description

foxglove

Foxglove is a Firefox wrapper with two purposes:

  1. Programatically generate Firefox profiles with preferences that I consider desirable for the majority of use cases. These disable, where possible, Firefox's built-in advertising, pop-ups, telemetry, experiments, and similar features. Generated profiles are stored in ~/.foxglove.

  2. If a remote host is given, ssh to it and use that connection as a SOCKS proxy. In either case, launch Firefox.

usage: foxglove [-h] [--chrome path] [--content path] [-d] [-e] [-a add-on] profile [host]

foxglove - a Firefox profile and proxy manager

positional arguments:
  profile         the name of the foxglove-managed profile to use or create
  host            ssh server hostname. If this option is given, foxglove will attempt to use ssh(1) to connect to the host and configure Firefox to use it
                  as a SOCKS proxy

optional arguments:
  -h, --help      show this help message and exit
  --chrome path   path to a userChrome.css file to add to the profile
  --content path  path to a userContent.css file to add to the profile
  -d              dry run (don't launch Firefox)
  -e              ephemeral (delete profile on exit)
  -a add-on       download and install this add-on. Use the name as it appears in the Mozilla add-ons site URL. May be used multiple times

To use the "host" argument, configure a corresponding Host entry in your ~/.ssh/config such that you can ssh to it with no additional arguments. The remote host must allow port forwarding.

Foxglove launches Firefox via a subprocess call to "firefox". On MacOS, the Firefox binary is not typically in PATH, so foxglove first appends /Applications/Firefox.app/Contents/MacOS to PATH. Prepending another directory to PATH may be used to select a particular Firefox installation. For example, you might launch Firefox Nightly on MacOS like this:

PATH="/Applications/Firefox Nightly.app/Contents/MacOS:$PATH" foxglove example

Preferences

These settings have changed substantially during Firefox's development, so some may be unsupported or meaningless in current versions.

Preference changes made to a foxglove-managed profile will reset to foxglove's default values on the next run. To retain changes, you can either use the generated profile as a normal Firefox profile without foxglove, or modify your installation of foxglove's prefs.js file with your desired preferences.

Some foxglove defaults to consider changing:

Key Default Foxglove Comments
dom.event.clipboardevents.enabled true false May break some sites
privacy.resistFingerprinting false false May break some sites; can be counterproductive
privacy.donottrackheader.enabled false true May be used for fingerprinting
network.trr.mode 0 0 TRRs can interfere with test environments

Related projects

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

foxglove-0.1.10.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

foxglove-0.1.10-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file foxglove-0.1.10.tar.gz.

File metadata

  • Download URL: foxglove-0.1.10.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for foxglove-0.1.10.tar.gz
Algorithm Hash digest
SHA256 6e5b2312e210929501a4bff4b4f1766623009abb1badf61d203b812359794fdd
MD5 4c3f4048cedb37077fe1b44651a7a9e2
BLAKE2b-256 513745c80e5444d49f25a8476eb99c03189ac62ff046aec24be031bfa03de8b1

See more details on using hashes here.

File details

Details for the file foxglove-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: foxglove-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for foxglove-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 3fffdeee8c42dc4aa14f59742525216013816d215a9054603c1f5c36bb735a20
MD5 19aeeb1fed0e4344af268f4d05c2b918
BLAKE2b-256 8b7b82e871b6a2d4019e3c6fc90d4be8a3da745870a704c6a8de74c974e859ff

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page