News - page 32

Android 更新和 TLS 连接

Android 设备供应商以其较短的支持期而闻名。他们只在有限的时间内提供更新,甚至提供带有旧 Android 版本的设备。然后,开发者必须处理分散的 Android 版本分布。Google Play 上大约 2% 的活跃设备仍在使用 Android 4.x。旧手机通常仍然具有不错的性能,并且使用自定义 ROM 对其进行更新使它们直到今天仍然非常好用。不幸的是,并非所有设备都支持自定义 ROM,也不是所有用户都想处理安装自定义 ROM 的麻烦。 AntennaPod 是我维护的 Android 开源播客管理器。AntennaPod 不依赖于集中式服务器,而是直接使用设备获取播客订阅。这对用户的隐私非常有利,因为没有人会获得你订阅的完整列表。不幸的是,越来越多使用旧 Android 版本的用户在使用某些播客源时遇到问题。原因是服务器已更新到这些设备上不可用的较新的 TLS 版本。升级服务器的 TLS 版本绝对是一件好事,因为它使通信更加安全。这就是为什么大多数浏览器都提供自己的堆栈,它们可以独立于设备供应商进行更新。不幸的是,所有其他依赖于连接到许多不受其控制的服务器的应用,例如 AntennaPod,仍然会遇到问题。然后用户会看到如下下载错误:Failure in SSL Library, usually a protocol error。这很糟糕,因为它会阻止用户收听播客。虽然这基本上是设备供应商的错,但最终会波及应用开发者。 从 Android 4.1 开始支持 TLSv1.1 和 TLSv1.2,并在 Android 5.0 中默认启用。还有一些密码套件和证书在 Android 4.x 中不受支持。虽然此问题目前仅影响 Android...

重大网站更新

我们刚刚完成了对网站的大修,使其运行更顺畅,翻译处理得更好,并且更容易构建和定制。整个过程已更新为仅使用 Debian 软件包在 Debian/buster 中运行,同时保持标准 Ruby 方法正常工作。这使得非 Ruby 开发者可以轻松地加入并改进该站点。对 Markdown 翻译工作流程进行了大修,因此翻译页面、文档和帖子应该容易得多。为了突出这一点,每个可翻译页面的右下角现在将显示“在 Weblate 上翻译”,点击它直接进入翻译。另一个重大变化是新的“应用”部分,它现在按与 Android 客户端应用相同的类别进行组织。 这些贡献来自于 @uniqx、@eighthave、@redplanet、@webdev4、@moasda、@meskobalazs,当然还有不知疲倦的翻译者们!

F-Droid 是学者和研究人员的一个重要资料来源

我们很少收到学者和研究人员的消息,但我们知道 F-Droid 对他们的工作很重要,因为他们在很多论文中都引用了 F-Droid 作为来源: arXiv 列出了 200 多个结果 Semantic Scholar 列出了 200 多个结果 谷歌学术列出了一千多个结果 以下是我们发现特别有趣的两个研究: 通过深度学习对 Android 应用去混淆 Android 及其安全应用中可靠的第三方库检测 我们欢迎大家使用 F-Droid 作为资源,这是只有自由软件才能提供的有价值的东西。自由软件意味着让人们可以自由地使用软件来做他们感兴趣的事情。F-Droid 不仅提供自由软件应用,还提供大量自由软件工具,以及关于所有这些软件的一整套组织有序的数据。我们很高兴看到我们的辛勤工作被用于打造更好的 Android 生态系统。我们特别喜欢恶意软件研究人员的关注,他们尚未在 F-Droid 中发现恶意软件。F-Droid 还提供了使构建大量应用变得更加容易的工具,例如 fdroid import 可以从源 URL 设置应用构建,以及完整的构建堆栈,它可以自动构建和部署应用到存储库。 作为 NLnet 资助的跟踪跟踪器项目的一部分,我们也在清理并扩展我们的跟踪检测工具。例如,现在有可重用的 issuebot 用于在 GitLab 中运行这些检查。我们还生成了大量有关跟踪工作方式的数据,并将尽可能多地发布这些数据。我们将与 Exodus Privacy 的 ETIP 数据库同步,我们也鼓励其他人将其用作有关跟踪的通用公共数据库。 创造性的重用 为了鼓励更多的创造性重用,我们一直在推动以标准格式将我们所有的数据放在容易找到的地方。整个应用集合现在采用 fdroiddata...

