Skip to content

Extended FAQ zh CN

ArchiBot edited this page Nov 16, 2023 · 34 revisions

补充常见问题

“补充常见问题”涵盖了一些您可能想了解的不太常见的问题以及它们的答案。 对于更常见的问题,请访问​基本常见问题


谁创作了 ASF?

ASF 是由 Archi 在 2015 年 10 月创作的。 您可能已经知道,我和您一样,是一名 Steam 用户。 正如您所见,除了玩游戏,我也很愿意将我的技能与意志付诸实践。 这里没有大公司参与,没有开发者团队,也没有一百万美元的预算——只有我自己维护这个项目。

然而,ASF 是一个开源项目,您在这里看到的一切并非完全出自我手。 我们有一些其他 ASF 项目,几乎全部由其他开发者开发。 即使是 ASF 核心,也有许多​贡献者​参与帮助我完成。 最重要的是,有一些第三方服务支持了 ASF 的开发,特别是 GitHubJetBrainsCrowdin。 当然也不能忘记实现 ASF 所用的优秀的库和工具,例如我们使用的 IDE Rider(我们还特别喜爱 ReSharper 插件),特别是 SteamKit2,没有这个库,ASF 也就不复存在。 同样,如果没有各种赞助者对我们的支持,ASF 也不会是现在这个样子。

感谢所有帮助 ASF 开发的人! 你们很酷 ❤️。


起初为什么要创作 ASF?

创作 ASF 的主要目标是成为 Linux 的全自动 Steam 挂机工具,无需任何外部依赖(例如 Steam 客户端)。 事实上,这仍然是它的最主要目标,因为我的 ASF 概念从那以后没有改变,我现在使用它的方式仍然与我在 2015 年的使用方式完全相同。 当然,自那时起,ASF 已经发生了相当多的变化,我很高兴看到 ASF 取得了如此大的进展,这主要得益于我们的用户,如果我只是为自己开发,ASF 恐怕连现在的一半功能都没有。

需要指出,ASF 从未试图与其他相似工具竞争,特别是 Idle Master,因为 ASF 从来没有被设计为一个桌面/面向用户的应用,现在亦然。 如果您仔细分析上述的 ASF 主要目标,您就会发现 Idle Master 处于完全相反的方向。 虽然您现在肯定能找到类似于 ASF 的工具,但对我来说,当时还没有合适的(目前仍然没有),所以我按照我想要的方式创造了自己的软件。 随着时间的推移,用户迁移到 ASF 的主要原因是其强健、稳定和安全的特性,但也有我这些年开发的所有特性的功劳。 如今,ASF 是史上最棒的 ASF。


那么用户需要付出什么? 分享 ASF 为你带来了什么利益?

您不需要付出代价,我为自己创作了 ASF,并将其分享给社区,希望对其他人有用。 1991 年发生过同样的事情,Linus Torvalds 将他的​第一份 Linux 内核​分享给了全世界。 这里没有暗藏恶意软件、数据挖掘、恶意挖矿或者其他任何能够为我产生利益的活动。 ASF 项目的支持完全来自于非强制性的捐款,这些捐款由像您一样的普通用户捐赠。 您可以像我一样使用 ASF,并且如果您喜欢它,您可以随时为我捐赠一杯咖啡来表达您对我工作的感激。

此外,我也将 ASF 视为一个现代 C# 项目的完美示例,始终追求完美和最佳实践,无论是技术、项目管理还是代码本身。 这是我对于“把事情做好”的定义,所以假如您打算从我的项目中学到一些有用东西,那只会使我更高兴。


启动 ASF 后,我丢失了所有帐户/物品/好友……!

从统计角度看,无论结果多么悲剧,在 ASF 启动之后不久,一定会有至少一人死于车祸。 区别在于,没有正常人会因为这种情况指责 ASF,但出于某些原因,有些人却因为他们的 Steam 帐户出现了相同的问题指控 ASF。 当然我们可以理解这一点,毕竟 ASF 是在 Steam 平台下运作,所以人们自然会因为他们 Steam 帐户财产上发生的任何事而指责 ASF,尽管没有任何证据表明他们运行的软件与此情况有一丝一毫的联系。

ASF 如​常见问题​和​上面提到的问题​所述,它没有恶意软件、间谍木马、数据挖掘,以及任何其他用户可能不希望的可疑行为,特别是不会收集您的 Steam 敏感信息,也不会窃取您的数字财产。 如果您遇到了类似的情况,我们只能对您表示遗憾,并建议您联系 Steam 客服,希望他们能够在恢复过程中帮助到您——因为我们对您遇到的事情没有任何责任,并且我们并未违背良心。 如果您不这样认为,这是您的选择,进一步阐述毫无意义,上述资源提供了客观可验证的方式确认我们的声明,如果您仍然不相信,那我们无论写下什么都是一样的效果。

