当我们做以下业务的时候,可能会需要大量代理IP:
HTTP CC/DDOS网站爬虫,突破反爬基于IP判断用户的投票系统,刷票玩pixelcanvas类型的像素画网站,用IP判断不同用户的……互联网上免费代理IP的网站很多,自建代理IP池的方法也很多。比如下面这个项目:
constverum/ProxyBroker
包括国内也有一些类似的项目。
但这些方式都有缺点,比如代理IP稳定性不可靠,需要后期二次手动校验;国外代理国内访问有困难;匿名性没有很好的保证等等。
今天介绍一种我摸索出来的方法,利用v2ray+Tor自建代理IP池。你需要有一台自己的VPS。
1. 在VPS上安装Tor命令行版本debian/ubuntu可以运行命令:
1apt install -y tor安装好后,用nano或其他编辑器编辑/etc/tor/torrc,进行如下编辑(部分配置项):
1 2 3 4 5 6 7 8 910111213141516SOCKSPort 38801 #这里开启多个tor端口,对于tor来说,每个端口会使用不同的链路,也就是不同的代理IPSOCKSPort 38802SOCKSPort 38803SOCKSPort 38804SOCKSPort 38805SOCKSPort 38806SOCKSPort 38807SOCKSPort 38808SOCKSPort 38809SOCKSPort 38810SOCKSPolicy accept 127.0.0.1 #为了安全性,只允许localhost访问tor的端口SOCKSPolicy reject *NewCircuitPeriod 30 #对于每个端口来说,每30秒重新创建一个新链路,也就是换一个新IPCircuitBuildTimeout 10 #对于新建每个链路的过程来说,建立程序超过10秒则直接放弃,保障了连接到线路的质量2. 在VPS上配置v2ray桥接到tor端口请参考v2ray的官方文档,这里outbounds部分配置如下:
1 2 3 4 5 6 7 8 9101112131415161718192023"outbounds": [{...(此处省略){"protocol": "socks","settings": {"servers": [{"address": "127.0.0.1","port": 38801},{"address": "127.0.0.1","port": 38802},...(此处省略){"address": "127.0.0.1","port": 38810}]},"tag": "my-tor"}]outbounds中配置了一个tag为my-tor的socks出口,其中加入刚才tor开的一堆端口。v2ray会以轮询的方式使用每个端口,这样就可以做到每个连接都用不同的IP。
routing部分配置如下:
1 2 3 4 5 6 7 8 910"routing": {"rules": [{{"inboundTag": ["websocket-over-https"],"network": "tcp","outboundTag": "my-tor", #需要和上面outbound的tag名字一样"type": "field"}]}然后自行配置一个inbound(这里不列出),我这里的配置是websocket-over-https。关于如何配置inbound,可以参考v2ray白话文教程。也可以使用v2-ui。
3. 本地连接v2ray,测试可用性本地我使用v2rayN连接VPS的v2ray,开启本地端口是10808。
我使用以下脚本进行测试:
12345678#!/bin/bashn=0while [ $n -lt 80 ]; doecho "${n}:"curl -x socks5://127.0.0.1:10808 ifconfig.me #curl -x是指定代理方式连接,ifconfig.me是一个查询外网IP的网站echo ""n=$((n+1))done这样就完成了。你可以增加tor开放socks端口的数量,也可以缩小NewCircuitPeriod的数值,做到尽可能的每次访问都用一个全新的IP。
4. 其他贴士4.1. VPS连v2ray速度太慢了?尝试给选用基于HTTPS的v2ray inbound协议,套一层Cloudflare CDN。使用better-cloudflare-ip这个项目自选最快的cf节点。
4.2. 如何进行HTTP CC/DDOS攻击?由于v2rayN开放的本地端口是socks协议,而很多CC/DDOS软件只支持HTTP代理。那么可以安装一个proxifier,把相应软件的流量强行导向v2rayN开放的本地socks端口。
4.3. 有什么优点?IP几乎是无限的、并且是高可用的匿名性非常高4.4. 有什么缺点?有些网站禁止tor节点的IP访问速度不如国内的代理IP快请仔细查看你VPS提供商的ToS,需要不禁止你在机子上跑tor