1.创建在root文件夹下创建一个文件夹auto-proxy-pool
2.然后cd到文件夹目录 cd /root/auto-proxy-pool
3.然后运行下面代码
docker run -dit \
–name auto-proxy-pool \
–network bridge \
–restart always \
-p 12580:8080 \
-v /root/auto-proxy-pool:/run/data \
–privileged=true \
mzzsfy/auto-proxy-pool:latest
打开 /root/auto-proxy-pool/proxy.yml清空文件输入以下代码
##################################
配置中带有default前缀的都能被覆盖 #
##################################
!!!!!!!!!!请将本文件改名为proxy.yml,本文件每次重启都会被覆盖!!!!!!!!!!
!!!!!!!!!!请将本文件改名为proxy.yml,本文件每次重启都会被覆盖!!!!!!!!!!
!!!!!!!!!!请将本文件改名为proxy.yml,本文件每次重启都会被覆盖!!!!!!!!!!
!!!!!!!!!!请将本文件改名为proxy.yml,本文件每次重启都会被覆盖!!!!!!!!!!
注意:”空格#”为注释,所有要启用的功能只需要删除’#’号,不要随意删除空格!
提取代理失败后策略: DIRECT(直连) REJECT(拒绝) PROXY#http://ip:port(固定代理)
defaultFailBack: DIRECT
config:
enableHttpIndexHtml: false #是否启用http首页自动跳转到html,关闭后首页与/help/proxy功能一致
logIpDesensitization: true #日志ip脱敏
dataCopyMode: 1 #可选e: 1,2 底层实现不一样
精细化日志等级,详细程度 trace>debug>info>warne>error>fatal
log:
pool: info #代理池,主要日志
pool.proxy.data: warn #传输日志,一般不要开太低
root: info #全局日志控制,一般不用改
pool.proxy.peek: trace #选取上游日志
pool.proxy: debug #代理池,代理日志
connect.peek: debug #收到请求,并发日志
connect.over: debug #请求处理完成
pool.pool.pull: warn #代理池,拉取代理日志
设置本代理池的密码
users:
admin: admin1
核心配置
changeRequest:
# 支持多项,从上到下匹配
# 匹配host的正则
- hostRegex: (.+.jd.com)|(.+.isvjd.com)|(.+.isvjcloud.com)
#使用哪一个代理,这样写会尝试按顺序从proxy1取2次,然后去proxy2取一次,按最先取到有效计算
proxy: xiequ1
loadBalanceInterval: 10 #每正常10个请求更换一次proxy
#是否放行,true直接屏蔽该请求
black: false
#拒绝指定host - hostRegex: .+.gov
black: true
upstream:
xiequ1:
#请求url,只能为get请求,要求返回为文本格式,每行一个ip:port,建议每次返回maxSize一半的数量
apiUrl: 地址
#获取到的上游多久后失效,兼容格式 30s,20s100ms,0或者负数不自动生效,建议30秒过期设置25秒,1分钟过期设置55秒
lifecycle: 25
#代理使用一段时间后,在当前代理不过期的情况下主动去获取新的代理,合理设置请求更顺畅
proactive: 20s
#请求api最低间隔,防止被封
requestInterval: 2000ms
#多上游时,每个上游的消耗权重,默认1,越大使用越少
#loadBalanceMultiple: 2
#优先级分组,默认0,组内部全fail状态才尝试下一组,提取代理时从小到大依次尝试,多上游可用
groupIndex: 1
#提取失败后,多久内标记为不可用,格式 1h30m1s,2h,30m,10s 默认: 10m
#failSleep: 2h
#连续提取失败几次后标记为不可用,默认: 3
#failThreshold: 3
#保留几个上游,也就是代理池保留的坑位
maxSize: 2
—————————————————————————————————————
保存
IP:12580
配置管理
输入/root/auto-proxy-pool/admin.password中的账号密码
匹配规则
0
匹配规则中输入.+ (全部允许) 保存重启