然而,上述内容并不意味着可以在缺少常识的情况下对 ASF 进行任何操作而不会导致安全问题。 例如,您可能会忽略我们的安全准则,将 ASF 的 IPC 接口暴露到互联网上,如果有人来访问并盗走了您的所有物品,请不要感到惊讶。 人们经常这样做,他们认为如果没有域名或连接指向他们的 IP 地址,就没有人能够找到他们的 ASF 实例。 就在此刻,有成千上万个全自动机器人爬取整个 Web 网络,包括随机 IP 地址,以及搜索可以利用的漏洞,而 ASF 作为一个受欢迎的程序,同样是它们的目标。 我们已经有足够的人因为自己的愚蠢行为被入侵了,所以您应该从他们的错误中吸取教训,而不是加入他们的行列。

您的 PC 安全性也是一样。 是的,PC 上的恶意软件会从每个角度摧毁 ASF 的安全性,因为它可以从 ASF 配置文件或者进程内存中直接读取敏感信息,甚至影响程序做它原本无法做的事情。 不,您从可疑来源获得的最新破解软件并不像某些人说的那样是“误报”,这是入侵接管其他人 PC 最有效的方法,被害人会主动入侵自己,甚至还会乖乖按照提供的指示进行操作,非常“有趣”。

那么使用 ASF 是否完全安全并且没有任何风险? 不,这种说法是不负责任的,因为任何软件都会有安全性问题。 与很多大公司在做的事情正好相反,我们在​安全建议​方面会尽可能做到透明,一旦我们发现 ASF 可能导致任何从安全角度来看不应发生的情况,即使只是假设的情况,我们也会立刻公开。 例如 CVE-2021-32794 就是这样的情况,即使 ASF 本身没有任何安全缺陷,但这样的错误可能导致用户操作造成意外的缺陷。

截至今日,ASF 尚无已知的、未修复的安全缺陷,并且程序也被越来越多的人使用,其中也包括​白帽​和​黑帽​黑客在分析源代码,其整体的可信度只会随时间推移而提升,因为要发现的安全缺陷数量有限,ASF 作为一个首先注重安全性的程序,并不容易被找到这种缺陷。 无论我们最好的愿望如何,我们仍然建议时刻保持冷静,并警惕潜在的安全威胁,包括来自使用 ASF 的威胁。


我怎样确认下载的文件是真实的?

我们使用与 Debian 非常类似的简易验证方式,以此作为 GitHub Release 的一部分。 在 ASF 的每个官方版本中,除了 zip 构建产物以外,还包括 SHA512SUMSSHA512SUMS.sign 文件。 在下载您所需 zip 文件的同时,也下载这两个文件用于校验。

首先,您应该使用 SHA512SUMS 文件来验证指定 zip 文件 SHA-512 校验和的值与我们的计算相符。 在 Linux 上,您可以使用 sha512sum 工具做这件事。

$ sha512sum -c --ignore-missing SHA512SUMS
ASF-linux-x64.zip: OK

在 Windows 上,我们可以在 Powershell 里实现,但您需要人工确认 SHA512SUMS

PS > Get-Content SHA512SUMS | Select-String -Pattern ASF-linux-x64.zip

f605e573cc5e044dd6fadbc44f6643829d11360a2c6e4915b0c0b8f5227bc2a257568a014d3a2c0612fa73907641d0cea455138d2e5a97186a0b417abad45ed9  ASF-linux-x64.zip


PS > Get-FileHash -Algorithm SHA512 -Path ASF-linux-x64.zip

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA512          F605E573CC5E044DD6FADBC44F6643829D11360A2C6E4915B0C0B8F5227BC2A2575... ASF-linux-x64.zip

这样我们就保证了 SHA512SUMS 中记录的内容与实际文件是符合的,这些文件没有被篡改。 然而,这还不能证明您使用的 SHA512SUMS 文件真的来自我们。 为此,我们将使用 SHA512SUMS.sign 文件,里面记录了能证明 SHA512SUMS 真实性的数字 PGP 签名。 我们可以使用 gpg 工具,无论是在 Linux 还是 Windows 上(在 Windows 上需要将 gpg 命令换成 gpg.exe)。

$ gpg --verify SHA512SUMS.sign SHA512SUMS
gpg: Signature made Mon 02 Aug 2021 00:34:18 CEST
gpg:                using EDDSA key 224DA6DB47A3935BDCC3BE17A3D181DF2D554CCF
gpg: Can't check signature: No public key