2019 年的 F-Droid 统计数据

我刚刚在 FSFE Berlin 上做了一个关于 F-Droid 的简短谈话。为此,我收集了一些关于去年在我们的存储库中发生的事情的统计数据。我在一年半前做过类似的事情,你可以在 pdf 的第 9 页上找到这些数字。 2019 年 1 月至 2020 年 2 月 10 日 存储库增加了 316 个应用 发布了 192 次索引更新(平均〜每 2 天一次) 已发布 5662 个 apk(每天约 14 个 apk) 目前主存储库中有 2086 个应用(包括存档在内大约有 4000 个) F-Droid-Data 提交 提交数 用户 5542 F-Droid Builder (Auto updater) 939...

OpenPush - 适用于 Android 的自由、去中心化推送消息框架

推送消息是连接移动设备的重要组成部分。它们也是开源 Android 生态系统中关键缺失的部分之一。到目前为止,自由 Android 应用要么需要实现自己的推送通知系统,要么不使用任何推送消息,要么使用专有的 Google Cloud Messaging 服务。 我们希望我们的移动设备具有较长的电池寿命和即时通知。在实现你自己的移动推送功能时,你通常可以针对这些目标中的任何一个进行优化。如果用户正在运行多个应用,每个应用都有自己的持续的推送通知连接,则尤其如此。为了解决与维护多个连接相关的电池消耗问题,Google 引入了 Google Cloud Messaging (GCM) 框架,该框架最近已成为 Firebase Cloud Messaging (FCM)。Firebase Cloud Messaging 依赖于 Android 设备上专有的 Google Play 服务框架的可用性。使用 FCM 还需要将专有的 FCM 客户端库包含到 Signal、Wire 甚至 Firefox 等开源 Android 应用中,这使得它们实际上是非自由软件,无法通过完全自由的 F-Droid 软件存储库进行分发。此外,所有通过 FCM 传递的推送通知都需要通过 Google 的服务器留下元数据踪迹,即使它是空唤醒事件或消息内容已加密。 像 Matrix、Nextcloud 或 RocketChat 这样的去中心化、自托管系统目前仍然依赖 Google...

追踪追踪器:使用机器学习辅助道德决策

F-Droid 是一个自由软件社区应用商店,自 2010 年以来一直致力于让用户可以看到所有形式的跟踪和广告。它已成为关于 Android 中的隐私的一个值得信赖的名字,基于隐私进行销售的应用开发者付出了额外的努力,将他们的应用包含在 F-Droid.org 集合中。其中包括 Nextcloud、Tor 浏览器、TAZ.de 和 Tutanota。审计应用中的跟踪是劳动密集型的且容易出错,但需求量却越来越大。F-Droid 已经在此过程中提供了帮助贡献者的工具,在应用提交和打包请求 (RFP)议题跟踪器中可以见到。我们还有使用机器学习的功能原型,通过增强人类而不是取代人类来大幅加速这一过程。 由于 F-Droid 社区的主要动机是合乎道德的软件分发,算法永远不会取代人类做出合乎道德的决策。我们还探索了使用机器学习以更通用的方式检测跟踪,而不需要手动编译跟踪库列表。有了这笔资助,我们将改进 F-Droid 工具,并使它们普遍适用于任何需要可靠检测 Android 应用中的跟踪器的用例。这建立在我们与 Exodus Privacy 和 LibScout 的合作上。 这个项目来自 Aaron Kaplan 和 Hans-Christoph Steiner 与维也纳经济大学 (WU) 数据科学实验室 的学生一起做的一些概念验证工作。我们专注于在 Android 应用中使用机器学习,首先检测恶意软件,然后检测跟踪库。当然,这最终是 F-Droid 社区努力的结果,以及 Guardian Project 资助的在没有任何跟踪的情况下构建系统的努力。特别感谢 F-Droid 创始人 Ciaran Gultnieks 自 2010 起定下的合乎道德的基调启发了我们所有人。...

F-Droid 在 36c3

