Friday, May 29, 2026

[技術分享] 完美解決 Linux (Ubuntu) 無線喚醒 (WoWLAN) 重開機失效與被 NetworkManager 覆蓋的終極大絕招!

最近我喜歡用 iPad 搭配 SSH Client APP(例如 Termius、Blink Shell)在區域網路內遠端操作 Linux 伺服器或筆電。但最讓人頭痛的,就是當遠端 Linux 筆電睡著或關機時,如何透過無線 Wi-Fi 把它叫醒?

一般我們知道實體網路線可以用傳統的 Wake-on-LAN (WoL),但在無線網路 (Wake-on-Wireless-LAN, WoWLAN) 的世界裡,Ubuntu底層的電源管理,常常在開機或重啟網路時,強行將我們設定好的無線喚醒功能蓋過去(Override)。

本篇文章將 Step by Step 帶你徹底收服 Linux 核心,利用 systemd 時間差突襲,實現永久生效的「無線區網喚醒」!


🛠️ 第一階段:Linux 端的實體硬體大點名

在動手之前,我們必須拿到這台 Linux 筆電最精準的無線網卡「實體身分證代號」。

Step 1:查詢無線網卡名稱與實體代號

請打開 Linux 終端機,輸入以下標準指令:

iw dev

或者是查詢特定網卡的詳細資訊(以本機常見的 Intel 網卡為例):

iw dev wlp0s20f3 info

💡 重點觀察輸出結果:
在噴出來的 Log 資訊中,請死死抄下這兩個關鍵密碼:

  • wiphy 0:這代表你的實體網卡晶片代號叫做 phy0
  • addr xx:xx:xx:xx:xx:xx:這串是你的 Wi-Fi MAC 位址(請先記下來,待會 iPad 發射封包需要它)。

🛠️ 第二階段:生死審判!檢查網卡是否支援無線喚醒

並不是每張網卡都能隔空接收神秘封包,我們必須對 phy0 進行硬體功能檢測。

Step 2:檢視目前 WoWLAN 的狀態

請輸入以下指令:

iw phy phy0 wowlan show
  • 情況 A :如果顯示 WoWLAN is disabled.,恭喜你!這張網卡硬體完全支援無線喚醒,只是目前沒開門。
  • 情況 B :如果噴出 Operation not supported,代表該驅動程式底層被閹割了,只能乖乖改插實體網路線。

🛠️ 第三階段:為什麼設定開機就失效?

一般技術文章會教你,直接下一行臨時啟用指令就收工:

sudo iw phy phy0 wowlan enable magic-packet

但是!只要重開機或網路斷開重連,這行設定就會立刻灰飛煙滅,重回預設的 disabled

🕵️ 幕後黑手是誰?

因為現代 Linux 系統中,有一個權限極高的上層大管家叫 NetworkManager。在系統開機或網路 Up 的瞬間,NetworkManager 為了極致省電,會非常粗暴地覆蓋(Override)所有底層硬體設定,把我們辛辛苦苦開啟的 magic-packet 再次無情關閉。


🛠️ 第四階段:終極解法 —— systemd 「時間差突襲法」

既然用常規的系統事件(如 udev 或 NetworkManager dispatcher)會跟開機程序產生順序競爭(Race Condition),那我們就改用最暴力、但也最絕對有效的終極大絕招:建立一個專屬開機服務,並讓它「延時執行」。

我們讓這個服務在系統完全開機、網路建立好之後,在背景默默倒數 5 秒。等 NetworkManager 載入完它的省電設定後,我們再做覆蓋的動作!

Step 3:建立專屬的 systemd 服務檔案

在系統服務目錄下建立一個名為 wowlan.service 的檔案:

sudo vi /etc/systemd/system/wowlan.service

Step 4:完整貼入以下終極外掛設定

將以下這段服務設定完整複製並貼進去:

