2021年10月9日 星期六

Bypass Windows 11 TPMCheck and SecureBootCheck

電腦不符合 Windows 11 需求,也可以安裝 Windows 11

安裝流程第一個畫面按 Shift-F10 開啟 CMD
下指令
reg add HKLM\System\Setup\LabConfig /v "BypassTPMCheck" /t REG_DWORD /d 1 /f
reg add HKLM\System\Setup\LabConfig /v "BypassSecureBootCheck" /t REG_DWORD /d 1 /f

後續就跟一般安裝一樣

TPMCheck 及 SecureBootCheck 是在選擇要安裝 Windows 版本之後,
若已看到此電腦無法執行 Windows 11,也可以按上一頁,再進行上面的 reg 動作

順便一提,Windows 11 仍是可以使用離線帳戶的
登入選項 / 離線帳戶


2021年10月7日 星期四

Rsyslog to PHP

以 PHP 為例,把 syslog 的資料即時 pipe 給程式分析

/etc/rsyslog.conf 加入
module(load="omprog")
*.* action(type="omprog" binary="/usr/local/bin/syslog-parser.php")

syslog-parser.php 內容

#!/usr/bin/php
<?php
while ($line=trim(fgets(STDIN))) {
  file_put_contents("/tmp/syslog-parser.log",$line."\n",FILE_APPEND);
}
?>

不要忘了 chmod +x syslog-parser.php,它需要有執行權限
本範例中的 $line 就是 syslog 會傳進來的每一行
當然這個方法不限於 PHP,可以讀取 STDIN 的程式都可以

2021年9月7日 星期二

Protect static files with Apache mod_xsendfile

網頁中的 Static files,若要經過驗證才能存取,
以 PHP 為例,
第一種做法是將檔案放在 DocumentRoot 以外的目錄,程式先檢查驗證,然後再用 readfile 讀檔吐出去
第二種做法是本文要介紹的 mod_xsendfile,一樣是將檔案放在 DocumentRoot 以外的目錄,
然後再送出 Header X-SENDFILE 告訴 Web Server 檔案在那,由 Web Server 直接存取。
若是檔案很大的話,第一種做法會耗用很多記憶體,第二種做法就省記憶體,跟 Static files 沒什麼兩樣

安裝 mod_xsendfile
yum -y install mod_xsendfile

httpd.conf 加入兩個參數
XSendFile On
XSendFilePath /data
XSendFilePath 是設定可以 X-SENDFILE 指向的白名單,可以設定多筆

應用範例:
DocumentRoot /var/www/html
Data folder /var/www/html/data
X-SENDFILE data folder /xsendfile

在 data 目錄建立 .htaccess,目的是將 data 下任何 URL 都先經過 index.php 檢查權限,再放行(X-SENDFILE)
.htaccess 內容
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L]

index.php 內容
<?php
if (authCheck()) {
$filename= basename($_SERVER['REQUEST_URI']);
header('X-SENDFILE: /xsendfile/'.$filename);
header('Content-Type: '.mime_content_type('/xsendfile/'.$filename));
exit;

}
?>
<h1>Permission denied</h1>

註: nginx 也有類似的模組,叫 X-Accel

ref. mod_xsendfile 官網

2021年9月4日 星期六

openfortivpn

openfortivpnFortiClient VPN 相容,若不想用官方的 Client 可以試試
只是它是命令列模式,沒有 GUI

使用很簡單
openfortivpn vpn-gateway:8443 -u username
然後會提示輸入 Password
若憑證是自簽的,需加 --trusted-cert 參數,後面接憑證的 SHA256 (沒加此參數撥不上時會有提示)


Android 11+ Wireless ADB

Android 11 開始支援的無線偵錯,滿方便的,電腦跟手機需在同一個子網路下
系統 / 開發人員選項 / 無線偵錯 / 使用配對碼配對裝置

以上圖的情況
cd %LOCALAPPDATA%\Android\Sdk\platform-tools
adb pair 192.168.0.5:38549 370573
就完成配對,若 Android Studio 仍沒有看到這個裝置,再手動下指令
adb connect 192.168.0.5:34961

ref. Android Debug Bridge (adb)

2021年9月3日 星期五

Increase or Decrease DNS TTL

BIND
可以用 max-cache-ttl 參數來縮短 TTL,但是無法增加

dnsmasq
可以用 max-cache-ttl 參數來縮短 TTL
可以用 min-cache-ttl 參數來加大 TTL,上限是 3600
若需要超過 3600 的數值,必需自行修改 src/config.h 裡的 #define TTL_FLOOR_LIMIT 數值,再重新編譯

2021年8月29日 星期日

Rclone empty Google Drive trash

Rclone 清空 Google Drive 垃圾桶

指令 rclone cleanup remote:

NOTICE: Google drive root '': Note that emptying the trash happens in the background and can take some time.

指令下完,會出現此提示,在背景作業,檔案多的話,需要一些時間,數百 G 的資料清理完可能會超過一小時,請耐心等待

2021年8月21日 星期六

Rsyslog dispatch to different log file by msg and programname

由 Log 訊息包含字串區分
:msg, contains, "Error" /var/log/error.log

由程式名稱區分
:programname, isequal, "prog" /var/log/prog.log

ref. https://www.rsyslog.com/doc/master/configuration/filters.html

2021年8月10日 星期二

Blockchain domains

foreverdomains.io

區塊鏈域名是使用區塊鏈 NFT (Non-Fungible Token) 建講的域名,特點是去中心化,只要一次性費用,免年費,也不會過期。
當然,它跟現有 ICANN 控制的中心化 root NS 是不互通的,要訪問區塊鏈域名的網站,還要加掛 Fingertip 程式才行

短期來看,區塊鏈域名的收藏價值可能大於實用價值。
長期來看,因 NFT 本身具唯一性,不可被竄改的特性,也許可以應用在抗封鎖、防止域名劫持上面。

2021年8月4日 星期三

Download file from free domain blocked by browsers

有遇到使用 Free domain 的站,Freenom 這五個 .cf .ga .gq .ml .tk
下載檔案瀏覽器會有安全性提示

Chrome: 一般使用者不常下載 xxx.zip,代表這個檔案可能不安全。ref. Google Chrome 封鎖下載內容

Firefox: 這個檔案不是常見的可下載檔案。
這個檔案不是常見的可下載檔案,開啟的話可能會不安全,這個檔案裡可能含有病毒,或會對您的程式與設定做出未預期的變更。
您可以搜尋其他下載來源,或稍後再試。

同一個站只要換個域名就正常了,很明顯就是針對 Free domain 的網址。
Free domain 網址常被濫用,建立惡意網站,被認定為惡意也是可以預期的。
所以免費域名開發、測試可以,正式使用還是要避免。

RustDesk

RustDesk 使用上跟 Anydesk, Teamviewer 差不多,也是用 ID + Password 就可以連線 其優點是開源,可以自架 ID/Relay Server 在 Client 裝好的情況下,直接是可以使用的,預設應該是使用 RustDesk 的公共 Ser...