搭建ADSL自动拨号高匿代理池

搭建ADSL自动拨号高匿代理池

adsl这种服务器网上有很多, 各位自己选择一个服务商购买就行.

搭建服务器环境: centos7 64位

首先购买后,连上服务器先进行拨号, 我这里的拨号命令是

pppoe-start

拨号完毕后, 先安装squid

yum install squid -y

之后编辑squid的配置文件

vi /etc/squid/squid.conf

用户名密码配置 在http_access deny all之前加上

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd

acl auth_user proxy_auth REQUIRED

http_access allow auth_user

修改默认的端口号 默认的端口号为3128

http_port 3128

文件最后加上高匿代理的配置

request_header_access X-Forwarded-For deny all

request_header_access From deny all

request_header_access Via deny all

之后安装htpasswd

yum -y install httpd-tools

配置用户名 密码

htpasswd -c /etc/squid/passwd 用户名

重启squid

service squid restart

将squid设置为开机自启

systemctl enable squid

防火墙开启squid的端口

firewall-cmd --zone=public --add-port=端口/tcp --permanent

重启防火墙 使配置生效

firewall-cmd --reload

装好之后可以写个python脚本测试一下是否可用

import requests

proxies = {
'http': 'http://刚设置的用户名:密码@代理服务器的ip:设置的端口号',
'https': 'https://刚设置的用户名:密码@代理服务器的ip:设置的端口号'
}

response = requests.get('http://httpbin.org/get', proxies=proxies)
print(response.text)

这里有一个python3在centos服务器上自动安装的脚本 忘记是在哪里搜到的 如果看到了可以告知我 我把链接附在下面
这个脚本直接上传到centos服务器 用自带的python执行就行

#coding=utf-8
import subprocess
import os,sys
def exe_cmd(cmd):
    p = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    while True:
        next_line = p.stdout.readline()
        return_line = next_line.decode("utf-8", "ignore")
        if return_line == '' and p.poll() != None:
            break
        print(return_line)
    stdout, stderr = p.communicate()
    if p.returncode != 0:
        return False
    return True
 
def main():
    print ("python 3.7.2 一键安装开始!")
    backinfo = exe_cmd('ping -c 1 -w 1 www.baidu.com')
    if backinfo == False:
        print ("网络检测失败程序退出,请重新检测网络环境!")
        sys.exit()
    print ("网络连接正常!")
    yum_jc = exe_cmd('yum list')
    if yum_jc == False:
        print ("yum 不可用,请先手动配置yum安装!")
        sys.exit()
    print ('yum安装检测可用!')
 
    exe_cmd("yum install gcc -y")
    exe_cmd("yum install openssl-devel bizp2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel -y")
    exe_cmd("wget http://npm.taobao.org/mirrors/python/3.7.2/Python-3.7.2.tgz")
    exe_cmd("tar -zxvf Python-3.7.2.tgz")
    exe_cmd("mv Python-3.7.2 /usr/local/")
    exe_cmd("rm -rf Python-3.7.2.tgz")
    os.chdir('/usr/local/Python-3.7.2')
    exe_cmd("./configure")
    exe_cmd("make")
    exe_cmd("make install")
    print ("程序执行完成!输入python3 查看效果。")
 
 
 
 
if __name__ == '__main__':
    main()

成功之后可以自己在服务器上写一个脚本自动拨号 之后将拨号成功的脚本发送至服务器,或者存到远程服务器的redis
这里说一下 如果是存到远程服务器的redis,每次拨号完程序redis连接会断开,需要重连一下redis

或者说可以用现成大佬们写好的 这里贴上崔大的github链接

https://github.com/Python3WebSpider/AdslProxy

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个比较复杂的任务,需要用到不少Python库和一些系统命令,我会尽量详细地解释。首先,你需要安装以下库: - requests:用于发送HTTP请求和处理响应。 - openpyxl:用于读取Excel文件。 - subprocess:用于执行系统命令。 - time:用于等待一定时间。 接下来,我们来一步一步实现你的要求。 ## 切换网卡的MAC地址 在Windows系统下,可以使用以下命令来修改网卡的MAC地址: ``` netsh interface set interface "网卡名称" newMAC地址 ``` 其中,“网卡名称”是你要修改的网卡的名称,可以在“控制面板”-“网络和共享中心”-“更改适配器设置”中找到;“newMAC地址”是你要设置的新MAC地址。你可以在Python中使用subprocess库来执行这个命令,例如: ```python import subprocess # 修改网卡名称为“本地连接”的MAC地址为“00-11-22-33-44-55” subprocess.call('netsh interface set interface "本地连接" 00-11-22-33-44-55', shell=True) ``` ## 从Excel导入宽带账号和密码 假设你的Excel文件名为“accounts.xlsx”,账号和密码分别在第1列和第2列,第1行为表头,那么你可以这样读取数据: ```python from openpyxl import load_workbook # 加载Excel文件 workbook = load_workbook('accounts.xlsx') # 选择第一个工作表 sheet = workbook.active # 读取所有行的账号和密码 accounts = [] for row in sheet.iter_rows(min_row=2, values_only=True): accounts.append((row[0], row[1])) ``` 这里使用了openpyxl库来读取Excel文件,可以通过`load_workbook`函数加载文件,然后使用`active`属性选择第一个工作表。`iter_rows`方法可以按行迭代,`min_row`参数表示从第几行开始读取,`values_only`参数表示只读取单元格的值而不读取格式等信息。 ## 进行自动拨号 可以使用requests库发送POST请求来模拟拨号操作。具体操作步骤可以通过浏览器的开发者工具来分析,这里以“电信宽带拨号助手”为例: ```python import requests # 模拟浏览器登录 s = requests.Session() s.get('http://web.home.189.cn/autoLogin.do') s.get('http://www.189.cn/dqmh/userCenter/userinfo.do') # 获取拨号页面的URL response = s.get('http://www.189.cn/dqmh/ssoLink.do?method=linkTo&platNo=10024&toStUrl=http://www.189.cn/dqmh/ssoLogin.do?method=linkTo&platNo=10024&toStUrl=http://www.189.cn/webportal-wt/nportal/login') url = response.url # 提取拨号页面的参数 params = {} for i in url.split('?')[1].split('&'): k, v = i.split('=') params[k] = v # 构造POST请求的数据 data = { 'mobilenum': account[0], 'account': account[0], 'password': account[1], 'validatecode': '', 'perpetual': 'on', 'submitbt': '立即登录', 'backurl': '', 'backurl2': '', 'loginType': '12', 'state': 'undefined', 'wxUrl': '' } # 发送POST请求 response = s.post('http://www.189.cn/dqmh/ssoLogin.do', data=data, params=params) ``` 这里使用Session来模拟登录,首先访问一个地址来获取cookies,然后访问用户中心页面来获取更多cookies和参数。接着,访问拨号页面,提取页面URL中的参数,并构造POST请求的数据,最后发送POST请求即可。 ## 跑300M流量 可以使用time库来等待一定时间,例如: ```python import time # 等待10分钟 time.sleep(10 * 60) ``` 这里等待10分钟,单位是秒。你可以根据需要调整等待时间。 至此,我们完成了你的所有要求。不过,我还需要提醒你,这个程序只是一个简单的示例,实际使用时可能会遇到很多问题,例如登录需要验证码、拨号失败等等。你需要根据具体情况来进行修改和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值