编者注:CopperheadOS 在 许可 下获得 Creative Commons Attribution-NonCommercial-Shar
几年前,我决定用运行在自由和开源软件 (FOSS) 上的技术取代专有技术(主要是 Apple 产品)。我不能说这很容易,但我现在很高兴地使用 FOSS 来处理几乎所有事情。
最困难的部分涉及到我的移动手机。如今,手机和平板电脑基本上只有两种选择:Apple 的 iOS 或 Google 的 Android。由于 Android 是开源的,它似乎是显而易见的选择,但我对 Android 上缺少开源应用程序以及 Google 在这些设备上的普遍存在感到沮丧。
所以我进入了自定义 ROM 的世界。这些项目采用基础 Android 开源项目 (AOSP) 并对其进行自定义。几乎所有这些项目都允许您将标准的 Google 应用程序作为单独的软件包安装,称为 GApps,并且您可以根据自己的喜好在手机上拥有尽可能多或尽可能少的 Google 存在。GApps 软件包有多种风格,从 Google 设备附带的全套应用程序到“pico”版本,后者仅包含运行 Google Play 商店所需的最低限度的软件,您可以从中添加您喜欢的内容。
我最初开始使用 CyanogenMod,但当该项目朝着我不喜欢的方向发展时,我转而使用 OmniROM。我对它很满意,但仍然想知道我在幕后向 Google 发送了哪些信息。
然后我发现了 CopperheadOS。Copperhead 是 AOSP 的一个版本,专注于提供最安全的 Android 体验。我已经使用它一年了,并且非常满意。
与其他致力于添加大量新功能的自定义 ROM 不同,Copperhead 运行的是相当原生的 AOSP 版本。此外,虽然您通常在玩自定义 ROM 时首先要做的事情是添加 root 访问权限到设备,但 Copperhead 不仅阻止了这一点,而且还要求您拥有具有验证启动的设备,因此无法解锁引导加载程序。这是为了防止恶意代码访问手机。
Copperhead 从 AOSP 基线的强化版本开始,包括完全加密,然后添加了 大量内容,我只能假装理解。它还在内核和 Android 补丁应用于主线 Android 版本之前应用了许多内核和 Android 补丁。

opensource.com
它还有一些我更喜欢的更明显的功能。如果您使用 PIN 码解锁设备,则可以选择打乱数字。

opensource.com
这应该可以防止任何随便的偷窥者弄清楚您的 PIN 码,尽管这可能会使在驾驶时解锁设备变得更加困难(但任何人都不应该在车内使用手机,对吧?)。
它解决的另一个问题涉及通过监控人们的 WiFi MAC 地址来跟踪他们。大多数使用 WiFi 的设备都执行无线接入点的活动扫描。此协议包括接口的 MAC 地址,并且有多种方法可以让人使用 移动位置分析 来跟踪您的移动。Copperhead 有一个选项可以随机化您的 MAC 地址,这可以对抗此过程。

opensource.com
安装应用
这一切听起来都很好,对吧?好吧,困难的部分来了。虽然 Android 是开源的,但许多 Google 代码,包括 Google Play 商店,不是。如果您安装 Play 商店及其工作所需的代码,您就允许 Google 在未经您许可的情况下安装软件。Google Play 的服务条款 说
“如果 Google 确定更新将修复与应用程序相关的严重安全漏洞,则无论您在 Google Play 应用程序或您的设备中选择了任何更新设置,Google 都可以将任何 Google 应用程序或您从 Google Play 下载的任何应用程序更新到此类应用程序的新版本。”
从安全角度来看,这是不可接受的,因此您无法在 Copperhead 设备上安装 Google 应用程序。
这需要一些时间来适应,因为我已经开始依赖 Google 地图之类的东西。Copperhead 附带的默认应用程序存储库是 F-Droid,它 仅包含 FOSS 应用程序。虽然我以前在 Android 上使用过许多 FOSS 应用程序,但完全只使用自由软件还是需要付出一些努力的。我确实找到了一些作弊这个系统的方法,我将在下面介绍。首先,以下是我从 F-Droid 开始喜欢的一些应用程序。
F-Droid 最爱
K-9 Mail

opensource.com
甚至在我开始使用 Copperhead 之前,我就喜欢 K-9 Mail。这简直是我找到的最好的移动电子邮件客户端,句号,它是我在任何新设备上安装的第一批东西之一。我甚至使用它通过 IMAP 和 SMTP 访问我的 Gmail 帐户。
Open Camera

opensource.com
Copperhead 仅在相当新的硬件上运行,我一直对默认相机应用程序拍摄的照片质量感到失望。然后我发现了 Open Camera。作为一个功能齐全的相机应用程序,它允许您启用高级 API 以利用相机硬件。我唯一想念的是拍摄全景照片的能力。
Amaze