去年 12 月,一些 F-Droid 贡献者相聚在 36c3。由于它是许多相关项目的大型聚会场所,因此我们将这份关于 F-Droid 活动的小报告包括在其中。我们举行了由 @Bubu 领导的开发者会议和用户会议。在开发者大会上,约 10 位参与了 Replicant、K-9、Nextcloud、microG、Conversations、AntennaPod 等关键自由软件项目的开发者进行了交流。一项重大改进是 CCC 应用更新启动得更早,f-droid.org 更新过程运行更顺畅。与去年不同,我们没有抱怨 f-droid.org 存储库已过时。 与 Replicant 讨论了如何处理不是 100% DFSG 自由软件的应用,例如标有 NonFreeAdd、NonFreeDep,或 NonFreeAssets 的应用。Replicant 旨在获得完整的自由软件基金会认证,因此它遵循比 F-Droid 目前更严格的标准。例如,任何引导用户安装非自由软件的应用对于 Replicant 来说都是不可行的。我们计划继续讨论,看看 F-Droid 和 Replicant 贡献者如何理解负面特征。此外,一些想法已经达成一致,主要是在等待某人实现。例如,在客户端应用中进行负面特征过滤并允许 ROM 能够设置默认值。如果你有兴趣,请在论坛、问题跟踪器和/或聊天室中联系我们。 我们收到的反馈是,使应用被 F-Droid 收录的过程仍然非常不直观,并且记录不充分。一位用户表示愿意对此做出贡献。 @Bubu 通过会议贴纸交换箱分发了近 5000 个 F-Droid 贴纸,并将它们提供给感兴趣的组织 (Matrix, Nextcloud,...

受信任的更新渠道与挠痒痒

自由软件的一大优点是人们可以轻松地获取实用程序或库,并按照他们认为合适的方式对其进行定制。任何人都可以提交错误修复或改进,并且可以在许多人、项目和组织之间轻松共享。对于像 Python 的 pypi 这样的分发系统,有一个更新通道,受信任的维护者可以发布修复程序,以便库的使用者可以轻松获得更新。在谈到更新渠道和代码时,不可避免地还要谈到人和信任。一个关键部分是使用者和维护者之间的信任关系。理想的软件分发系统将是软件维护人员和每个最终用户之间的盲目、可信赖的管道。 由于我们讨论的是代码库,因此自然关系与信任关系不同:它是在消费者和库本身之间,而不是维护者之间。我使用 Requests 来处理 HTTP,而不是 @nateprewitt 的复刻。我的 setup.py 包含对 'requests' 的引用,而不是对我信任的保持库更新的维护者的引用。 有一些案例是依赖库被接管并被用于分发恶意软件。或者在另一个案例中有人提出接管一个流行的库,然后将恶意软件插入其中。如果维护者太轻易将库交给其他人,那么这将被滥用。如果它们太难移交,那么许多有价值的库将被放弃或分叉。必须检查分叉给库使用者增加了额外成本,因此理想情况是总有一个值得信赖的维护者。 对于像 Requests 这样的大型项目或像 Debian 这样的发行版,有一个过程可以确保新的维护者做正确的事情。还有很多非常有价值的小型库。例如,apache_log_parser 或 pymtp。在这些情况下,与库作者投入的整体努力相比,通过适当的流程将其移交给新的维护者的成本是相当大的。或者它可能是由现在被其他工作缠身的单一维护者维护。 在 F-Droid 中,审查应用合并请求,即 fdroiddata,也是审查信任关系是否发生变化。这建立在确保新代码正常工作、确保其仍然是自由软件以及所有负面特征都已正确标记的基础之上。正确进行此审核非常重要,尤其是当你考虑到在 F-Droid 中,许多应用会自动更新而不需要核心贡献者对其进行审核。 所有开发者都必须在软件开发过程中的多个关键点考虑这些信任问题,包括: 将库添加到任何软件时 帮助新的维护者接管现有软件 审查对源代码存储库 URL 的更改 还有一些关于如何更好地将我们需要信任的人映射到包含软件的过程的想法。一个有趣的例子是 Rust 生态系统的 cargo-crev。它提供了一个描述和加密链接受信任的开发者及其对软件包的审查的系统。

RSS RSS