2021年12月21日 星期二
Using nvidia-smi to get GPU current temperature
可以取得 Driver 版本、GPU溫度、耗電瓦數、GPU使用記憶體等數據
還有那些程式在使用 GPU
若要只抓溫度可以用
nvidia-smi -q -d TEMPERATURE | findstr /C:"GPU Current"
GPU Current Temp : 63 C
2021年12月12日 星期日
CentOS 9 Stream
CentOS 9 Stream 2021-12月初從 Fedora 34 生出來
Introducing CentOS Stream 9
ISO 載點
香港 Rackspace mirror 直連載點
2021年12月9日 星期四
Upgrade PHP from 7.x to 8.x (remi repo)
dnf -y module reset php:remi-7.4
dnf -y module install php:remi-8.1
dnf -y install php-common php-pecl-zip php-mysqlnd php-mbstring php-opcache php-process php-pdo php-cli php-pecl-mcrypt php-fpm
2021年12月4日 星期六
Copy small file trick between terminal A and B
檔案是 foo.zip
在 Terminal A 把檔案壓縮再 base64 編碼
gzip -c foo.zip | base64
把 base64 code 貼到 Terminal B 的一個檔 foo.b64,然後再 base64 decode,解壓後輸出
base64 -d foo.b64 | gunzip > foo.zip
適合比較小的檔案,base 64 編碼沒有超過一頁,較好複製
2021年12月3日 星期五
CentOS 8 install haproxy 2.x
enable NFV repo 之後,可以裝 2.2 的版本,其實也沒有很新
dnf -y install centos-release-nfv-extras
dnf -y install haproxy
ref. Network Functions Virtualization (NFV) SIG
2021年11月27日 星期六
Goolge Opinion Rewards
是一個填問券賺 Google Play 回饋金的 APP,
問券問題都不多,有的甚至只有一題,基本的回饋是 4 元台幣,有的問券會回饋比較多
其問券是不定期出現的,一星期也許只有一兩則
Android 及 iOS 都有這個 APP
2021年11月12日 星期五
Migrate to Rocky Linux
CentOS 8 的支援只到 2021 年底,該是轉換到 Rocky Linux 或 AlmaLinux 的時機
個人是選擇轉到 Rocky Linux
Rocky Linux 有提供轉移工具能無痛轉移,但版本需為 8.4
How to Migrate to Rocky Linux from CentOS Stream, CentOS, Alma Linux, RHEL, or Oracle Linux
就三行指令
curl https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh -o migrate2rocky.sh
chmod +x migrate2rocky.sh
./migrate2rocky.sh -r
執行需要一些時間,過程中它把系統所有套件都重新安裝(Reinstall),
我的一台 VM 大概花了 20 分鐘,轉完會提示重開機,還滿順利的,沒有遇到什麼問題。
2021年11月9日 星期二
Rsyslog discards rest
舊式寫法 & ~
表示忽略剩下的 Rule,不繼續走,沒加的話會把 rsyslog.conf 的 Rule 走完
要把某一類的 Log 獨立出來,在 /etc/rsyslog.d 建立 conf,conf 裡面最後寫 & stop,沒加的話預設的 messages 也會出現
例如: /etc/rsyslog.d/haproxy.conf
local2.* /var/log/haproxy.log
& stop
ref. https://www.rsyslog.com/doc/master/configuration/converting_to_new_format.html
2021年11月5日 星期五
Setup static IP with nmcli
nmcli con mod ens192 ipv4.gateway 192.168.1.254
nmcli con mod ens192 ipv4.dns 1.1.1.1,8.8.8.8
nmcli con mod ens192 ipv4.method manual
systemctl restart NetworkManager.service
2021年10月23日 星期六
HEIC to JPG convert tool
heif-convert 轉換工具包含在 libheif 套件內,要先裝 RPM fusion repo
rpm -ivh https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm # for CentOS8
or
rpm -ivh https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm # for CentOS7
yum -y install libheif
USAGE: heif-convert [-q quality 0..100] <filename> <output>
例如: heif-convert p0001.heif p0001.jpg
不帶 -q 參數,預設是 90
HEIC 目前支援度還很少,除了 Apple 手機,瀏覽器都尚未支援,
Windows 可以看,但要先裝「HEVC 視訊延伸模組」,還要錢,NT$33,這個模組看 Netflix 的 HDR 影片也是需要它。
2021年10月15日 星期五
Adsense API v2
Adsense API v1.4 只能用到 2021-10-12,需要 migrate 到 v2 版本
以下是用 PHP
需先安裝 google-api-php-client library
composer require google/apiclient:^2.11
再使用以下 Code,把 $account 設自己的帳號就行了,
不過 metrics TOTAL_EARNINGS 似乎有問題,都會取到 0
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
以 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()) {
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
openfortivpn 和 FortiClient VPN 相容,若不想用官方的 Client 可以試試
只是它是命令列模式,沒有 GUI
使用很簡單
openfortivpn vpn-gateway:8443 -u username
然後會提示輸入 Password
若憑證是自簽的,需加 --trusted-cert 參數,後面接憑證的 SHA256 (沒加此參數撥不上時會有提示)
Android 11+ Wireless ADB
系統 / 開發人員選項 / 無線偵錯 / 使用配對碼配對裝置
以上圖的情況
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
可以用 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 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
: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
區塊鏈域名是使用區塊鏈 NFT (Non-Fungible Token) 建講的域名,特點是去中心化,只要一次性費用,免年費,也不會過期。
當然,它跟現有 ICANN 控制的中心化 root NS 是不互通的,要訪問區塊鏈域名的網站,還要加掛 Fingertip 程式才行
短期來看,區塊鏈域名的收藏價值可能大於實用價值。
長期來看,因 NFT 本身具唯一性,不可被竄改的特性,也許可以應用在抗封鎖、防止域名劫持上面。
2021年8月4日 星期三
Download file from free domain blocked by browsers
下載檔案瀏覽器會有安全性提示
Chrome: 一般使用者不常下載 xxx.zip,代表這個檔案可能不安全。ref. Google Chrome 封鎖下載內容
Firefox: 這個檔案不是常見的可下載檔案。
這個檔案不是常見的可下載檔案,開啟的話可能會不安全,這個檔案裡可能含有病毒,或會對您的程式與設定做出未預期的變更。
您可以搜尋其他下載來源,或稍後再試。
同一個站只要換個域名就正常了,很明顯就是針對 Free domain 的網址。
Free domain 網址常被濫用,建立惡意網站,被認定為惡意也是可以預期的。
所以免費域名開發、測試可以,正式使用還是要避免。
2021年7月28日 星期三
External IPv6 addresses for Google Cloud VM instances is now available
GCP 的 VM (Compute Engine) 終於支援 IPv6 Public IP 了
目前只支援以下地區
asia-east1
asia-south1
europe-west2
us-west2
有台灣區,參考 configure-ipv6-address 進行設定,似乎只能使用 gcloud 指令,無法經由 Web 設定
網路要先啟用 IPv6
gcloud compute networks subnets update network_name --stack-type=IPV4_IPV6 --ipv6-access-type=EXTERNAL --region=asia-east1
再啟用機器的 IPv6
gcloud compute instances network-interfaces update instance_name --ipv6-network-tier=PREMIUM --stack-type=IPV4_IPV6 --zone=asia-east1-c
機器就可以拿到一個 /128 的 IPv6 IP
但是設定文件提到有一些限制,目前無法用 IPv6 IP 連 Google 的 API 或服務,
所以 ping6 google.com 是不通的,會出現 Destination unreachable: No route
ping 其他地方例如 ping6 www.microsoft.com 是可以通的,
真窘,連自家反而不通
另外找不到地方可以設定 IPv6 的 Firewall,感覺還沒做得很完整,因為預設 INPUT 是 Block,就暫時無法用 IPv6 提供服務
2021年7月27日 星期二
VMware Horizon Client and Bluetooth
發現偶爾 Windows 10 電腦設定裡的藍牙開關會消失,導致藍牙無法連線
經過一段時間才發現是 VMware Horizon Client 所造成,當 USB 裝置裡面的藍牙有被開啟,藍牙就會映射到 VDI,關掉就好了
RouterBoard 與 HiNet MOD 的奇怪問題
HiNet MOD 機上盒(註1),在實體電源關機(註2)後兩分鐘, 會造成 RouterBoard 的 PPPoE 斷線重連,有夠怪的問題 這個問題追了好久,終於找到兩者竟然有關聯 經過多次驗證,確認了這個關聯性,就在機上盒關機後的兩分鐘(正負5秒), RouterBoard ...
-
禁止 LINE 電腦版自動或強制更新的方法 LINE 電腦版啟動都會去連這個更新資訊檔 https://desktop.line-scdn.net/win/v1/real/update_info.json 內容大概長這樣 可以看出針對各版本的更新 type 有 force, ...
-
xrdp 是 Linux 版的 RDP server (遠端桌面) 它運作時需要 Xvnc 的 libvnc.so, 所以安裝時需要連同 VNC 一起安裝(只需 minimal) dnf -y install xrdp tigervnc-server-minimal system...
-
以前都是用 rp-pppoe 套件裡的 adsl-setup 來設定 PPPoE 現在比較新的 Linux 已經沒有這個套件了,要用 NetworkManager 的 nmcli 來設定 設定也很簡單,準備帳號、密碼及網路卡就行了 以下範例帳號是 xxxx@hinet.net 密...
-
比較舊版的電視盒,無法裝新版的 Kodi , Android 4.x 版只能裝到 16.1 這個版本 kodi-16.1-Jarvis-armeabi-v7a.apk
-
http://mirror01.idc.hinet.net HiNet 這個網址關了,要高速下載 Linux ISO 少了一個地方,感謝 HiNet 默默服務了多年 測了幾個 TW mirror 站,推 TWDC 台灣數位串流,常見的 Linux 都有,速度超快 https://...
-
Windows 的 NFS Client 從 Windows 7 之後就內建了,但預設沒有開啟, 要到 設定 / 應用程式 / 程式與功能 / 開啟或關閉 Windows 功能 開啟 Client for NFS 但是預設的情況下,遇到中文檔名會有亂碼, 到 設定 / 時間與語言...
-
RouterOS 的管理工具 winbox,因為還不支援 UTF-8, 雖然可以在 Wireless 設定中文的 SSID,但是實際上會看到亂碼, WiFi 的 SSID 是走 UTF-8 編碼,需要把 UTF-8 中文轉成 HEX 碼,再用指令設定 寫了一個小工具提供大家使用...
-
這個方法網路要通,直接抓 image 寫入硬碟 隨便找一片 Linux ISO 開到 rescue 模式 fdisk -l 看一下硬碟位置,如果是 /dev/sda curl https://repo.jing.rocks/openwrt/releases/23.05.3/tar...
-
跨來源資源共用(CORS) Mozilla 這邊文章寫得很詳細 簡單講當 User 去連 A 站,裡面的 AJAX 動作去 call B 站的資料,B 站就必需在 HTTP header 裡加入 Access-Control-Allow-Origin: * 使用完整 Source...
-
由於 旱溪西路拓寬 (2023-08-31 開放通車),有部份自行車道被犧牲了,破壞了原本一圈 5.7K 的 旱溪大操場 , 現在旱溪西路從松竹路口往北,過南興北二路一點點,自行車道就沒了,只有 1.2K。 附圖潭興路以北區塊,就是小一點的潭子旱溪大操場,一圈 3.3K。 ...