一、前言
感谢大佬提供的docker代理池
二、正文
使用docker搭建,没装docker请看这里安装
1.运行代理池docker
mkdir -p /root/auto_proxy_pool && cd /root/auto_proxy_pool
防火墙记得开放对应的端口
docker run -dit \ --name auto_proxy_pool \ --network bridge \ --restart always \ -p 8080(可自行修改):8080 \ -v /root/auto_proxy_pool:/run/data \ --privileged=true \ mzzsfy/auto-proxy-pool:latest
更新命令-最新更新设置check重试机制(具体看配置),消耗代理次数慢很多
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -c --run-once 容器名
运行后会生成proxy.template.yml文件(该文件每次重启都会被覆盖) 将文件改名为proxy.yml,然后参考最简配置修改,需要重启服务
cp /root/auto_proxy_pool/proxy.template.yml /root/auto_proxy_pool/proxy.yml
2.配置proxy.yml文件 最简配置,直接覆盖原proxy.yml文件;.+.xxx.com 里面的xxx改成需要进行代理的域名比如jd,匹配多个使用|分割,例子:(.+.xxx.com)|(.+.xxx.com)
小白建议使用下方最简配置,高玩可查看proxy.template.yml文件自行配置
defaultCheckUrl: http://baidu.com/ #检测代理是否有效,不用改
changeRequest:
- hostRegex: .+\.jd\.com #正则表达式
proxy: proxy
upstream:
proxy: #自定义名字
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,提取1个
checkRetryNumber: 5 #检测代理次数,超过次数则获取新代理
apiRetryNumber: 10 #上游重试次数,超过次数则采用直连
lifecycle: -1 #自动失效时间,-1为不自动失效,单位秒
maxSize: 1 #保留几个上游
requestInterval: 100ms #请求时间间隔,在这个时间内只会请求一次api
到这里搭建完成,配置好IP代理API后记得重启容器 3.购买代理 api代理可以用 星空/携趣 代理自行选择 购买代理后生成api填写在proxy.yml文件的apiUrl
星空提取ip格式
白名单(必须添加)
携趣提取ip格式
白名单(必须添加)