2作者: vxsz大约 2 个月前原帖
我有一个媒体服务器项目想要进行,但我在一个问题上卡住了:便利性与隐私之间的权衡。 这个项目是关于搭建自己的媒体服务器,我希望能够有一个更简便的账户系统,用户只需输入电子邮件和密码,就能获取服务器/IP 列表(后续的所有操作都在实际服务器上完成)。例如,用户可以被邀请加入两个服务器,并在同一页面上看到它们,这样会让事情变得更加直接和简单。 经过深思熟虑,我得出的结论是,集中化是最理智的选择。数据本身包括:电子邮件、加密密码、加密的 IP 列表(通过密钥交换)。有没有办法做到去中心化?我搜索过,甚至询问过大型语言模型,但没有什么感觉可靠(最好的建议是 Nostr),但这种方法会使得电子邮件和密码重置变得痛苦或几乎不可能。我对这个话题了解不多,所以这确实是一个挑战。 那么,为什么不直接使用 URL 呢?便利性。我知道,但给家长提供一个 URL 是很麻烦的,即使是一些懂技术的朋友,沟通起来也需要花费一些时间。我想尽量消除所有的摩擦。此外,如果是集中化的,用户就不需要购买域名、设置 Let's Encrypt 等等,这些都需要花费时间和金钱(尤其是对于简单/新手自托管者来说);这样会更加友好和顺畅,并在某种程度上提供更好的隐私保护。 请注意,这个项目甚至还不存在。但我会尽快推进。我在大学时只上过一门加密课程,虽然我理解并且做得不错,但我仍然需要审核/验证我的方法。 基本上是: 1. 使用不同的算法对密码+盐进行哈希,保存私钥,并将公钥发送到中央服务器。 2. (媒体服务器所有者想要邀请)媒体服务器检查公钥,加密包含所有细节(IP、状态、端口等)的消息,并将加密消息发送到中央服务器。 3. 客户端稍后检查是否有新消息,解密来自服务器的 IP/信息并连接。 每个设备都可以通过这种方式安全登录并获取服务器列表信息。将会有某种“快速连接”的方式在电视等设备上使用,并且可以更改密码,但我现在不想过于超前。我认为 IP/服务器信息的加密没有重大问题,但这就是一般的核心原则。我可能(很可能?)遗漏了一些东西。 我能想到的唯一问题是,“集中化”的 URL/域名会一直显示,而不是所有者的名字。请注意,它将被设计成允许您将其发送到您自己的 URL/域名等。 无论如何,请告诉我什么是最好的。顺便说一下,我并不富裕,但这样一个简单的“认证”服务器大概每月只需 5 美元,加上 2x5 美元的冗余,应该不会太贵。