2019年6月27日 星期四

使用 Google 分析來統計 cloudflare 的節點 (colo) 資訊


許多人會造訪 /cdn-cgi/trace 來查看是哪一個節點,但是問再多人都難以得知全面的統計數字。這裡提供一個 JS 的語法來進行全面、即時的統計。統計結果會即時的顯示在 Google 分析裡。

複製連結裡的程式碼,再貼到網頁中即可。
https://gist.github.com/girvan/ec00a46bfd03674f9cbbed3ac2dd7a92

語法要放在 Google 分析語法的後面。

Google 分析 裡查看的方法:
  • 即時資訊:即時 → 事件 
  • 統計資料:行為 → 事件 → 總覽
大家互相分享一下統計資訊,就知道要買 cloudflare 哪一個等級了 XD

從 yui compressor 升級到 clean-css-cli + uglifyjs 的心得

我這裡指的是 cli 版本。
由於 yui compressor 已經很沒有在維護了,再加上原本的 java 版本速度很慢,這次一舉換成 node 版本。
原本的 yui compressor 使用的 cli 為
java -jar /usr/share/yui-compressor/yui-compressor.jar --charset=utf-8 {input-file} -o {output-file}
新的改成
js: uglifyjs -c -m -- {input-file} > {outputfile}
css: cleancss -O1 specialComments:off --skip-rebase --inline none {input-file} > {outputfile}

幾點心得:

2019年4月25日 星期四

讓 iterm 2 強制斷線的方法 (Mac)

在 Mac 中使用 iterm 2 再配合手機分享的 wifi,特別容易斷線,斷線時整個 session 卡住,只能關掉再重開一個新的。這裡提供一個方法,在 session 卡住時,只要按
enter  ~  . 
(依序按,不要放開)
即可強制斷線。
記得按 ~ 時也要按 shift 

2019年4月24日 星期三

換 ssh port 是必要的


TL;DR

  • ssh 換 port 是必要的,可以減少許多低端駭客例行性掃描。
  • fail2ban  舊版本不支援 ipv6 ,ipv6 的門是開的。
  • fail2ban 要測試是否有確實生效,適時修改設定。


2019年4月1日 星期一

uptimerobot 使用一個月心得,加碼升級 pro

原本在 2014 在 Google App Engine (GAE) 用 python 寫的一套監控程式,一直用到去年底。後來因為 GAE 環境下的 curl api 不是很穩定,外加 python 忘光了... 才開始尋找其它解決方案。

uptimerobot 從免費版本開始用,我設了 39 個監控,透過 api 設的。
上週升級 pro,升級 pro 的原因:
不是為了 1 minute monitoring;而是為了 if down x minutes, notify every y minutes.

值得一提推薦理由為:

  • API 完整簡單
  • pro 很便宜 $5.5/月(年繳為 $4.5) ,比起其它家動輒 $10 或 $20+
  • pro 的功能很實用 if down x minute, notify y minutes.
最後一項功能很重要,這也是我當年自己手刻的原因。
因為手機時時在響,不重覆通知真的很容易忽略。

另外講補個缺點就是,其實說每 x 分鐘會監測或寄信,我測的結果有時沒這麼準時。

2019年3月27日 星期三

在 git compare changes 頁面排除某些檔案

通常在 branch 要合併之前,我會到 git compare 的頁面再做一次檢查

https://github . com/{name/repo}/compare/master...{branch-name}

但有時候可能是不小心,或是因為歷史因素,某些大量批次產生的檔案,也可能是外部的開放源始碼函式庫會出現在這個頁面。太多這類的程式碼讓這一個頁面難以查閱。

這裡是一個書籤 javascript ,以路徑為 pattern 來移除掉這類的程式碼,當然只是頁面上移除而已。

https://gist.github.com/girvan/f2c1755abc7f5409eb3bd756611cb2e5

請複製,並修改 /SOME-PATH-YOU-WANT-TO-EXCLUDE/ 字串
再到 https://mrcoles.com/bookmarklet/ 製作成書籤即可。

2018年11月21日 星期三

Chrome 70 removed "Build" in user agent string


Chrome 70 removed the "Build" part:
Chrome 69: ...(Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit...
Chrome 70: ...(Linux; Android 4.2.1; en-us; Nexus 5) AppleWebKit...

But it doesn't change in webview:
...(Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D; wv) AppleWebKit...

2018年11月20日 星期二

使用 cdnjs 上的 1x1 gif

在使用 lazyload image 常會空白的 gif 

這邊找了幾個 43 bytes 的版本:

https://cdnjs.cloudflare.com/ajax/libs/timelinejs/2.36.0/css/blank.gif
https://cdnjs.cloudflare.com/ajax/libs/probtn/1.0.1/stylesheets/blank.gif
https://cdnjs.cloudflare.com/ajax/libs/tinymce/4.8.5/skins/lightgray/img/trans.gif

那為什麼不用下列方法?
留白法:<img data-src="http://...." />
data uri: <img data-src ="http://...." src="data:image/gif;base64,....." />

因為看過 access log 之後發現
如果你的頁面是 example.com/hello/
留白法會造成主頁面再多一次 request 到 /hello/
data uri 會造成相對路徑再多一次 request 到 /hello/data:image/gif;base64,...

誰發的 request?主要是一些爬蟲,和少數的舊瀏覽器

2018年11月5日 星期一

每月 200美金的 cloudflare business 又開始走台灣節點了!

台灣訪客 造訪 cloudflare pro 的網站

  • 72% KIX
  • 28% TPE

台灣訪客 造訪 cloudflare business 的網站

  • 84% TPE
  • 16% KIX


資料來源是從本站的 log 挖出來的
不知道是 cloudflare 和 hinet 的心結解開了,還是其它考量就不清楚了。

2018年6月28日 星期四

SSL 憑證:新申請的或快到期的憑證會讓使用者連不上網站

使用者的電腦的時間不一定正確,自己的經驗是,儘管是用正版 windows ,時間自動校正都常常壞掉。當使用者電腦的日期是 6/1 ,但是您網站的 ssl 憑證是 6/2 ,瀏覽器就會擋下來,說憑證不安全什麼的。簡言之,您可能 6/1 申請的憑證,6/3 才能放上網站上供使用者使用。本站曾對使用者電腦的時間做過簡單的統計:

  • 電腦時間在八小時以前:2.7%,新申請的憑證在八小時內就放上去,有 2.7% 的使用者會連不上。
  • 電腦時間在十天以後:0.6%,憑證在快到期前十天有 0.6% 的使用者無法使用
  • 電腦時間在一天以前:1.2%
  • 電腦時間在一天以前 + 電腦時間在三十天以後:1.4%
  • 電腦時間在兩天以前 + 電腦時間在三十天以後:1.0%
  • 電腦時間在三天以前 + 電腦時間在三十天以後:0.9%
  • 電腦時間在五天以前 + 電腦時間在三十天以後:0.7%
以上是本站的使用者統計,主要非台灣的使用者,桌機;每個網站的實際情況不一樣。
我們自己是申請完五天後就才放上線使用,預計只影響 0.7% 的使用者。