Can I use (瀏覽器功能支援速查網站) … 終於加入 SSL / TLS 的支援資訊

caniuse 是一個整理了各個瀏覽器針對不同功能的支援性做整理的專案,網頁前後端的開發者需要速查某一個 feature 有沒有被特定的 browser 支援、或是被各個瀏覽器支援的情形的時候,caniuse 算是一個方便好用的服務, 網站本身丟在 http://caniuse.com/ (很可惜沒走 https),專案則是 open source 丟在 GitHub 上: https://github.com/Fyrd/caniuse

CanIuse.com

直接在網站首頁的 Can I use ______ ? 的搜尋框輸入相關的關鍵字,下面會列出相關的結果,首頁本身也有列出一些 features 可以給大家參考,如果想對搜尋的結果做進一步的設定,Settings 裏面也可以控制譬如像是針對哪些功能分類、不同的瀏覽器做搜尋、只顯示市佔率超過多少百分比的瀏覽器、排序等等的資訊,不過很可惜的是一直沒有 https / SSL /TLS 支援性的相關資訊,剛剛在 Fyrd/caniuse#1144 這個 GitHub 上的討論串可以看到在今天稍早作者已經表示加入對應的支援了 (在 Fyrd/caniuse@960f5419a ),雖然拖了很久,不過總算是開始把這部份補起來了。

SSL 和 TLS 1.0 的部份分別是現在瀏覽器全面棄用/支援的兩個協定,不過在 caniuse 上沒有獨立的頁面,只會在搜尋結果呈獻說明:

而 TLS 1.1 和 TLS 1.2 則有獨立的頁面顯示目前瀏覽器的支援情況:

TLS 1.1: http://caniuse.com/#feat=tls1-1
CanIuse_TLS-1.1

繼續閱讀

除了 Let’s Encrypt 以外的免費 SSL 憑證

使用 SSL 憑證一直以來的一個門檻是費用問題,在沒有閒錢 (對於小朋友來說還有付款方式的問題) 的情況下想要練習架設有 https 保護的網站而且要能正常運作就有其一定的難度,自簽憑證雖然也可以達到類似的效果,不過整個流程以及最終驗證的方式都還是跟實際上有出入,即便這幾年已經有了很多便宜的 SSL,這個門檻一直都還存在,這也是為什麼會蹦出一個 Let’s Encrypt 要來推免費的 SSL 憑證的主因,目的就是降低甚至消除門檻、普及網路連線的加密, Let’s Encrypt 同時也推自動化工具來簡化整個流程,Let’s Encrypt 推出至今已經簽出超過五百萬張憑證了 ,既然不用錢、也有自動化工具,那為什麼還會用到別家的憑證?

我要找 Let’s Encrypt 以外的免費 SSL 憑證主要有兩個原因:

  1.  Let’s Encrypt 的整個簽證流程不同於以往 (產生 private key, CSR 再送給廠商,完成驗證後簽發),要讓沒經驗的人來學怎麼做這件事情我還是偏好走傳統的方式整個帶過一遍,而不是只透過自動化工具進行部署,這樣觀念上還是會比較好一點,另外就是現在的自動化工具只適用於 domain validation (dv) 的驗證,如果要有 OV (Organization Validated) 或 EV (Extended Validated) 的話還是需要走傳統的作法。
  2. Let’s Encrypt 憑證有效期較短 ,雖然這個問題可透過工具自動 renew 來補足,但仍有其限制,使用憑證的主機如果沒辦法定期或常態對外連網就不見得適用,例如我想要在內部網路環境架設受簽證保護的內部服務,又不想要平常就把對外網路打開、或是自簽憑證再把憑證塞到使用者裝置上等情況。

目前看到的兩家免費憑證,一家是老牌的 StartSSL 、 另一家是對岸的 WoSign,兩者我都有用過,前者曾經被爆出一些潛在的安全性問題,但是問題持續的時間看起來不長,那後者本身是對岸的公司,所以可想而知對一些人來說是有潛在的安全疑慮的,不過不考慮這些為安全考量以及政治因素,丟給新手拿來當練習我覺得是很好的選擇,不知道還有沒有其他可以推薦的?

WoSign 的免費憑證申請在這邊:https://buy.wosign.com/free/?lan=en,一個憑證可以簽 5 個 domain,有效期限可選則一年或兩年,要額外數量的網域認證或是更長的年限就必須另外付錢,不考慮是對岸公司疑慮的情況下,WoSign 本身因為是對岸公司,有提供簡體中文的說明文件、且產生的憑證會按照不同的 httpd 如 IIS、nginx、apache 不同的需求分開提供,不用煩惱Intermediate的問題,我覺得對新手來說是很好的入門。

