LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 如何将iOS设备备份到私有IPFS节点上6步搞定

如何将iOS设备备份到私有IPFS节点上6步搞定

2020-04-03 引擎矿机 来源:区块链网络

您可能有多种原因想要将iOS设备备份到iCloud以外的其他位置。这篇文章介绍了如何使用命令行通过USB或WiFi将iOS设备手动备份到本地IPFS节点。

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

你会需要

·?基本的IPFS概念知识

·?基本命令行知识

·?iOS装置

·?本地运行的IPFS节点

·?Mac,Linux或Windows计算机*

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

设置专用IPFS节点

我使用IPFS桌面来运行本地IPFS。但是,还有许多其他方法可以做到这一点。

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

确保IPFS节点仅连接到您信任的对等节点,将防止未加密的元数据可供公共IPFS网络上的其他用户使用。

您可以简单地生成群密钥

1?go get github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen

2 ipfs-swarm-key-gen > ~/.ipfs/swarm.key

并从引导列表中删除所有对等

1ipfs bootstrap rm --all

这将创建一个私有网络,其中您的本地节点是唯一成员。在以后的教程中,我将展示如何扩展该网络,以便您的备份可以存储在您拥有的多台计算机上。

1.安装依赖项

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

Homebrew

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

1brew install libimobiledevice --HEAD

从源编译

如果Homebrew解决方案在macOS上不起作用,或者在Linux或Windows上安装,则需要从源代码编译软件包。

可以在(https://github.com/libimobiledevice/libimobiledevice#libimobiledevice)找到构建说明。

启用WiFi备份

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

2.配对您的设备

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

1idevice_id -l -n

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

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

1idevicepair -u $DEVICE_UDID validate

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

1 idevicepair -u $DEVICE_UDID pair

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

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

1ideviceinfo -u $DEVICE_UDID -k DeviceName

将打印出设备名称。

3.启用加密

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

1 idevicebackup2 -u $DEVICE_UDID encryption on -i

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

https://support.apple.com/guide/security/backup-keybag-sec21f866332/web

4.执行备份

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

1.?BACKUP_PATH?临时备份并作为块复制到IPFS(速度较慢)

2.?BACKUP_PATH?永久备份并通过文件存储添加到IPFS(更快)

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

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

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

1ipfs config --json Experimental.FilestoreEnabled true

现在,执行备份

1idevicebackup2-u$DEVICE_UDIDbackup $BACKUP_PATH

这可能要花点时间。

5.将备份保存到IPFS

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

选项1

将备份复制到IPFS

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

清理临时备份

1rm -r $BACKUP_PATH

选项2

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

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

6.跟踪备份

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

1ipfs files mkdir /ios-backups

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

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

大功告成!

如果您有任何问题,请查看Github,以找到可以自动完成此过程的脚本。

—-

编译者/作者:引擎矿机

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...