linux 使用 privoxy 进行 PAC 代理

马谦马谦马谦 Linux评论5,4653字数 1293阅读 4 分 18 秒阅读模式

linux 下的命令,大多不支持 PAC 形式代理,只支持 http/socks 代理形式。因此为了使用 PAC 文件做代理,必须要通过三方软件来转发这部分代理的流量。 privoxy 是一个支持 PAC 代理的程序,可以根据不同规则选择代理线路,我们可以使用它来作为代理软件转发客户端流量。 privoxy 官方网站:www.privoxy.org

测试环境:centos6 + centos7 。

一、安装 privoxy

安装 privoxy 的方式有以下几种:

  1. rpm 包方式安装或源码包下载编译安装
  2. 使用 yum 命令一键安装

方式 1 可以在官方网站找到源码包和安装包,安装相对麻烦一些,centos 系统推荐使用原生的包管理工具 yum 来安装,前提是要安装 epel 源,国内 epel 源可以选择阿里云的源,下载速度快 (使用方式参考Epel 镜像帮助) 。

使用 yum 安装 privoxy 的:

安装好后,启动进程:

添加到开机启动:

二、配置 privoxy 以支持 PAC

privoxy 的配置文件目录是/etc/privoxy/,在目录下添加文件 pac.action,内容:

配置简单说明:

  • alias 段:定义转发规则,目前是定义了两种。 default 表示默认规则,后面的 forward . 表示默认走本机。 pac 表示自定义的 pac 规则,后面的 forward 10.66.83.23:8080 表示通过 10.66.83.23:8080 的 HTTP 代理出去。
  • default 段:匹配默认规则的地址,/表示默认的,如果没有匹配其他规则就匹配这个规则。
  • pac 段:需要进行代理转发的域名,下面的地址会通过上面定义的代理地址转发出去。

以上配置的意思就是,*.baidu.com 和*.qq.com 域名通过 10.66.83.23:8080 代理,其他的默认走本机代理。其他需要代理的地址也可以加在下面。

然后在主配置文件中 config 添加修改:

程序默认监听端口是 8118,默认只支持本地的代理,如果需要更改的话改以下配置:

没有特殊要求的话可以使用默认配置,改完后启动 privoxy 进程就可以了。

注意:进程启动后,如果修改了 pac 规则,需要重新启动进程才能生效。

三、配置系统

给本机设置代理环境变量:

然后使用 wget 或者 curl 命令测试即可!要注意的是环境变量只对当前终端生效,退出当前会话后就没有了。如果希望每次登录都生效,则需要把这两个命令放到~/.bashrc 或者/etc/profile 中。

四、原理说明

开启 privoxy 代理后,流量会全部发到 privoxy,然后 privoxy 来决定流量走哪。配置了 PAC 规则的走指定线路,没有配置的走本机。

linux使用privoxy进行PAC代理

 
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2020 年 4 月 3 日 22:28:05
  • 转载请务必保留本文链接:https://www.dyxmq.cn/linux/pac-with-privoxy.html
CentOS5 YUM源 CentOS

CentOS5 YUM 源

centos5 已停止了维护,国内大部分的源也停止维护,找了很久都没有找到可用的源。最后才发现,centos 早期的源都已经 vault.centos.org 网站下,国内的镜像源也都改成了 centos-va...
openssl命令的用法 Linux

openssl 命令的用法

openssl 是目前使用最广泛的 ssl 库之一,除了提供全面的 ssl 加密库以外,还提供了一些基础的命令行工具用于测试,目前绝大多数的软件都是使用 openssl 库来进行 ssl 交互,很多系统默认都自带了 op...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证