WoSignFreeSSL

WoSign 申請 Certificate 的畫面

繼續閱讀

Let’s Encrypt 已經簽出超過五百萬張憑證了 …

Progress Towards 100% HTTPS, June 2016 這邊看到的資訊,Let’s Encrypt 從去年 (2015) 年底 public beta 到現在已經簽署超過 500 萬張的憑證,扣掉被撤回以及已經過期的,大概有 380 萬張憑證還是有效的,而這些有效的憑證總共涵蓋了超過 700 萬個獨立的網域 (一張憑證可以簽給多個 domain),因為 Let’s Encrypt 憑證有效期只有 90 天,所以可以想像最近這三個月簽出的憑證數量佔的比例非常的高,官方也用時間/憑證數量的關係畫了一張圖出來給大家參考:

le-certs-issued-june-22-2016

其中有一些成長比較快的時間點是其他網站服務、虛擬主機、CDN 等廠商把 Let’s Encrypt 整合進自家服務的結果,例如文中提到的 OVHWordPress.comAkamaiShopifyDreamhostBitly,另外像是 KeyCDNCDN77 等 CDN 廠商也都陸續把 Let’s Encrypt 憑證簽署自動拉近自家的服務中,使用者因此在價錢以及部署的流程上受惠,同時對 Let’s Encrypt 的推廣及使用量產生相當程度的助長。

文章最後提到 Let’s Encrypt 在去年底剛公開測試的時候,整個 www 大概只有 40% 的網站有使用 https,現在已經長到 45% 了,可以預期今年 (2016) 這個數字可以長到 50% 以上,怎麼看都覺得很驚人!

Sourceforge 推出的 Internet Speed Test 網路速度測試服務

前鎮子跑出一個 Netflix 推出的網路速度測試服務 Fast.com,前兩個禮拜又看到 SourceForge 這個老牌的開源專案協作平台推出自己的測速服務 – SourceForge Internet Speed Test ,網址就是在原本的 sourceforge.net 後面再加上 speedtest 的字樣 https://sourceforge.net/speedtest/,從 SourceForge blog 放出來的這篇 Introducing the SourceForge Internet Speed Test 消息放得很短,只有簡單介紹幾句跟放個截圖就草草結束,實在不像是推出一個全新服務的新聞稿?

網站點進去長這樣,畫面上的文字以及排半略嫌複雜,可能是因為會上 SourgeForge 的使用者比較多組成同時也是開發者所以就比較沒關係?

sourceforge-speedtest

主要特色是使用了 HTML5 而不是 Flash ,除了常見的上下載速率以外,更加入了 jitter (抖動) 以及 package loss (封包遺失) 的資訊,對於這些資訊對於實際使用上帶來的影響底下也有說明(缺點就是字太多了XD):

sourceforge-speedtest-2

我測出來的結果長這樣(IP就馬賽克掉了),和 Fast.com 同樣看起來頻寬不是那麼夠 (比起到處跟 local ISP 合作放點的 speedtest.net 比較起來),不過在手機、平板上面直接使用起來都很正常,這點我覺得很不錯!

SourceForge Internet Speedtest

大家就參考看看吧~

Git v2.9.0 釋出

台灣時間  6 / 14 號早上8點左右釋出的新版本,官方 Windows 的 binary release 在中午為止看起來都還停留在 v2.8.4,Mac 甚至還停留在 v2.8.1,而 FreeBSD 的 ports 目前也還沒看到更新,但如果是 Ubuntu 或是基於 Ubuntu 的 GNU/Linux 發行版,只要透過官方的 PPA 就可以直接升上去了。(可以參考 Ubuntu 上的 PPA 整理)

