免費架站!用 IPFS 建設可疑的一頁式網站

可疑的網站

說到架站,你想到的可能是購買網域 (Domains)、伺服器並安裝 Wordpress 來寫文章的奇幻旅程。如果不想承擔伺服器營運成本、頻寬和複雜的資安風險,也可以用免費的部落格服務供應商 BSP (Blogger, 痞客邦) 來建設屬於自己的家。

 

除此之外還有其他方法嗎?當然有!

 

如果你的目標是製作靜態的一頁式網站(One Page Web) ,可以用 IPFS 星際檔案系統來架站試試看!

 

 

網頁的製作

網站的編輯與 html 的撰寫,可以採用 FrontPage、SeaMonkey 這類網頁設計軟體來進行。如果你跟 html 和 css 語法很熟,也可以直接用記事本編寫。相關過程不多贅述,以下僅示範用 IPFS 架站的過程。翠維尼

 

本文示範的網站目錄、index.html 和圖片資料夾結構如下。

update.sh      #自動上傳腳本
web            #網站資料夾
--index.html   #網站主體,首頁
--img          #圖片資料夾
----pic_1.jpg  #圖片
----pic_2.jpg  #圖片

 

網頁圖片可採兩種方式進行連結:直接 CIDweb 路徑

 

「直接 CID」簡單來說就是預先將圖片上傳至 IPFS,並將 CID 直接應用在網頁中;而且「web 路徑」則是讓它自己抓網站圖片資料夾路徑。

 

img src="https://.../Qm...d2iK?filename=pic_1.jpg"
img src="./img/pic_1.jpg"



產生專屬的 IPNS 網址 

由於 IPFS 檔案 CID 會在使用者修改內容後跟著改變,而本文示範的網站會以資料夾 web 作為入口、index.html 為主體進行分配,因此建議先為 web 資料夾建立專屬的 IPNS 地址/金鑰,方便後續網站改版。

 

$ ipfs key gen ipfs-web #產生專屬的 ipns 
k51qz...g5xri

$ ipfs key list  #查詢現有的key
ipfs-web
myfooo

 


自動更新 IPNS 與資料夾 CID 的腳本

將產生的 Key 編入 update.sh 腳本,讓它在上傳檔案時能自動更新 IPNS 與 CID 連結。

update.sh
ipfs add -Qr ./web | ipfs name publish --key=k51qz...g5xri

 

執行

$ ./update.sh
Published to k51qz...g5xri: /ipfs/Qm...jz1jY  #成功

 

完成後即可用 ipfs.io/ipns/k51qz...g5xri 進行瀏覽了。之後網站改版,只要執行 ./update.sh 即可自動更新。

 

 

自訂網址 (Domains)

當然,你也可以參考使用老牌的 no-ip.com 免費網址、免費 DNS 服務 freedns.afraid 、Google Domains 甚至以太坊域名服務 (Ethereum Name Service) 來將一長串的 IPNS 轉址成比較不可疑的一頁式網站。由於相關的設定有點複雜,之後將會再寫一篇 IPFS/IPNS 網址與 ENS 以太坊網域轉址的教學。

 

本文測試站:https://stellarmiut.eth.link

 

 

結語

由於 IPFS 先天限制的關係,有時初次探索 (File Discovery) 立即就能找到檔案;有時很慢,放了兩天都還沒有反應。對於這個問題,你可以用免費的第三方 IPFS 上傳網站來加快檔案探索的速度,並參考這篇教學來加快與維持 IPFS 檔案的反應速度。

 

 

其他指令

ipfs name publish Qm...jz1jY #web資料夾
$ ipfs add -Qr --only-hash #不上傳,僅顯示 CID
ipfs key list 
ipfs key export <name>
ipfs key import <name> <key>

 

 

延伸閱讀

用以太坊域名 (ENS) 發佈 IPFS 網站 - IPFS 官方教學

更多 IPFS 教學

更多 LikeCoin

永久圖床!Arweave 幣的購買與轉入錢包

Blogger 購買網域後的轉址與 Analytics、Console SEO 設定教學

 

留言