建立Cusdis Telegram Bot以取得留言通知

目前在GitHub可以找到三種Telegram Bot:

  • https://github.com/djyde/cusdis-telegram-bot
    官方的Cusdis Telegram Bot,下指令沒反應,無法使用。

  • https://github.com/WingLim/cusdis-telegram-bot

    These features are based on saving approve link with token to a redis server.
    We will automatically delete the approve link which is saved in redis to protect your privacy.

    1. Approve comment in bot
    2. Append comment in bot

    根據敘述的功能來執行:

    1. Approve comment in bot:因為Approve連結被刪除無法開啟,在Telegram點Approve按鈕會顯示讀取中,但是沒有反應。
    2. Append comment in bot:對該篇通知直接用Telegram回覆,輸入訊息以批准並回覆留言。

    因為第一點不確定要怎麼做才行,放棄使用。


最後我選擇第三種機器人來加入Webhook。

將Cusdis留言系統整合到Hexo

無意間在其他人的部落格看到Cusdis留言系統──很單純的匿名留言系統,沒有花俏的功能,載入速度超快。和Disqus或Facebook這種社交型態的留言系統完全不同。

優點:

  • 開放原始碼。
  • 沒有會員系統,只能匿名留言。
  • 可以自架或官方託管(目前完全免費)。
  • 支援多國語言(可以用官方多語或自己改)。
  • 輕量級,嵌入網站的程式碼只有5kb(gzipped)。
  • 支援Email通知和Webhook,回覆和批准留言不需登入。
  • 可以從Disqus匯入資料。
  • 管理後台不會紀錄留言者的敏感資料,例如IP位址。
  • 官方託管的管理後台只能用Google、GitHub和GitLab三種帳號來登入。

使用Mastodon timeline feed widget將Mastodon時間軸嵌入到Hexo

最近才得知Mastodon這個社群網站,雖然本質上是Twitter,但因貼文可達500個字,連結網址無論多長都只吃到23個字,所以我覺得偏向於輕量級網誌。兩者最大差異他是一個分散式社交網路,類似Mail server,每個人都可以架設自己的社群,每個社群都可以互相溝通,即使網站突然終止或莫名被停權,你還是能換不同網站繼續使用社群服務。

我個人使用後,認為沒有太多複雜功能、沒有廣告、介面淺顯易懂、文章可設定多種狀態(這點Twitter就不用比了)。目前傾向從Twitter慢慢轉移到Mastodon。

找了一些Timeline widget,都不是很滿意,最後找到〈Mastodon timeline feed widget〉,蠻符合自己的需求,可將發文時間軸嵌入到自己的網站。

建立頁面

以Hexo部落格為例,首先建立一個獨立頁面,將index.html內容改為:

<link rel="stylesheet" href="/css/mastodon-timeline.css">
	<div class="dummy-container">
		<div id="mt-timeline" class="mt-timeline">
			<div id="mt-body" class="mt-body">
				<div class="loading-spinner"> </div>
			</div>
		</div>
	</div>
<script src='/js/mastodon-timeline.js'>
	</script>

貼到index.md裡面。

入手Samsung Galaxy A52s 5G

家裡長輩想把用了七年的HTC Desire EYE換掉,因為是輕度使用者,所以對他來說速度只是略慢,但是手機或電池衰退導致電量不穩定是比較大的問題(2018年換過原廠電池)。

排除蘋果陣營和中國品牌,其實Android中低價手機能選的沒幾支。從中篩選六千~七千元的手機,每支規格都很差,不如提高預算到一萬元,規格會好非常多。

稍微比較過幾個品牌規格,最後選了Samsung Galaxy A52s 5G,以一萬元手機來講,CP值很高。例如:IP67防水、大容量電池(4500mAh)、6.5吋FHD+螢幕、120Hz螢幕更新率、雙卡(可選裝記憶卡或5G+4G SIM卡)、生物辨識支援臉部辨識+光學螢幕指紋辨識。

至於拍照品質,很多網友都覺得差,我倒覺得不錯。可以參考GSMArena的評測:〈Samsung Galaxy A52s 5G review - Camera, photo and video quality〉。一萬元手機拍照品質還能符合你的要求算是賺到,如果認為拍照沒到旗艦級手機的品質,那是你的個人期待錯誤,你應該要花大錢買旗艦級手機才對。

