1808111345

中午的酸菜炒飯真是好吃!可惜我不是美食家,也不是作家,無法將它到底有多好吃描述出來。我只能說它好吃到我幾乎要哭出來,如果有一天我離開了這個城市,這個國家,這個世界,我一定會懷念這家的炒飯!希望,我能繼續像以前一樣,每週去吃一次。

使用GnuPG加密文件

GnuPG加密情景

42想發送一條消息給55,並且這條消息只有55能看到。首先42和55都用GnuPG生成自己的公鑰和私鑰。然後55把公鑰交給42,公鑰怎麼傳遞都行,不需要保密。42使用自己的私鑰和55的公鑰來把消息加密,生成加密的消息發給55。55拿到加密的消息後用自己的私鑰解密即可看到原始消息。

安卓使用OpenKeychain

F-Droid或Google Play下載OpenKeychain,導入已有證書(公鑰私鑰均可導入)或生成新的證書。然後通過二維碼或你喜歡的其他方式分享公鑰。發送者使用接收者的公鑰和自己的私鑰加密文件,然後發送加密文件給接收者,接收者用自己的私鑰解開文件。使用OpenKeychain,不僅可以方便的加密與解密文件和文本,更可與K-9 Mail搭配實現加密的郵件。

命令行使用GnuPG

Fedora似乎時預裝了GnuPG和GnuPG2,我們可以用gpg和gpg2來使用它。Termux可以使用pkg install gunpg,用法是一樣的,而且版本是最新版。Fedora26比最新版還差一個小版本。我樂於追新,所以這裡都用gpg2。順便提一下,GnuPG念做“格努皮即”。關於GNU有興趣的朋友可以到GNU作業系統與自由軟體運動了解下。

##生成一對密鑰
gpg2 --full-generate-key
#密鑰種類默認RSA和RSA即可
#RSA密鑰長度默認2048即可
#過期日期默認0即永久,後面會講撤銷方法
#繼續輸入名字、郵箱和注釋
#然後就開始生成密鑰了,這時可以做些移動鼠標敲擊鍵盤的動作幫助程序獲取隨機數
#Termux可能要一兩分鐘,Fedora貌似20秒就搞定了
##導入導出刪除撤銷密鑰
#列出已有的密鑰
gpg2 --list-keys
#列出密鑰的指紋
gpg2 --fingerprint
#為密鑰生成撤銷證書
gpg2 --gen-revoke fred42 > revoke_fred42.txt
#導出一把公鑰,-a表示轉換為可打印字符
gpg2 --export -a fred42 > public.key
#導出一把公鑰,-a表示轉換為可打印字符
gpg2 --export-secret-key fred42 > private.key
#導入一把密鑰
gpg2 --import public.key
#刪除一把公鑰
gpg2 --delete-key fred42
#刪除一把私鑰
gpg2 --delete-secret-key fred42
##使用密鑰服務器上傳搜索與下載公鑰
#Please blame the wall

我的公鑰指紋:E7F7 D0FE C38C 3975 67AA 3FC1 1168 09F0 24AF 514A和公鑰:

-----BEGIN PGP PUBLIC KEY BLOCK-----

