Skip to main content

FoxyProxy

FoxyProxy is a browser plugin for Chrome and Firefox that can automatically switches an internet connection across one or more proxy servers based on URL patterns.

This is an illustration of using FoxyProxy in Firefox once it is installed.

Install FoxyProxy

info

Make sure to turn on Send DNS through SOCKS5 proxy for the SOCKS proxy to resolve internal network link.

  1. Add a new SOCKS Proxy configuration by clicking on "Add".

Add a new Configuration

  1. Modify the SOCKS5 Proxy settings by specifying the port to use. This is the port that the local machine is listening on as the SOCKS proxy/server as part of the SSH client.

Edit SOCKS5 proxy settings

  1. Modify the URL pattern for when the SOCKS proxy should be used, and when it shouldn't be used.

example.com pattern matching

  1. It's possible to tune the settings to utilize the path based settings, or to directly use the SOCKS proxy for every URL.

example.com turn on pattern based mapping

  1. Alternatively, it's possible to import an existing configuration to set all of the URL pattern matching up if a previous configuration exists in a JSON file.

Import an existing Configuration

Once this is completed, navigate with your browser to example.com and FoxyProxy plugin should flash the color of your setup.

example.com navigate to website

What to Proxy

One way to figure out the URLs needed in Chrome is to

  1. Open up the Network Tab
  2. Ctrl + Shift + R to reload a particular page.
  3. Right click when the network fetches have subsided on a particular network request, and select "Save all network requests as a HAR file". This will download a HAR based format file for debugging HTTP requests.
  4. Run cat requests.json | jq '.log.entries|.[].request.url' | sort on the file to get a unique set of URLs.

Alternatively, google search for "network requirement for (service)" and you'll find all the network endpoint requirements for accessing Microsoft O365.