Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have installed several proxy programs whose IP addresses are, for example, 127.0.0.1:8580, 127.0.0.1:9966, 127.0.0.1:7070. You may regrard them as Tor and its alternatives.

You know, certain proxy programs are faster than others at times, while at other times, they would be slower.

As far as I have used, The Firefox add-in, AutoProxy and FoxyProxy Standard, can define a list of rules such as any urls matching the pattern *.google.com should be proxied to 127.0.0.1:8580. But the rule is "static". I want *.google.com to be proxied to the fastest proxy, no matter which one.

To sum up, I'm seeking a program/Firefox addin/mechanism that proxies any defined urls to the fastest proxy address amony a defined list.

So..Any suggestions?

share|improve this question
    
There's no(simple) way to know which of the proxy networks offers the most bandwidth and least latency. You may have to write some complex plugin that first tests those proxies and selects the fastest one among them. –  kedar Sep 23 '12 at 16:27
    
@kedar What's a pity! This is really a useful function! –  LoveRight Oct 7 '12 at 9:55

1 Answer 1

up vote 0 down vote accepted

I think I have found the right key words - load balancer.

nginx, HAProxy, and The Linux Virtual Server Project are all good candidates.

I will try nginx several days later.

Update:

HAProxy works for me. Using it, I build a proxy chain:

firefox ---> haproxy -(select one)-> 1. ssh
                                     2. tor

haproxy.cfg:

 global  
         log 127.0.0.1   local0  
        #log 127.0.0.1  local1 notice  
          #log loghost    local0 info  
          maxconn 1500  
         chroot D:\haproxy
        uid haproxy  
         gid haproxy 

         daemon  
        nbproc 2  
         pidfile D:\haproxy\haproxy.pid  
         #debug  
          #quiet  

 defaults  
        log     127.0.0.1       local3  
         mode    http  
         option  httplog  
        option  httpclose  
        option  dontlognull  
         option  forwardfor  
          option  redispatch  
         retries 2  
       maxconn 2000  
        balance roundrobin  
        stats enable
        stats uri /ha?stats
       contimeout      5000  
         clitimeout      50000  
         srvtimeout      50000  

listen fq 127.0.0.1:9999
    mode tcp 
    balance leastconn
    server ssh 127.0.0.1:7070 weight 3 #check inter 10000
    server tor 127.0.0.1:9050 weight 3 #check inter 10000

listen admin_stat  
    bind *:8011  
    mode http  
    option httplog  
    log global  
    stats refresh 30s  
    stats uri /admin?stats  
    stats realm Haproxy\ Statistics   
    stats auth admin:admin  
    stats hide-version  

Remember to change chroot and pidfile to your appropriate paths.

Firefox set proxy 127.0.0.1:9999 with socks5 mode.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.