mQENBFs9g5gBCADaGfBtFMSsNeGDhej021SuvCWOQUFbLnBxkNUIuolcy564AlA6
AqX4R/HC286Yy3Si4m4bJsNjDQASl79sE99DBi4nL66gko6R+5/o62b/QfuZ0R1N
sUGHNSyfzM65zqTeAcow7ukzRe67q1fMDKMr1/R4uXlpXhTMmVJ9mTvO8zy7hX7B
NT77wdLIP2m/ywI2l2LmeoQMkxzKNWwDa8I1OY36NLrpWd4F4vVIg3MMwazMeHGe
CkWMq60oEkfcy/VSiVxF+4XTv97IZ7/xSi+NzNvt56AJr/VbSMvIyQLkNtIotH4A
3+l3h9ckFwhUr+0DgLzoLWLc0BV215zSYu+hABEBAAG0JmZyZWQ0MiAoRnJlZCBa
ZW5nKSA8aW5uZXI0MkBnbWFpbC5jb20+iQFOBBMBCAA4FiEE5/fQ/sOMOXVnqj/B
EWgJ8CSvUUoFAls9g5gCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQEWgJ
8CSvUUohnQgAoXrDgRKN4+NLmX3o2Jlr89TzfgTnS5mr/COEOBQX60rk6AGhXRN6
xH7TXz8DW84JjgWHl5GHuso2qlsdl565KjzaisV3KyVdD/f4wZae2uDnnzkrmQcR
SuusV1iqWaNdArOEi1WC5MDsfCVP8ulILI8rK6YAOwp6Fj/5BGBm2V9gSfjB3eat
WaSoDTeCwoHVcpXtBbFZ8wDiy9IfW9YT7HPmIhwn+pevE6QfBLDseajklvSNgupR
1dp/mXTSlbcTqVMn1hR4yByeiFF5MXakPF0O9bSQLwx0RkybLUychcjoecmT3iIZ
Xm2PCaic3j/XwXsqbsqL5OxoCi3B6Fyrk7kBDQRbPYOYAQgAq73LJIbu24l73zLF
XQfH8XVuRCe94qjKuNYdaJRqd3FJqkNFnIJG1E2hhaXj2z869QNsqcRUXr0R0y6k
vayRZLWQhn/jM99kuCioRKt2X8eak+M8kGip94jaqwNpJbiJa2iJjCnMEgTC/6Cm
R8q37m3/EjIMRRVUFxezkZWWNWo3qklIcPatc92aCOEu3ztZ/xvF/E93CDRl//+p
FPLdO8ba/iVcJszQp8S6opRu8moTz6qEzA70hldv0IZC1/syWAjliFBa9P8Xpq5e
cEoGvaBPgXG6MENeI8j5sv8m9abtHtmZZtGt2MyVKNAbz30cJ8t2k6+fG1Jl3W3q
gi31NQARAQABiQE2BBgBCAAgFiEE5/fQ/sOMOXVnqj/BEWgJ8CSvUUoFAls9g5gC
GwwACgkQEWgJ8CSvUUqY0QgAm3ldNHrdv1LIhP/J3WJgqlWK4/aW4p/hgtfJSlje
2N9Kgs5CeBdW3m9AdgGQNfpmXPDaRM5EaaNo87QH6z8BLfxtCltEhmiMfy1CjEG3
Hu/gPcQ+thwHQwH+7ejmafQAGmljDgjyB+ZMUej2nwLagh2uGhsls/xGI2EJxw8l
W/Gk8sh3Fqir2mqoK4/OcFzdvo4MhoT2m8zjEH3OVTjyNzekL5FNLhb61RL2aAsV
mgA7d0YXIh/OJ9dEVMLy7xr0eP+UD7Mr/zJjX18+egDjdfMAfM7XERyq9OPiCdpt
v67laBzdE3m99lgFkqwap9O6lzIdV06LPx6oXZzpbJq9ww==
=vA+d
-----END PGP PUBLIC KEY BLOCK-----

使用GnuPG生成隨機密碼

生成一個16位的隨機密碼

gpg2 --gen-random -a 0 16 | head -c 16

也可將下面代碼存為password.sh,運行./password.sh 16來獲得。

