2025年11月17日 星期一

查詢DNS狀態的網頁

查詢DNS

 https://www.whatsmydns.net/#A

網域相關

https://www.nss.com.tw/

網域設定

類型 (Type)完整名稱 (Full Name)意義/用途 (Purpose)
AAddress Record (位址記錄)將網域名稱 (例如 www.chiucho.com) 對應到 IPv4 位址 (例如 192.0.2.1)。這是最基本的記錄,用於指定網站伺服器的位置。
CNAMECanonical Name Record (正規名稱記錄)建立一個別名 (Alias),將一個網域名稱指向另一個網域名稱 (而不是 IP 位址)。例如,讓 blog.chiucho.com 指向 posts.example.com
NSName Server Record (名稱伺服器記錄)指定負責該網域的 DNS 伺服器。它告訴其他伺服器要去哪裡查詢該網域的 DNS 資訊。
MXMail Exchange Record (郵件交換記錄)指定負責處理該網域電子郵件的 郵件伺服器。它告訴寄件伺服器該把郵件送到哪裡。
TXTText Record (文字記錄)包含任意的純文字資訊。常用於驗證網域所有權、防止垃圾郵件 (如 SPF 或 DKIM 記錄) 或其他服務的設定。
PTRPointer Record (指標記錄)用於 反向 DNS 查詢,將 IP 位址 對應回 網域名稱。通常由 IP 服務供應商設定。
AXFRFull Transfer Record (完整傳輸記錄)用於 DNS 區域傳輸。它允許一個名稱伺服器將整個區域檔案 (包含所有記錄) 複製給另一個名稱伺服器。
SRVService Record (服務記錄)指定特定服務 (如 SIP、XMPP 等) 的伺服器位置 (主機名稱和連接埠號)。

2025年11月7日 星期五

關於163.26.79.1這台主機的說明

 ❓ 163.26.79.1 的網站怎麼了?

💡 因為資安政策的改變,現在沒辦法在校內架設網站,原本的網站現在只能在學校內連線,從外面的電腦(家裡)是連不進來的


❓ 61.70.154.73 這網站是什麼?

💡 這是一台老師架在外面機房的主機,目前同學們練習的成果都會存在這台主機內,在家或是在學校都可以連線


❓ 為什麼 http://61.70.154.73 這個網站會顯示不安全?

💡 網址 http://61.70.154.73 就像一個家只有門牌號碼(IP 位址),沒有名字。

如果有域名(domain name),就像這個家有自己的名字標示「OO家」,大家一看就知道是誰家,很容易記,也比較可靠,例如我們以前使用教育局提供的網址 https://gen-slps.slps.tn.edu.tw/

只有 IP 的網站不被瀏覽器信任,大多數憑證機構也不會簽發公開的 HTTPS 憑證,所以這個網站在瀏覽器上會顯示不安全。


❓ 我很在意網站安全性問題怎麼辦?

💡 你也可以透過 https://chiucho.com 這個連結登入網站。

只要使用這個入口,瀏覽器就不會出現不安全,可以的話,記這個網址會比較好,未來如果網站又更換IP,你一樣可以用這個網址連進來網站。

2025年9月8日 星期一

管理Mysql的指令集

查詢使用者 

SELECT User, Host FROM mysql.user WHERE User='chocho';

建立使用者

CREATE USER 'chocho'@'localhost' IDENTIFIED BY '你的密碼';

修改使用者密碼

ALTER USER 'chocho'@'localhost' IDENTIFIED BY '你的新密碼';

開放權限給帳號

GRANT ALL PRIVILEGES ON testdb.* TO 'chocho'@'localhost';

查詢帳號以及plugin

SELECT user, host, plugin FROM mysql.user;

使用舊版密碼登入

ALTER USER 'chocho'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';

開啟 mysql_native_password 的方法

ee /usr/local/etc/my.cnf

加上以下內容
[mysqld]
mysql_native_password=ON

重新整理

FLUSH PRIVILEGES;

進入mysql指令

mysql -u root -p

mysql -u chocho -p


✔ 實務上怎麼判斷「是否該重啟」

你可以檢查以下項目:

1. 查看 MySQL 執行多久

SHOW GLOBAL STATUS LIKE 'Uptime';

2. 檢查 Buffer Pool 命中率

SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_read%';

3. 檢查是否有大量 temp tables

SHOW GLOBAL STATUS LIKE 'Created_tmp%';

4. 查看目前是否有長 transaction

SELECT * FROM information_schema.innodb_trx;

