猫叔的生活记录,动漫吐槽 =3=

前两天在GR上读到TOR放弃Privoxy转而跟Polipo合作的消息,马上去下了最新版Tor包.
果然已经换成Polipo了.(不过主页上还是写着Privoxy)

试用了一下,Polipo没有Privoxy那么复杂的过滤功能,小巧,配置也很简单.
如主页所介绍的,Polipo是面向个人或小型组织使用的轻量级缓存代理,主要功能有代理,缓存和网页服务器
如果只是单纯需要一个可以Forward Sock5的代理,我强烈推荐Polipo.

下面来简单讲一下如果安装使用.

1 下载安装包

下载安装包有两个途径:

下载最新版Tor: http://www.torproject.org/dist/vidalia-bundles/vidalia-bundle-0.2.1.20-0.2.5.exe

从Polipo官方下载: http://www.pps.jussieu.fr/~jch/software/files/polipo/polipo-1.0.4-win32.zip

如果想要一个马上能用的包,请使用我打包的版本 http://dl.dropbox.com/u/1663058/Polipo.rar

Tor安装包中的Polipo安装好就可以用了,同样官方的下载解包到任意地方就可以了
可以看到解包出来的文件很少,除了一大堆版权,说明,配置文件之外,就是一个主程序Polipo.exe和一个dll文件.

但是因为Polipo最初是设计用于Linux的.直接运行会使用默认配置文件,路径为'~/.polipo'或者'/etc/polipo/config',
但Windows上是一定没有这样的路径的.所以我们必须要用 -c 参数来指定配置文件路径才能正常运行,比如:

polipo -c polipo.conf


配置文件使用绝对路径或相对路径均可.至于文件名,随你喜欢用什么名字.

2 配置Polipo
下面对如何简单配置Polipo作为转换Http到Sock5

2.1) 后台运行
Polipo默认情况是前台命令行窗口运行,大概不会有人喜欢老开着一个命令行窗口,而且不小心关掉的话,Polipo也会随之关掉.
按照官方文档的说明,在配置文档中写入daemonise = true 便可以后台运行,但我试验的情况是没有了窗口,但程序也没跑起来 (锤地...
有兴趣的朋友可以自己试试,我的建议是不要再配置文件中设置这个选项
至于后台运行的方法,下文有述.

2.2) Log
如果我们希望后台运行的话,当遇到异常情况的时候便需要log来分析原因.在配置文件中写入如 logFile = "log.txt" 这样的字段便可以.
其次,Log的详细程序由logLevel设置.logLevel的值需要在源码中找,我已经将其改成logLevel.txt放在我的包里面了.

L_ERROR 0x1
L_WARN 0x2
L_INFO 0x4
L_FORBIDDEN 0x8
L_UNCACHEABLE 0x10
L_SUPERSEDED 0x20
L_VARY 0x40

D_SERVER_CONN 0x100
D_SERVER_REQ 0x200
D_CLIENT_CONN 0x400
D_CLIENT_REQ 0x800
D_ATOM_REFCOUNT 0x1000
D_REFCOUNT 0x2000
D_LOCK 0x4000
D_OBJECT 0x8000
D_OBJECT_DATA 0x10000
D_SERVER_OFFSET 0x20000
D_CLIENT_DATA 0x40000
D_DNS 0x80000
D_CHILD 0x100000
D_IO 0x200000

LOGGING_MAX 0xFF



在我提供的包中,等级设置为0x40 记录大多数的错误信息.

2.3) 管理界面
在浏览器中打入 http://localhost:port/polipo/ 便可以进入网页管理界面,比如 http://127.0.0.1:8118/polipo/

2.4) 代理端口设置
使用proxyAddress和proxyPort来指定代理的地址和端口,端口默认为8123,在我的配置文件中,将其改为8118.跟Tor的默认设置保持一致.
proxyAddress = "127.0.0.1"
proxyPort = 8118

2.5) 访问控制
使用allowedClients和allowedPorts来指定允许的代理请求,因为一般情况下我们是单机使用,设置为如下便可.
allowedClients = 127.0.0.1
allowedPorts = 1-65535

2.6) 转发
设置socksParentProxy和socksProxyType转发到SOCKS5代理,为了无缝跟Tor切换,这里我的SSH是绑定到9050端口.
socksParentProxy = "localhost:9050"
socksProxyType = socks5

2.7) 重启关闭
一般来说,前台运行(命令行窗口)只要关闭窗口就可以关掉了,而后台运行就比较麻烦,必须要杀进程才行.
而且后台运行会有同时运行多个实例的问题,虽然在配置文件中声明PidFile来记录pid,一旦发现这个文件存在便拒绝运行.
但是我们如果后台运行的话,因为只能杀进程关闭Polipo.这个文件并不会删除,下次再重启Polipo就会拒绝运行.必须要删除这个文件才行.
下面来讲讲如何改善在Windows上的使用方法

2.8) 后台运行
之前提过,虽然配置文件提供了后台运行开关,但就我而言没有作用,所以我整理了一下后台运行的方法
常驻后台:
借助vbs可以实现后台运行,写一个vbs脚本,只用两行

Set wshell=wscript.createobject("wscript.shell")
wshell.run "polipo -c polipo.conf",0 (这里-c参数后的配置文件请按照自己情况自行修改)



