2021年7月28日 星期三

External IPv6 addresses for Google Cloud VM instances is now available

GCP 的 VM (Compute Engine) 終於支援 IPv6 Public IP 了

目前只支援以下地區
asia-east1
asia-south1
europe-west2
us-west2

有台灣區,參考 configure-ipv6-address 進行設定,似乎只能使用 gcloud 指令,無法經由 Web 設定

網路要先啟用 IPv6
gcloud compute networks subnets update network_name --stack-type=IPV4_IPV6 --ipv6-access-type=EXTERNAL --region=asia-east1

再啟用機器的 IPv6
gcloud compute instances network-interfaces update instance_name --ipv6-network-tier=PREMIUM --stack-type=IPV4_IPV6 --zone=asia-east1-c

機器就可以拿到一個 /128 的 IPv6 IP
但是設定文件提到有一些限制,目前無法用 IPv6 IP 連 Google 的 API 或服務,
所以 ping6 google.com 是不通的,會出現 Destination unreachable: No route
ping 其他地方例如 ping6 www.microsoft.com 是可以通的,
真窘,連自家反而不通
另外找不到地方可以設定 IPv6 的 Firewall,感覺還沒做得很完整,因為預設 INPUT 是 Block,就暫時無法用 IPv6 提供服務

Online UI Design Tool

https://www.figma.com/

https://www.invisionapp.com/

前者比較紅,Alexa 全球排名 698


2021年7月27日 星期二

VMware Horizon Client and Bluetooth

發現偶爾 Windows 10 電腦設定裡的藍牙開關會消失,導致藍牙無法連線

 

經過一段時間才發現是 VMware Horizon Client 所造成,當 USB 裝置裡面的藍牙有被開啟,藍牙就會映射到 VDI,關掉就好了

 

 

2021年7月25日 星期日

FTP is dead

FTP,時代的眼淚,以前幾乎每個大學都有自己的 FTP,放各式各樣的開放軟體,
如今主流瀏覽器 Chrome、Firefox、Edge 都已經淘汰 FTP 的協定,主要原因是 FTP 協定是明碼傳輸,無安全性可言。
但個人認為本來就是 Public Anonymous FTP 並沒有安全性的問題。

替代方案
檔案提供者,多半採用 Web 模式,例如 Linux Kernel 的 https://www.kernel.org/pub/
對用戶而言,大都已習慣使用 sftp

之後若還有機會用到 FTP 協定,可以用 command line ftp (在各大 OS 都還有),或是使用 FileZilla 這種專屬軟體


2021年7月24日 星期六

Google Messages block some particular 6 digits OTP code

前陣子發現的怪問題, Google 預設的簡訊程式 Messages 會阻檔特定格式的 OTP code
用了兩支手機,花了一些簡訊費,交叉測試而得到結論。
以下這個格式會被檔

123456 is your Messages verification code

用 Google Messages 就直接消失,看不到,使用其他簡訊 App 則正常
除了前面數字,後面的字,加一個字母或少一個字母都不會檔喔,改用 5 個或 7 個數字也不會被擋
簡直就像 Regexp Match /^[0-9]{6} is your Messages verification code/ 直接 Drop 一樣。
Google 之後,有人收到類似的 SMS
Dozens of SMS codes being sent to me per day, but no one's asking for them

另一個可能有關聯是這個功能,但 auto-delete 也應該要在一段時間後吧
One-time password auto-delete in Google Messages is arriving in beta

總之是怪問題,先改用 Truecaller 的 SMS


white-space:normal

CSS white-space
white-space:normal 是瀏覽器預設模式,多個空白會自動合併為一個空白,超過欄位寬度自動換行
這個在大部份的情況都沒什麼問題,但若資料的空白數是有差的就需留意了,
下面兩個 div 例子,一個沒有套 style,即預設是 white-space:normal,一個是用 style white-space:pre
原始碼 abc xyz 中間都是兩個空白

abc xyz (with no style, defult white-space:normal)
abc xyz (with style white-space:pre)

第一個例子,顯示成一個空白,複製出來也是一個空白,
第二個例子,使用 white-space:pre之後,才能讓原來的多空白保留原來的樣子, 複製出來也是一樣兩個空白
white-space:normal 並不會套用在輸入框 input 上,不然可能會造成一些問題

2021年7月23日 星期五

Multiplication Trick (乘法的補數算法)

乘法的補數算法,也有人稱印度乘法

這個原理是這樣 95x88
= 95x(100-12)
= 95x100-95x12
= 95x100-(100-5)x12
= (95-12)x100+5x12

