auto-proxy-pool搭建动态ip代理池

avatar

前期准备

  1. 云服务器/本地
  2. docker环境

安装容器auto-proxy-pool

1.创建在root文件夹下创建一个文件夹auto-proxy-pool

2.然后cd到文件夹目录 cd /root/auto-proxy-pool

3.然后运行下面代码

docker run -dit \
--name auto-proxy-pool  \
--network bridge  \
--restart always  \
-p 2233:8080  \
-v /root/auto-proxy-pool:/run/data \
--privileged=true \
mzzsfy/auto-proxy-pool:latest

运行容器

  1. 运行成功后会在/root/auto-proxy-pool/文件夹生成proxy.template.yml这个默认配置文件
  2. 复制一份并重命名为proxy.yml

cp /root/auto-proxy-pool/proxy.template.yml /root/auto-proxy-pool/proxy.yml
  1. 可使用多个代理的方式
changeRequest:
  - hostRegex: (.+\.jd\.com)|(.+\.isvjd\.com)|(.+\.isvjcloud\.com) #正则表达式
    proxy: proxy1,proxy2
upstream:
  proxy1: #自定义名字
    template: '{{$x := regexFindAll "\\d{1,3}(\\.\\d{1,3}){3}:\\d{2,5}" . -1}}{{range $s := $x}}{{printf "http://%s" $s}}{{end}}'
    apiUrl: #这里是填写代理api地址,格式:txt,换行\n,提取1checkRetryNumber: 2 #检测代理次数,超过次数则获取新代理
    apiRetryNumber: 5 #上游重试次数,超过次数则采用直连
    checkUrl: http://jd.com/,http://baidu.com/,http://bilibili.com/ #检测代理是否有效,不用改
    lifecycle: -1 #自动失效时间,-1为不自动失效,单位秒
    maxSize: 5 #保留几个上游
    checkTimeout: 2s #单个check超时时间
    checkRetryWait: 500ms #重试check前等待时间
    requestInterval: 1000ms #请求时间间隔,在这个时间内只会请求一次api
  proxy2: #自定义名字
    template: '{{$x := regexFindAll "\\d{1,3}(\\.\\d{1,3}){3}:\\d{2,5}" . -1}}{{range $s := $x}}{{printf "http://%s" $s}}{{end}}'
    apiUrl: #这里是填写代理api地址,格式:txt,换行\n,提取1checkRetryNumber: 2 #检测代理次数,超过次数则获取新代理
    apiRetryNumber: 5 #上游重试次数,超过次数则采用直连
    checkUrl: http://jd.com/,http://baidu.com/,http://bilibili.com/ #检测代理是否有效,不用改
    lifecycle: -1 #自动失效时间,-1为不自动失效,单位秒
    maxSize: 1 #保留几个上游
    checkTimeout: 2s #单个check超时时间
    checkRetryWait: 500ms #重试check前等待时间
    requestInterval: 1000ms #请求时间间隔,在这个时间内只会请求一次api

上游代理

目前使用的,每天微信公众号签到就行,可以多申请几个保证稳定 巨量网络代理(每天1000个免费ip)

  1. 生成API调用链接,默认就行,主要关注返回格式,分割

image.png

重启auto-proxy-pool并查看日志

1.重启

docker restart auto-proxy-pool

1

2.查看日志

docker logs -f --tail 50 auto-proxy-pool

image.png

应用场景

欢迎大家补充