您可以看到,此文件确实有一个有效的签名,但来源未知。 您需要导入我们用于签名 SHA-512 校验和的 ArchiBot 公钥,来进行完整的验证。

$ curl https://raw.githubusercontent.com/JustArchi-ArchiBot/JustArchi-ArchiBot/main/ArchiBot_public.asc -o ArchiBot_public.asc
$ gpg --import ArchiBot_public.asc
gpg: /home/archi/.gnupg/trustdb.gpg: trustdb created
gpg: key A3D181DF2D554CCF: public key "ArchiBot <ArchiBot@JustArchi.net>" imported
gpg: Total number processed: 1
gpg:               imported: 1

最后,您可以再次验证 SHA512SUMS 文件:

$ gpg --verify SHA512SUMS.sign SHA512SUMS
gpg: Signature made Mon 02 Aug 2021 00:34:18 CEST
gpg:                using EDDSA key 224DA6DB47A3935BDCC3BE17A3D181DF2D554CCF
gpg: Good signature from "ArchiBot <ArchiBot@JustArchi.net>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 224D A6DB 47A3 935B DCC3  BE17 A3D1 81DF 2D55 4CCF

这次我们验证了 SHA512SUMS.sign 持有我们 224DA6DB47A3935BDCC3BE17A3D181DF2D554CCF 密钥的有效签名,对应您已验证过的 SHA512SUMS 文件。

您可能想知道最后的警告是怎么来的。 您已经成功导入我们的密钥,但尚未决定信任它。 虽然这不是强制性的,但我们也可以说明这一点。 通常,您需要通过另一个沟通渠道(例如电话或短信)来验证此密钥是有效的,然后使用您自己的密钥为其签名来信任。 在此示例中,您可以认为此 Wiki 条目就是“另一个”(非常弱的)渠道,因为原始密钥来自于 ArchiBot 的个人资料。 无论如何,我们假定您有足够的信心认为密钥是可信的。

首先,如果您还没有自己的私钥,则​生成一个。 我们在此使用 --quick-gen-key 参数作为一个快速的示例。

$ gpg --batch --passphrase '' --quick-gen-key "$(whoami)"
gpg: /home/archi/.gnupg/trustdb.gpg: trustdb created
gpg: key E4E763905FAD148B marked as ultimately trusted
gpg: directory '/home/archi/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/home/archi/.gnupg/openpgp-revocs.d/8E5D685F423A584569686675E4E763905FAD148B.rev'

现在您可以使用您自己的密钥为我们的密钥签名,也就是信任它:

$ gpg --sign-key 224DA6DB47A3935BDCC3BE17A3D181DF2D554CCF

pub  ed25519/A3D181DF2D554CCF
     created: 2021-05-22  expires: never       usage: SC
     trust: unknown       validity: unknown
sub  cv25519/E527A892E05B2F38
     created: 2021-05-22  expires: never       usage: E
[ unknown] (1). ArchiBot <ArchiBot@JustArchi.net>


pub  ed25519/A3D181DF2D554CCF
     created: 2021-05-22  expires: never       usage: SC
     trust: unknown       validity: unknown
 Primary key fingerprint: 224D A6DB 47A3 935B DCC3  BE17 A3D1 81DF 2D55 4CCF

     ArchiBot <ArchiBot@JustArchi.net>

Are you sure that you want to sign this key with your
key "archi" (E4E763905FAD148B)

Really sign? (y/N) y

完成信任密钥之后,gpg 应该不会在验证时再显示上面的警告了:

$ gpg --verify SHA512SUMS.sign SHA512SUMS
gpg: Signature made Mon 02 Aug 2021 00:34:18 CEST
gpg:                using EDDSA key 224DA6DB47A3935BDCC3BE17A3D181DF2D554CCF
gpg: Good signature from "ArchiBot <ArchiBot@JustArchi.net>" [full]

注意在信任之后,[unknown] 信任状态已经变成 [full]

恭喜,您已经验证了您下载的文件没有经过篡改! 👍


4 月 1 日到了,ASF 的语言变得很奇怪,发生了什么?

喵!我们藏起来的愚人节彩蛋被你发现了喵! 如果您没有设置自定义的 CurrentCulture,那么 ASF 在 4 月 1 日时将会使用 LOLcat 语言而不是系统语言。 如果您的确希望禁用此行为,您可以直接将 CurrentCulture 改为您要使用的语言。 实际上,您还可以强制启用这个彩蛋,只需要将 CurrentCulture 设置为 qps-Ploc

Clone this wiki locally