Privoxy 安装配置

使用Privoxy 将socks5代理转成http代理

操作系统 CentOS 7

1、先安装epel源

1
2
3
4
5
6
7
8
yum install epel-release

#安装完成之后可以通过下面的命令查看
yum repolist


#可以看到多了一个
#Extra Packages for Enterprise Linux 7 - x86_64

2、使用yum命令安装

用yum命令看一下,是最新版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 yum info privoxy

名称 :privoxy
架构 :x86_64
版本 :3.0.26
发布 :1.el7
大小 :936 k
源 :epel/x86_64
简介 : Privacy enhancing proxy
网址 :http://www.privoxy.org/
协议 : GPLv2+
描述 : Privoxy is a web proxy with advanced filtering capabilities for
: protecting privacy, filtering web page content, managing cookies,
: controlling access, and removing ads, banners, pop-ups and other
: obnoxious Internet junk. Privoxy has a very flexible configuration and
: can be customized to suit individual needs and tastes. Privoxy has application
: for both stand-alone systems and multi-user networks.
:
: Privoxy is based on the Internet Junkbuster.

直接安装 privoxy

1
2
3

yum install privoxy

3、 配置

配置文件位于目录:**/etc/privoxy**

3.1、修改config文件

说明:
https://www.privoxy.org/user-manual/config.html

修改绑定地址,搜索 ==listen-address== ,修改需要绑定的IP

1
listen-address  0.0.0.0:8118

设置socks5 转发,搜索 ==forward-socks5t== ,去掉注释,修改对应IP

1
2

forward-socks5t / 118.193.225.166:9150 .

注意后面的点不要删掉

配置不走代理,直接本地转发的

1
2
forward         192.168.*.*/     .
forward 127.*.*.*/ .

由于网络不稳定,经常出现503,增加转发重试
默认值是:0

1
forwarded-connect-retries  1

配置最大客户端的连接
默认值是:128

1
max-client-connections 256

这个用于开启和关闭广告过滤和内容过滤,1表示开启,0表示关闭
默认值是:1

1
toggle  0

共享连接

是否保持活动的传出连接应该在不同的传入连接之间共享

这个还没怎么测试,按照字面意思理解

1
connection-sharing 1
3.1、修改user.action 配置文件

拦截服务端禁止在iframe中加载的响应头,在user.action 末尾添加

只能处理http的连接

1
2
{ +crunch-server-header{X-Frame-Options} }
/

修改服务端的响应头,去掉设置cookie时的 HttpOnly ,让客户端可以通过js获取cookie
Privoxy 使用类似Perl的 s/// 操作来实现对内容的替换修改

注意,它使用的是|作为分隔符,而不是/,因为模式包含一个正斜杠,否则必须以反斜杠(\)来转义。如果表达式中有|线则用@符号。(文档中没有看到明确的说明,但是例子中是这么写的)

只能处理http的连接

在user.filter文件中新增

1
2
SERVER-HEADER-FILTER: delete-http-only delete server response head setCookie http only tag
s@^(Set-Cookie.+)(;[ ]*httponly)@$1@i

在user.action文件中新增

1
2
3
{+server-header-filter{delete-http-only}}
/


4、启动服务

1
2
3
4
5
6
7
8
9
10
11
$ systemctl start privoxy
$ systemctl status privoxy

● privoxy.service - Privoxy Web Proxy With Advanced Filtering Capabilities
Loaded: loaded (/usr/lib/systemd/system/privoxy.service; disabled; vendor preset: disabled)
Active: active (running) since 三 2017-11-15 16:38:12 CST; 9s ago
Process: 22643 ExecStart=/usr/sbin/privoxy --pidfile /run/privoxy.pid --user privoxy /etc/privoxy/config (code=exited, status=0/SUCCESS)
Main PID: 22644 (privoxy)
CGroup: /system.slice/privoxy.service
└─22644 /usr/sbin/privoxy --pidfile /run/privoxy.pid --user privoxy /etc/privoxy/config

5、检查测试

1
2
3
netstat -an | grep 8118

tcp 0 0 127.0.0.1:8118 0.0.0.0:* LISTEN

6、浏览器访问

浏览器配置代理指向privoxy

访问地址:http://p.p/ 可以进入到privoxy的一个管理页面

访问地址:https://check.torproject.org/ 可以进入到一个tor检查页面