首页  |  信息资讯  |  资源检索  |  浏览精彩论坛 .
设为首页
收藏本站
站点导航
 新手学园 检索方法 国内文献 国外文献 FTP联盟 BT资源 网络资源 计算机技术 读书软件 外语学习
 网络经管 法律之窗 生命科学 教学相长 学术妙笔 读书参考 文学原创 多媒体 书园茶社 茶社转贴
 强国梦 秋爽斋 淡泊草 水清木华 书园旧梦     
您的位置: 首页 >> 信息资讯 >> 专业交流 >> 读书软件 >> 查看内容
ProxyExpert8免费代理软件的终结者
作者: ivy  发布日期: 2007-1-12    查看数:    出自: 网上读书园地


ProxyExpert Home 最新推出ProxyExpert之脱颖而出(ProxyExpert8.x系列)ProxyExpert8——免费代理软件的终结者:高性能的代理调度功能、全面支持HTTP1.1,累计的代理服务器性能评估算法和动态调度,发现错误自动切换代理,支持javascript设置脚本。


ProxyExpert8免费代理软件的终结者
bbinn@newsmth
2007.1.7
摘要:
总结目前所有的免费代理软件,就代理验证而言,对速度和稳定性的评价都不够全面、就代理调度功能而言目前所有的软件都太简陋,都无法实现以下三个功能:对HTTP1.1的完善支持、依靠累计的代理性能评估来动态调度、在发现当前代理不可使用的时候自动切换到新的代理。全新的ProxyExpert8现在能够比较完善地达到了这三个要求,能够把免费代理阵列的稳定性增强到极致。

正文:
在ProxyExpert8.5.1被编译出来的时候我很高兴地在这里宣布免费代理软件的终结。
免费代理软件从功能上分为两类,一类是代理验证软件另一类是代理调度软件,总结一下流传广泛的此类软件曾经流传广泛的此类软件主要有以下几个:ProxyHunter、MultyProxy、ProxyExpert、ProxyFox、ProxyThron等。
从技术上讲,写一个代理验证软件很容易,最简单的使用WininetApi,把MSDN里面的例子拷贝出来再加上多线程、主要部分不超过50行,水平一般的VC程序员在20分钟之内就可以搞定。稍微复杂一点的,使用socket来发送native的http 数据包来GET一个URL,也能在100行以内,30分钟搞定。当然也有人自然地想到用wget或者curl来搞,不过由于WininetAPI在多线程性能上表现得很出色,此方面wget或curl在此方面比较欠缺,想必之下就不如WininetApi了。这就是为什么曾经http proxy代理验证软件蜂拥而出,谁能广泛流传就看哪个作者能够坚持了。
代理调度软件远非发送一个字符串和接收一个字符串这样简单,它需要根据http协议解析client和webserver之间的数据,然后再根据代理协议的约定组合成包含新的语义的数据包来完成中转。另外还需要做一些判断,例如什么时候直接连什么时候重定向给其他某个代理,什么时候重试等。因此写一个代理调度软件则要复杂得多,首先要熟读http rfc,然后是线程同步、内存优化等,最后是艰苦的调试,除非是相关行业的技术人员搭车写一个,否则要费不少功夫。于是提供调度功能的软件就少得多了。

因为上述原因ProxyHunter、MultyProxy、ProxyExpert是3个少有的提供代理调度功能的软件。ProxyHunter是不可颠覆的经典,特别是它在多线程并发搜索代理的稳定性上另人叹服。另外ProxyHunter还提供了代理调度功能,针对教育网的特点能够根据一个ip列表选择使用或者不使用代理。ProxyHunter的这些功能是以后所有同类软件的范本。因为年代久远ProxyHunter代理调度功能局限于http1.0协议的子集,因此在直接连接的时候会有很多http1.1的语法不支持,而且效率上也比较低。MultyProxy在代理调度上做的很不错,在协议支持方面和效率方面都比ProxyHunter略胜一点,缺点是不支持自动选择直接连接或是铜鼓哦代理,毕竟外国人不了解中国国情,而且验证代理锁定到google,因此现在验证功能还需要hacker一下才可以用。ProxyHunter、MultyProxy是两个很优秀的软件,因此流传也最广。ProxyExpert是几年前本人的拙作是一个小而全的软件,写的时候下了不少傻功夫,于是深入到了各种代理协议的边边角角,把几乎所有可能hack的特征或组合都用代码实现了,于是发明出很多奇怪的功能,可能只有想突破某墙的hacker才需要使用,由于水平关系该软件非常不稳定。在这里再把功能总结一下:HTTP/HTTPS/CONNECT/SOCKS4/SOCKS4A/SOCKS5代理验证和调度,HTTP+SOCKS/SOCKS+SOCKS/SOCKS+HTTP 代理的级连的验证和调度,HTTP->SOCKS代理协议的转换。ProxyExpert到7.0以后就不再开发了,原因是作者对其稳定性彻底失望。不过,至此几乎所有可能需要的代理验证功能都可以被覆盖到了。而就代理调度功能而言目前所有的软件都太简陋,都无法实现以下三个功能:对HTTP1.1的完善支持、依靠累计的代理性能评估来动态调度、在发现当前代理不可使用的时候迫使client适当增加重试来切换到新的代理。

写一个稳定高效的代理调度软件是本人很久以来都在为之努力的目标。全新的ProxyExpert8现在比较完善地达到了这三个要求。
在HTTP1.1协议支持方面,ProxyExpert8使用Privoxy内核,5.4万行的代码和若干年的技术积累可以给人很强的信心。
ProxyExpert8基于边使用边评价的算法,在使用过程中累计每个代理的积分,依靠这个积分来对代理进行排序。同时用户还可以使用javascript的自动代理脚本来干预调度的决策。当然,手动验证功能作为第一推动来给每个代理一个表现的机会来产生成最初的积分。

