设置专用IPFS节点

来源:FilCloud  作者:FilCloud  时间:2020-04-02

  可能有多种原因想要将 iOS 设备备份到 iCloud 以外的其他位置。

  这篇文章介绍了如何通过命令行通过 USB 或 WiFi 将 iOS 设备手动备份到本地 IPFS 节点。

  可用脚本:Github 上有一个脚本可以自动完成此过程。

如想备份,你需要以下

基本的 IPFS 概念知识 基本命令行知识 iOS 装置 本地运行的 IPFS 节点 Mac,Linux 或 Windows 计算机*

  *此功能仅在 Mac 上经过测试,但是依赖项应可在所有平台上使用

设置专用IPFS节点

  重要说明:强烈建议使用私有 IPFS 节点。遵循本教程将对备份进行加密,但不会对备份的元数据进行加密。此元数据包含潜在的敏感信息,包括电话号码和设备上安装的应用程序列表。有关更多信息,请参见此问题。

  确保 IPFS 节点仅连接到您信任的对等节点,将防止未加密的元数据可供公共 IPFS 网络上的其他用户使用。有关专用网络的更多信息,请参阅此。

简单地生成群密钥 go gethttp://github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen ipfs-swarm-key-gen > ~/.ipfs/swarm.key 并从引导列表中删除所有对等 ipfs bootstrap rm --all

  这将创建一个私有网络,其中您的本地节点是唯一成员。

安装依赖项

  唯一需要的依赖项是 libimobiledevice,这是一个跨平台的库,支持与 iOS 设备的通信。

安装

  macOS 最简单的安装方法是使用 Homebrew。该软件包已经有一段时间没有正式发布了。建议从最新版本 HEAD 开始安装,以避免已解决的问题。

brew install libimobiledevice --HEAD 从源编译

  如果 Homebrew 解决方案在 macOS 上不起作用,或者在 Linux 或 Windows 上安装,则需要从源代码编译软件包。可以在此处找到构建说明。

启用 WiFi 备份

  在撰写本文时,HEAD不支持通过WiFi执行备份。所以需要通过一个简单的更改打开了PR,以启用此功能。如果仍然没有合并,并且您想使用WiFi,请尝试从此fork构建。

配对您的设备

  安装 libimobiledevice 之后,第一步是查看是否可以发现您的设备。

idevice_id -l -n

  这将搜索并列出通过USB或WiFi连接的所有设备的设备标识符。

  如果您从未将此设备连接到计算机,则可能需要先将其配对。通过运行查看设备是否已配对

idevicepair -u $DEVICE_UDID validate

  如果未配对,则启动配对过程

idevicepair -u $DEVICE_UDID pair

  您应该在设备上看到一个对话框,要求“信任此计算机”。选择“信任”,并在出现提示时输入密码。

  如果需要区分多个连接的设备,请尝试使用获取有关设备的更多信息ideviceinfo。例如,

ideviceinfo -u $DEVICE_UDID -k DeviceName

  将打印出设备名称。

启用加密

  强烈建议在执行备份之前启用加密。

idevicebackup2 -u $DEVICE_UDID encryption on -i

  应该提示您输入备份密码。此加密使用 Apple 提供的标准 iTunes 备份加密。有关更多详细信息,请参阅《Apple平台安全性指南》。

执行备份

  现在,我们将备份到本地文件系统。您需要指定一个 BACKUP_PATH。这里有两种不同的方法可供选择:

BACKUP_PATH临时备份并作为块复制到 IPFS(速度较慢) BACKUP_PATH永久备份并通过文件存储添加到 IPFS(更快) 选项 1 是一个简单的解决方案

  它使用您可能熟悉的普通 IPFS 使用模式。但是,这将导致整个备份保存到本地文件系统,然后复制到IPFS。我发现如果您改用文件存储,性能会大大提高。

选项 2 使用文件存储

  这是一项实验性功能,它允许 IPFS 引用要添加的文件而不是复制它们。因为我们正在处理如此大的文件,所以这将大大提高性能。但是,请注意,备份必须永久存在于本地文件系统上的某个位置。如果以任何方式修改这些文件,事情将会中断。

  您可以通过更改 IPFS 配置来启用文件存储:

ipfs config --json Experimental.FilestoreEnabled true

  现在,执行备份

idevicebackup2 -u $DEVICE_UDID backup $BACKUP_PATH

  这可能要花点时间。

将备份保存到IPFS

  备份完成后,我们现在可以将其添加到 IPFS。如前所述,有两种选择。

选项1

  将备份复制到 IPFS

  ipfs add -r "${BACKUP_PATH}/${DEVICE_UDID}"

  清理临时备份

  rm -r $BACKUP_PATH

选项2

  使用以下方法将备份添加到IPFS文件存储中 --nocopy

ipfs add --nocopy -r "${BACKUP_PATH}/${DEVICE_UDID}"

跟踪备份

  将备份添加到 IPFS 后,我发现使用 MFS(可变文件系统)跟踪不同的备份很有用。我 ios-backups 在 MFS 的根目录下保留了一个目录。

  ipfs files mkdir /ios-backups

  该目录包含一个以命名的文件列表,DEVICE_UDID 其内容是该设备最新备份的 CID。

  echo "${CID}" | ipfs files write --create /ios-backups/${DEVICE_UDID}

  非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。

  FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用

  公众号:filcloud

相关信息:
您可能喜欢
Copyright © 2017 iIPFS.com IPFS/FileCoin资讯站