2026年5月3日 星期日

JOE 4.8

在 Linux 環境下,一直都是使用 joe 編輯器 (JOE - Joe's own editor)
這個編輯器應該算冷門了,非 vi、vim 的編輯器中,nano 或 pico 使用群大概都比它多
joe 是使用 Ctrl 組合鍵來達到各種編輯動作
從 2018 年發布 4.6 版本以來, 長期未更新,最近關注它,發現竟然有 4.7 及 4.8 版,都是在 2026 年更新的

joe-4.8-1.el8.x86_64.rpm

這是自編的 joe 4.8 的 rpm 檔,EL8 to EL10 應該都可以使用

以下是 AI 整理的更新摘要
joe 在 4.7 與 4.8 版中,除了日常的效能調校與臭蟲修復之外,也加入了多項實用功能,
以提升編輯器在現代終端機環境下的穩定性與安全性。

1. 核心安全性增強
標籤檔 (Tags File) 弱點修復 (JOE 4.8): 修正了先前版本中存在的重大安全性問題。
在舊版中,惡意建構的標籤檔可能會欺騙使用者執行 shell 指令。
4.8 版禁止了透過標籤檔開啟檔案時使用 ! 語法,強化了系統安全性。

2. 編輯器功能與除錯增強
歷史紀錄與巨集控制: 在巨集中允許使用 notmod 指令,
能夠在提示視窗中不將指令加入命令歷史紀錄,使歷史紀錄保持乾淨。
區塊過濾提示的歷史紀錄現在會儲存在狀態檔案中。
編譯器錯誤解析器 (Compiler Error Parser) 改進: 新增 parserr_homeonly 選單選項。
啟用後,錯誤解析器會忽略使用者家目錄以外的檔案錯誤,避免系統檔案的錯誤訊息干擾開發者的除錯視圖。
自訂選單改良 (JOE 4.7-4.8):重新整理了 ^T 選項設定選單,將不常使用的選項移至子選單中,
並支援在選單系統中加入自訂的巨集。

2026年4月20日 星期一

RouterOS Reverse Proxy

RouterOS 從 7.22 版,新增了 Reverse Proxy 功能,

SNI 填入域名
IP Address 填入 Server IP,通常是內部 IP,但也可以導到外部
Port 填入內部 Server HTTP 服務 Port
Certificate 選擇對應的憑證,選擇 none 會使用 IP / Services 中 reverse-proxy 指定的憑證

再搭配 ACME Cerfificate,還可以自動 Renew
在 IP / Cerfificates,Add ACME Certificate,若使用 Let's Encrypt
Directory URL 填入 https://acme-v02.api.letsencrypt.org/directory
Domain 可以填入多個,用逗號分隔
EAB KID 空白即可

注意事項 :
reverse-proxy Service 使用 443 的話,Web 管理介面 www-ssl 就要使用其他 Port 或關閉
reverse-proxy 並不會接 HTTP Port 80 再導入,若 HTTP 也需要的話,用 IP / Firewall dstnat 處理

2026年4月8日 星期三

0xC2A0 Non-breaking space

0xC2A0 是不換行空格(Non-breaking space, NBSP) 在 UTF-8 編碼下的十六進制表示形式。
字元作用:它的外觀與一般的空格(ASCII 0x20)完全相同,但其功能是告訴瀏覽器或排版軟體「不要在此處斷行」。
這個字元在維運是個雷

這兩行中間的空白看起來沒兩樣,實際執行這個腳本,會出現
123
bash: line 3: echo 456: command not found
456 的前面,就是 0xC2A0

2026年4月1日 星期三

Let's Encrypt IP certificate

https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability
2026年一月開放使用,但效期只有 160 小時
可以同時申請 IPv4 + IPv6 在同一張

必需指定用 shortlived profile
acme.sh --issue -d {IPv4} -d {IPv6} --webroot /var/www/html --certificate-profile shortlived

2026年3月25日 星期三

10 minutes file sharing service

https://tmp.pank.org

這個服務方便臨時交換檔案,檔案存活時間 10 分鐘,檔案大小上限 25MB

可以經由 curl 上傳或 Web 上傳
curl 上傳範例,上傳完會顯示下載網址

# curl -sT 10mb.zip tmp.pank.org
10390198 bytes uploaded

download as file: wget https://tmp.pank.org/ehljs8d3/10mb.zip
download as file: curl -sO https://tmp.pank.org/ehljs8d3/10mb.zip
download to stdout: curl -s https://tmp.pank.org/ehljs8d3/10mb.zip

有時 A、B 主機想要交換檔案,但 A、B 無法直接互連,但各自可以連外網,就適合用這個服務

2026年3月7日 星期六

Mount LVM in rescue mode

pvscan # 掃描實體捲軸 (PV)
vgscan # 掃描捲軸群組 (VG)
vgchange -ay # 建立 /dev/mapper/ 下的設備節點
lvscan 或 ls -l /dev/mapper # 查看有那些節點
mount /dev/mapper/rl-root /mnt # 掛載 /root 到 /mnt

若無法掛載,可能需要修復
xfs 使用 xfs_repair -L
ext3/ext4 使用 fsck

Grubby set default kernel

顯示 boot menu 有那些 kernel
grubby --info=ALL

顯示目前預設 kernel
grubby --default-kernel

設定 index=1 為預設 kernel,index 由第一個指令取得
grubby --set-default-index=1

2026年2月27日 星期五

Chrome / Edge 修正個人裝置有受管理瀏覽器的問題

個人電腦 Chrome/Edge 出現瀏覽器受管,通常是曾經登入過公司或學校帳戶造成

以下兩個方式進行排除

1. 刪除 registry 中的 Chrome / Edge Policies (需用管理者權限)
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome" /f
reg delete "HKEY_CURRENT_USER\SOFTWARE\Policies\Google\Chrome" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge" /f
reg delete "HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge" /f

2. 移除「公司或學校帳戶」連結
[設定] -> [帳戶] -> [存取公司或學校資源]
檢查是否有任何帳號列在此處,如果有,將它中斷連接

2026年2月16日 星期一

PHP class for HE.net DNS management

HE.net 這家老牌的網路服務商,它所提供的 Free DNS service 並沒有 API,
所以寫了這個 PHP class,可以新增、刪除、修改 DNS records
https://github.com/pankpan/henet

它是爬蟲方式登入,Parse HTML 操作,網頁有改版就有可能會不能用,需配合做調整

JOE 4.8

在 Linux 環境下,一直都是使用 joe 編輯器 (JOE - Joe's own editor) 這個編輯器應該算冷門了,非 vi、vim 的編輯器中,nano 或 pico 使用群大概都比它多 joe 是使用 Ctrl 組合鍵來達到各種編輯動作 從 2018 年發...