1. 前言

很久没写博客了,各种各样的原因。本来这篇也不是很想写的,不过考虑到privoxy安装时候遇到的那么多问题,还是记录一下会比较好。

这里先说下安装privoxy的目的,因为现在使用自己的ShadowSocks,提供稳定的XXX。而SS是socks5代理,不支持HTTP。这里我们就需要使用一个软件将socks5转换成HTTP代理。查下来privoxy算是一个比较好的工具。

2. 安装

安装就一句话,直接就完成了。

[codesyntax lang="bash"]

brew install privoxy


[/codesyntax]

主要我们要看下配置文件里的几个选项:

[codesyntax lang="bash"]

confdir /usr/local/etc/privoxy #配置文件位置,一般不改
logdir /usr/local/var/log/privoxy #日志文件位置,一般不改
logfile logfile #日志文件名字,一般不改
#日志级别,默认完全不打开,只记录fatal,需要自行编辑打开
debug     1 #记录请求地址
debug  1024 #记录被拒的请求及理由
debug  4096 #记录启动信息及警告
debug  8192 #记录非致命错误
listen-address  127.0.0.1:8118 #本地地址监听
forward-socks5   /               127.0.0.1:1080 #代理转发的源,这里填SS地址

[/codesyntax]

如果需要开机启动,可以安装brew提示的内容,将plist文件放到指定地点

3. 查错

默认安装完后有几个问题比较麻烦

3.1 日志无输出

观察下来刚才配置文件里定义的日志没有任何输出,问题在于privoxy的mac plist文件编写有问题:去掉启动参数里的--no-daemon就OK了。这个参数是指在命令行下启动,并将日志输出到控制台中,debug时候用,自然没有日志输出了。

3.2 日志显示不停重启

[codesyntax lang="bash"]

2015-03-04 13:53:00.718 000003c0 Fatal error: can't bind to 127.0.0.1:8118: There may be another Privoxy or some other proxy running on port 8118
2015-03-04 13:53:10.792 000003c0 Info: Privoxy version 3.0.22
2015-03-04 13:53:10.792 000003c0 Info: Program name: /usr/local/Cellar/privoxy/3.0.22/sbin/privoxy
2015-03-04 13:53:10.792 000003c0 Info: Loading filter file: /usr/local/etc/privoxy/default.filter
2015-03-04 13:53:10.795 000003c0 Info: Loading filter file: /usr/local/etc/privoxy/user.filter
2015-03-04 13:53:10.795 000003c0 Info: Loading actions file: /usr/local/etc/privoxy/match-all.action
2015-03-04 13:53:10.795 000003c0 Info: Loading actions file: /usr/local/etc/privoxy/default.action
2015-03-04 13:53:10.801 000003c0 Info: Loading actions file: /usr/local/etc/privoxy/user.action
2015-03-04 13:53:10.802 000003c0 Fatal error: can't bind to 127.0.0.1:8118: There may be another Privoxy or some other proxy running on port 8118
2015-03-04 13:53:20.874 000003c0 Info: Privoxy version 3.0.22
2015-03-04 13:53:20.874 000003c0 Info: Program name: /usr/local/Cellar/privoxy/3.0.22/sbin/privoxy
2015-03-04 13:53:20.874 000003c0 Info: Loading filter file: /usr/local/etc/privoxy/default.filter
2015-03-04 13:53:20.877 000003c0 Info: Loading filter file: /usr/local/etc/privoxy/user.filter
2015-03-04 13:53:20.877 000003c0 Info: Loading actions file: /usr/local/etc/privoxy/match-all.action
2015-03-04 13:53:20.877 000003c0 Info: Loading actions file: /usr/local/etc/privoxy/default.action
2015-03-04 13:53:20.883 000003c0 Info: Loading actions file: /usr/local/etc/privoxy/user.action
2015-03-04 13:53:20.884 000003c0 Fatal error: can't bind to 127.0.0.1:8118: There may be another Privoxy or some other proxy running on port 8118

[/codesyntax]

10秒一次,日志显示不停在启动privoxy,导致一直绑定失败(之前的没关,当然绑定失败)。还是plist文件的问题,将 KeepAlive 置成false就OK了。

基本上就这些了,记录一下,以防以后需要。