jsDelivr 備案被吊銷後,網頁靜態資源何去何從

語言: CN / TW / HK

2021 年 12 月 20 日, jsDelivr [1] 團隊主要負責人 Dmitriy Akulov 在 jsDelivr 官方 GitHub 倉庫 [2] 的一條 issue 下發表了以下 說明 [3]

是的,那天 jsDelivr 在國內的故障,並不是偶發的 SSL 證書出現問題導致資源下線,而是域名備案被吊銷,導致國內 CDN 提供商 網宿 [4] 移除了 jsDelivr 的賬號。目前 jsDelivr 國內線路為 Fastly [5]

過去的一兩年裡,許多人發現了 jsDelivr 在速度上的巨大優勢,開始用 jsDelivr 作為圖床,甚至用 jsDelivr 來託管和魔法軟體的安裝指令碼。到後來 jsDelivr 更新了它的 可接受使用政策(AUP) [6] ,可惜當然濫用服務的各路神仙是不會理睬的,在他們的眼裡, 擼是常態,薅羊毛是理所當然 ,既然是免費的就要做好被擼爆的準備。

所以,2021 1220 - 可喜可賀的一天,jsDelivr 的 ICP 沒了。最少在短時間內,jsDelivr 是無法也不會提供基於國內節點的託管服務了。可以想象,也是可能的下一步,就是 jsDelivr 完全被 GFW 阻斷,成為連 Google Hosted Libraries [7]cdnjs [8] 都不如的開源 CDN - 最少這兩個國內還極其勉強地能用。

在這裡,我 強烈譴責無底線濫用 jsDelivr 的人們

Disclaimer

文章發出後引起了一部分的關注。請注意本文,以及本文所提及的譴責,是因為有人用 jsDelivr 來託管魔法指令碼的事情 - 在國內網路上這很顯然是不可行的, raw.githubsuercontent.comgist.github.com 都因此被封鎖,而在一個唯一提供國內網路加速的開源 CDN 上託管這些很明顯會導致站點被封禁的指令碼,無疑是極其不負責任,不顧後果的行為。

誠然,我們的系統的的確確有問題,但是這並不能成為濫用一切可以濫用的以試圖繞過限制(並且還無法改變根本事實)的理由。

也可能會有人說,啊我就是自由戰士,我就是要和體制對抗到底,jsDelivr 犧牲了就犧牲了,都是他們的問題!

請注意,絕大部分用 jsDelivr 來託管指令碼的人們,只是貪圖一時的便利,他們可能覺得 jsDelivr 封不了(但是現在 ICP 沒了),而沒有考慮到可能的後果。更遑論那些直接用來做圖床,檔案下載的,就是本著濫用到底的想法。

本文只是一個菜雞 Web Developer 對於這些人的行為導致 jsDelivr 沒有了中國線路的憤慨和不滿而已,確實 jsDelivr 不該這麼用(你看到 cdnjs 能被這麼用嗎),只是一個沒有稽核機制,人人可託管內容的服務,最後竟然成了它的漏洞。

怎麼辦呢

涼拌唄。

目前能找到的最好的 jsDelivr 代替就是 cdn.baomitu.com [9] ,由 360 的網路基建背書(放心,沒有隱私風險,也不會給你靜默安裝 360),海外接入了 CloudFront [10] ,全球速度極其優秀。完全映象 cdnjs。只是無法用版本別名(如 unpkg.com/[email protected] ),也不支援加速不在 cdnjs 上的專案(i.e. 自有專案)。

當然也是沒辦法合併檔案的。jsDelivr 僅此一家, 沒了就是沒了

位元組跳動靜態資源公共庫( cdn.bytedance.com [11] )也是一個理想的替代,只不過他的更新頻率很不頻繁,jQuery 到現在都只停留在 3.5.1 的版本號上(最新版本是 v3.6.0)。如果要使用的話記得替代他提供的域名到 s1.pstatp.com (網宿 CDN,全球加速)或者 s2.pstatp.com (阿里雲 CDN,全球加速)。

其他的 BootCDN,Staticfiles 之類的維護比較混亂,不推薦使用。

自有資源怎麼辦呢

自己寫了 js/css,但是顯然不夠格上 cdnjs,所以也沒辦法從上面的渠道呼叫,jsDelivr 又沒了國內節點,怎麼辦呢?

是有辦法的,雖然不完美,但是我是不會在這裡說的。

所以要麼自己託管,要麼自己想辦法。

寫在最後

從第一次用 jsDelivr 以來,起碼已經有三年時間了吧。也有常常關注這個專案,也和 Dmitriy 郵件交流過幾次,瞭解過一些這個專案的進展。

這是一個非常好非常好的專案,也對國內的網頁開發者們助力非常大,ICP 沒了十分可惜,但也於事無補。

下一步我會嘗試和 Dmitriy 溝通,提供一些我的想法,希望能夠讓 jsDelivr 在國內重現天日。

最後再次譴責無底線濫用 jsDelivr 的人們。

再也不是一片綠了

引用連結

[1]

jsDelivr: https://www.jsdelivr.com/

[2]

GitHub 倉庫: https://github.com/jsdelivr/jsdelivr

[3]

說明: https://github.com/jsdelivr/jsdelivr/issues/18348#issuecomment-997777996

[4]

網宿: https://www.wangsu.com/

[5]

Fastly: https://fastly.com/

[6]

可接受使用政策(AUP): https://www.jsdelivr.com/terms/acceptable-use-policy-jsdelivr-net

[7]

Google Hosted Libraries: https://developers.google.com/speed/libraries

[8]

cdnjs: https://cdnjs.com/

[9]

cdn.baomitu.com: https://cdn.baomitu.com/

[10]

CloudFront: https://aws.amazon.com/cloudfront/

[11]

cdn.bytedance.com: https://cdn.bytedance.com/

原文連結: https://huangxin.dev/partly-technical/in-response-to-jsdelivr-icp-license-revokement

你可能還喜歡

點選下方圖片即可閱讀

解決 Grafana Node_exporter 網絡卡流量監控不準確

雲原生是一種信仰 

關注公眾號

後臺回覆◉k8s◉獲取史上最方便快捷的 Kubernetes 高可用部署工具,只需一條命令,連 ssh 都不需要!

點選  "閱讀原文"  獲取 更好的閱讀體驗!

發現朋友圈變“安靜”了嗎?