搭建 auto-proxy-pool 代理池ip+青龙面板配置

全自动代理池,镜像mzzsfy/auto-proxy-pool,将多个api代理池或者固定上游转化为透明代理池,多规则控制请求上游,也支持请求拦截、修改请求等功能。降低因为使用同一个ip导致活动火爆黑号的概率

嫌麻烦的可以直接上车:Rabbit  备用:专业版

QQ群:570499950

一.免费代理推荐

用户注册 - 巨量IP代理(每天免费1000)

代理ip-http代理_高质量代理ip-星空代理(新用户送好像是送1000,每天签到可以免费兑换)

短效代理_防封_动态_爬虫IP_api代理【优亦云】(每天免费500)

ip代理_长短效动静态ip代理_优质高速在线ip代理_携趣网络代理ip服务商(每天免费1000)

先去这几个免费的注册个账号,当然用收费的更好 

二.dockers创建auto-proxy-pool容器 

直接复制这个命令粘贴运行即可

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="你的代理池地址"

 

以上配置后就大功告成了,以下内容可以忽略


 Python设置代理

局部代理

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设置代理

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"

 

 

  • 25
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哆啦做噩梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值