[Unit] Description=Force Enable WoWLAN Magic Packet After=network.target network-online.target NetworkManager.service [Service] Type=oneshot # 【核心關鍵】開機到這步後,強行在背景默數 5 秒,完美避開 NetworkManager 開機與連線時的省電干擾! ExecStartPre=/usr/bin/sleep 5 ExecStart=/usr/sbin/iw phy phy0 wowlan enable magic-packet RemainAfterExit=yes [Install] WantedBy=multi-user.target

Step 5:註冊並永久啟用該開機服務

依序輸入以下三行指令,重新點名並實施開機自動化:

# 1. 重新載入系統服務設定 sudo systemctl daemon-reload # 2. 設定該服務為開機自動啟動 sudo systemctl enable wowlan.service # 3. 手動立即啟動它來進行測試 sudo systemctl start wowlan.service

🏁 第五階段:驗收與 iPad 實戰

Step 6:重開機最終驗收

請放心地重開整台 Linux 筆電:

sudo reboot

重新開機並用 SSH 連進去後,輸入指令:

iw phy phy0 wowlan show

當你看到畫面噴出以下這兩行輸出時:

WoWLAN is enabled: * wake up on magic packet

恭喜你!這條無線喚醒防線已經永久固化在你的系統裡了!


📱 iPad 端實戰:一鍵喚醒遠端 Linux

接下來輪到 iPad :

  1. 挑選 App:下載 App Store 的 Termius(推薦,自帶 WoL)或 iNet WOL
  2. 踩坑注意 (iOS 隱形大坑):第一次打開 App 時,系統跳出 "是否允許此 App 尋找並連線到區域網路上的裝置?"務必點選「允許」!如果不小心按到拒絕,請至 iPad「設定」➡️ 找到該 App ➡️ 手動將「區域網路」權限開啟。
  3. 填入參數
    • MAC 位址:填入 Step 1 查到的 xx:xx:xx:xx:xx:xx
    • IP 位址:填入這台 Linux 的內網區域 IP(例如 192.168.1.118)。
  4. 發射!:將 Linux 筆電蓋上螢幕進入休眠(Suspend),在 iPad App 上點擊 Wake

你會驚奇地發現,原本死沉沉的 Linux 筆電鍵盤燈瞬間亮起、螢幕重開,高科技的隔空無線喚醒正式大功告成!


💡 網管小嘮叨:

  1. Wi-Fi 分享器的「AP 隔離 (AP Isolation)」務必關閉:因為 iPad 與 Linux 皆走無線,若路由器開啟 AP 隔離,廣播封包會被沒收。
  2. BIOS 設定:部分筆電主機板(如 ThinkPad)在 BIOS 的 Power / Network 頁面中,有獨立的 Wake on WLAN 選項,記得同步調整為 Enabled 喔!


Thursday, May 28, 2026

全在地端 AI Python + Ollama 打造台股策略特工

身為一個投資人,我們每天都在看大盤本益比、融資籌碼、外資期現貨留倉等關鍵數據。很多人現在會把這些數據直接丟給 ChatGPT 或雲端 Gemini 幫忙分析。

為了不外流隱私,同時又要享有 AI 洞悉全局的犀利眼光,我決定用 Python 爬蟲 + Ollama 本地端架構 + 開源輕量模型 Qwen2.5:1.5b,在我的 Intel 顯卡與 CPU 環境下,打造出了一隻說話一針見血、完全不用連網的「台股地端 AI 策略特工」!


一、 核心技術棧:低配備硬體的高效能玩法

原本我嘗試在本地端跑大參數的 Gemma2:9b 模型,但因為我的硬體是 Intel 顯卡,Ollama 預設會將運算全數倒給 CPU 核心就算我有20個threads也頂不住,導致 ollama ps 顯示 100% CPU,速度慢到像當機,模型甚至因為注意力崩潰而開始鬼打牆。

