auto-proxy-pool这是一个请求自己部署的项目地址获取星空、携趣、巨量、熊猫代理池的代理地址,而且能通过最简JS调用让特定某个JD脚本使用代理运行。能够有效避免某一脚本在高并发环境下本地IP被拉黑导致无法正常请求的问题,这个项目可以同时设置多个代理池上游,能够有效利用各大代理平台所提供的免费额度。代理平台推荐星空代理支持自动设置白名单,代理可用性也还不错。携趣代理1000短效ip每日自动发放,需要配合脚本实现自动加白(针对家宽动态IP用户),固定IP的话可手动添加白名单巨量IP每日需要手动签到过验证码才能领取免费IP,其公众号无需滑动验证码,点击按钮即可星空有自动签到并兑换IP的脚本,这个以后再讲,Github搜的话也能搜到星空代理(最低8r/1wIP,签到星币免费兑ip)携趣网络(每日免费1000短效测试ip)巨量IP(每日签到1000ip)部署教程根目录终端执行以下命令
mkdir -p /root/proxypool && cd /root/proxypool继续执行docker容器创建命令(端口8899可自定义修改)
docker run -itd -v "$(pwd)":/run/data -p 8899:8080 --restart=always --name=auto-proxy-pool mzzsfy/auto-proxy-pool对于已安装可视化管理面板(宝塔面板、1Panel等)的,可以直接去编辑/root/proxypool/proxy.template.yml这个文件,先将其重命名为proxy.yml再编辑对于命令行用户可直接用vi命令在/root/proxypool/目录下创建proxy.yml并编辑
我的自用配置文件对于使用星空、携趣、巨量的,可直接套用,或者微调,各项参数说明后面可以看到。只需更改apiUrl即可,我这个配置默认先从星空、携趣请求代理,二者都失败(用完)后再从巨量提取,修改groupIndex后面的数字即可修改优先顺序,例如把第三个groupIndex后面的2改成1则同时使用以上三个代理。
此处内容需要评论回复后(审核通过)方可阅读。更改完成配置文件后需要重启容器
docker restart auto-proxy-pool部署完成效果展示
后台地址为http://你的项目地址/admin,密码为/root/proxypool/admin.password文件内容,状态地址为http://你的项目地址/admin/status
Docker容器日志项目后台管理项目状态监测
代理调用效果展示
容器日志脚本日志
配置文件解释在后台和默认配置文件都能看到各项说明#获取到的上游多久后失效,兼容格式 30s,20s100ms,0或者负数不自动失效(非长效不建议),建议30秒过期设置25秒,1分钟过期设置55秒
lifecycle: 27s#保留几个上游,也就是代理池保留的坑位
maxSize: 2#请求代理池提取API最低间隔,防止被封
requestInterval:1000ms#已请求到的代理使用50s后请求新的代理,与lifecycle配合使代理请求更合理
proactive:50s脚本调用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"这部分内容来自autMan论坛