如何在不提供对特定文件夹和文件的在线访问的情况下使用 IPFS?

How to use IPFS without providing online access for specific folders and files?

IPFS 提供了有用的缓存机制。 我的目标 是在不提供在线访问的情况下使用 IPFS 缓存机制。

即使我不与其他用户共享文件的 ipfs-hash,我也想禁用其他用户 access/pull 我存储在本地 IPFS 目录中的文件的可能性,如果他们不知何故找出 file/folder 的 ipfs-hash

=> 如果我不这样做 运行 ipfs daemon 这会是一个解决方案吗?如果是,问题是某些文件我可能需要使用 ipfs daemon 与其他用户共享它们,或者我可能还需要从其他节点提取文件。问题出现了,当我启动 运行ning ipfs 守护进程时,这将允许访问存储在本地 ipfs 文件夹中的所有文件。

[Q] 所以基本上我想使用 IPFS 作为离线缓存工具,并且不为我存储在 IPFS 中的某些特定文件夹提供外部访问。即使 ipfs 守护进程是 运行ning,我可以禁用我决定的特定 files/folders 的在线访问吗?

例如, 我有多个文件夹,我想将它们存储在本地 IPFS 文件夹下,谁拥有 ipfs-hash 将无法拉取那些文件。即使 ipfs 守护进程是 运行ning 我可以强制那些存储在本地 IPFS 文件夹中的文件夹没有外部访问权限吗?并为其他一些文件夹提供在线访问。


作为解决方案,我可以在我的机器上 运行 两个具有不同本地存储库的不同 IPFS 进程。第一个对外开放,可以从其他节点拉取等(运行ning ipfs daemon);但其他人无法访问外部,也没有人可以访问其文件。

您可以 运行 处于离线模式的守护进程意味着它不会建立任何外部连接。您可以通过 运行ning ipfs daemon --offline 并确认在启动守护程序后没有群地址输出来做到这一点。

除了 Victor Bjelkholm 提到的离线模式之外,您还可以考虑设置一个私有群。有关说明,请参阅 https://github.com/ipfs/go-ipfs/blob/master/docs/experimental-features.md#private-networks

这样你就有了一个可以用同一个群密钥连接到你的其他节点的节点,绝对不可能这个节点有意或无意地连接到public IPFS 网络。