2021年6月27日 星期日

tesseract

tesseract 是一套 OCR library 含 command line

CentOS 8 套件安裝法
因為有相依性,需先 enable PowerTools
dnf config-manager --set-enabled powertools
dns -y install tesseract tesseract-langpack-chi_tra tesseract-langpack-chi_sim
(後兩個是繁體及簡體的語言包)

編譯安裝法:
需要較新版的 GCC,請先參考 CentOS upgrade GCC 安裝新版的 GCC
# 切到 GCC9 環境
scl enable devtoolset-9 bash
wget http://www.leptonica.org/source/leptonica-1.81.1.tar.gz
tar zxvf leptonica-1.81.1.tar.gz
cd leptonica-1.81.1
./configure && make && make install
# 安裝編譯 tesseract 需要的圖檔 devel 套件
dnf -y install libtiff-devel libjpeg-devel libpng-devel
git clone https://github.com/tesseract-ocr/tesseract
cd tesseract
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure && make && make install
# 下載語言包
cd /usr/local/share/tessdata
wget https://github.com/tesseract-ocr/tessdata/raw/master/eng.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/master/chi_tra.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/master/chi_tra_vert.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/master/chi_sim.traineddata
wget https://github.com/tesseract-ocr/tessdata/raw/master/chi_sim_vert.traineddata

2021年6月24日 星期四

Traccar SMS Gateway

Traccar SMS Gateway
這個 Android App 是少數可以把手機建立一個 Web Service,用 HTTP API 去傳送簡訊,
(大部份的應用都是收到簡訊後去 Trigger Webhook)
雖然市面上已經有許多發簡訊的 API 服務,但是無法帶自己的號碼
用這個就可以使用自己的手機批次發送簡訊
在 Gateway Start 服務即可,畫面上會出現一個八碼的 Random API key
然後就可以 用 HTTP API 控制了

官方的「文件」有一些 entry tag,不確定是幹嘛用,
試了一下,把 Authorization: API key 放 Header,BODY 用 JSON,兩個欄位,
to: 電話
message: 簡訊文字
例:
curl -H 'Authorization: 90d8c6b8' -sd'{"to": "09xxxxxxxx","message": "Your Messages"}' http://192.168.0.55:8082
這個 App 還有開源 https://github.com/traccar/traccar-sms-gateway

2021年6月22日 星期二

PHP uniqid() algorithm

uniqid() 是 PHP 內建用取唯一 id 的方法,它是 Time Base,官方不保證唯一,因為時間有可能會因為校時而異動
它組成分成兩部分,前面的部分單算單位是秒,後面的部分(最後5碼)計算單位是微秒(microsecond,10E-6秒)
例如 1624333020.999999
1624333020 十六進位是 60d15adc
999999 十六進位是 f423f
這個時間點的 uniqid() 就是 60d15adcf423f

2021年6月12日 星期六

Linux systemd console autologin

編輯 /usr/lib/systemd/system/getty@.service
把原來的 ExecStart 改成
ExecStart=-/sbin/agetty -a root %I $TERM
-a 表示 autologin
若不想要用 root ,可改用其他 user

單行設定指令
sed -i 's/ExecStart.*/ExecStart=-\/sbin\/agetty -a root %I \$TERM/' /usr/lib/systemd/system/getty@.service

2021年6月8日 星期二

CentOS send hostname to DHCP server

CentOS DHCP client 要使用 hostnamect set-hostname 設定過才會正常送出 DHCP Option (12) Host Name






Migrate Google Compute Engine VM image to local

想要把 Google Compute Engine VM 備份,或者 clone 一份到 local 做測試 先關機建立映像檔,再把映像檔匯出到 Bucket (可以選擇匯出格式 vmdk、vhdx 等),然後就可以下載 但會發現在自己的環境無法開機,看起來是找不到 root ...