為了兼顧執行速度智商,我只好用輕量級的model:

  1. Python 自動化爬蟲:每日盤後自動抓取證交所融資金額、大盤本益比(PER)、股價淨值比(PBR)、外資期貨未平倉、外資現貨買賣超,並利用 yfinance 計算 43MA 生命線乖離率。

  2. Ollama 驅動 Qwen2.5:1.5b:改用專為輕量硬體與 CPU 優化的 Qwen 1.5B。

  3. 極致字數閹割 Prompt:1.5B 小模型最怕 Prompt 太長,強迫 AI 每一項點評「絕對不能超過 15 個字」,用格式鎖死它,徹底根除小模型邏輯打架的毛病。

二、 實戰成果:

./twstock_ai_agent.py 

💰 成交金額: 16594.43 億 │ 📦 PBR: 4.32 倍 │ 📈 PER: 32.79 倍


📅 報告日期:20260527

╒══════════╤═══════════╤═══════════╤════════════╤════════════╤════════════╕

│     項目 │      買進 │      賣出 │   前日餘額 │   今日餘額 │   今日增減 │

╞══════════╪═══════════╪═══════════╪════════════╪════════════╪════════════╡

│ 融資金額 │ 601.31 億 │ 581.10 億 │ 5345.93 億 │ 5362.69 億 │   16.76 億 │

╘══════════╧═══════════╧═══════════╧════════════╧════════════╧════════════╛


💡 籌碼分析:今日融資餘額 📈 資增 16.76 億


--- 台股加權指數 43MA 乖離監控 (2026-05-28 18:23) ---

📈 當前指數: 43636.44

📏 生命線 (43MA): 38546.59

🎨 43MA 乖離率: 13.20%

------------------------------

診斷狀態: 🚨 【極度過熱】

操作建議: 正乖離 > 8%,處於噴發末段。歷史經驗顯示隨時有百點以上回檔,禁追高!

╒════════════╤══════════════╤══════════╤══════════╤══════════╤═══════╤═══════╤══════════════╕

│    日期    │     標的     │     收盤 │   漲跌點 │  漲跌幅  │  K值  │  D值  │     建議     │

╞════════════╪══════════════╪══════════╪══════════╪══════════╪═══════╪═══════╪══════════════╡

│ 2026-05-28 │ 台灣加權指數 │ 43636.4  │  -620.36 │  -1.40%  │   -   │   -   │      -       │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │    台積電    │  2295    │    -5    │  -0.21%  │ 62.61 │ 53.38 │ 🔍 觀望中性  │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │  統一FANG+   │   130.55 │    -1.05 │  -0.79%  │ 76.97 │ 71.20 │ 🔍 觀望中性  │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │   0050 ETF   │   100.5  │    -2.05 │  -1.99%  │ 73.59 │ 65.32 │ 🔍 觀望中性  │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │  006208 ETF  │   233.15 │    -4.45 │  -1.87%  │ 74.84 │ 65.48 │ 🔍 觀望中性  │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │  00692 ETF   │    87.25 │    -1.8  │  -2.02%  │ 74.19 │ 65.31 │ 🔍 觀望中性  │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │  00929 ETF   │    29.4  │    -0.64 │  -2.13%  │ 85.85 │ 81.35 │ ⚠️  高檔保守 │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │   0056 ETF   │    48.83 │    -0.81 │  -1.63%  │ 83.60 │ 75.36 │ ⚠️  高檔保守 │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │  00878 ETF   │    30    │    -0.55 │  -1.80%  │ 80.43 │ 70.40 │ ⚠️  高檔保守 │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │  00713 ETF   │    55.75 │    -0.3  │  -0.53%  │ 69.77 │ 71.20 │ 🔍 觀望中性  │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │  00919 ETF   │    28.41 │    -0.44 │  -1.52%  │ 88.48 │ 84.92 │ ⚠️  高檔保守 │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │  00915 ETF   │    28.67 │    -0.33 │  -1.13%  │ 85.31 │ 82.46 │ ⚠️  高檔保守 │