軟體方面,綁了一堆三星全家桶服務,自家軟體都不能刪除或停用,很麻煩。三星手機可自訂的東西很多很彈性,但是項目相對複雜。我一直搞不懂三星的選單邏輯,找一個設定項目要找很久,關鍵字搜尋也很難找到,不要說老人家,一般使用者都不好上手。

使用Tasker做一個USB網路共用的一鍵開關

有時手機接不同電腦需要行動數據使用USB網路共用,但覺得打開USB網路共用的步驟很繁瑣,還是使用Tasker做一個一鍵開關比較方便。指令參考〈Activate USB tethering from the command line〉文章。

如果手機有Root,Tasker開啟Run Shell輸入:

am start -n com.android.settings/.TetherSettings &&
input keyevent 20 &&
input keyevent 20 &&
input keyevent KEYCODE_ENTER &&
sleep 2 &&
input keyevent 4

如果手機沒有Root,先執行Tasker ADB WiFi,Tasker開啟ADB Wifi輸入(沒試過,應該能用):

adb shell am start -n com.android.settings/.TetherSettings &&
adb shell input keyevent 20 &&
adb shell input keyevent 20 &&
adb shell input keyevent KEYCODE_ENTER &&
sleep 2 &&
adb shell input keyevent 4

效果如下:

Android 12使用ADB command找回Wi-Fi和行動數據的快速開關

因為Android 12的下拉通知欄(快速設定)把Wi-Fi和行動數據的快速開關放在網際網路項目,變成要先點網際網路進去,才可以個別開關。對於偶爾要手動切換網路的使用者來說,很不直覺。

Android 12的網路開關

參考〈Not a fan of Android 12’s new Internet Panel? Here’s how to get back your old Wi-Fi toggle〉文章作法,使用ADB command可以找回Wi-Fi和行動數據的快速開關。

入手NVIDIA Shield TV Pro

得知NVIDIA Shield TV Pro聯強代理台灣公司貨訂價5990元,想買來取代海美迪HD910A,當作影音硬碟和串流播放機。原因是後者硬體和韌體老舊,某些影片會有相容性問題,例如有時會遲滯(或頓一下)、高流量藍光外掛字幕不同步、畫面有時出現色塊、嚴重一點無法播放甚至當機,更不用說想連網看串流平台的影片。

市面上的電視盒都是用Android系統,價格沒很便宜,韌體很容易被放生不更新,所以不考慮。而Chromecast with Google TV,外接裝置需另購相容的USB-C Hub,且某些音效格式不支援(例如Dolby TrueHD),也不列入考慮。

前陣子看到PTT網友出售NVIDIA Shield TV Pro公司貨 ,向其詢問後因私人原因要賣,只要5500元含運,毫不猶豫直接購買。這台機子是網友收到貨隔兩天就出售,算全新二手貨。

官方規格主要如下:
Shield TV Pro主要規格

將域名從匯智資訊轉移至Gandi

域名要轉移到不同註冊商很簡單,當作手機攜碼的概念比較好理解。整體流程看Gandi的官方文件(〈如何將域名轉入Gandi〉)就很清楚了。

原註冊商的前置作業

  1. 我的域名原註冊商是匯智資訊(Cloudmax),填寫表單跟客服要轉移認證碼(EPP code)。
    填寫表單要EPP code

  2. 客服會將轉移認證碼寄到Whois的管理信箱。
    EPP code

Windows Server DHCPv6伺服器設定

Windows Server安裝好DHCPv6伺服器,需用netsh指令設定一下環境,讓某些設備可以有效取得IPv6 Stateful和Stateless位址,例如:多功能事務機。

  1. 檢視運作中網卡的idx和名稱。

    netsh interface ipv6 show interface
  2. 檢視運作中網卡的設定,idx請改成上述步驟查到的數字。idx也可以用網路連線名稱代替。idx可能會因重開機而改變,網路連線名稱則固定不變。

    netsh interface ipv6 show interface idx level=verbose

    或是

    netsh interface ipv6 show interface "Local Area Connection" level=verbose
  3. 檢視IPv6的route狀態。

    netsh interface ipv6 show route