AdslProxy icon indicating copy to clipboard operation
AdslProxy copied to clipboard

Adsl Proxy Pool

Results 13 AdslProxy issues
Sort by recently updated
recently updated
newest added
trafficstars

我在 DIAL_CYCLE 设置的时间是600秒进行一次重新拨号,实际是1200秒才进行重新拨号。在代码中看到的逻辑是 self.run() 里的 self.set_proxy(proxy) 写入完代理后,进行一次time.sleep(DIAL_CYCLE),然后 self.run() 执行完后又 time.sleep(DIAL_CYCLE)了一次。 ![image](https://user-images.githubusercontent.com/25009398/163657153-bac0a3d3-9f71-4a3b-afc6-1a1e513602d8.png)

在 sender.py 中的 run() 里面如果 subprocess.getstatusoutput(DIAL_BASH) 执行提前结束,就会陷入无限拨号的问题。比如 subprocess.getstatusoutput(DIAL_BASH) 执行完了,拨号还没成功,还没获取到IP地址,需要等个10秒才获取到IP地址。此时提前进入 self.extract_ip() 获取IP,就会获取不到,ip 这个变量为空,进入 else 语句,马上重新执行 self.run() 重新拨号。。 建议或者在 self.extract_ip() 里面加入一个 while 等待时间 ,比如每 while 60秒,每检查一次就减1,然后sleep 1秒。有个60秒等待时间,再返回IP,或许会比较好。比如这样: ```python def extract_ip(self): """ 获取本机IP...

![image](https://user-images.githubusercontent.com/38902770/82721442-b79f2b00-9cef-11ea-9180-2a1160cf9f24.png) 请问还需要哪些步骤或者我想不到的操作

输入ls命令后只有anaconda-ks.cfg这一个文件

1. 增加邮件提醒 2. 修正拨号间隔错误,原脚本的小bug,拨号间隔会是settings中的两倍 3. 增加拨号统计:每次拨出的IP放入redis,每拨一次value +1,如果是2会重新拨号,防止重复IP出现.如果需要可以重置下这个频次的值, 4.参考proxy_reset.py.这个考虑到平台对IP的封禁并非长期,通常24小时后能解封 5. 增加拨号日志可视化监控,在本地运行proxy_stats.py读取远程拨号服务器日志并可视化展示拨号状态,比如这里的 6. 连续三次拨号无效IP系统会重启,因为这时候服务器已经不能继续拨号了 7. 从redis删除IP失败系统会重启,这个时候一般都是无法拨号了 8. 更新proxy检测方式为ping,拨号一次只需要6-7秒(当然和代理商有关系).这个针对单地区adsl vps特别有效,因为单地区拨号服务器带宽都没问题,拨出的IP都很稳定,只要能ping通都是高速可用的.个人建议 抛弃混拨服务器,带宽低而且拨号慢,不如多个地区的组合. 9. service.sh放到/etc/init.d目录下, /bin/bash /etc/init.d/service.sh放在/etc/rc.local最后,系统重启后会自动运行拨号脚本. 10. 增加了拨号服务器一键部署脚本vpsadsl.sh,实现开箱即用 基于以上更新,脚本可以长期运行而不会出现拨号失败无法继续拨号的问题,并且可以方便地在本地机器监控远程服务器拨号状态.

Pypi安装的adslproxy的 RedisClient函数和github版有差别,主要体现在存取函数上(key存储和hash存储),所以建议大家使用的时候动态服务器和Redis主机上最好统一,否则获取proxy时会出错

![image](https://user-images.githubusercontent.com/30359746/70130427-82f4d400-16bb-11ea-997d-5a96d834279e.png) 这个 set_proxy方法每次调用都会创建一个self.redis = RedisClient()对象,为什么不能在创建class Sender()的时候就初始化这个对象呢? 而且这里很奇怪的一点是我用在创建Sender初始化self.redis后,调用set_proxy时候,即在self.redis.set(CLIENT_NAME, proxy)时候程序会卡死不动,按下Crtl+C后程序才能继续执行,哦,这种情况只在连接外网redis的时候才会出现,在连接局域网redis的时候不会有,我很奇怪,请问您当时这么写是有什么原因吗?

当前代码IP代理存储用的是hset方法,pip安装的版本获取代理没有用对应的hget,用的是get,pip版本是不是没有更新,导致每次获取都是空。 我的解决办法是根据最新代码的RedisClient.random()方法获取,没有通过pip安装的获取

你好,麻烦请教一下,我将ADSL_CYCLE设置为21600秒后,时间到达了,线程却没有循环执行,是什么原因,平时都在写Java,不知道Python是怎么休眠的 while True: print('ADSL Start, Remove Proxy, Please wait') self.remove_proxy() (status, output) = subprocess.getstatusoutput(ADSL_BASH) if status == 0: print('ADSL Successfully') ip = self.get_ip() if ip: print('Now IP', ip) print('Testing Proxy,...