喂饭教程之基于auto-proxy-pool搭建动态ip代理池(青龙适用)

一 搭建容器

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 2233:8080  \
-v /root/auto-proxy-pool:/run/data \
--privileged=true \
mzzsfy/auto-proxy-pool:latest

二 运行容器

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: 1 #保留几个上游
    checkTimeout: 2s #单个check超时时间
    checkRetryWait: 500ms #重试check前等待时间
    requestInterval: 1000ms #请求时间间隔,在这个时间内只会请求一次api

4.(可选)多个上游代理ip则使用以下配置覆盖即可(多上游方式)

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以此类推

三 填写配置文件中的"apiUrl",严格按照配置文件中的注释填写(格式:txt,换行\n,提取1个)以下3个代理池都可以使用免费签到使用

巨量网络代理(每天1000个免费ip):点此直达

携趣代理(每天1000个免费ip):点此直达

星空代理(需要签到兑换,有自动签到脚本):点此直达

ps 若您的主机为家宽,ip地址经常变更,推荐使用携趣代理可以免费使用api的形式添加ip白名单(详情看官网文档)

注册任意代理后按要要求生成API,填写在配置文件的"apiUrl"后面即可
在这里插入图片描述

配置文件填写完成后保存!!!

五 重启auto-proxy-pool并查看日志

1.重启

docker restart auto-proxy-pool

2.查看日志

docker logs -f --tail 50 auto-proxy-pool

3.运行正常则会如下图所示
在这里插入图片描述

给青龙配置代理

1.打开青龙的配置文件
2.添加如下代码(代理词格式为http://ip:2233)

export JD_PROXY_OPEN='true'
export JD_PROXY_TUNNRL='http://172.17.0.1:2233'
export DP_POOL='http://172.17.0.1:2233'

六 另外, 有些是家庭宽带的友友由于IP会经常变化, 所以我手搓了一个自动添加IP到代理网站的代码, 效果如下, 需要可以扫码关注回复"白名单"获取脚本。

1716427006511.png
1716427714874.png

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