├────────────┼──────────────┼──────────┼──────────┼──────────┼───────┼───────┼──────────────┤

│ 2026-05-28 │  00922 ETF   │    38.33 │    -0.94 │  -2.39%  │ 77.49 │ 69.64 │ 🔍 觀望中性  │

╘════════════╧══════════════╧══════════╧══════════╧══════════╧═══════╧═══════╧══════════════╛

======================================================================

觀察ETF折溢價

ETF代號            預估淨值        折溢價

----------------------------------------------------------------------

2330          未找到或不支援           

00757              131.48         -0.71%

0050             101.1200         -0.61%

006208             234.78         -0.69%

00692               88.02         -0.87%

00929               29.52         -0.41%

0056              48.9200         -0.18%

00878               30.18         -0.60%

00713             55.9400         -0.34%

00919               28.58         -0.59%

00915               28.89         -0.76%

00922               38.58         -0.65%

======================================================================

外資期貨多單口數:16,585

外資期貨空單口數:74,781

外資多空淨額口數:-58,196

⚠️  外資期貨淨空單超過40,000口,外資將做空!

======================================================================

20260528 外資、自營商、投信買賣超(單位:億元)

+----------------------------+-------------+-------------+------------+

|           身份別           |    買進     |    賣出     |   買賣超   |

+----------------------------+-------------+-------------+------------+

|      自營商(自行買賣)      |  94.57 億   |  141.90 億  | -47.33 億  |

|        自營商(避險)        |  550.16 億  |  653.21 億  | -103.05 億 |

|            投信            |  370.59 億  |  438.19 億  | -67.59 億  |

| 外資及陸資(不含外資自營商) | 5,683.54 億 | 6,070.37 億 | -386.83 億 |

|            合計            | 6,698.86 億 | 7,303.67 億 | -604.81 億 |

+----------------------------+-------------+-------------+------------+

======================================================================

📈 美國 10 年期公債殖利率:4.495%

📈 美國 20 年期公債殖利率:5.022%

📈 美國 30 年期公債殖利率:5.019%

======================================================================

外資前10大買超

 1. 00403A.TW / 主動統一升級50 / 買超 88668 張

 2. 6770.TW / 力積電 / 買超 74225 張

 3. 00919.TW / 群益台灣精選高息 / 買超 53578 張

 4. 00878.TW / 國泰永續高股息 / 買超 51308 張

 5. 2881.TW / 富邦金 / 買超 45956 張

 6. 1303.TW / 南亞 / 買超 45685 張

 7. 00992A.TW / 主動群益科技創新 / 買超 37530 張

 8. 3481.TW / 群創 / 買超 31655 張

 9. 00981A.TW / 主動統一台股增長 / 買超 24300 張

10. 2882.TW / 國泰金 / 買超 23092 張

======================================================================

外資前10大賣超

 1. 2409.TW / 友達 / 賣超 -88322 張

 2. 2887.TW / 台新新光金 / 賣超 -81920 張

 3. 1402.TW / 遠東新 / 賣超 -78085 張

 4. 2337.TW / 旺宏 / 賣超 -45691 張

 5. 00991A.TW / 主動復華未來50 / 賣超 -44623 張

 6. 2618.TW / 長榮航 / 賣超 -35372 張

 7. 2880.TW / 華南金 / 賣超 -32439 張

 8. 2002.TW / 中鋼 / 賣超 -26456 張

 9. 2312.TW / 金寶 / 賣超 -23537 張

10. 2382.TW / 廣達 / 賣超 -21414 張

======================================================================

🧠 本地 AI 策略特工正對【八大指標】與【各核心 ETF 】進行逐項撕殺點評...


📋 [AI 特工大盤戰術指標分項總評]

1. 大盤估值:本益比32倍泡沫吹大,純屬瘋狂投機。

