許多人在日常生活中使用iPhone。 Apple手機的一個功能是可以將來自手機的內容存儲在Apple Cloud服務iCloud中。
對經常關注IPFS又使用的是蘋果手機的讀者來說不知道有沒有想過:我能不能把蘋果手機中的內容存儲到IPFS中呢?
答案是:當然可以。
今天我們就給大家介紹一下如何把蘋果手機中的內容備份存儲到IPFS中去。實際上這個方法適用于任何iOS設備,也包括蘋果手機。好了,我們就正式開始
1. 設置私有的IPFS節(jié)點
所謂的私有IPFS節(jié)點就是這個節(jié)點只有我自己才能使用或我自己充分相信的節(jié)點。私有的IPFS節(jié)點與公共網絡上的IPFS節(jié)點是不同。
之所以我建議大家使用私有的IPFS節(jié)點,是因為我們要備份的蘋果手機中的內容包含了我們自己的個人隱私信息,我們如果將這些信息備份到公共的IPFS網絡上,那可能這些信息會被泄露。
有很多種方法可以搭建私人的IPFS節(jié)點,我使用的是“IPFS Desktop”這個系統(tǒng),關于它的詳細信息請參考:https://github.com/ipfs-shipyard/ipfs-desktop
搭建好了私有節(jié)點后,我們需要swarm key。請在節(jié)點電腦的命令行工具中運行下面的命令:
go get github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen
ipfs-swarm-key-gen > ~/.ipfs/swarm.key
將所有連到我們私有節(jié)點的其它節(jié)點都斷開,請運行下列命令:
ipfs bootstrap rm --all
運行完這條命令后,我們的私有節(jié)點現在就成為我們唯一的節(jié)點了。在后面的步驟中,我會教大家如何把更多的私有節(jié)點加進這個系統(tǒng)使我們的備份能存儲在多個節(jié)點上。
2. 安裝系統(tǒng)所依賴的軟件包
這個系統(tǒng)所依賴的軟件包是libimobiledevice。這是一個跨平臺的庫,它能讓iOS設備之間互相通信。
如果我們用的是蘋果電腦,那么我們可以用最適合蘋果電腦來安裝libimobiledevice的工具Homebrew。請執(zhí)行下列命令:
brew install libimobiledevice --HEAD
注意:如果Homebrew在我們的蘋果電腦上無法運行或我們的電腦不是蘋果電腦而是一個Linux或Windows電腦,我們就需要編譯從libimobiledevice的源代碼開始編譯運行它。這個詳細步驟可參考:https://github.com/libimobiledevice/libimobiledevice#libimobiledevice
接下來,我們還要打開WiFi功能,這個步驟可以參考這個鏈接:
https://github.com/codynhat/libimobiledevice
3. 與我們的蘋果手機配對
裝好libimobiledevice后,我們要做的第一件事就是在節(jié)點上搜索我們的蘋果手機。請執(zhí)行下列命令:
idevice_id -l -n
這條命令會搜索并羅列所有通過USB或WiFi連接到節(jié)點的設備。如果我們的蘋果手機沒有連接到節(jié)點上,那我們就要先檢查手機是否已經與節(jié)點配對了,請執(zhí)行下列命令:
idevicepair -u $DEVICE_UDID validate
這條命令會檢查手機是否已經與節(jié)點配對,如果沒有,請執(zhí)行下列命令:
idevicepair -u $DEVICE_UDID pair
命令執(zhí)行完后,我們會在蘋果手機上看到提示“相信這臺電腦”。我們選擇“相信”,并輸入密碼。
3. 激活加密功能
在正式備份錢,我強烈建議大家激活加密功能。請執(zhí)行下列命令:
idevicebackup2 -u $DEVICE_UDID encryption on -i
執(zhí)行完這條命令后,我們在進行備份時會被提示要輸入密碼。
4. 備份
現在我們開始正式備份。我們需要頂一個備份的路徑“BACKUP_PATH”。有兩種方法可選:
1)將備份文件臨時存儲到BACKUP_PATH,然后拷貝到IPFS。
2)將備份文件永遠存儲到BACKUP_PATH,然后拷貝到IPFS。
方法1是簡化的方法,也是IPFS中常用的方法。它會將整個備份文件存儲到本地然后拷貝到IPFS。
方法2用的是filestore方式。
它只是在IPFS系統(tǒng)使用一個引用,并不在IPFS中真正的存儲文件,文件真正存儲的位置是這個引用所指向的位置。
當用戶訪問IPFS時,會訪問到這個引用,然后在引用所指引的真實存儲位置去獲取文件。使用這種方式就一定要保證文件真實存儲的位置上要永遠保存這個文件,如果萬一這個位置上的文件被刪掉了,那IPFS的引用就找不到文件了。
想用這個方法,我們要在IPFS上激活這個功能,請執(zhí)行下列命令:
ipfs config --json Experimental.FilestoreEnabled true
下面我們開始備份:
idevicebackup2 -u $DEVICE_UDID backup $BACKUP_PATH
5. 將備份存儲到IPFS
方法1:
ipfs add -r "${BACKUP_PATH}/${DEVICE_UDID}"
rm -r $BACKUP_PATH
方法2:
ipfs add --nocopy -r "${BACKUP_PATH}/${DEVICE_UDID}"
好了,這就是我們備份所有iOS設備(包括蘋果手機)內容到IPFS的方法。
我是IPFS/Filecoin社區(qū)發(fā)起人曉熙(加入社區(qū),聯系v號: liandaoxixi),IPFS/Filecoin是全球共識最大的去中心化存儲項目,我會定期在社區(qū)分享專業(yè)的資訊,為IPFS/Filecoin愛好者建設一個共贏的學習社區(qū)。