二叉树树

二叉树树

瞎几吧写

使用基於IPFS的Fleek部署靜態網站、托管圖床、部署服務

什麼是 IPFS?#

IPFS,是點對點的超媒體協議,它讓網絡更快、更安全、更開放。說簡單一點,它就是一個去中心化互聯網。說技術一點,它是一個基於分佈式哈希表 DHT 進行內容尋址的,基於 git 模型版本管理的,基於默克爾對象關聯的,基於點對點技術的,基於全球化命名空間 IPNS 的,基於各種技術的,一種分佈式文件系統。

用人話說,你可以把它看成一個共享網盤,你可以嘗試下載IPFS - Desktop(適用於有圖形界面的系統)kubo - ipfs(適用於 CLI)。然後啟動 IPFS,你的設備將成為 IPFS 網絡中的一個節點

832fa0eaf895f9d6358705844dca14dd

使用 IPFS 能做什麼?#

當你連接到 IPFS 網絡後,IPFS 會自動將你的設備作為一個本地 IPFS 節點並且尋找其他 IPFS 節點,你將能夠幫助其他用戶建立連接、提供文件。同時你也可以將你的文件上傳到你的 IPFS 節點,等待分發,讓網絡上的其他用戶可以訪問你的文件。在 IPFS 網絡中,訪問文件通過 IPFS 網關,如:https://ipfs.io/ipfs/ + CID(文件哈希) 實現訪問。比如: https://ipfs.crossbell.io/ipfs/bafybeifbn36zmdb37ov6id3toy6bve47264hjk2yob6rm4bhw7ooawncf4

(這裡使用 ipfs.crossbell.io 這個 CrossBell 托管的 IPFS 網關來規避 GFW 封禁)

這項技術真的有這麼理想嗎?#

這項技術確實很理想,但是實際應用下來會遇到以下問題

  1. 通過本地 IPFS 節點上傳的文件遲遲無法通過 IPFS 網關 + CID 實現訪問

  2. 發現的節點太少

  3. 可能會大量佔用你的帶寬

這些問題大部分原因都是因為這個網絡太過於龐大,而單個 IPFS 節點的權重很低,儘管 IPFS 的分發一般在幾小時內可以完成。但對於個人來說,我們應當尋找一些服務商幫我們完成這些需求,它們往往在 IPFS 網絡中的權重更大,進行文件更新的效率也很高,同時也提供一些擴展服務,比如自動化 Git 部署。而這篇文章使用的則是Fleek

關於 Fleek#

你可以簡單理解為它權重很大,有很多的 IPFS 節點,經由 Fleek 上傳到 IPFS 網絡上的文件可以在幾秒內完成廣播,並且支持連接 Git 存儲庫部署項目和綁定你的域名

Fleek 是否值得信賴?#

本人僅接觸此服務 2 天。觀察到 Fleek 在成功部署網站後提供了三類訪問方式

  1. xxx-xxx.fleek.app:這個域名使用了 Cloudflare CDN,實測解析 IP 的數量為 2,不建議使用

b90a26044aa8e7af780a8800093a77f7
:這種方法是原生的 IPFS 訪問方式。通過 IPFS 網關 + CID 來訪問。但由於 CID 為哈希值,當你的网站改動後你的 CID 會發生變化

  1. 綁定自定義域名來訪問,這將會使用亞馬遜的 CDN 並且自動映射 CID,實測解析 IP 數量超過 30,並且速度很快

Warning

注意,任何使用 HTTP 協議的類 ipfs 技術都需要一個中心化伺服器代理訪問 IPFS 網絡。只有當訪問者連接上 IPFS 網絡後才會使用去中心化的連接方式)
cdd08018d0d0632d33956178949d7eb1

  • 儘管顯示了 IPFS 的文件瀏覽界面,但實際上這個頁面是由 HTTP 請求到亞馬遜 CDN 反代 IPFS 網絡實現的,實際上仍為中心化網絡

11c04c53227c7db61fdcd371a6b92f80

  • 當你的設備已經連上 IPFS 網絡後,所有流量將使用 P2P(去中心化),所以你看到的訪問地址實際上是本機地址

梳理一下思路,我們可以用 Fleek 做到什麼#

讓 Fleek 連接你的 Git 存儲庫,通過構建命令構建靜態網站,並發布到 IPFS,同時兼容 HTTP 訪問

正式開始#

  1. 前往 fleek.xyz,通過 MetaMask 登錄

  2. 連接你的 Git 存儲庫,輸入構建命令等相關信息

  3. 部署網站

  4. 綁定域名

  5. 最終訪問

效果圖:

55c79317ef6c517f145dfa3373603e19

拓展一下,我們還可以通過 IPFS 技術做什麼?(😭目前已棄用)#

  1. 創建一個巨大的圖床,已經投入使用,參見: https://pic.onani.cn (原理:請求 https://ipfs-pic.onani.cn ,獲取圖片列表,隨機選擇使用 JS 展示)
    88864ae05018dc4f71d92d335220e4c4

  2. 無需再自托管任何圖片,已經投入使用,本博客所有圖片都使用 IPFS 存儲

  3. 理論上,你可以將任何佔用存儲的服務上傳到 IPFS,實現存算分離

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。