2. 融資籌碼:散戶韭菜嫌命長,瘋狂進場接刀。

3. 技術乖離:乖離13%極度超買,隨時崩盤雪崩。

4. 期貨主力:空單5.8萬口,外資布好斷頭台。

5. 現貨籌碼:外資瘋狂提款,把台股當無痛提款機。

6. 雙核心:拉積盤掩護出貨,中小股集體失血。

7. 總體資金:美債殖利率抽血,全球資金大撤退。

======================================================================


Friday, May 15, 2026

台股最近真的太瘋了

 如題,真的太瘋狂了,進場指標已經很久沒有顯示可以加碼了。








  • 投資指標:自寫的Python主要針對基本面,技術面與情緒面分析。(左線交易為主,右線為輔以防接刀)
  • 即時看盤: Waydroid+三竹股市

Friday, February 06, 2026

從單機到雲端:台股大盤監控系統自動化實錄

📌 背景與動機

身為一名曾經擔任 QA Engineer目前專注投資的散戶(笑),穩定性與精確度是我的職業本能。原本運行在單機環境的台股監控腳本(twstock.py),雖然能產出精準的台股診斷,但為了實現每日自動化交付(CI/CD)且不佔用本機資源,我決定將其遷移至 GitHub Actions

🛠 技術棧與工具

  • 語言:Python 3.12

  • 數據源:yfinance (行情)、證交所 API (融資/法人)、財報狗 (大盤估值)

  • 自動化:GitHub Actions (CI/CD)

  • 通知:Discord Webhook


📝 核心優化工作回顧

1. 視覺排版與 UI 還原

在雲端環境中,Discord 的訊息格式與單機終端機有所不同。

  • 多行診斷邏輯:還原了精美的 43MA 監控面板,包含「當前指數」、「生命線」與「乖離率」的階層式呈現。

  • 診斷狀態自動化:根據乖離率區間自動判定 🟢【趨勢延續】、🚨【極度過熱】或 🔥【超跌區】,並提供對應的操作建議。

2. 多源數據整合(Refactoring)

遷移過程中,為了確保數據的穩定性與正確性,進行了多次重構:

  • 估值修復:捨棄了不穩定的證交所原始 JSON API,改為整合**財報狗(StatementDog)**的爬蟲邏輯,精確抓取「成交金額」、「PBR」與「PER」。

  • Bug 排除(Unit Testing 思維):修正了數據整合時產生的「單位重複(倍倍)」問題,確保輸出資訊的 Clean Code。

3. 雲端環境適配與運維

  • Secrets 隔離:將敏感的 Discord Webhook URL 透過 GitHub Actions Secrets 加密保護,符合資安標準。

  • 時區處理:解決了 GitHub Ubuntu Runner 預設 UTC 時間與台北時間(UTC+8)的差異問題。

  • 長訊息切割邏輯:針對 Discord 單則訊息 2000 字的限制,實作了自動切割發送功能,確保報表內容不因字數溢位而遺失。

4. GitHub Actions 性能觀察

  • Schedule 延遲分析:觀察到 GitHub Free Tier 的 Cron Job 存在排隊(Delay)現象(如 21:05 設定可能延至深夜執行),後續將考慮透過「避峰策略」優化觸發時間。


📊 最終成品展示

系統現在每晚會自動將以下資訊彙整為一則精美報表發送至 Discord:

  1. 融資餘額與增減趨勢

  2. 大盤估值組合 (成交量、PBR、PER)

  3. 43MA 乖離監控診斷

  4. 11 項核心標的 KD 掃描 (含 K 值買賣觀望建議)

  5. ETF 折溢價與期貨淨額監控

  6. 美債殖利率與外資買賣超排行



💡 結語

重點來了,這兩天跟Gemini一起vibe coding搬遷python到雲端,連最後的工作日誌也幫我寫好了~ 這個時代真的是要懂AI怎樣用才可以大大增加生產力呀!