星期一, 七月 13, 2009

ubuntu firefox+foxyproxy+tor+privoxy

这个F4组合干嘛用的您应该清楚吧?呵呵。网上的文档说的不够清楚,在此详细说说。

1. 安装firefox,然后安装插件foxyproxy。这个应该不需要详细说了。
2. 安装tor和privoxy,用命令:
$ sudo apt-get install tor privoxy
3. 编辑privoxy的配置文件 /etc/privoxy/config,在最前面添加一行:
forward-socks4a / 127.0.0.1:9050 .
(注意最后那个点号,别丢了)
然后找到logfile logfile这一行,在前面加个#,注释掉,这样privoxy就不会logging你的浏览记录了。
4. 重启privoxy
$ sudo /etc/init.d/privoxy restart
5. 检查tor和privoxy是否正常监听
$ netstat -na | grep '9050\|8118'
tcp 0 0 127.0.0.1:8118 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:9050 0.0.0.0:* LISTEN
6. 启动firefox
7. 打开foxyproxy,点击"新建代理服务器",添加一个代理。
在"常规"选项卡,填写代理名字local privoxy
在"代理服务器细节"选项卡,选择"手动配置代理服务器",
Host or IP Address填写: 127.0.0.1
端口填写: 8118
(注意,privoxy不是socks代理!不要勾选socks proxy?选项)
在"添加新模板"选项卡,点击"添加新模板"即可增加一个自动应用代理的url规则。例如,添加blogspot.com,那么:
"模板名称"填写"blogspot.com"
"URL或URL模板"填写"*blogspot.com/*"
其他不要修改,点击"确定"
8. 在firefox主界面,右键点击右下角的foxproxy,选择foxyproxy的策略为"使用基于预定义模板的代理服务器"
这样foxyproxy就会自动为blogspot.com应用privoxy连接,而其他url则不用经过privoxy
9. 搞定了。开启http://liuqingyan.blogspot.com/测试一下吧!

comment:
其中遇到了一个小问题:
页面打开超时。netstat查看,发现privoxy连接上了,但是privoxy没有转发请求给tor。
privoxy debug全开可以看到这个错误信息:
Jul 13 10:32:53.049 Privoxy(b7e828d0) Connect: Listening for new
connections ...
Jul 13 10:33:03.058 Privoxy(b7e48b90) Writing: HTTP/1.0 400 Invalid
header received from client
Proxy-Agent: Privoxy 3.0.9
Content-Type: text/plain
Connection: close

Invalid header received from client.

127.0.0.1 - - [13/Jul/2009:10:33:03 +0800] "Invalid request" 400 0
Jul 13 10:33:03.058 Privoxy(b7e48b90) Error: Invalid header received
from 127.0.0.1.

最后发现原来是对代理类型设置错误!汗。正确的如下:
tor的代理9050端口是socks代理!
privoxy的代理8118端口是http代理!

上述错误的原因就是在于把8118端口的代理当成socks代理,在foxyproxy中做了错误配置。

没有评论: