I've been using Tor for a long time, and I recently started to use I2P too. Before that I used to launch a new instance of my browser which would tunnel all its requests through Tor SOCKS proxy when I wanted to use Tor. But when I want to test things with Tor and I2P it becomes very inefficient to have multiple browser windows which look all the same but use different proxies.
I quickly found out about the FoxyProxy Firefox addon, which can do just what I needed. It allows Firefox to select a proxy depending on URL patterns. But FoxyProxy is a proprietary software, which I was not happy with. In addition to that it more or less tries to sell you HTTP proxies access, which I don't need.
And then I found AutoProxy, which can do the same job, but is free as in freedom! Yay.
However, AutoProxy has a less user friendly interface. It uses the same syntax for its URL based rules as AdBlock+, so if you are familiar with that it's easy to configure. I was not, since I use AdBlock+ only with the EasyList+FR subscription and never added custom rules.
For those of you who would like to use AutoProxy to be able to browse the web and Tor Hidden Services and EepSites seamlessly, here is how to setup AutoProxy:
You will need two rule groups, one for the I2P proxy, and one for the Tor one. The I2P proxy is an HTTP proxy running on localhost:4444 with the default configuration. The Tor proxy is a SOCKS v5 proxy running on localhost:9050 with the default configuration.
Then you will have to add a rule in each group. For the Tor group, the rule
||*.onion^. For the I2P group, you guessed it right, the rule
|| means "beginning of the domain
^ means "end of the domain name",
and as usual
* is a wildcard.
AutoProxy will display a red exclamation mark on each of these rules' line because it estimates that these rules are slow. Don't worry about that, with only two rules you'll never feel any difference in terms of speed.