opensource.com
Amaze 是我用过的最好的文件管理器之一,无论是否免费。当需要浏览文件系统时,Amaze 是我的首选应用程序。
Vanilla Music

opensource.com
我对默认音乐播放器不满意,所以我查看了 F-Droid 上的许多音乐播放器,最终选择了 Vanilla Music。它具有易于使用的界面,并且可以很好地与我的蓝牙设备交互。
OCReader

opensource.com
我是 Nextcloud 的忠实粉丝,特别是 Nextcloud News,它是现已停止使用的 Google Reader 的替代品。虽然我可以通过 Web 浏览器访问我的新闻提要,但我真的很想念通过专用应用程序管理它们的能力。输入 OCReader。虽然它代表“ownCloud Reader”,但它可以与 Nextcloud 配合使用,而且我很少遇到问题。
Noise
大多数隐私倡导者选择的 SMS/MMS 应用程序是 Signal,由 Open Whisper Systems 开发。Signal 得到了 爱德华·斯诺登 的认可,允许端到端加密消息。如果与您发送消息的人也使用 Signal,您的消息将通过由 Open Whisper Systems 维护的集中式服务器通过数据连接加密发送。直到最近,它还依赖 Google Cloud Messaging (GCM) 进行通知,这需要 Google Play 服务。
Signal 需要集中式服务器这一事实困扰了一些人,因此 Copperhead 上的默认应用程序是 Signal 的一个分支,名为 Silence。此应用程序不使用集中式服务器,但确实要求所有参与方都使用 Silence 才能使加密工作。
好吧,我认识的人中没有人使用 Silence。目前,由于商标问题,您甚至无法在美国从 Google Play 商店获得它,并且没有 iOS 客户端。如果您无法使用加密,则加密 SMS 客户端就没什么用处。
输入 Noise。Noise 是 Copperhead 维护的另一个应用程序,它是 Signal 的一个分支,它消除了对 GCM 的需求。虽然 Noise 在标准 F-Droid 存储库中不可用,但 Copperhead 在他们提供的 F-Droid 版本中包含了他们自己的存储库,目前该存储库仅包含 Noise 应用程序。此应用程序将使您能够与任何其他使用 Noise 或 Signal 的人安全地通信。
F-Droid 解决方法
FFUpdater
Copperhead 附带了 Chromium Web 浏览器的强化版本,但我是 Firefox 的粉丝。不幸的是,Firefox 不再包含 在 F-Droid 存储库中。F-Droid 上的应用程序全部由 F-Droid 维护者构建,因此进入 F-Droid 的过程可能很复杂。OpenNMS 的 Compass 应用程序 未包含在 F-Droid 中,因为目前它不支持使用 Ionic Framework 进行构建,而 Compass 使用了 Ionic Framework。
幸运的是,有一个简单的解决方法:在 F-Droid 上安装 FFUpdater 应用程序。这使我可以安装 Firefox 并通过浏览器本身保持更新。
亚马逊应用商店
这让我想到 Android 8 Oreo 的一个很酷的功能。在以前版本的 Android 中,您只有一个“已知来源”用于软件,通常是 Google Play 商店,如果您想从另一个存储库安装软件,您必须转到设置并允许“从未知来源安装”。我总是必须记住在安装后关闭它,以防止恶意代码能够在我的设备上安装软件。

