用 JavaScript 修改 Blogger 網站上的 IPFS 圖片閘道器位置 (Gateway)

JavaScript Blogger IPFS Gateway

前言

大約從去年開始,糊塗流浪貓進行了以 IPFS 作為網站圖床的實驗,有興趣的人可以參考本站的 IPFS 系列教學,本文不多贅述。

 

 

多數情況下,用 IPFS 分享的圖片與檔案都能正常顯示,若擔心檔案因過於冷門而被節點 Garbage Collection 清理的話,也可用腳本工具來加快與維持 IPFS 檔案下載速度

 

但 IPFS 真正致命的問題在於「速度非常不穩定」。有時下載與顯示非常順利,但更多時候要重刷兩三次才能正常。

 

面對這個問題,最直覺的解決方式就是把預設的 ipfs.io 網址換成速度更快的閘道器,畢竟只要檔案 CID 不變,閘道器怎樣換都可以。 翠維尼

 

IPFS 公共閘道器與反應速度列表

 

但如果網站上使用 IPFS 為圖床的文章實在太多的話該怎麼辦?一個個慢慢改?未免太硬派了吧!畢竟 Blogger 不像 Wordpress 那樣,有擴充套件可以批次對內文進行修正。


雖然我們可以匯出文章備份用純文字編輯工具 (Notepad++) 快速替換網址,但 Blogger 有每日文章的發佈數量限制,在上傳至 Blogger 時一個不小心可能會被 Google 當作 SPAM 砍站。


JavaScript Blogger IPFS Gateway


對於這個問題,其實可以寫個簡單的 Javascript 來解決。

 

 

替換圖片網址的域名 (Domains)

版面配置 > 新增 HTML/JavaScript 小工具,輸入以下程式碼。之後網站上所有 img 標籤內的 https://ipfs.io/ipfs/ 都會自動轉換成 https://dweb.link/ipfs/ 了。


<script type="text/javascript">
var imgs = document.getElementsByTagName("img");
for (var i = 0; i < imgs.length; i++) { 
  var src = imgs[i].src;
  imgs[i].src = src.replace('https://ipfs.io/ipfs/','https://dweb.link/ipfs/');
}
</script>


而這套方法也適用於想將圖片從 HackMD 或 imgur 搬回自己伺服器的站長們。只要用批次下載軟體將 imgur 的圖片下載回來後,在維持檔名的情況下上傳至自己的伺服器,最後用這套 Javascript 腳本將 https://i.imgur.com/ 替換成新的圖床伺服器域名即可。


 

延伸閱讀

LikeCoin 註冊 ISCN 後於 IPFS 作為永久圖床的實測結果

永久圖床?用 LikeCoin 註冊 ISCN 將檔案釘在 IPFS 上進行分享

HackMD 大搬家!筆記與圖片備份實戰

更多 LikeCoin

更多 IPFS 教學

 

留言