赞
踩
全自动代理池,镜像mzzsfy/auto-proxy-pool,将多个api代理池或者固定上游转化为透明代理池,多规则控制请求上游,也支持请求拦截、修改请求等功能。降低因为使用同一个ip导致活动火爆黑号的概率
QQ群:570499950
用户注册 - 巨量IP代理(每天免费1000)
代理ip-http代理_高质量代理ip-星空代理(新用户送好像是送1000,每天签到可以免费兑换)
短效代理_防封_动态_爬虫IP_api代理【优亦云】(每天免费500)
ip代理_长短效动静态ip代理_优质高速在线ip代理_携趣网络代理ip服务商(每天免费1000)
先去这几个免费的注册个账号,当然用收费的更好
直接复制这个命令粘贴运行即可
mkdir -p /root/proxypool && cd /root/proxypool && docker run -itd -v "$(pwd)":/run/data -p 8899:8080 --restart=always --name=auto-proxy-pool mzzsfy/auto-proxy-pool
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -c --run-once auto-proxy-pool
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
3.打开proxy.yml这个刚才复制的空文件,把下边的内容粘贴进去(选一个就行)
仅京东请求生效(单个上游)
- changeRequest:
- - hostRegex: (.+\.jd\.com)|(.+\.isvjd\.com)|(.+\.isvjcloud\.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: 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
仅京东生效(多上游,多个api代理轮换使用)
- 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,提取1个
- checkRetryNumber: 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,提取1个
- checkRetryNumber: 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

以上为两个上游代理,多加一个代理池proxy: proxy1,proxy2,proxy3以此类推
全部请求生效
- defaultCheckUrl: http://baidu.com/,http://connect.rom.miui.com/generate_204 #检测代理是否有效的url
- changeRequest:
- - hostRegex: .+\.xxx\.com #正则表达式
- proxy: proxy
- - hostRegex: .+.xxx\.com #正常使用只用上方一条规则,本行和以下内容可删除
- proxy: noproxy #自定义名称里没有则不用代理
- - hostRegex: (.+\.xxx\.com)|(.*xxx\.com) #匹配多个
- proxy: proxy
- - hostRegex: .* #匹配全部
- proxy: proxy #本行和以上内容可删除
- upstream:
- proxy: #自定义名字
- template: '{{$x := regexFindAll "\\d{1,3}(\\.\\d{1,3}){3}:\\d{2,5}" . -1}}{{range $s := $x}}{{printf "http://%s\n" $s}}{{end}}'
- apiUrl: 这里是填写api地址,txt换行(带有\n字样)格式的
- lifecycle: 20 #提取后主动过期时间,-1不主动过期,只定期检测
- maxSize: 1 #同时维护几个有效ip
- requestInterval: 100ms #请求api间隔,避免请求太快服务器拉黑

4.配置api代理,以携趣为例其他家的都差不多 (提取数量1 TXT格式 换行符/n http代理协议)
设置完之后复制链接粘贴在 apiUrl: 后面加个空格在填链接
填完之后重启
docker restart auto-proxy-pool
查看日志
docker logs -f --tail 50 auto-proxy-pool
正常运行图
成功后删除 proxy.template.yml这个文件即可
.1.打开青龙的配置文件
2.添加以下变量即可(基本涵盖大部分脚本的变量),代理池地址 http://ip:8899
- export JD_PROXY_TUNNRL='你的代理池地址
- export OPENCARD_GLOBAL_AGENT_HTTP_PROXY_URL='你的代理池地址'
- export JD_YQ_GLOBAL_AGENT_HTTP_PROXY_URL='你的代理池地址'
- export DP_POOL='你的代理池地址'
- export JD_ISV_GLOBAL_PROXY="true"
- export GLOBAL_AGENT_HTTP_PROXY="你的代理池地址"
- export RS_PROXY_OPEN="true"
- export RS_PROXY_TUNNRL="你的代理池地址"
以上配置后就大功告成了,以下内容可以忽略
- proxies = {"http":"http://ip:port","https":"http://ip:port"}
- requests.get(url,proxies=proxies)
我们只需要在青龙的config.sh文件添加http_proxy、https_proxy环境变量即可:
- //仅支持http代理
- export GLOBAL_AGENT_HTTP_PROXY="http://ip:port"
- //支持http和https代理
- export GLOBAL_AGENT_HTTPS_PROXY="http://ip:port"
JavaScript脚本并不像Python那样默认使用系统代理变量,如果需要使用代理进行请求,那只能在代码中设置。
nodejs中安装global-agent依赖
在需要用代理的js脚本开头加入一行代码:
- require('global-agent/bootstrap');
-
- global.GLOBAL_AGENT.HTTP_PROXY="http://ip:port";
我们只需要在青龙的config.sh文件添加GLOBAL_AGENT_HTTP_PROXY、GLOBAL_AGENT_HTTPS_PROXY环境变量即可:
- //仅支持http代理
- export GLOBAL_AGENT_HTTP_PROXY="http://ip:port"
- //支持http和https代理
- export GLOBAL_AGENT_HTTPS_PROXY="http://ip:port"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。