opensource.com
使用 Oreo,您可以永久允许指定的应用程序安装应用程序。例如,我使用 亚马逊应用商店 中的一些应用程序(例如亚马逊购物和 Kindle 应用程序)。当我下载并安装亚马逊应用商店 Android 软件包 (APK) 时,系统会提示我允许该应用程序安装应用程序,然后就不会再问我了。当然,这可以在每个应用程序的基础上打开和关闭。
亚马逊应用商店有许多有用的应用程序,例如 IMDB 和 eBay。它们中的许多都不需要 Google 服务,但有些需要。例如,如果我通过亚马逊安装 Skype 应用程序,它会启动,但随后会抱怨操作系统。美国航空公司的应用程序会启动,然后抱怨证书过期。(我联系了他们,被告知他们不再维护亚马逊应用商店中的版本,并且该版本将被删除。)无论如何,我可以非常简单地安装几个我喜欢的应用程序,而无需使用 Google Play。
Google Play
好吧,那些您喜欢的应用程序不使用 Google Play 服务,但只能通过 Google Play 商店获得,那又如何呢?还有另一种安全地在您的 Copperhead 设备上获取这些应用程序的方法。
这确实需要一些技术专业知识和另一个设备。在第二个设备上,安装 TWRP 恢复应用程序。这通常是安装任何自定义 ROM 的关键第一步,并且 TWRP 在大量设备上都受支持。您还需要来自 Android SDK 的 Android 调试桥 (ADB) 应用程序,可以免费下载。
在第二个设备上,使用 Google Play 商店安装您想要的应用程序。然后,重启进入恢复模式。您可以通过 TWRP 挂载系统分区; 通过 USB 电缆将设备插入计算机, 您应该能够通过 ADB 看到它。有一个名为 /data/app
的系统目录,您将在其中找到所有应用程序的 APK 文件。将您想要的复制到您的计算机(我使用 ADB pull
命令并复制整个目录)。
断开该手机的连接并连接您的 Copperhead 设备。启用“传输文件”选项,您应该会在您的计算机上看到挂载的存储目录。将您想要的应用程序的 APK 文件复制过来,然后通过 Amaze 文件管理器安装它们(只需导航到 APK 文件并单击它)。
请注意,您可以对任何应用程序执行此操作,甚至可能以这种方式在 Copperhead 上安装 Google Play 服务,但这有点适得其反。我主要使用它来获取 Electric Sheep 屏幕保护程序和我喜欢的名为 Cleartune 的吉他调音应用程序。请注意,如果您安装 TWRP,尤其是在 Google Pixel 上,安全更新可能无法正常工作,因为它们会期望使用库存恢复。在这种情况下,您可以随时使用 fastboot 访问 TWRP,但保留默认恢复模式。
没有变通方法的必备应用程序
不幸的是,仍然有一些 Google 应用程序让我觉得难以离开。Google 地图可能是我使用的主要 Google 应用程序,是的,虽然我知道我正在将我的位置交给 Google,但它通过引导我绕过交通问题节省了我数小时的生命。OpenStreetMap 有一个通过 F-Droid 提供的应用程序,但它没有使 Google 地图如此有用的实时信息。我偶尔也会使用 Skype,通常是在国外并且只有数据连接时(即,通过酒店 WiFi 网络)。它让我能够以非常实惠的价格给家里和其他地方打电话。
我的解决方法是携带两部手机。我知道这对大多数人来说不是一个选择,但这是我现在找到的唯一一个选择。我使用我的 Copperhead 手机处理任何个人事务(电子邮件、联系人、日历、图片等),而我的“Google 手机”用于地图、Skype 和各种游戏。
我的梦想是有人完善手机上的虚拟机管理程序。然后我可以在同一设备上运行 Copperhead 和库存 Google Android。我认为没有人有充分的商业理由来这样做,但我确实希望它发生。
支持 Copperhead 的设备
在您急于安装 Copperhead 之前,您需要克服一些障碍。首先,它仅在 有限数量的手机 上受支持,几乎所有手机都是最新的 Google 设备。这背后的逻辑很简单:Google 倾向于快速发布其设备上的 Android 安全更新,而且我发现 Copperhead 能够在一天内(如果不是在几小时内)跟上。其次,与任何开源项目一样,它的资源有限,并且很难支持甚至现在最终用户可用设备的一小部分。最后,如果您想在 Pixel 和 Pixel XL 等手机上运行 Copperhead,您要么必须从源代码构建,要么直接从 Copperhead 购买设备。
当我发现 Copperhead 时,我有一部 Nexus 6P,它(与 Nexus 5X 一起)是受支持的设备之一。这让我可以试用并习惯操作系统。我非常喜欢它,以至于我向该项目捐赠了一些钱,但我有点犹豫他们对 Pixel 和 Pixel XL 手机的要价。
不过,最近我最终直接从 Copperhead 购买了一部 Pixel XL。有几个原因。首先,由于所有代码都在 GitHub 上可用,我开始为 Pixel 设备进行 我自己的构建。这个过程(我从未完成)让我体会到了 Copperhead 为其项目付出的工作量。其次,Slashdot 上有一篇文章 Slashdot 讨论了人们如何销售预装了 Copperhead 的设备并使用 Copperhead 的更新服务器。我不太喜欢那样。最后,我不仅通过成为一位直言不讳的用户来支持 FOSS,而且还用我的钱包来支持它。
将“自由”放回自由中
我喜欢 FOSS 的另一件事是我有选择。甚至还有一个正在开发的 Copperhead 新选项,名为 Eelo。它由 Mandrake Linux 的开发者 Gaël Duval 创建,这是一个基于 LineageOS(CyanogenMod 的后代)的基于隐私的 Android 操作系统。虽然它应该比 Copperhead 支持更多手机,但它仍处于开发阶段,而 Copperhead 非常稳定和成熟。不过,我渴望尝试一下。
在我使用 CopperheadOS 的一年里,当使用移动设备连接到网络时,我从未感到更安全。我发现我的旧应用程序的开源替代品非常足够,甚至比 原始应用程序更好。我还重新发现了浏览器。我以前大约打开三到四个标签页,现在大约有 10 个,因为我发现我通常不需要安装应用程序即可轻松访问网站的内容。
随着 Google 和 Apple 等公司越来越试图将自己插入到用户的生活中,很高兴有一个将“自由”放回自由中的选项。
14 条评论