適用 2 位數乘 2 位數接近 100 的乘法,若補數相乘超過 100,不會比較快
同樣原理亦適用 4 位數乘 4 位數接近 10000 的乘法,若補數相乘太大,一樣不會比較快
例如: 9998x9992
= 前四位數 9998-8,後四位數 2x8
= 99900016

2021年7月21日 星期三

sftp Received message too long

sftp 遇到 Received message too long 的錯誤表示 .bash_profile 或 .bashrc 等登入會執行的 Script 有產生 Output

/etc/ssh/sshd_config 預設是呼叫外部的 sftp-server
Subsystem sftp /usr/libexec/openssh/sftp-server

若環境希望保留執行的 Output,又希望 sftp 正常,把它改成 internal-sftp 就行了
Subsystem sftp internal-sftp

它就會使用程序內建的 sftp-server,不會呼叫外部的 sftp-server,也就不會執行 Shell 環境那些檔案

節錄 man sshd_config
Subsystem
Configures an external subsystem (e.g. file transfer daemon). Arguments should be a subsystem name and a command (with optional arguments) to execute upon subsystem request.

The command sftp-server implements the SFTP file transfer subsystem.

Alternately the name internal-sftp implements an in-process SFTP server. This may simplify configurations using ChrootDirectory to force a different filesystem root on clients.

By default no subsystems are defined.

2021年7月20日 星期二

Taiwan CDC News (台灣衛福部疾管署新聞稿) PHP Class

twcdcnews 是前一陣子寫的 PHP Class,可以抓台灣衛福部疾管署新聞稿內容,
及 Parse 新聞稿中的確診數資料,使用方式看 github 上的說明,在此不再重覆說明
data 目錄下有 2021 之後的確診數歷史資料,可用來資料分析用,統計數字均是 Parse 新聞稿內容而得。

Microsoft Distro - CBL-Mariner

CBL-Mariner 是微軟內部的 distro,用來建構雲端平台等服務使用,現在開源回饋回去給 Linux 社群。
微軟近年來擁抱開源社群,對 Linux 社群貢獻不少,走向正確的道路。
CBL-Mariner clone 下來有 593M,參考 這篇 文章可以 Build ISO
Build 出來 ISO 大小 (ISO檔在 out/images/full 目錄)
-rw-r--r-- 1 root root 677M 7月 19 09:09 full-1.0.20210719.0904.iso
畢竟是 Server 用的 distro,安裝畫面很基本,沒啥可選,
安裝模式只有兩種 Core or Full
預設都沒有任何服務(sshd也沒有),開機滿快的,
Full 安裝完 / 佔了 1.7G
套件系統是 RedHat 系的 RPM,可以用 dnf 或 tdnf (tiny dnf) 管理套件。
Kernel 5.10.42 滿新的,RedHat 8.x 都沒這麼新 (RedHat 8.x is Kernel 4.18)


2021年7月16日 星期五

DreamHost Pricing Update

DreamHost 是一家老牌的 Share Hosting 公司,1997 年創立,個人從 2005 年八月就開始用它了,
2005 年到 2007 年,DreamHost 非常火熱,吸引了大量的客戶


最近收到通知說要漲價,從每月 $7.95 漲到 $11.95 (USD) 漲幅高達 50%
這 16 年都從未漲過價,現在漲價也屬合理。不過一次漲那麼多,難保造成一些客戶流失。
雖然現在還有 VPS、雲端主機、Docker 微服務等眾多選擇,但 Share Hosting 因為便宜,仍有它的市場,而且競爭依然激烈。
不曉得是運氣好還是管理得好,多年使用期間並沒有遇到資料流失或資安事件等令人不愉快的事件,
整體服務是滿意的,個人漲價後仍會繼續用。

談談它的優缺點

優點:
支援 SSH,這一點是選擇 DreamHost 的主要因素,而且它支援開多個 SSH 帳號,別家支援 SSH 的都只有一個帳號
管理介面操作方便,DreamHost Panel 是自行開發的,對於初學者來說,會比 cPanel 好上手

缺點:
Uptime 不是很好,偶爾會遇到掛掉,通常是 High Loaing 造成無法服務,還算是可以接收的範圍,平均 Uptime 大約在 99.95%
(下圖是自己網站 Statuscake 近一年統計資料)
沒有位於亞洲的 Datacenter,不過這一點大多數 Hosting 都沒有

Protect static files with Apache mod_xsendfile

網頁中的 Static files,若要經過驗證才能存取, 以 PHP 為例, 第一種做法是將檔案放在 DocumentRoot 以外的目錄,程式先檢查驗證,然後再用 readfile 讀檔吐出去 第二種做法是本文要介紹的 mod_xsendfile,一樣是將檔案放在 Docum...