Skype 8 因為取消了 /get name 指令, 無法很方便取得 conversationId
資料也從 SQLite 改成 LevelDB, 無法透過讀取 main.db 來取得

寫了個 BAT 檔每秒去抓 Log 中最後一個 conversationId
裡面有用到 strings 及 tail, 需安裝 StringsWindows Server 2003 Resource Kit Tools
執行這個 BAT, 送個訊息到對話窗, 就可以馬上看到該對話窗的 conversationId
conversationId 的格式是 19:[0-9a-f]{32}@thread.skype

@ECHO OFF
cd "%AppData%\Microsoft\Skype for Desktop\IndexedDB\file__0.indexeddb.leveldb"
FOR /F "tokens=*" %g IN ('dir/b *.log') do (SET LOG=%g)
:recheck
strings %LOG% | findstr @thread.skype > %TEMP%\findstr.thread.skype
tail -1 %TEMP%\findstr.thread.skype
ping -n 2 127.0.0.1 > NUL
goto recheck

rclone

user-pic
Vote 0 Votes

rclone 支援各種雲端空間的同步(sync)及掛載(mount)

INSTALL
curl https://rclone.org/install.sh | sudo bash

SETUP
rclone config

Linux 必需安裝 fuse 套件
sync 範例
rclone sync /dir1 gdrive:/dir1
mount 範例
rclone mount gdrive: /gdrive --allow-other --allow-non-empty --vfs-cache-mode writes &
umount 要用 fusermount -u /gdrive

Windows 必需安裝 winfsp
sync 範例
rclone sync C:\dir1 gdrive:\dir1
mount 範例
rclone mount gdrive: X:
需保持 CMD 視窗開啟狀態, 關掉即 umount
Windows 下若要 mount 比較推薦 RaiDrive

Pixel 3 Camera for Nokia 8.1

user-pic
Vote 0 Votes

GCam for Nokia 8.1, Tested OK
LGN2_MGC_6.1.021_MI8_V1d.apk
LGN2_MGC_6.1.021_MI8_V1d.apk (Local backup)

ref. Google Camera Port

發現 crontab 裡面的 day of month 及 day of week, 若同時指定的話, 是 OR 條件
查了一下, 真的是這樣, 之前一直以為是 AND

The time and date fields are:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)

截錄 man crontab
Commands are exe-cuted by cron(8) when the minute, hour, and month of year fields match the current time,
and at least one of the two day fields (day of month, or day of week) match the current time

若要達到 AND, 就要在 Command 中判斷了
例: 每個月1-3日, 且必須是週一到五早上8點執行
0 8 * 1-3 * root [ `date +\%w` -ge 1 -a `date +\%w` -le 5 ] && commands
% 在 crontab 是特殊字元, 要 escape

Shadowsocks server

user-pic
Vote 0 Votes

pip install shadowsocks

create /etc/shadowsocks.json
{
"server":"my_server_ip",
"server_port":8388,
"local_port":1080,
"password":"your_password",
"timeout":600,
"method":"aes-256-cfb"
}

ssserver -c /etc/shadowsocks.json -d start

cd /etc/yum.repos.d
wget https://repo.codeit.guru/codeit.el7.repo

yum -y install httpd

Linux mount disk image

user-pic
Vote 0 Votes

若要 mount 一個以 dd dump 出來的 image
(例如 dd if=/dev/sda of=disk.img)
先用 fdisk -l disk.img 看一下 Sector size 是多少, 通常是 512
要 mount 那一個分割區, 就用 offset 參數指定 512*Start 位置
例如 partition 1 Start 2048, offset 就是 512*2048 = 1048576
mount -o loop,offset=1048576 disk.img /mnt

CNAME and other data

user-pic
Vote 0 Votes

BIND 出現 CNAME and other data 錯誤, 其意表示 CNAME 不能跟其他的指向共存,
@ 至少會有 SOA 及 NS, 所以 @ 就無法再指 CNAME

RFC1912 2.4 CNAME records
A CNAME record is not allowed to coexist with any other data.

其他的名稱也一樣, 例如 aaa 指了 A 記錄, aaa 就不能再指 CNAME

為避免同步把 C: 灌爆
先把 "%APPDATA%\Apple Computer\MobileSync" 複製到目的, 例如 X:\Apple\MobileSync
mklink/j "%APPDATA%\Apple Computer\MobileSync" G:\Apple\MobileSync

Google 注音輸入法

user-pic
Vote 0 Votes

Google 似乎要讓 Gboard 取代其他所有的輸入法,
在 Play 搜尋「Google 注音輸入法」已經找不到了
備份一下網址
https://play.google.com/store/apps/details?id=com.google.android.apps.inputmethod.zhuyin

Monthly Archives