发现错误自动重新选择代理的功能是ProxyExpert8的一个创新。这个功能是以前所有的代理调度方式包括自动配置脚本都无法达到的。ProxyExpert8的这项功能来自对http协议的hack,下面详细讲述。
熟读http1.1 rfc以后发现有7种方法可以让client来重试,但是事实上IE对此都置之不理,仅仅有一种方式替代的方式i可以奏效,那就是Redirect.例如,IE发送http://xxx/xxx.htm,但是当前使用的代理是错误的,于是我修改Proxy的回应为302 Fond\r\nLocation:http://xxx/xxx.htm?proxyexpertretry=n,于是IE将会重试这个URL于是我就有机会选择新的代理,目前是强迫重试5次,根据HTTP协议,多余的URL参数将被忽略,因此新URL和原URL是等价的,但是会被认为是不同的资源。相应地,针对修改后的URL,需要修正If-Modified-Since的回应。附录是一个典型的自动重试切换新代理的日志。

综上所述,ProxyExpert8融代理验证和调度为一体、理论上 完善、稳定和可靠、3大独创特点使之能够把免费代理阵列的稳定性增加到极致,甚至增加直接连接时候的网络表观稳定性。因此本人称之为免费代理软件的终结者。



附录:
一个典型的自动重试切换新代理的日志
GET: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
PROXY:1.1.1.1:80

ANSWER: HTTP/1.0 500 Service Unavailable
OVERRID:
HTTP/1.1 302 Found
Location:http://www.w3.org/Protocols/rfc2 ... ?proxyexpertretry=0

GET: http://www.w3.org/Protocols/rfc2 ... ?proxyexpertretry=0
PROXY:1.1.1.2:80
ANSWER: HTTP/1.0 500 Service Unavailable
OVERRID:
HTTP/1.1 302 Found
Location:http://www.w3.org/Protocols/rfc2 ... ?proxyexpertretry=1
。。。
GET: http://www.w3.org/Protocols/rfc2 ... ?proxyexpertretry=5
PROXY:1.1.1.5:80
ANSWER: HTTP/1.0 500 Service Unavailable
OVERRID:
HTTP/1.1 302 Found
Location:http://www.w3.org/Protocols/rfc2 ... ?proxyexpertretry=5
第5次重试不再更新URL,因为URL相同IE放弃重试.
[attachment=83085]
[attachment=83087]
ProxyExpert8.5.5.zip

ProxyExpert8使用方法.txt
【论坛浏览】 【我来说两句】 【打印】 【大】 【中】 【小】 【关闭】

 相关评论
作者: zhu2001 发布日期: 2007-1-12
很多的东东俺看不懂隔行如隔山啊!代理软件确实很有意思,不懂的话,倒要向兄弟请教了!
作者: 雾锁寒江 发布日期: 2007-1-12

此帖连接卡巴报毒
作者: ivy 发布日期: 2007-1-12
我的小红伞没有报
作者: lqgg 发布日期: 2007-1-13
试用了一下,很好。
作者: 蒸湘击水 发布日期: 2007-2-02
正在学习这方面的知识。多谢了。
作者: hndaszlxm 发布日期: 2007-2-08
下来试一试!感谢!!1
共有评论数 6/每页显示数 10

 我来说两句
请遵守国家法律和互联网法规。
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。
注意:系统启用了静态/缓存功能,您的回复可能不能立即显示。
 热点主题
·【停止销售】SUPPER 3天试用销售贴,特为
·方正的CEB文件已经可以在ADOBE阅读
·在线djvu图书书签的提取-编辑-加挂
·BookInfo.dat文件备份器V1.0放出,修成
·超星文本下载后转为单个pdf文件后用什么软
·ieHttpHeader软件下载!
·专利下载利器GetIPDL
·转帖:手工计算有试读(有封面)ss号的方法
·编写了一个根据BookInfo.dat对文件目录进
·不错的pdf资料管理软件Foxit Library,谁
·【严正申明】本版不欢迎绕过服务商的验证
·pizza 的这个问题
·6XH文件如何阅读?谢谢
·网络嗅探器无论如何也找不到网卡,怎么办?
·delphi中的tlistview控件问题求助 50财富
 最新主题
·66H格式的PDG文件在脱机阅读过程能否截流
·BookInfo.dat文件备份器V1.0放出,修成
·车大侠和老酷请帮忙:最近下载的解密不了
·delphi中的tlistview控件问题求助 50财富
·方正的CEB文件已经可以在ADOBE阅读
·delphi中控制线程数的问题
·网络嗅探器无论如何也找不到网卡,怎么办?
·Pdf图书书签的建立方法
·我用Pdgsniffer.exe截留下载的文件为何打
·wget的log文件可否有参数只记录未完成下载
·仅1KB的PDG有时是空白页,而这个是什么呢?
·SUPPER3.0备份文件清除器FindFilesV3同步
·在IE中阅读的超星书可以保存PDG吗
·想知道你下载了多少pdg文件吗,自编的文件
·已解决,谢谢各位。
 
 
 
 XML   RSS 2.0   WAP 
 
版权所有  2005  网上读书园地  免责声明  最佳分辨率  1024 X 768
Copyright   ©  http://www.readfree.net  All rights reserved.  Powered by supstie™
鄂ICP备05004310号