简单易懂的Polipo使用入门

2010年4月12日 | 分类: 代理工具 | 标签: , , ,

前两天 在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 0×1
L_WARN 0×2
L_INFO 0×4
L_FORBIDDEN 0×8
L_UNCACHEABLE 0×10
L_SUPERSEDED 0×20
L_VARY 0×40

D_SERVER_CONN 0×100
D_SERVER_REQ 0×200
D_CLIENT_CONN 0×400
D_CLIENT_REQ 0×800
D_ATOM_REFCOUNT 0×1000
D_REFCOUNT 0×2000
D_LOCK 0×4000
D_OBJECT 0×8000
D_OBJECT_DATA 0×10000
D_SERVER_OFFSET 0×20000
D_CLIENT_DATA 0×40000
D_DNS 0×80000
D_CHILD 0×100000
D_IO 0×200000

LOGGING_MAX 0xFF

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

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在运行了.
在红蛋蛋上点右键便可以弹出菜单.简单介绍一下
4110126.jpg
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-

原文地址

  1. 2011年8月24日09:13

    在windowxp下 试了下 daemonise = true 也是无效的。

  2. 2010年8月1日13:22

    Running as a daemon, daemonise = true 好像有效哦。哈哈,程序跑起来了吧,我可以访问了。

  3. 看看
    2010年4月19日21:09

    试过这个,好象有些问题,用privoxy可以访问的网站polipo不行。

    • iGFW
      2010年4月23日11:28

      应该是你配置问题吧