除了每次版本更新都必備的修 bug 以外,這次沒看到明顯跟效能提升有關的更新,背後實作的部份太瑣碎就先不琢磨,列舉依些對使用上有直接影響的更新:

  • Shell 的 auto-completion 更新
    (就是你打命令要按 tab 把剩下字補完的功能)

    • 目前看起來還是缺不少指令,不過有更新總比沒有好 …
  • git rebase -x 現在不需要加 -i 參數就可以直接使用了
    • (rebase 的時候針對每個 commit 跑測試的功能)
    • 省下了一些瑣碎的步驟/時間,畢竟不是每個人都需要 interactive 的互動操作
    • 之前的版本不加 -i 就會不讓你跑,然後出現錯誤訊息:
      • The --exec option must be used with the --interactive option
  • 可以自行指定 hooks 的位置
    (將一些事件和行為進行連結達到自動化的功能)

    • 先前都是放在 .git/hooks,可以指定之後應該某些專案就可以共用 hooks 了,或許可能就會有人性質相同專案會用到的 hooks 也可以打包成專案釋出?複雜一點的話就是偵測專案性質用比較 general 的方式跑簡單的檢查,syntax check / lint 之類的
  • git commit 現在會吃 verbose 的設定,就不用在命令後面加參數了
    (顯示更詳細的資訊輸出)

  • git clone 現在可以直接 shallow clone submodule 了
    (clone 的時候不要 clone 整個改版歷史,可以有效減少空間跟頻寬消耗跟提升速度)
  • git diff / log 預設啟用自動偵測檔名變更
    (區別 “檔名變更" 和 “刪除一個舊檔案再寫一個新檔案" 的不同)

    • 可以透過設定來停用
  • 預設禁止沒有共同祖先的分支合併
    • 可以避免一些錯誤的操作
  • git log 的 commit message 縮排預設用 4 個 spaces 來展開 tab
    • 不知道是不是我沒讀懂或哪邊有問題,目前看起來還是8個空白的長度
    • 可以透過參數來取消這功能

繼續閱讀

在 nodejs 手動 garbage collection 的方法

前陣子因為在 Heroku 上面跑的 nodejs 程式開始不斷出現記憶體使用超量的訊息:
R14 - Memory Quota Exceeded ,加錢升 dyno (Heroku 上的 instance) 也不見好轉,只好想看看有沒有什麼方法可以改善,後來作法是手動執行 garbage collection,記憶體使用量就掉下去了 …

cdnjs 的 api / web server 為例,沒做 gc 的話大概要吃 410 MB 的記憶體,一模一樣的程式,有做 gc 的話只要吃 230 MB的記憶體,相差甚大,其中原由大概只能等高手指教或是等很閒的時候才有空追了 …

作法滿簡單的,執行 nodejs 的時候加上 --expose-gc 的參數,並且在你想要執行 garbage collection 的地方加入 global.gc(); 即可。

Netflix 推出的 Fast.com 網路測速服務

Netflix 前幾天在他們部落格上的這篇 「Now Available Globally: Fast.com, a New Tool to Check Your Internet Speed」跟大家宣佈推出的網路測速服務:Fast.com

Fast.com 的畫面非常簡潔,只測試使用者的 “下載" 速度、不測試上傳速度,整個畫面除了測速速率以外,只有暫停 / 重新測試的按鈕,說明按鈕,以及 FAST 和 NETFLIX 的 LOGO,測試結束後會出現 Speedtest.net 的連結讓使用者方便連到 Speedtest 做參考:

netflix-fast.com

目前看起來 Fast.com 比起 Speedtest 的幾個優勢:

  • 使用 https 加密連線,對使用者的隱私更加有保障 (雖然只是測速、可是為什麼要讓其他人知道?)
  • 畫面非常簡單、沒有廣告
  • 單純的 html + js 搭建出來的網頁前端 ( Speedtest 目前都還是在使用 Flash ),在手機、平版電腦或是 FreeBSD / Linux 等不支援(或是使用較困難) Flash player 的平台上都可以使用輕易透過 Chrome / Firefox 等瀏覽器直接使用,不需要另外安裝應用程式

不過現階段看起來 Fast.com 也有頻寬明顯不足的問題,除了沒有 ping 值參考外,有別於 Speedtest 是透過多方合作的模式在各地建立測試點, Fast.com 目前看起來是丟在Amazon S3 上面走 Akamai 的網路,我以下載速率 1 Gbps 的網路多次使用 Fast.com 測試結果只跑的到 140 Mps 上下, 同樣的網路環境 Speedtest.net 則是落在 900~950 Mbps 的區間,如果說 Netflix 只是要提供自己的用戶測試存取自家服務的網路頻寬的話還算是有參考價值,但如果要真的拿來確認所在網路的對外頻寬的話看起來現在還不能拿來當作參考 …

PS: Speedtest.net 其實也有提供 html5 的測試版本,有興趣的人可以連到這個網址玩玩看:http://beta.speedtest.net/ ,不過目前沒有開放給行動裝置使用,使用手機連上去會直接跳 Android / iOS / Windows Phone 這幾個平台的 APP 下載連結給你 (連偵測一下使用者系統只顯示對應的連結都沒做 … 可能是因為在 beta 吧) ,相對有點可惜,希望未來可以開放給行動裝置使用 (不然你改用 html5 只是為了避免未來被各家瀏覽器直接封鎖而已嗎? 可攜性就這樣白費了!)。