只要点击这个脚本便可以将polipo提交到后台运行.
如果想解决多个实例运行的问题,可以使用上文提过的pidFile来解决.
另外要准备另一个使用FSO对象的vbs脚本,当确认polipo异常退出时,可以使用删除PidFile而重新运行Polipo

管理程序
虽然VBS是一种简单的实现方法,但VBS是会带来很严重的安全隐患.尤其是在加为启动运行的情况下.如果有人发现了你的这个VBS,并且修改了你的VBS脚本进行一些破坏,后果是很严重的.所以我并不推荐上面的方法.

在拜过古狗大神后,大神指了一条通向11区的路给我 : http://serennz.sakura.ne.jp/toybox/solipo/

这位日本朋友写了一个简单的Polipo管理软件,Solipo.
使用Solipo可以简单快捷的实现后台运行,检测多个实例运行,快速进行配置等功能.

他下载的包里一并包括了Polipo本体,我已经将Solipo抽离出来放进我的包里面.
据我的观察,solipo默认使用config(无附加名)文件作为配置文件,并制定polipo.log作为log文件.(没有地方可以设置改变),所以必须将配置文件改名为config.
如果配置文件中指定了logfile,将会被强行使用polipo.log

点击运行Solipo便可以运行,会在托盘区显示一个画着超人标志的红蛋蛋
如果已经有polipo在运行,点击solipo就会出错告诉你已经有polipo在运行了.
在红蛋蛋上点右键便可以弹出菜单.简单介绍一下



config
//用浏览器打开 http://127.0.0.1:8123/polipo/config 因为solipo默认8123端口为代理设置,所以如果我们的代理设置为8118这个页面会出错,可惜的是这个参数是solipo内置的没有地方可以改.只好手动修改为http://127.0.0.1:8118/polipo/config
如果用firefox的话可以用redirector强行转到这个地址

viewlog
//查看log文件

setting
//改变cache的设置,一般情况下没用,除非你开启了cache功能

restart
//重启

purge cache
//没用,除非你开启了cache功能

about
//关于

exit
//退出solipo并关闭polipo进程



基本上只要有上面这些设置就可以正常用于HTTP转发SOCKS代理了.
其实,只要你的SSH绑定到9050,浏览器使用的是8118,那么你直接拿着我的那个包解压到什么地方,点击solipo就可以用了喵
其他的一些功能比如Web Sever,ACL,Cache等功能一般个人用户没什么用,我就不赘述了.在我的配置文件中这些都是关闭的.
有兴趣的同学可以自己研究一下

附录


Polipo官方网站 : http://www.pps.jussieu.fr/~jch/software/polipo/
Polipo手册:
多页版: http://www.pps.jussieu.fr/~jch/software/polipo/manual/
单页版: http://www.pps.jussieu.fr/~jch/software/polipo/polipo.html
PDF版: http://www.pps.jussieu.fr/~jch/software/polipo/polipo.pdf
源码和安装包: http://www.pps.jussieu.fr/~jch/software/files/polipo/
Solipo : http://serennz.sakura.ne.jp/toybox/solipo/



补充: 最新版TOR默认是启动时开启Polipo.为避免运行多个实例,请到Tor设定中,将"常规"中的"Tor启动时运行代理程序"反选.

-EOF-
留言:
留言:
那个daemon的后台方式咱不指望了,以前碰到多这种*nix移植过来的程序的后台方式,不支持win
2009/12/13(Sun) 20:01 | URL | hugging #-[ 编辑]
诶哟这个白花花的模板啊……

收藏之,慢慢研究……不过咱大概只要Sock5也能满足了orz……
2009/12/14(Mon) 00:06 | URL | 糟糕萌 #-[ 编辑]
这个对privoxy的优势在哪?好像也没什么特别的....
2009/12/15(Tue) 21:49 | URL | 探 #-[ 编辑]
@探 优势在于小巧.而且基本是物尽其用.Privoxy的功能非常强大,做socks5 forward大概只能算发挥了其用途的1%罢了.
2009/12/15(Tue) 22:00 | URL | 猫叔 #-[ 编辑]
不知道 SSH 连接超时自动断开的问题各位是怎么解决的?

一段时间空闲后,基本上每次打开需要代理的网站时就会提示拒绝连接,然后必须等几秒钟 Myentunnel 重新连接才行。

我不知道 win 下怎么给 plink.exe 加上防止空闲超时断开的 stay alive 设置,在 myentunnel 里也看不到选项。

不知 privoxy 能做到么?里面有个 stay alive 的设置项,但是好像不起作用……
2010/01/06(Wed) 16:24 | URL | boday #-[ 编辑]
此留言只限管理员阅览
2010/03/24(Wed) 16:52 | | #[ 编辑]
此留言需要管理员的许可
2010/04/02(Fri) 03:27 | | #[ 编辑]
此留言需要管理员的许可
2010/11/18(Thu) 10:36 | | #[ 编辑]
此留言需要管理员的许可
2011/07/07(Thu) 15:43 | | #[ 编辑]
此留言只限管理员阅览
2016/02/03(Wed) 14:05 | | #[ 编辑]
此留言需要管理员的许可
2021/06/11(Fri) 23:41 | | #[ 编辑]
留言
URL:
本文:
密码:
秘密留言: 只对管理员显示
 
引用:
引用 URL
http://cattalker.blog128.fc2blog.us/tb.php/6-71211400
引用此文章(FC2博客用户)
引用: