一款简单的 Socks5 负载均衡代理工具

大家好,又见面了,我是 GitHub 精选君!

今天要给大家推荐一个 GitHub 开源项目 mingcheng/socks5lb,该项目在 GitHub 有超过 400 Star,用一句话介绍该项目就是:“A simple socks5 proxy load balance and transparent proxy”,一款简单的 Socks5 负载均衡代理工具。

socks5lb 是一个 SOCKS5 代理负载均衡器,可以将多个 SOCKS5 代理服务器组合在一起,提供一个单一的入口点,并且能够自动分配请求到各个代理服务器上。有时候我们在使用 Socks5 无法联通的情况,这有可能是因为网络或者线路的调整和波动,这时候往往需要我们自己手工切换节点,非常的麻烦。而借助 socks5lb 增加多个负载节点,可以增加代理服务器的可用性和稳定性。

以下是项目实现的特性及更新记录:

以下是该项目 Star 趋势图(代表项目的活跃程度):

如何安装使用

该项目建议使用 docker-compose 编译生成镜像文件,直接执行 docker-compose build 即可运行使用。

使用示例 DEMO

要使用 socks5lb 首先要做基本的配置,例如以下配置了三个 Socks5 Proxy 同时暴露到本地的 1080 端口,针对 Linux 的透明代理暴露在 8848 端口。

server:
  http:
    addr: ":8080"
  socks5:
    addr: ":1080"
  tproxy:
    addr: ":8848"
backends:
  - addr: 192.168.100.254:1086
    check_config:
      check_url: https://www.google.com/robots.txt
      initial_alive: true
      timeout: 3
  - addr: 10.1.0.254:1086
    check_config:
      check_url: https://www.google.com/robots.txt
      initial_alive: false
      timeout: 30
  - addr: 172.16.100.254:1086
    check_config:
      check_url: https://www.google.com/robots.txt
      initial_alive: true
      timeout: 3

通过如下 docker-compose 配置即可进行启动:

version: "3"
services:
  socks5lb:
    image: ghcr.io/mingcheng/socks5lb:latest
    restart: always
    dns:
      - 8.8.8.8
      - 8.8.4.4
    environment:
      TZ: "Asia/Shanghai"
      CHECK_TIME_INTERVAL: 3600
    network_mode: "host"
    privileged: true
    volumes:
      - ./socks5lb.yml:/etc/socks5lb.yml:ro

启动后有 Web 管理界面对代理服务节点进行管理。

更多项目详情请查看如下链接。

开源项目地址:https://github.com/mingcheng/socks5lb

开源项目作者:mingcheng

以下是参与项目建设的所有成员:

关注我们,一起探索有意思的开源项目。


更多精彩请扫码关注如下公众号。

Written on January 29, 2023