You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Alan Faubert 85c6af610c firefox: adjust readme 1 year ago
..
.gitignore rework symlinking and locations of several files 1 year ago
README.md firefox: adjust readme 1 year ago
base_configuration.js firefox: add comments describing settings 1 year ago
delete_cookies.js firefox: add comments describing settings 1 year ago
disable_history.js firefox: add comments describing settings 1 year ago
preserve_session.js firefox: add comments describing settings 1 year ago

README.md

Firefox

.gitignore'd

  • */ - folders whose names are +-separated concatenations of names of files in this directory (without their extensions) - these will be given user.js files constructed by concatenation of the base files, and will then be symlinked to from various Firefox profiles' user.js files
  • *.pac - proxy auto-config files - these too can be referred to in the above +-separated folder names

user.js handling (Windows-specific)

Create *.pac files containing proxy auto-config files.

Create empty directories whose names are assembled by concatenating the names of templates in this directory (without the .js or .pac extension) separated by +s.

There is a menu option in config.sh to generate (or regenerate) user.js files in these directories from their constituent templates, including adding the appropriate configuration to point to a particular *.pac file.

There is also a menu option in config.sh for creating symlinks from various Firefox profiles' user.js files to the assembled files.

Additional manual setup

For each profile:

VPN bypass handling

There are certain sites I need to connect to directly rather than through my system-wide VPN. Rather than struggling with configuring the VPN client itself to do this, I run a Linux VM in bridged networking mode. I open a dynamic forwarded port into the VM, and configure my browser to use the local port as a SOCKS proxy for the appropriate hosts.

Installing Alpine Linux

These instructions should work roughly the same on VMware Player, VMware Workstation, VirtualBox, and probably others.

Create a new VM from the alpine-virt-*.iso image. Set its network adapter to run in bridged mode. Start the VM and sign in.

Run setup-alpine and go through the prompts. Most of the questions can be answered with the default answers. But when asked which disk to use, make sure you don't select none. And when asked what the disk should be used for, answer sys. Don't set a password. Reboot. Make note of the VM's local network IP address.

Configuring sshd

In the VM, edit /etc/ssh/sshd_config and find and edit the appropriate lines to set the following config values:

PermitRootLogin yes
PermitEmptyPasswords yes
AllowTcpForwarding yes

Restart the SSH server with service sshd restart (or restart the whole VM).

Configuring ssh

On the real machine, add an entry to ~/.ssh/config with something like:

Host bypass
HostName 1.2.3.4
User root
DynamicForward 8000

Configuring PAC

Point the browser to use a manual proxy configuration file containing something like:

function FindProxyForURL(url, host) {
	return /(^|\.)(example\.com|example\.net)$/.test(host) ? 'SOCKS 127.0.0.1:8000' : 'DIRECT';
}

Using the VPN bypass

  • Start the VM
  • ssh into the VM
  • Browse to the website