今天给各位分享构建可靠的动态ADSL VPS IP代理池服务的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
HTTP代理服务器:TinyProxy
二、介绍
什么是ADSL以及为什么我们使用ADSL拨号VPS服务器来构建IP代理池? ADSL是DSL技术的一种,全称是非对称数字用户线路(Asymmetry Digital Subscriber Line),也可以称为非对称数字用户环路。它是一种新的数据传输方式。 ADSL技术提供不对称的上下行带宽,因此被称为非对称数字用户线。
我们平时看到的VPS或者云服务器的IP地址通常是固定的,主要用于网站建设。动态IP拨号服务器主要用来改变IP,也可以直接在服务器上部署服务,比较方便,但是不能用来搭建网站,这是两者最大的区别。
ADSL拨号服务器也称为动态拨号VPS、动态IP VPS或拨号VPS,主要是与常见的固定IP VPS服务器相比。 ADSL拨号服务器可以实现在VPS服务器上更改IP的功能。拨打一次号码,更换一次IP,从而实现不断更换IP的功能,如在爬虫采集、网络营销、大数据分析、软件挂机、抢票闪购等方面,广泛应用于各个领域。
实现思路
三、设置代理服务器
这里我们使用TinyProxy来搭建我们的代理服务器
安装TinyProxyyum install -y epel-release
百胜更新-y
如果无法下载yum install -y tinyproxy,请先拨号。不同的服务提供商可能有不同的拨号命令。我这里使用pppoe-start。
配置TinyProxy
安装完成后,需要配置TinyProxy才可以用作代理服务器。您需要编辑配置文件。它的一般路径是/etc/tinyproxy/tinyproxy.conf来配置端口号。默认端口号为8888。端口8888 配置运行连接的主机。
如果希望任何主机都能连接,直接注释即可,所以这里我们选择直接注释,即任何主机都可以使用该主机作为代理服务器。 # 允许127.0.0.1重启服务servicetinyproxy启动验证代理服务器
在这里我们测试我们的代理。我使用在线代理检测网站。
image.png 当然,你也可以使用requests库或者直接使用Linux的curl命令。
四、整体实现
整体流程大致如下:
image.png
客户端:
项目结构
1、pppoe.sh拨号脚本,主要实现重拨的几个命令。
2、request.sh是请求服务器的脚本。主要实现拨号后请求服务器的操作。
3.request.conf配置文件。
4、request.Log日志文件需要注意的是我们每台VPS服务器都需要设置代理服务。如果VPS服务器太多,我们可以编写脚本来自动安装和配置。
请求配置文件
这里配置我们脚本的KEY和服务器地址KEY=godei
SERVER=http://45.76.212.133/recordKEY相当于访问服务器的凭据。如果KEY值不一致,也不会无法访问服务器。 SERVER 是我们服务器的地址。当请求该地址时,服务器会记录并保存客户端的IP到Redis数据库中。
pppoe.sh
我们使用这个脚本来拨号。不同的VPS拨号服务器提供商有不同的拨号命令。我使用pppoe-start来拨号。 # 配置shell目录的环境变量。
路径=$PATH:/客户端/
导出路径
#拨号命令
pppoe 停止
pppoe 启动
pppoe-status 记得配置前两行环境变量,配置拨号命令所在目录,防止脚本运行。
请求.sh
我们使用这个shell 来读取配置文件、调用拨号脚本以及向服务器发送请求#!/bin/bash
# 检查执行脚本时是否传入参数
如果[ "$#" !=1 ];那么
echo "参数错误;请传入您的配置文件的路径。"
出口0
菲
键=""
服务器=""
DIR="$( cd "$( 目录名"${BASH_SOURCE[0]}" )" pwd )"
# 读取配置文件信息
加载配置(){
cfg=$1;
内容=`猫${cfg}`;
KEY=`echo "${content}" |grep "KEY"| sed "s/^KEY=["](.*)["]/1/"`;
SERVER=`echo "${content}" |grep "SERVER"| sed "s/^SERVER=["](.*)["]/1/"`;
密钥=${KEY:4}
服务器=${SERVER:7}
}
# 重拨
更改代理(){
。 $DIR/pppoe.sh
}
# 发送请求
发送请求(){
回显$SERVER/$KEY;
卷曲$SERVER/$KEY;
}
主要的() {
加载配置$1
更改代理
发送请求
}
主要1 美元计划安排和日志记录
这里我们使用crontab来实现定时任务的调度# 设置定时任务
crontab -e
# 输入crontab实例命令,每两分钟执行一次。请注意,这种写入方法的最小间隔是分钟。
*/2 * * * * /client/request.sh /client/request.conf /client/request.log 第一个*/2 每隔2分钟执行一次,后面是你需要执行的shell路径以及shell的参数执行所需的信息最终输出到日志中进行记录。
如果需要按秒执行,可以参考这里CentOS定时任务执行crontab按秒。
服务端
代理IP存储在服务器上的Redis数据库中,所以我们需要在我们的服务器上安装Redis数据库
安装
百胜安装redis
# 启动服务
systemctl启动redis项目结构
image.png1、config.py配置文件
2.db.py数据库文件
3. main.py Flask主程序提供了两个接口,一是接收客户端请求然后保存IP,二是获取当前保存的IP
config.py 配置文件
1. KEY是客户端请求服务器时使用的凭证。客户端的request.conf也有相同的配置。只要保持两者一致即可。
2、NEED_AUTH 在获取当前保存的IP(即代理的IP)时,为了防止自己的主机代理被滥用,需要在获取IP时添加权限验证。
3. AUTH_USER和AUTH_PASSWORD分别是认证用户名和密码。
4. PORT 默认端口。返回的保存结果中会自动添加该端口,形成IP:PORT的代理形式。注意默认是8888,需要使用Squid或者TinyProxy来配置代理。端口是8888。这里的8888端口是默认拨号VPS代理端口。这样的配置保证了输出结果自动拼接到端口上。
5.Redis相关配置
6. TEST_URL: 验证代理是否可用的URL; TEST_CYCLE:验证代理的时间间隔
db.py 数据库文件
定义一个Redis类并实现一些Redis操作方法
【构建可靠的动态ADSL VPS IP代理池服务】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
动态ADSL拨号的VPS服务器?听起来还挺酷的技术啊!
有18位网友表示赞同!
搭建稳定的IP代理池,是不是在解决某些网站访问限制的问题呢?
有13位网友表示赞同!
这个方法可以提供多个不同的IP地址吗?
有10位网友表示赞同!
这种方式收费怎么样?跟其他的代理池相比,性价比如何?
有18位网友表示赞同!
动态ADSL拨号的速度够快吗?会不会影响使用体验?
有15位网友表示赞同!
搭建过程比较复杂吗?需要什么技术基础才能完成?
有16位网友表示赞同!
这个类型的IP代理池有什么优缺点呢?
有9位网友表示赞同!
用VPS服务器搭建,安全性怎么样?会不会被黑客攻击?
有6位网友表示赞同!
这种IP代理池适合哪些场景使用呢?比如游戏、访问海外网站等等?
有13位网友表示赞同!
有没有现成的套件可以快速完成搭建?避免麻烦了。
有7位网友表示赞同!
动态ADSL拨号的服务器稳定性怎么样?会不会经常断线?
有10位网友表示赞同!
这个代理池能支持哪些协议?比如HTTP,Socks5等?
有14位网友表示赞同!
使用过程中有什么需要注意的地方吗?
有17位网友表示赞同!
这种IP代理池相比虚拟专用网 (VPN) 有什么区别呢?
有6位网友表示赞同!
搭建好后如何管理这个代理池,比如添加删除IP地址?
有14位网友表示赞同!
有没有相关的教程可以参考学习搭建?
有8位网友表示赞同!
这个方法是否符合法律规定?会不会有什么风险?
有9位网友表示赞同!
使用动态ADSL的代理池会不会被网站封锁?
有6位网友表示赞同!
这个方法对普通人来说操作难度大吗?
有7位网友表示赞同!
有没有其他的更简单方便搭建IP代理池的方法?
有8位网友表示赞同!