用privoxy来pac
简介
Privoxy是一个 HTTP 协议过滤代理。Privoxy 是有着先进的过滤能力和保护隐私的代理工具,它可以过滤网页内容,管理cookies,控制访问,除广告、横幅、弹出窗口等等,它同时支持单系统和多用户网络。
如你看到这个简介一样,有意思的是它既能屏蔽广告页可以弹出广告,所以,任何事物都有两面性。
除了上述功能外, privoxy很多时候结合其他的隧道工具使用,达到一些保护隐私的作用,本文简单介绍PAC。
安装
ubuntu下可直接用apt安装(mac下面可用brew安装)
sudo apt install privoxy # 安装
管理
sudo systemctl status privoxy # 查看运行状态
sudo systemctl restart|stop|start privoxy # 重启停止
配置文件
privoxy 在ubuntu下的配置文件在/etc/privoxy下面,下面它的配置有哪些内容
> tree /etc/privoxy
/etc/privoxy
├── config
├── default.action
├── default.filter
├── match-all.action
├── regression-tests.action
├── templates
│ ├── blocked
│ ├── cgi-error-404
│ ├── cgi-error-bad-param
│ ├── cgi-error-disabled
│ ├── cgi-error-file
│ ├── cgi-error-file-read-only
│ ├── cgi-error-modified
│ ├── cgi-error-parse
│ ├── cgi-style.css
│ ├── client-tags
│ ├── connect-failed
│ ├── connection-timeout
│ ├── default
│ ├── edit-actions-add-url-form
│ ├── edit-actions-for-url
│ ├── edit-actions-for-url-filter
│ ├── edit-actions-list
│ ├── edit-actions-list-button
│ ├── edit-actions-list-section
│ ├── edit-actions-list-url
│ ├── edit-actions-remove-url-form
│ ├── edit-actions-url-form
│ ├── forwarding-failed
│ ├── mod-local-help
│ ├── mod-support-and-service
│ ├── mod-title
│ ├── mod-unstable-warning
│ ├── no-server-data
│ ├── no-such-domain
│ ├── show-request
│ ├── show-status
│ ├── show-status-file
│ ├── show-url-info
│ ├── show-version
│ ├── toggle
│ ├── toggle-mini
│ ├── untrusted
│ └── url-info-osd.xml
├── trust
├── user.action
└── user.filter
上面这些配置就不详细介绍了,可以看官方文档
privoxy的所有功能由一系列的Action组成(链接里有所有支持的Action)
然后,所有的Action的是否启动的配置的入口在config这个文件里面,通过actionsfile这个指令来导入这些action
actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
actionsfile default.action # Main actions file
actionsfile user.action # User customizations
match-all.action privoxy默认所有的action都是没有启动的,那么这个文件就是明确设* 置所有的action全部启动
default.action 开发者定制的一些内置规则
user.action 一般,上面那两个action的配置文件是不建议被修改的,除非你是开发者或者非常熟悉privoxy,否则其他的扩展需求就在user.action里面做配置就行
如果你仅仅需要把privoxy+隧道来无障碍上网的话,那么其实可以把上面所有所有的action都注释都可以,比如我并不讨厌templae广告,犯不着再去定制哪些广告过滤策略,而且privoxy还要花额外的时间来处理这些filter和action, 那你就直接把所有的请求扔给隧道就就好了
# actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
# actionsfile default.action # Main actions file
# actionsfile user.action # User customizations
forward-socks5t / 127.0.0.1:1080 .
这种情况,一般可以结合浏览器的插件来使用,可以在插件使用gfwlst.txt来做智能路由。
当然,如果你不想在浏览器里面用插件,或者你没有条件用那种条件在客户端使用gfwlst.txt(是的,就是你想的那个),比如你希望你的手机也可以聪明的根据网站来路由,那可以给privoxy定制一个gfwlst.txt的PAC
gfwlist2privoxy -i gfwlst.txt -f gfwlst.action -p 127.0.0.1:1080 -t socks5
然后在config里面注册这些个action就好了
# actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
# actionsfile default.action # Main actions file
# actionsfile user.action # User customizations
# forward-socks5t / 127.0.0.1:1080 .
actionsfile gfwlst.action
配置网后重启一下就好了(重启命令见上面),之后把手机设置到这个privoxy的代理地址就好。
总结
最后,如果大家有这个条件可以自由上网,大家还是不要用于来干违法或者打擦边球事,家长下决心要追查的话,是不可能逃掉的。用来学习的话,家长还是有一定的分寸的。
还有一点,privoxy+nat很容易实现定点攻击,可以把客户端所有的上网日志记录下来,用来做广告弹出和一些不合法的事情,如盗取客户端的隐私信息(如账号密码之类),所以想提醒大家出门在外,尽量不要连那种公共的wifi。
回到开篇所说,privoxy它既能屏蔽广告页可以弹出广告,任何事物都有两面性,技术也不例外,一念天堂,一念地狱,劝君自护念之。
发表评论 (审核通过后显示评论):