关于Pac

关于Pac的基本介绍,可以查看之前的Pac文件生成

Pac代理翻墙的优点

  • 自动判断是否翻墙。与VPN相比,不用连接VPN从而可能影响正常国内使用速度;
  • 轻量级的翻墙工具,不需要安装客户端;
  • 可以设置系统代理,也可以设置浏览器代理或者配合SS等插件使用;
  • 可以跨平台使用;
  • 稳定快速。与SOCK5相比,不用担心被运营商封锁协议。

服务器端部署安装

Ubuntu部署

安装squid:

1
apt-get install squid

vim /etc/squid3/squid.conf,写入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all
http_port 25
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
strip_query_terms off

重启squid3:

1
service squid3 restart

CentOS部署

首先关闭防火墙:

1
setenforce 0

设置最大文件数:

1
ulimit -n 1048576

设置最大文件句柄数:

1
2
echo "* soft nofile 1048576" >> /etc/security/limits.conf
echo "* hard nofile 1048576" >> /etc/security/limits.conf

停止sendmail服务,防止占用25 SMTP端口:

1
killall sendmail

停止postfix服务,防止占用25 SMTP端口:

1
/etc/init.d/postfix stop

从Linux运行级关闭postfix服务:

1
chkconfig --level 2345 postfix off

安装squid:

1
yum -y install squid

vim /etc/squid/squid.conf,写入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
acl manager proto cache_object
acl localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all
http_port 25
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
strip_query_terms off

重启squid3:

1
/etc/init.d/squid restart

从Linux运行级开启squid服务:

1
chkconfig --level 2345 squid on

至此,你的服务器就已经部署成了代理服务器。

Pac文件生成

可以使用OpenGFW.py生成Pac文件,然后部署到HTTP服务器,通过 http://baolimoha.com/gfw.pac 来使用。

使用 squid 搭建的代理服务器,在生成时参数是 PROXY IP PORT,代理类型是PROXY,不是SOCKS/SOCK5,别选错了。参考链接:Pac文件生成

客户端使用方法

Windows

Internet选项 -> 连接 选项卡 -> 局域网设置(如果是电脑拨号上网, 这里点’设置’) -> 使用自动配置脚本 -> 填入PAC地址(地址可以填HTTP路径或者本地物理路径) -> 确定

Mac OS X

系统设置 -> 网络 -> 高级 -> 代理 -> 自动代理配置 -> URL中填入PAC地址 -> 好

iOS (iPhone/iPad)

  • 打开设置, 选择Wi-Fi
  • 选择当前使用的Wi-Fi
  • 拖到最下面的代理设置,选择”自动”,填写PAC地址

Android

安卓由于5.0以下系统不支持此设置,可使用第三方APP应用——ProxyDroid。

可在GooglePlay商店下载原版,或搜索下载汉化版。