jsDelivr 備案被吊銷後,網頁靜態資源何去何從
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.com
和 gist.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 的人們。
再也不是一片綠了
引用連結
jsDelivr: http://www.jsdelivr.com/
GitHub 倉庫: http://github.com/jsdelivr/jsdelivr
說明: http://github.com/jsdelivr/jsdelivr/issues/18348#issuecomment-997777996
網宿: http://www.wangsu.com/
Fastly: http://fastly.com/
可接受使用政策(AUP): http://www.jsdelivr.com/terms/acceptable-use-policy-jsdelivr-net
Google Hosted Libraries: http://developers.google.com/speed/libraries
cdnjs: http://cdnjs.com/
cdn.baomitu.com: http://cdn.baomitu.com/
CloudFront: http://aws.amazon.com/cloudfront/
cdn.bytedance.com: http://cdn.bytedance.com/
原文連結: http://huangxin.dev/partly-technical/in-response-to-jsdelivr-icp-license-revokement
你可能還喜歡
點選下方圖片即可閱讀
解決 Grafana Node_exporter 網絡卡流量監控不準確
雲原生是一種信仰
關注公眾號
後臺回覆◉k8s◉獲取史上最方便快捷的 Kubernetes 高可用部署工具,只需一條命令,連 ssh 都不需要!
點選 "閱讀原文" 獲取 更好的閱讀體驗!
發現朋友圈變“安靜”了嗎?
- Zabbix 6.0 支援 K8S、高可用 HA、定製前端 Logo 等,為 DevOps 助力!
- Docker 火了:主機外可直接訪問對映到 127.0.0.1 的服務
- 為什麼 eBPF 如此受歡迎?
- Kubernetes 中跨 StorageClass 遷移儲存完全指南
- 構建我的第一個 22TB 容量的家庭儲存伺服器
- 使用 Finalizers 來刪除那些死活刪除不掉的 K8s資源
- 如何正確計算 Kubernetes 容器 CPU 使用率
- 沒有域名又如何?純 IP 也可以使用 HTTPS 訪問
- 手把手教你打造全宇宙最強 Firefox 瀏覽器
- API 閘道器功能以及未來展望
- 滑了個大稽,頂級開源專案的 5.4 萬個 Star 一夜之間化為烏有!
- GoBGP 原理與實踐
- 自建 DERP 中繼伺服器,從此 Tailscale 暢通無阻
- 【雲攻防系列】雲原生中DOS攻擊研究
- 首個!青藤蜂巢榮獲網路安全卓越驗證中心&泰爾實驗室雙認證
- 容器安全在野攻擊調查
- 會玩,使用 init 程序執行 Container
- Koyeb 容器雲——Heroku 的繼承者?
- 安全大講堂 | 2022產業趨勢洞察:網路安全的下一個十年
- jsDelivr 備案被吊銷後,網頁靜態資源何去何從