News

即将发布的 F-Droid 客户端的 alpha 版本

终于, Android 官方 F-Droid 客户端应用的改造的第一个 alpha 即将发布。这一轮的工作主要是对客户端中一些最古老的代码进行现代化处理:下载、索引解析和数据库层。这些代码现在被结构化为独立的库,以便其他项目也能从使用它中受益。这改变了大量的代码,我们已经确认它修复了许多错误并改进了广泛的功能。当它最终完成时我们将会进一步说明。

这也意味着会有故障,所以这个 alpha 版本可能会比过去几年的 alpha 版本更不稳定。我们总是感谢测试、反馈、问题和崩溃报告。但是如果你的 F-Droid 是以一种你不愿意重置的方式定制的,那么你可能想静待这个 alpha 测试周期结束。如果你有一个备用设备,测试设备,或者使用 Android 模拟器,我们也很乐意你测试我们的每日构建。请注意:每日构建来自 GitLab CI/CD,所以不像官方发布那样有安全的发布过程。可以同时安装正式版本和每日版本。开始使用每日构建的最简单方法是将它的存储库添加到现有的 F-Droid 安装中,然后搜索 “Nightly”,然后选择 “F-Droid Debug”。

这项工作由 FFDW-DVD 资助资助

为什么内容管理和去中心化比数百万的应用更好

每台电脑或移动设备都有某种形式的 “应用商店”。Android 有 F-Droid。Debian 的核心是“软件库”。然后也有真正庞大、专有的应用商店:苹果应用商店和 Google Play。这些应用商店有数以百万计的应用,而 Debian 有几万个,F-Droid 大约有 4000 个。这些大应用商店宣传自己时经常提及这个统计数字。当通过这个数字进行比较时,F-Droid 微不足道。但实际上,你需要你的应用商店里有多少个应用呢?

每一个软件集合从根本上说都是一种内容管理行为。只有有用的软件才会被收录。恶意软件被过滤掉。在你所在地区被认为是非法的软件被阻止。任何不符合标准或服务条款的软件都被删除。在由社区进行内容管理的发行版(如 Debian 或 F-Droid)中,贡献者通过选择值得他们关注的应用来进行内容管理。没有一个主要的面向最终用户的软件发行版是不进行内容管理的。理想的情况是,这些软件对你这个用户是有用的。可悲的是,实际情况往往并非如此。想想那些优先考虑监控资本主义的公司:它们包括旨在捕捉你的注意力的软件,以便它们可以卖给广告商。或者一些承诺对应用进行隐私保护,但随后豁免他们自己的软件的公司。

从用户的角度来看,理想的应用商店将仅包含用户想要的东西。没有人在他们的设备上安装数百万个应用。所有这些额外的应用只会妨碍寻找重要应用。更糟的是,在大型应用商店里,它不仅仅是噪音,它是恶意软件或公司试图诱使你加入一些东西。他们正试图成为最闪亮的东西,以便人们点击“购买”按钮。或者更糟糕的是,他们试图让你上瘾,以便他们可以将你的数据卖给广告商。

F-Droid 是围绕不同原则组织的:用户选择、去中心化和社区控制的内容管理。这意味着 F-Droid 默认为你提供选定的应用,没有封禁或审查。当你安装 F-Droid 应用时,它会自动连接到由这个社区维护的 f-droid.org 上的集合。F-Droid还使任何人都能轻松根据他们自己的审查规则发布存储库。Repomaker 是一个用于发布的简单网络应用,而 fdroidserver 命令行工具为 f-droid.org 提供了动力。

这样的组织方式使很多困难的问题消失了。儿童、黑客、宗教人士、祖父母、活动家、单身汉和成人电影演员;我们都使用日历,阅读新闻,需要帮助导航,玩游戏。多年来,在 f-droid.org 社区内形成了一个粗略的共识,即我们的集合应该这样进行内容管理。事实证明,这与其他自由软件社区,如 Debian 相当相似。这篇博文的目的是让我们的用户更清楚地了解这一点。

每个社会都有公认的对冒犯性事物进行沟通的方式。如果 f-droid.org 是软件的唯一来源,那么我们的内容管理将是审查制度,因为我们将阻止言论。作为自由软件和隐私的支持者,我们也不希望与审查制度有关。这就是去中心化的意义所在。去中心化意味着人们可以以精细的方式选择他们信任的人,而不是全都要或全都不要。我们投入了大量的工作,使任何人都可以轻松地制作他们自己的应用存储库,这些存储库可以遵循其创建者想要的任何规则。由于 F-Droid 存储库是一种用户控制的订阅形式,它不是 F-Droid 贡献者做决定的地方。F-Droid 用户在自己的设备中包含哪些应用或存储库完全取决于他们。

