How to use multiple proxies simultaneously in Firefox
Firefox saves your personal information such as bookmarks, addons, passwords, and user preferences in a set of files called your profile, which is stored in a separate location from the Firefox program files. You can have multiple Firefox profiles, each containing a separate set of user information. The Profile Manager allows you to create, remove, rename, and switch profiles.
It is possible to take advantage of the Firefox Profiles feature in order to run multiple independent instances of the browser, each connecting to a different proxy. The Profile Manager is not visible in the Firefox User Interface, running it will require typing commands into a terminal or using the Run Dialog for Windows.
Starting the Profile Manager
Important Before starting the Profile Manager, make sure that Firefox is completely closed.
On Windows:, Press Windows Key + R, type firefox.exe -p into the Run dialog that appears, and press Enter
On Mac: Open a Terminal window — press Command+Space, type Terminal, and press Enter to do it from Spotlight. Type /Applications/Firefox.app/Contents/MacOS/firefox-bin -profilemanager into the Terminal and press Enter
On Linux: Open a terminal and run the firefox -P command
Creating a new profile
After starting the Profile Manager, do the following to create a new profile:
1. Click Create Profile, this will start the Create Profile Wizard
2. Give the profile any name you want Repeat the steps above for every profile that you need to create.
3. Uncheck the box that says Use the selected profile without asking at startup to prevent Firefox from using the selected profile automatically.
Install the FoxyProxy addon in each profile
Once you have set up the profiles you need, you're almost good to go. Now you need to run the individual profiles and install the [FoxyProxy Addon] in each of them. [This guide] will show you how to install FoxyProxy Firefox plugin.
When Firefox is running and you try to open another Firefox process, a new window is opened instead, in the already running process. You can use the -no-remote command line option to start a new Firefox process that is invisible to the first process.
The -no-remote command can be used from the terminal or you could modify an existing Firefox shortcut. The links below are articles that cover how to do the above in greater details:
After downloading and installing the FoxyProxy addon to each browser instance, configure each profile to use it's own proxy.
The image below shows three different Firefox profiles each connecting to a different proxy: