Haproxy 对 socks 做负荷均衡 带配置文件

前言
海外的用户如果要使用国内进行看剧可以去找免费的socks代理,可以利用Haproxy可以做到负荷均衡。

缺点
只能在Linux环境下使用,Proxychains 也可以做到负荷均衡,但是效果略渣。
Windows 用户可以考虑开一个VM进行流量传输

安装
sudo apt install haproxy

配置文件
 /etc/haproxy/haproxy.cfg

模式
对于上面的情况 Haproxy 有两大 负荷均衡 模式:
  • roundrobin -- 表示简单的轮询,每个服务器根据权重轮流使用,在服务器的处理时间平均分配的情况下这是最流畅和公平的算法。该算法是动态的,对于实例启动慢的服务器权重会在运行中调整
  • leastconn -- 连接数最少的服务器优先接收连接。leastconn建议用于长会话服务,例如LDAP、SQL、TSE等,而不适合短会话协议。如HTTP.该算法是动态的,对于实例启动慢的服务器权重会在运行中调整。
但免费的SOCKS的代理连接数是有限制的,比如一个代理只能由10个连接数,这个时候就可以用 leastconn 模式进行弥补了,如果遇到好的代理则可以考虑一下 roundrobin 模式 。

找免费代理
谷歌搜索免费代理,复制粘贴,用工具去验证。

工具
  1. 免费版的 Socks Proxy Checker
  2. Google 搜索 socks checker github

配置文件 [Github]
global
    log /dev/log local0
    log /dev/log local1 notice
    user root
    group root
    daemon  //守护模式启动

defaults
    log global
    mode tcp
    timeout connect 5s   //客户端和后端服务器建立连接的超时时间
    timeout client 5s    //与客户端的最长空闲时间
    timeout server 5s    //后端服务器到客户端的超时时间
    timeout check 3s     //对后端服务器的检测超时时间
    option      dontlognull
    option      redispatch
    retries     3

listen status   
  bind *:1111   //HaProxy 的 统计信息监听端口
  mode  http    
  stats refresh 1s   //统计页面自动刷新时间
  stats uri /status
  stats realm Haproxy  
  stats auth admin:admin
  stats hide-version
  stats admin if TRUE

frontend socks-in   
    mode tcp
    bind *:8388  // 监听端口
    default_backend socks-out

backend socks-out
    mode tcp
    option      tcp-check  
    balance leastconn   // 模式选择

    server  SOCKS1    XXX.XXX.XXX.XXX:XXXX  check   // SOCKS 代理线路
    server  SOCKS2    XXX.XXX.XXX.XXX:XXXX  check
    server  SOCKS3    XXX.XXX.XXX.XXX:XXXX  check

修改好了记得 service haproxy restart

参考

Comments