关于去中心化系统的一个常见的抱怨是,它们不好用。对于...

自由软件和检查是我们可以信赖的软件的关键

检查软件对于了解该软件实际在做什么至关重要。自由软件意味着所有用户都有机会全面检查他们所依赖的源代码。网络安全行业建立在检查软件以发现恶意软件并建立防御的基础上。恶意软件扫描器使用大量软件特征签名来扫描数十亿台设备,而发现新的攻击需要代码审计,技术分析和取证。这是最著名的软件检查领域。还有志愿者、学者和民间社会组织寻找跟踪针对性攻击,令人上瘾的黑暗模式,监视资本主义和其他不道德的做法。 F-Droid 社区也建立在检查之上,确保我们分发自由软件并标记负特征

一些开发者会描述这些功能,但会忽略关键细节。这可能只是一个简单的疏忽,也可能他们知道用户会不高兴,因此他们的目标是让这些细节远离公众视线。即使是努力保持透明并诚实地为用户服务的开发者也可能掉进坑里。我们有庞大的设施告诉开发者在他们的应用中包含了哪些库和服务,因为这将改善功能或开发过程。

  • “寻找创收机会应该不难!”
  • “出色的数据收集软件使您能够最大限度地提高生产力!”
  • “应用货币化是一种帮助您从移动应用中赚钱而无需收费的方式。”

这些通常包括用户不想要的东西。这些行业实际上在说的是:收集尽可能多的个人数据,跟踪用户,用令人上瘾的黑暗模式留住他们,并吸引他们的注意力向他们展示尽可能多的广告。这些是我们正在努力揭露的事情,并且我们正在构建的工具,以提高效率并使更多人可以参与其中。

用签名扫描

人工检查软件的最可靠方法之一是自动应用感兴趣特征的签名以呈现给人工审查者。签名可以是二进制机器代码块、URL、函数名、域名或元数据位(如 API 密钥 ID)。二进制代码签名是各种恶意软件扫描程序使用的主要方法。恶意软件研究人员致力于寻找特定恶意软件独有但在其他地方找不到的小模式。以下是此类签名的示例,它是 Silentbanker 木马的 YARA 配置文件:

 strings: $a = {6A 40 68 00 30 00 00 6A 14 8D 91}...
    

从慢速走向快速

我们最近在某些方面有点沉默,比如这个博客和要审查的合并请求。我们努力让用户了解情况,并且我们总是感谢贡献,即使我们无法立即审查它们。F-Droid 创始于 2010 年,因此我们有一些技术债务,不能总是快速行动。 我们感谢在贡献时的耐心。 好消息是,这是因为由于一系列似乎同时发生的重大改进我们真的非常忙碌。 所以下面是一个快速的概述:

  • 您可能已经注意到,这个网站有时运行得非常慢。 我们一直在努力改善这一点。 自从我们推出新的前置网络服务器以来,我们已经看到了很大的改进。 现在,我们获得了有关网络使用情况和服务器状态的更好数据,这意味着我们可以更有效地进行故障排除和优化。

  • 我们正在完成对官方 F-Droid 客户端应用的重大更新(感谢 FFDW 的资助),包括一项安全审计(感谢 NLnet 的资助)。这替换了大量的技术债务,修复了许多错误,增加了一个全面的测试套件,并且应该使贡献者更容易理解代码。

  • 我们有了一些新的贡献者 构建服务器 实例,用于在生产设置上测试应用构建。这加快了应用审查过程,特别是对于构建复杂的关键应用,例如 ElementJitsi Meet。这些实例还允许我们执行定期的存储库范围的扫描,以查找任何可能潜入的非自由依赖项

  • 在对贡献者 构建服务器 实例使用 Ansible 自动化后,此设置现已得到验证,我们现在正在切换生产设置以使用它。 这意味着任何人都可以相对轻松地检查和重新创建生产设置。

  • 我们正在为生产 构建服务器 设置新硬件,以实现构建过程的

万岁,F-Droid 网站现在有了印度尼西亚语版本!

F-Droid 网站让您可以访问各种自由软件应用,而不必担心失去您的隐私或数据;以印度尼西亚语提供它对于使印度尼西亚的人们广泛使用自由软件很重要。

