雨滴科技yudear.com

使用家用宽带搭建ADSL拨号服务器,获取无限代理ip

1,需要准备材料,公网服务器一台这里设为S主机,可宽带拨号上网的家用电脑一台主机这里设为C主机,域名一个并解析到S主机。我这里是公网主机是centos,家用电脑win8

注意现在的光猫一般都是路由模式,不会给你开桥接模式让你拨号的,这个需要用超级管理员密码自己改,或者找宽带维修师傅给改,或者某宝搜光猫改桥接。像我的配置是这样的,我这的维修师傅不会改,自己找教程弄了好久。。。。

2,frp服务端配置

frp下载 :https://github.com/fatedier/frp/releases

然后找到跟你自己系统匹配的版本下载下来。然后在S主机上配置frps的frps.ini

我的配置如下

———————————-分割线———————————–

[common]

bind_addr =0.0.0.0

bind_port =8100

#这个8300是映射内网http服务的

vhost_http_port = 8300

subdomain_host =http://example.com

#下面这个才是http代理配置

[http_proxy]

type = tcp

remote_port =8200

plugin = http_proxy

———————————-分割线———————————–

注意点:

subdomain_host替换成你自己解析到主机S的域名就行

还有就是这些端口在防火墙要配置可以进流量,我是直接在阿里云控制台配置的,然后把主机S自带的防火墙关了

然后执行./frps -c frps.ini 这样就好了

3,客户端C的配置

———————————-分割线———————————–

[common]

#这个server_addr填公网主机S的ip地址

server_addr =*.*.99.218

server_port = 8100

[http_proxy]

type = tcp

remote_port =8200

plugin = http_proxy

[web]

type = http

local_port = 8300

custom_domains = example.com

———————————-分割线———————————–

这个也没啥要讲的,就是域名和公网主机IP替换成你自己的,那个local_port是你主机C的监听的本地端口,访问你S主机的8300就是访问你C主机的8300

然后frpc -c frpc.ini就行了

4,测试代理及更换ip操作

这个是测试,代码很简单,就不写在这了。这个用的是另外一个宽带下的电脑,不是S主机也不是C主机,就叫A主机吧。

下面开始换ip操作,这段代码部署在主机C的上面然后运行

# -*- coding: utf-8 -*- from contextlib import closing import requests from flask import Flask, request, Response import os app = Flask(__name__) @app.route(/changeip) def changeip(): os.system(“Rasdial proxy /DISCONNECT”) os.system(“Rasdial proxy 1368568**** 681*****”) #这里改成你的宽带帐户和密码,这个proxy是我改的宽带连接的名称,你们也可以改成其他的 return changed #重新拨号后其实不能返回的 @app.route(/nowip) def nowip(): rep=requests.get(“http://ident.me”) return rep.text #上面获取100次验证一次就行了, # 或者直接在selenium里面验证,不用调这个接口,他延迟比较大 @app.route(/status) def status(): return “1” app.run(port=8300, debug=True)#这个8300是我frpc.ini配置的,也可以填你自己的

然后主机A运行这段代码,通过S主机的端口映射对C主机发送换IP的http请求。

然后请求http://ident.me查看当前ip地址,这切换的ip还行,我这移动的宽带ip资源要少,可以换电信的试试,主机端口写自己配置的。

import requests import time,datetime while 1: headers = {User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36} try: requests.get(http://example:8300/changeip)#域名替换成你自己的 time.sleep(20) con=requests.get(http://ident.me/, proxies={“http”:”http://*.*.199.218:8200″},headers=headers)#8100是frp服务器连接端口,8200是服务器开启的http代理端口 print(con.text) except: print (connect failed) else: print (success)

效果如下,大概切换ip加上frpc和frps重连的时间大概10s左右吧

5,frps配置后台运行

另外pm2也可以让脚本后台运行,这个很不错,可以试试

懒得写了看这个博客吧

https://blog.csdn.net/x7418520/article/details/81077652blog.csdn.net/x7418520/article/details/81077652

完结

发表回复