glider–将机场节点变为爬虫代理池的神器
手里有大量的机场节点,由于渗透、攻防、爬虫等需要,想要把这些机场的ip作为代理池使用。这时候就需要一个上游代理把这些机场节点汇总在一起。
大家可能遇到过这样一种场景
glider 完全满足这类场景,而且可以定期对ip进行健康检测,自动轮询等功能,可作为系统服务稳定运行。glider 对于 trojan、v2ray、ss、ssr这几类常见的机场协议都是支持的,同时还支持很多其他的协议。
可参考:https://github.com/nadoo/glider#protocols
Protocol | Listen/TCP | Listen/UDP | Forward/TCP | Forward/UDP | Description |
---|---|---|---|---|---|
HTTP | √ | √ | client & server | ||
SOCKS5 | √ | √ | √ | √ | client & server |
SS | √ | √ | √ | √ | client & server |
Trojan | √ | √ | √ | √ | client & server |
VLESS | √ | √ | √ | √ | client & server |
VMess | √ | √ | client only | ||
SSR | √ | client only |
安装部署
https://github.com/nadoo/glider/releases
下载对应的版本进行安装。
wget https://github.com/nadoo/glider/releases/download/v0.16.0/glider_0.16.0_linux_amd64.tar.gz tar xvf glider_0.16.0_linux_amd64.tar.gz cd glider_0.16.0_linux_amd64/ cp config/examples/4.multiple_forwarders/glider.conf ./ cat glider.conf
配置机场订阅节点
我们通过glider提供的模板配置文件进行修改。
添加✈️机场订阅的节点。因为机场订阅内容通常是用base64编码过的,所以需要解码拿到原始的节点内容。
这里我用trojan的机场节点做演示。
curl -s http://你的机场订阅链接 | base64 -d | sed 's/^/forward=&/g'
将上面的节点内容放在配置文件中。
# Verbose mode, print logs verbose=True listen=:8443 # 机场节点放在这里 forward=trojan://password@domain forward=trojan://password@domain forward=trojan://password@domain # Round Robin mode: rr # High Availability mode: ha strategy=rr # forwarder health check check=http://www.msftconnecttest.com/connecttest.txt#expect=200 # check interval(seconds) checkinterval=3000
修改配置文件后运行
./glider -config ./glider.conf
最终效果如下:
直接将机场订阅节点转换为了爬虫代理池,每次访问自动轮询ip。
screen 后台运行 glider
要作为爬虫代理池肯定是要将其作为系统服务稳定运行。这里用screen后台运行,当然也可以写成service,用systemctl调用。
[root@zgao glider_0.16.0_linux_amd64]# screen -dmS glider ./glider -config ./glider.conf screen -ls screen -r glider
其他问题
vmess协议不识别?
用v2ray的机场订阅发现报错,查看官方源码发现,glider还不支持常规的base64内容。
需要改写成这种形式,大家可以自行批量转换。
节点内容报错?
通常是节点中的密码带有特殊字符,glider支持还不是很完善,把报错的节点删除掉即可。
限制公网访问
将代理直接暴露在公网很容易被扫到,所以可以直接用iptables限制指定ip访问该端口。
iptables -I INPUT -p tcp --dport 8443 -j DROP iptables -I INPUT -s 127.0.0.1 -p tcp --dport 8443 -j ACCEPT iptables -I INPUT -s your_ip -p tcp --dport 8443 -j ACCEPT赞赏
微信赞赏支付宝赞赏
5条评论