感谢为 F-Droid 网站、文档和应用描述添加印度尼西亚语支持的志愿者。不过仍有改进的余地,所以如果你有兴趣帮助翻译 F-Droid,您可以点击此处贡献翻译

您还可以通过捐款来支持 F-Droid,或者如果您有编码或设计等技能,您可以通过加入邮件列表或在 GitLab 上检查问题

谢谢你 :)

Maven Central 并没有它看起来的那么自由

F-Droid 始终致力于分发自由开源 Android 应用程序。从源代码为 Android 构建自由软件面临与 Debian 等 GNU/Linux 发行版不同的一系列挑战。 Android 应用是交叉编译的:它们与运行的操作系统不同。最重要的是,Android 只提供了一组内置的准系统库。与 Java 生态系统一样,应用通常从 Maven 存储库中获取库二进制文件并使用它们构建应用。为了确保应用只使用自由开源依赖构建,我们在 fdroidserver 中开发了一个扫描系统来限制依赖源并找出有问题的依赖项。

自 2015 年起,F-Droid 禁止使用未知的 Maven 存储库并仅信任一些知名的 Maven 存储库。之后,更多存储库添加列表中。目前有 8 个我们信任的 Maven 存储库:

  • Maven Central
  • 谷歌 Maven 存储库
  • JCenter
  • OSS Sonatype
  • OSS JFrog
  • ...

我们的构建和发布基础设施,以及即将到来的更新

F-Droid 的背后是一大堆自动化系统,用于管理从源代码构建数千个应用的过程。这意味着检查数以千计的源代码库,检查它们是否有更新、构建和新版本,并安全地对它们进行集体签名。所有构建都在称为 buildserver 的全新客户虚拟机实例中运行。所有 Gradle 二进制文件和 Android SDK 包都根据我们观察到的 SHA-256 校验和的公开记录进行了验证。透明度记录流程还会根据上游的公共校验和进行验证。

我们的设置几乎完全在 Debian 上运行。 Debian 是自由软件、坚如磐石的服务器和可重复构建的领导者。这使它成为 F-Droid 的天然家园。我们还努力确保我们维护我们使用的软件包,并在 Debian 软件包之上构建我们的流程。这意味着我们与任何使用 Debian 的人共享维护。回馈似乎需要付出更多的努力,但我们的经验是,从长远来看,它会带来回报。 F-Droid 社区可以通过一个小团队来维护很多东西。另一个例子是这个网站本身:它是使用 Debian 中的 Jekyll 包构建的。

如果你在 f-droid.org 上有一个应用,你可能已经注意到所有构建都发生在 5 年前的 Debian 版本上:stretch。我们正在努力升级到最新的 bullseye 版本。这不仅仅是一个简单的 apt-get upgrade,我们还借此机会彻底改革了构建过程,以便应用构建可以使用相对简单的 Debian 安装作为基本操作系统。我们必须提供一个平台来构建数以千计的应用,所以我们不能随心所欲地升级基础镜像。有些应用需要最新、最好的。其他应用需要古老、稳定的基础操作系统。此更改意味着元数据包含尽可能多的构建逻辑,以便应用维护者可以控制所有步骤。为了实现这一点,我们将尽可能多的部分从 buildserver 基础镜像中剥离出来。

...

从用户到贡献者并更进一步

这篇博文由 F-Droid 的贡献者之一 Licaon_Kter 撰写。为了帮助支持 Licaon_Kter 和其他贡献者的工作,请考虑向 F-Droid 捐赠。我们希望每周筹集 1,200 欧元,以便 Licaon_Kter 可以继续全职进行贡献。

一名用户

20 多年来,我一直在使用自由开源软件。我开始使用双引导来测试 GNU/Linux 发行版,并在几年前决定使用 Slackware。由于 WINE 总是越来越好,双启动的理由很少,我已经切换到 Debian 并完全删除了 Windows 分区。因为我总是离联网的电脑不到 15 分钟,所以我不关心智能手机。当然,我已经为家人设置了几台设备,但是在我拥有自己的旧设备之前,我很惬意地不知道为什么 Android 是自由的,或者为什么 iOS 是封闭的。

我的这台旧设备运行良好,但我听说了 XDA 论坛并开始探索自定义 Android ROM,钻研 Gapps、root 和 AFWall+,这让我非常清楚 Google 是如何在“免费”Android 许可证上赚钱的。

XDA 提到了“替代应用商店”,但那些商店通常不过是从 Google Play 商店复制应用收集它们。这么做我可以避免跟踪,但始终担心这些 apk...

RSS RSS