构建你自己的隐私保护代理服务器

本文详细介绍了如何在非root安卓设备上构建隐私保护代理,使用OpenVPN、Privoxy和iptables技术组合来拦截广告和保护网络隐私,包含完整的技术架构和配置步骤。

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

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

由于我拥有一台三星Galaxy S3 LTE,搭载安卓4.3系统(带有基于硬件的Knox计数器),现在对手机进行root意味着你会破坏Knox,并失去保修。这是无法回头的决定…

这意味着我必须在无需root的情况下解决这个问题。幸运的是,较新的安卓系统支持无需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,有两个选项需要更改:

1
2
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发行版和偏好,你可能需要使此规则持久化。

最终测试

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

从客户端登录后,你可以在设备上安装以下不错的软件包:

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

没有Privoxy的《愤怒的小鸟》

有Privoxy的《愤怒的小鸟》

带有广告的愚蠢手电筒应用

有Privoxy的愚蠢手电筒应用

剧透警告

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

已知问题

  • 每当互联网连接(Wifi,3G)断开时,VPN连接也会断开,你的隐私就消失了…
  • 只要域名不在Privoxy黑名单中,通过SSL破坏你隐私的网站仍然可以这样做。

额外推荐

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

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

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