感谢大佬提供的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
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格式
白名单(必须添加)