5. 查詢 performance_schema 中資源利用狀態

(如 memory、threads、tables 等)

✔ 建議

如果你看到以下狀況:

MySQL uptime > 30~60 天

越跑越慢(尤其高峰期變化大)

temp table 很多

buffer pool hit rate 降低

長 transaction 存在

memory usage 不斷上升

👉 安排維護時段重啟一次是有幫助的。


2025年5月30日 星期五

FreeBSD伺服器會莫名斷線的解決方法

原因

IP (163.26.79.1) 在 gateway/NAT router 中的狀態「卡住」或 session 失效

  • 外網無法連進,區網正常 → 顯示封包無法從 gateway 對你主機做 port forwarding 或送達。

  • 重開機會讓 gateway 重新認識你的主機(重新發送 ARP 請求、重建 NAT 表、MAC/IP 對應表),所以就恢復正常。

解決辦法

建立一個腳本 /root/netfix.sh

#!/bin/sh

logger "[netfix] 啟動網路堆疊重建..."

service netif stop

service routing stop

sleep 2

service netif start

service routing start

logger "[netfix] 完成"

儲存後設定執行權限:

chmod +x /root/netfix.sh

執行:
sh /root/netfix.sh

設定排程自動重啟網路

crontab -e

加上一行,每天凌晨 2 點自動修復:

0 2 * * * /root/netfix.sh 

查看記錄檔
grep netfix /var/log/cron

設定自動通知


Step 1. 安裝 msmtp 

pkg install msmtp

Step 2. 申請 Gmail 「應用程式密碼」

https://myaccount.google.com/apppasswords

Step 3. 建立 msmtp 設定檔

# /usr/local/etc/msmtprc
defaults
auth           on
tls            on
tls_trust_file /usr/local/etc/ssl/cert.pem
logfile        /var/log/msmtp.log

account        gmail
host           smtp.gmail.com
port           587
from           your_email@gmail.com
user           your_email@gmail.com
password       your_app_password

account default : gmail

Step 4. 設定權限保護

chmod 600 /usr/local/etc/msmtprc

Step 5. 測試寄信
echo "測試內容" | msmtp -a gmail your_target_email@example.com






2025年5月21日 星期三

架設Scratch-gui伺服器

 連結
https://github.com/LLK/scratch-gui.git

1. 下載 scratch-gui-develop.zip 並放到適合的資料夾

2. 解壓縮 unzip scratch-gui-develop.zip

3. 開啟資料夾 

npm install

npm start

成功的話你就可以打開瀏覽器訪問:

👉 http://localhost:8601


※ 必須安裝node.js

2025年5月16日 星期五

用 nuitka 將 python 程式打包成可執行檔

指令

python -m nuitka link.py --standalone --enable-plugin=tk-inter --output-dir=output --windows-disable-console --windows-icon=your_icon.ico


2025年5月1日 星期四

自架node.js伺服器

#到自己的遊戲資料夾,安裝依存
npm init -y
npm install express socket.io 

#安裝必要元件
npm install mysql2


建立 rc.d 啟動腳本

1. 建立 rc.d 腳本

ee /usr/local/etc/rc.d/node_game

貼上以下資料

# PROVIDE: node_game
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr

name="node_game"
rcvar=node_game_enable
pidfile="/var/run/${name}.pid"
logfile="/var/log/${name}.log"
command="/usr/sbin/daemon"
command_args="-f -P ${pidfile} -o ${logfile} /usr/local/bin/node /home/chocho/game/server.js"

load_rc_config $name
run_rc_command "$1"

2. 設為可執行檔

chmod +x /usr/local/etc/rc.d/node_game

3. 啟用自動啟動

sysrc node_game_enable=YES

4. 手動啟動測試

service node_game start

可以用 tail -f /var/log/node_game.log 來確認 log 是否正確輸出。

可以用 ps aux | grep node 檢查 node有沒有在運行

5.設定 node_game.log 的備份大小

ee /etc/newsyslog.conf

在最後一行加上這段:

/var/log/node_game.log  root:wheel  644  7  1000  *  J

欄位說明
/var/log/node_game.log要輪替的 log 檔案
root:wheellog 檔的擁有者與群組(根據實際擁有者可調整)
644log 檔的權限
7最多保留 7 份舊檔案(log.0.gz ~ log.6.gz)
1000超過 1000KB(1MB)時輪替
*每天都可以檢查,不限制特定時間
J壓縮輪替的 log(變成 .gz

測試輪替

newsyslog -nv

強制輪替

newsyslog -vF