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

alp*_*per 5 caching offline ipfs

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

即使我不ipfs-hash与其他用户共享文件的,我也想禁止其他用户访问/提取我存储在本地 IPFS 目录中的文件的可能性,如果他们找到文件ipfs-hash/文件夹的文件。

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

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

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


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

Vic*_*olm 6

您可以在离线模式下运行守护程序,这意味着它不会建立任何外部连接。您可以通过运行ipfs daemon --offline并确认启动守护程序后没有输出群地址来完成此操作。


Rüd*_*ehn 3

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

这样你就有了一个可以使用相同的 swarm key 连接到你的其他节点的节点,这个节点绝对不可能有意或无意地连接到公共 IPFS 网络。