编者注: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 可以更新任何 Google 应用或您从 Google Play 下载的任何应用到该应用的新版本,无论您可能在 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 的需求。虽然在标准 F-Droid 存储库中不可用,但 Copperhead 在他们提供的 F-Droid 版本中包含了他们自己的存储库,目前该存储库仅包含 Noise 应用程序。此应用程序将允许您与任何其他使用 Noise 或 Signal 的人安全地通信。
F-Droid 变通方法
FFUpdater
Copperhead 附带了 Chromium 网络浏览器的强化版本,但我是一个 Firefox 粉丝。不幸的是,Firefox 不再包含在 F-Droid 存储库中。F-Droid 上的应用程序都由 F-Droid 维护人员构建,因此进入 F-Droid 的过程可能很复杂。OpenNMS 的 Compass 应用程序不在 F-Droid 中,因为目前它不支持使用 Ionic Framework 进行构建,而 Compass 使用了 Ionic Framework。
幸运的是,有一个简单的变通方法:在 F-Droid 上安装 FFUpdater 应用程序。这允许我安装 Firefox 并通过浏览器本身保持更新。
Amazon Appstore
这使我想到了 Android 8 Oreo 的一个很酷的功能。在以前版本的 Android 中,您只有一个“已知来源”来获取软件,通常是 Google Play 商店,如果您想从另一个存储库安装软件,您必须转到设置并允许“从未知来源安装”。我总是必须记住在安装后关闭它,以防止恶意代码能够在我的设备上安装软件。

opensource.com
使用 Oreo,您可以永久允许指定的应用程序安装应用程序。例如,我使用来自 Amazon Appstore 的一些应用程序(例如 Amazon Shopping 和 Kindle 应用程序)。当我下载并安装 Amazon Appstore Android 软件包 (APK) 时,系统会提示我允许该应用程序安装应用程序,然后就不会再问我了。当然,这可以按应用程序打开和关闭。
Amazon Appstore 有许多有用的应用程序,例如 IMDB 和 eBay。其中许多不需要 Google 服务,但有些需要。例如,如果我通过 Amazon 安装 Skype 应用程序,它会启动,但随后会抱怨操作系统。American Airlines 应用程序会启动,然后抱怨证书过期。(我联系了他们,被告知他们不再维护 Amazon Appstore 中的版本,并且会将其删除。)无论如何,我可以非常简单地安装几个我喜欢的应用程序,而无需使用 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 上有一篇文章 讨论 人们如何销售预装了 Copperhead 的设备并使用 Copperhead 的更新服务器。我不太欣赏这一点。最后,我不仅通过成为一名直言不讳的用户来支持 FOSS,也用我的钱包来支持 FOSS。
将“自由”放回自由中
我喜欢 FOSS 的另一件事是我有选择。甚至还有一个正在开发的 Copperhead 的新选项,名为 Eelo。由 Mandrake Linux 的开发者 Gaël Duval 创建,这是一个基于 LineageOS(CyanogenMod 的后代)的基于隐私的 Android 操作系统。虽然它应该比 Copperhead 支持更多手机,但它仍处于开发阶段,而 Copperhead 非常稳定和成熟。不过,我渴望尝试一下。
在我使用 CopperheadOS 的一年里,我从未在连接到网络时使用移动设备感到更安全。我发现开源替代品对于我的旧应用程序来说绰绰有余,如果不是比 原始应用程序更好。我还重新发现了浏览器。我以前大约打开三到四个标签页,现在大约打开 10 个,因为我发现我通常不需要安装应用程序即可轻松访问网站的内容。
随着像 Google 和 Apple 这样的公司越来越试图将自己强加于用户的生活,很高兴有一个将“自由”放回自由中的选项。
14 条评论