#!/bin/bash
if [ $# -eq 0 ]
then echo "請指定待生成密碼的長度"
else gpg2 --gen-random -a 0 $1 | head -c $1
echo ""
fi

Root the Xperia X Compact

先說一下速成方案,電腦是win7,手機是港版F5321,刷的是德國o2 34.4.A.2.85/R2E。然後使用Magisk獲得Root和Busybox。

  1. 按需要進行備份,我就是新機,所以沒有備份。
  2. 下載Xperia X Compact的驅動。手動安裝驅動的方式是,開始/控制面板/設備管理器。樹行圖中選擇根PC,然後在操作菜單選擇添加過時硬件/手動選擇/顯示所有設備/從磁盤安裝/瀏覽。找到解壓出的inf文件安裝即可。
  3. 下載或升級FlashTool,安裝完畢後運行其安裝目錄下的Drivers/Flashtool-drivers.exe,選擇前兩個即Flashmode Drivers和Fashboot Drivers安裝。安裝後可能需要重啟電腦。然後打開FlashTool,點擊XF圖標下載系統盤,文件約有1.7GB。
  4. 打開[stock 8.0][Unlocked bl][34.4.A.2.19; ...32; ...85] Root and Recovery (3 clicks),下載Modded boot img for 34.4.A.2.85、Updated TWRP with working decryption和 serajr's zip。打開Magisk v16.0 - Root & Universal Systemless Interface,下載Latest Magisk。然後將DRM-Fix_System_Mode.zip和Magisk-v16.0.zip複製到手機的外置sd卡。
  5. 手機關機,按住音量減,插入usb線,待FlashTool顯示Flashmode已連接,鬆開音量鍵。然後點擊Flashtool左上角的雷電標誌(Flash),選擇FlashMode,Firmwares里選中下載好的系統,Wipe全部選中,Exclude全部不選,安後按下Flash開始刷機。
  6. 刷機完畢,拔出USB線,關閉FlashTool,不要將手機開機。然後按住音量加鍵並插入USB線,此時進入fastboot模式。在下载文件夹按住Shift键,然后右键单击空白处选择打開命令行工具,然后執行fastboot flash boot boot85.img和fastboot flash recovery twrp-3.2.1-v7.img。然後拔出USB線。
  7. 同時按下電源鍵和音量減鍵,等到手機振動一下,迅速放開電源鍵但保持音量減鍵按下,直到TWRP出現。找到外部SD卡里的DRM-Fix_System_Mode.zip和Magisk-v16.0.zip,刷進手機。開機。打开Magisk,安装Busybox模块即可。

刷後感

手機是港版,為什麼要刷德版呢?因為論壇里提供的img只有.85的,沒有.70的。由於.85有本月的安全更新,所以xposed是用不了的。論壇也有提供自製img的方法,但是我用兩台電腦測試修改.70的img,均報錯。用報錯的img進行刷機貌似失敗,所以用了論壇里的.85img。在第一次操作的時候試圖去備份TA,依然失敗。解鎖bootloader倒是成功了,但這不是必須的。獲得root只是第一部,要想正常使用還需要更多的調教,請參考Xperia X Compact with Android 8

Magisk安裝新模塊後bootloop

#進入TWRP:同時按下電源鍵和音量減鍵,等到手機振動一下,迅速放開電源鍵但保持音量減鍵按下,直到TWRP出現
#Go to "advanced" and then click on "terminal command"
cp /data/magisk.img /data/magisk.img.bk
mkdir /mktmp
mount -o loop /data/magisk.img /mktmp
#查看已安裝的模塊
ls /mktmp
#刪除可疑模塊
rm -rf /mktmp/xxxx
umount /mktmp
#返回,重啟手機即可

Xperia X Compact with Android 8

請參考Root the Xperia X Compact來安裝Flashtool和Xperia X Compact驅動,安裝後就可以使用adb命令來調試手機了。

手機上開啟調試模式

設置/系統/關於手機/(最下方)Build number,點擊版本號7次即可開啟開發者選項。在系統菜單里,進入開發者選項,找到Debugging類目下的USB debugging開關,打開它。手機用USB連接電腦就可以了。注意此種模式連接電腦有被安裝病毒軟件風險,所以不要隨便以這種狀態連接任何不明設備。用完後記得關閉調試開關。

去除Wifi標誌上的叉號

出現叉號是因為谷歌的聯通性檢測網址無法被訪問。可以自行搭建一個這樣的服務,v2ex也有提供,這裡使用高通中國聯通性檢測網址。

adb shell "settings put global captive_portal_https_url https://www.qualcomm.cn/generate_204"
adb shell "settings put global captive_portal_http_url http://www.qualcomm.cn/generate_204"

禁用或刪除不使用的自帶軟件

如果root了,有很多軟件可以選擇,如link2sd。未root可以使用下面命令來實現,參考自:Which Apps are safe to remove after Root

#通過adb打開手機終端
adb shell
#查看所有app
pm list packages | more
#禁用startupflagservice,可以解決手機自動重啟
pm disable-user com.sonyericsson.startupflagservice
#禁用warrantytime,可以去掉開機後的狀態欄提示
pm disable-user com.sonyericsson.warrantytime
#更多可禁用app可參考上面鏈接
#查看已禁用的app
pm list packages -d
#退出終端
exit
#卸載What's New命令
adb uninstall --user 0 com.sonymobile.entrance

待續

18060620

【字形本義】甲骨文「命」和「令」是同一個字,表示號令、指使的意思,金文、楚簡、小篆增益「口」旁,強調用口來發施號令。

【相關成語】「安身立命」:「安身」,居處得以容身。語出《呂氏春秋.有始覽.諭大》。「立命」,修身養性以奉天命。語出《孟子.盡心上》。「安身立命」指居處得以容身,生活便有著落,精神上亦有所寄託。


安身立命,何其难也。

網站搬家

用了兩年Hostodo,5月底收到郵件說要升級機房,將會提供更好的服務,盡量平滑升級不導致停機。升級後IP將會發生變化,如果想保留老IP可以來發ticket。實際情況是VPS忽然就關閉了,並且通過後台無法啟動。發ticket問IP的事情,得到的答覆是不能在不收費的情況下幫客戶保留舊IP。VPS一關就是2天,沒有任何辦法。第三天網站服務上了,說明VPS啟動了,但是中國並不能訪問,客服回復說不是被ban,是他們網絡還沒調好。然後又收到郵件說新的網頁後台可以看到新IP。打開之後登錄提示密碼錯,嘗試找回密碼提示郵箱不存在。這就這麼折騰着……

好在花落無聲兄弟再次慷慨相助,提供了Vesta空間給我寄存網站。由於原來也是用Vesta面板,搬家過程非常順利。而且新版Vesta面板集成了LetsEncrypt,一鍵即可獲得SSL證書方便的很。新服在香港,速度也有提升。遇到一點小問題是,搬過來後,中文url亂碼,只需要重新設置文字鏈接類型,再選回文章名格式就好了,不需要改動wordpress文件。

使用ExifTool處理文件元數據

ExifTool是一款由Phil Harvey開發的獨立於平台的命令行工具,用於處理文件的元數據,例如照片的拍攝日期等。Fedora可以通過下面命令安裝使用。

#安裝ExifTool
sudo dnf install perl-Image-ExifTool
#把DIR文件夾中的文件的拍攝日期增加4小時
exiftool "-DateTimeOriginal+=4" DIR
# -overwrite_original 可不產生.JPG_original原始文件
#修改後會產生.JPG_original原始文件,新文件較原始文件小是因為ExifTool壓縮了Exif信息
#如果修改日期有誤,可以通過這個命令恢復圖片原始文件
for file in *.JPG_original;do mv "$file" "$(basename "$file" .JPG_original).JPG"; done
#Linux重命名DIR文件夾中的名字為拍攝日期
exiftool -overwrite_original -d %y%m%d_%H%M%S%%-c.%%e "-filename<DateTimeOriginal" DIR
#Windows重命名DIR文件夾中的名字為拍攝日期
"D:\Program Files\portable\exiftool.exe" -d %y%m%d_%H%M%S%%-c.%%e "-filename<DateTimeOriginal" E:\Image\DIR