构建你自己的隐私保护代理:BYOPPP技术指南

本文详细介绍了如何在不root安卓设备的情况下,通过OpenVPN、Privoxy和iptables构建隐私保护代理,有效拦截广告并增强网络隐私,包含具体配置步骤和实际效果对比。

Jump ESP, jump!: BYOPPP - 构建你自己的隐私保护代理

2014年4月1日,星期二

BYOPPP - 构建你自己的隐私保护代理

我读过一篇博客文章,介绍如何在树莓派上构建自己的隐私代理服务器。这篇文章让我思考如何将其用于保护安卓手机上的隐私,并摆脱那些烦人的广告。

由于我拥有一台三星Galaxy S3 LTE,搭载Android 4.3(带有基于硬件的Knox计数器),现在root手机会破坏Knox并失去保修。过了无法回头的点……

这意味着我必须在没有root的情况下解决这个问题。幸运的是,较新的Android支持无需root的VPN,但设置强制性的系统全局代理仍然需要root权限。

但由于一些iptables魔法和Privoxy,这不再是问题 :)

构建你自己的隐私保护代理的要素:

  • 一台(或多台)便宜的VPS服务器
  • 一个不错的VPN程序
  • Privoxy
  • iptables

VPS服务器

要获得便宜的VPS服务器,我推荐使用Amazon EC2,但选择你喜欢的任何服务。微型实例非常便宜(甚至免费),并且有足够的资源来完成这个任务。我现在使用Ubuntu免费层,效果很好。最后但同样重要的是,亚马逊有两因素认证!你可以在10分钟内设置一个Ubuntu服务器。使用离你最近的AWS区域,例如我选择EU - Ireland。

VPN

对于VPN程序,我推荐免费版本的OpenVPN AS(编辑:确保在服务器和客户端上都使用OpenVPN AS 2.0.6或更高版本)。易于设置的快速入门指南在这里,基于GUI的配置,以及适用于Android、iOS、Windows、Linux、OSX的一键客户端安装程序。Ubuntu安装包在这里。

最重要的设置:

  • 我更喜欢为我的OpenVPN设置使用TCP 443和UDP 53端口,让用户猜测原因。
  • 为了良好的性能,UDP优于TCP。
  • VPN模式是第3层(路由/NAT)。
  • 不要忘记在AWS防火墙(安全组)中允许配置的VPN端口。

其他VPN设置:

  • VPN客户端应该访问私有子网(服务器端的非公共网络)吗? - 是
  • 客户端互联网流量应该通过VPN路由吗? - 是

Privoxy

我们必须安装和配置的下一个组件是Privoxy。像往常一样,“apt-get install privoxy”就可以工作。下一步是通过/etc/privoxy/config文件配置privoxy,有两个选项需要更改:

  • listen-address your.ip.add.ress:8118
  • accept-intercepted-requests 1

注意不要在AWS EC2安全组中允许所有人访问你的Privoxy服务器,确保只有VPN用户可以访问!

一切设置好后,用“service privoxy start”启动privoxy,并将其添加到自动启动“update-rc.d privoxy defaults”。

Iptables

最后一步是配置你的iptables链,将来自VPN客户端的每个网络流量转发到Privoxy服务器:

1
iptables -t nat -A PREROUTING -s 5.5.0.0/16 -p tcp -m multiport --dports 80,8080,81 -j DNAT --to-destination your.ip.add.ress:8118

可选地,你也可以阻止访问所有其他端口,不通过你的Privoxy的内容将无法访问。

根据你的Linux发行版和偏好,你可能使此规则持久化。

最终测试

现在你可以从你的Android设备连接到VPN服务器。

从客户端登录后,你获得以下漂亮的包安装在你的设备上:

[图片描述:OpenVPN客户端安装包]

连接后,最终结果可以在以下截图中看到。是的,我选择愤怒的小鸟作为例子是有原因的。

  • 没有Privoxy的愤怒的小鸟 [图片描述:显示广告的愤怒的小鸟]

  • 有Privoxy的愤怒的小鸟 [图片描述:无广告的愤怒的小鸟]

  • 带有广告的愚蠢手电筒应用 [图片描述:显示广告的手电筒应用]

  • 带有Privoxy的愚蠢手电筒应用 [图片描述:无广告的手电筒应用]

剧透警告

如果你害怕NSA跟踪你,这篇文章不适合你。如果你想实现IP层匿名,这篇文章不适合你。只要你是唯一使用该服务的人,应该很容易看出可能出什么问题。

已知问题

每当互联网连接(Wifi、3G)断开时,VPN连接也会断开,你的隐私就消失了……

通过SSL破坏你隐私的网站仍然可以这样做,只要域名不在Privoxy黑名单中。

额外推荐

如果你使用OSX或Windows,我可以推荐Aviator作为你的默认浏览器。它很棒,试试看!

PS:还有一些从官方商店移除的广告拦截应用可以拦截一些广告,但你必须为每个使用的WiFi连接配置代理,并且它不适用于3G。


评论:

Gabor Szathmari 2014年4月1日下午4:57
为了进一步匿名化,可以白名单某些HTTP头,并丢弃其余部分。关闭X-Forwarded-For头也是个好主意。
进一步阅读:http://www.sohailriaz.com/anonymous-proxy-using-squid-3/
回复 删除 回复

Z 2014年4月4日下午3:47
这已经在Privoxy中了 ;)
http://www.privoxy.org/user-manual/actions-file.html
回复 删除 回复

添加评论 加载更多…

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计