
[{"content":"","date":"29 July 2025","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","date":"29 July 2025","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","date":"29 July 2025","externalUrl":null,"permalink":"/tags/devops/","section":"Tags","summary":"","title":"DevOps","type":"tags"},{"content":"","date":"29 July 2025","externalUrl":null,"permalink":"/categories/documentation/","section":"Categories","summary":"","title":"Documentation","type":"categories"},{"content":"","date":"29 July 2025","externalUrl":null,"permalink":"/tags/installation/","section":"Tags","summary":"","title":"Installation","type":"tags"},{"content":"","date":"29 July 2025","externalUrl":null,"permalink":"/authors/ling-chi-uu/","section":"Authors","summary":"","title":"Ling Chi Uu","type":"authors"},{"content":"","date":"29 July 2025","externalUrl":null,"permalink":"/posts/","section":"Posts","summary":"","title":"Posts","type":"posts"},{"content":"","date":"29 July 2025","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"","date":"29 July 2025","externalUrl":null,"permalink":"/","section":"tech-bro的技術筆記","summary":"","title":"tech-bro的技術筆記","type":"page"},{"content":"","date":"29 July 2025","externalUrl":null,"permalink":"/tags/vpn/","section":"Tags","summary":"","title":"Vpn","type":"tags"},{"content":" 這種做法適合誰？ # 這套 sing-box + Surfshark 的設定，特別適合這幾種情境：\n需要穩定使用 AI / 國外服務\n例如：ChatGPT、Gemini、Claude、Copilot、部分只在海外開放的工具或網站。\n不希望整個系統都走 VPN\n你可能平常逛本地網站、打遊戲、看串流，都希望維持原本路線與延遲。\n在意效能與可維護性\n不想每次服務 IP 或 domain 改變，就要自己改規則、重抓清單。\n想要「設定好之後就很少需要動它」\n期待的是一套長期穩定、好除錯的方案，而不是每天折騰自己。\n簡單說：如果你只是想「讓需要翻牆的服務穩定工作」，而不是「把整台電腦都變成國外」，這篇就是為你寫的。\n一、懶人版實作流程（5–10 分鐘完成） # 你最後會得到什麼效果？ # macOS/iphone (linux/window/andriod也可以啦） 全系統透明代理（不用逐一設定每個 App）。 只有指定網站會走 Surfshark VPN。 其他網站維持原本速度與路線。 Step 1｜從 App Store 下載 sing-box VT # 打開 Mac App Store，搜尋：\nsing-box VT\n這是 sing-box 的 GUI 版本，適合日常使用與設定管理。\n下載後直接打開即可。\nStep 2｜在 Surfshark 後台建立 WireGuard 金鑰（重點） # 使用 SurfShark 時，不需要自己產生 WireGuard key。\nSurfshark 已經提供完整的 WireGuard 金鑰產生功能，直接用官方後台即可。\nStep 2-1｜前往 Surfshark 手動設定頁面 # 登入 Surfshark 官網。\n前往：\nVPN → 手動設定 → 任何一個安裝方法 → WireGuard\nStep 2-2｜建立 WireGuard 設定 # 在 WireGuard 頁面中：\n點選「我沒有金鑰組」。\n輸入任意好記的名稱，點「產生新金鑰組」。\nSurfshark 會自動產生一組 WireGuard 設定。\n複製頁面上顯示的 私鑰（Private key）：\nStep 2-3｜記下以下資訊（稍後會用到） # 請保存以下欄位：\nServer hostname = 伺服器位址\n例如：tw-tai.prod.surfshark.com\nServer port\n例如：51820\nPrivate key\n👉 貼上剛才複製的私鑰。\nPeer public key\n👉 Surfshark 伺服器端的 public key。\nIP address / Allowed IPs\n例如：10.14.0.2/16\n到這裡，你已經拿到 sing-box 所需的全部 WireGuard 資料。\n→這裡有模板直接改需要的地方就好\n{ \u0026#34;experimental\u0026#34;: { \u0026#34;cache_file\u0026#34;: { \u0026#34;enabled\u0026#34;: true, \u0026#34;path\u0026#34;: \u0026#34;cache.db\u0026#34; } }, \u0026#34;log\u0026#34;: { \u0026#34;level\u0026#34;: \u0026#34;info\u0026#34;, \u0026#34;timestamp\u0026#34;: true }, \u0026#34;dns\u0026#34;: { \u0026#34;servers\u0026#34;: [ { \u0026#34;tag\u0026#34;: \u0026#34;surfshark-dns\u0026#34;, \u0026#34;address\u0026#34;: \u0026#34;162.252.172.57\u0026#34;, \u0026#34;detour\u0026#34;: \u0026#34;surfshark_out\u0026#34; }, { \u0026#34;tag\u0026#34;: \u0026#34;local-dns\u0026#34;, \u0026#34;address\u0026#34;: \u0026#34;1.1.1.1\u0026#34;, \u0026#34;detour\u0026#34;: \u0026#34;direct\u0026#34; } ], \u0026#34;rules\u0026#34;: [ { \u0026#34;rule_set\u0026#34;: [ \u0026#34;chatgpt_site\u0026#34;, \u0026#34;tiktok_set\u0026#34;, \u0026#34;gemini_set\u0026#34;, \u0026#34;anthropic_set\u0026#34; ], \u0026#34;server\u0026#34;: \u0026#34;surfshark-dns\u0026#34; } ], \u0026#34;final\u0026#34;: \u0026#34;local-dns\u0026#34;, \u0026#34;strategy\u0026#34;: \u0026#34;ipv4_only\u0026#34; }, \u0026#34;inbounds\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;tun\u0026#34;, \u0026#34;tag\u0026#34;: \u0026#34;tun-in\u0026#34;, \u0026#34;interface_name\u0026#34;: \u0026#34;singtun0\u0026#34;, \u0026#34;address\u0026#34;: [\u0026#34;172.19.0.1/30\u0026#34;], \u0026#34;mtu\u0026#34;: 1280, \u0026#34;auto_route\u0026#34;: true, \u0026#34;strict_route\u0026#34;: true, \u0026#34;stack\u0026#34;: \u0026#34;gvisor\u0026#34;, \u0026#34;sniff\u0026#34;: true } ], \u0026#34;outbounds\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;wireguard\u0026#34;, \u0026#34;tag\u0026#34;: \u0026#34;surfshark_out\u0026#34;, \u0026#34;server\u0026#34;: \u0026#34;填入 Surfshark提供的伺服器位址\u0026#34;, \u0026#34;server_port\u0026#34;: 51820, \u0026#34;local_address\u0026#34;: [\u0026#34;10.14.0.2/16\u0026#34;], \u0026#34;peer_public_key\u0026#34;: \u0026#34;填入 Surfshark 提供的 Peer Public Key\u0026#34;, \u0026#34;private_key\u0026#34;: \u0026#34;填入 Surfshark 提供的 Private Key\u0026#34;, \u0026#34;mtu\u0026#34;: 1280 }, { \u0026#34;type\u0026#34;: \u0026#34;direct\u0026#34;, \u0026#34;tag\u0026#34;: \u0026#34;direct\u0026#34; }, { \u0026#34;type\u0026#34;: \u0026#34;dns\u0026#34;, \u0026#34;tag\u0026#34;: \u0026#34;dns-out\u0026#34; } ], \u0026#34;route\u0026#34;: { \u0026#34;rules\u0026#34;: [ { \u0026#34;protocol\u0026#34;: \u0026#34;dns\u0026#34;, \u0026#34;outbound\u0026#34;: \u0026#34;dns-out\u0026#34; }, { \u0026#34;rule_set\u0026#34;: [ \u0026#34;chatgpt_site\u0026#34;, \u0026#34;tiktok_set\u0026#34;, \u0026#34;gemini_set\u0026#34;, \u0026#34;anthropic_set\u0026#34; ], \u0026#34;outbound\u0026#34;: \u0026#34;surfshark_out\u0026#34; } ], \u0026#34;rule_set\u0026#34;: [ { \u0026#34;tag\u0026#34;: \u0026#34;chatgpt_site\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;remote\u0026#34;, \u0026#34;format\u0026#34;: \u0026#34;binary\u0026#34;, \u0026#34;url\u0026#34;: \u0026#34;https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo-lite/geosite/openai.srs\u0026#34; }, { \u0026#34;tag\u0026#34;: \u0026#34;gemini_set\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;remote\u0026#34;, \u0026#34;format\u0026#34;: \u0026#34;binary\u0026#34;, \u0026#34;url\u0026#34;: \u0026#34;https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google-gemini.srs\u0026#34; }, { \u0026#34;tag\u0026#34;: \u0026#34;tiktok_set\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;remote\u0026#34;, \u0026#34;format\u0026#34;: \u0026#34;binary\u0026#34;, \u0026#34;url\u0026#34;: \u0026#34;https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/sing/geo-lite/geosite/tiktok.srs\u0026#34; }, { \u0026#34;tag\u0026#34;: \u0026#34;anthropic_set\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;remote\u0026#34;, \u0026#34;format\u0026#34;: \u0026#34;binary\u0026#34;, \u0026#34;url\u0026#34;: \u0026#34;https://github.com/MetaCubeX/meta-rules-dat/raw/refs/heads/sing/geo/geosite/anthropic.srs\u0026#34; } ], \u0026#34;final\u0026#34;: \u0026#34;direct\u0026#34;, \u0026#34;auto_detect_interface\u0026#34;: true } } Step 3｜在 sing-box VT 建立 Profile 並啟用（iphone 步驟也一樣） # 打開 sing-box VT。 進入 Profiles。 建立新的 Profile，然後進入 Edit Profile。 貼上你的設定檔，就是剛才的模板，記得填server hostname/private key 和public key（技術段落會解釋其設計）。 儲存並啟用。 第一次啟用時，macOS 會詢問 VPN / Network Extension 權限，請全部允許。\nStep 4｜確認是否成功 # 完成後，你可以用以下方式檢查：\n開啟 ChatGPT / Gemini / Claude → 應該可以正常使用。 開啟本地或台灣網站 → 速度與未開 VPN 時相近。 在 sing-box Dashboard 中，可以看到流量與連線狀態。 到這裡，懶人版已經完成，可以直接開始用。\n二、技術說明：為什麼要這樣設計？ # 如果你是工程師，或希望知道背後原理，這一段會比較有幫助。\n2-1 核心原則：只讓「需要 VPN 的網站」走 VPN # 整體概念可以用一句話總結：\n只讓「需要 VPN 的網站」走 VPN，其餘流量全部直連。\n實際流程長這樣：\n[TUN 全系統接管] ↓ [Routing Rules 判斷] ├─ 指定服務 → Surfshark (WireGuard) └─ 其他流量 → Direct ↓ [DNS 與流量出口保持一致] 2-2 為什麼使用 TUN 模式？ # 不需要替每個 App 設 Proxy。 瀏覽器、原生 App 都適用。 系統層級接管，穩定性高。 這也是 sing-box 在 macOS 上最實用的模式。\n2-3 為什麼 DNS 一定要分流？ # 多數 AI 服務會同時檢查：\n連線 IP。 DNS 解析來源。 如果出現以下不一致的情況：\nDNS 使用本地。 實際流量卻走 VPN。 就很容易被判定為異常地區，導致服務不穩定或觸發額外驗證。\n因此設定中會：\n指定網站 → 使用 Surfshark DNS，並經 VPN 出口。 其他網站 → 使用本地 DNS，直接走原本路線。 2-4 為什麼選擇 WireGuard？ # 延遲低。 封包結構簡單。 效能好、資源消耗低。 與 sing-box 整合成熟。 對於「部分流量走 VPN」這類需要長期穩定工作的場景，WireGuard 是非常合適的協議。\n2-5 為什麼使用遠端 rule set（.srs）？ # 二進位格式，效能佳。 有社群長期維護。 不需要自己追蹤 domain 變動。 比起手動維護一長串 domain 清單，穩定又省心。\n","date":"29 July 2025","externalUrl":null,"permalink":"/posts/%E4%BD%BF%E7%94%A8-sing-box--surfshark-%E4%BD%9C%E7%82%BAvpn-%E5%88%86%E6%B5%81split-tunneling/","section":"Posts","summary":"","title":"使用 sing-box + Surfshark 作為vpn 分流（split tunneling）","type":"posts"},{"content":"","date":"29 July 2025","externalUrl":null,"permalink":"/categories/%E6%8A%80%E8%A1%93%E6%96%87%E7%AB%A0/","section":"Categories","summary":"","title":"技術文章","type":"categories"},{"content":"","date":"31 May 2025","externalUrl":null,"permalink":"/tags/golang/","section":"Tags","summary":"","title":"Golang","type":"tags"},{"content":"","date":"31 May 2025","externalUrl":null,"permalink":"/tags/java/","section":"Tags","summary":"","title":"Java","type":"tags"},{"content":"今天想與大家分享一下對於 Java 與 Golang 在多線程處理上的一些觀察與理解。Java 21 推出了一項新特性稱為 Virtual Thread，該功能在語法使用上與傳統的 thread pool 類似，但在效能方面有顯著提升。其主要改進包含以下幾點：\nJava Virtual Thread 改進重點： # 架構優化：由以往的一對一線程映射模式，改為一條 carrier thread 可管理多條 virtual thread 管理層級轉移：線程的管理權從作業系統轉移至 JVM 層級 底層優化：包含特殊的排程演算法與快取（cache）機制，提升整體效能 此特性讓人不禁聯想到 Golang 的 goroutine，兩者在概念上確實非常相似。以下是兩者之間幾個主要比較點：\nJava Virtual Thread vs. Goloutine # 效能表現：當併發任務數量增加時，goroutine 的效能表現普遍優於 virtual thread 阻塞處理方式： goroutine 在遇到阻塞時會創建新的線程以保持流暢執行 JVM 則會暫停該 virtual thread，並轉而處理其他任務 開發體驗： Java Virtual Thread 的語法與既有 thread pool 高度相似，開發者能迅速上手 Golang 使用的 channel 與 go func 語法相對抽象，需花費額外時間學習與適應 📌 補充： 根據效能測試結果顯示，在處理大量併發任務時（例如一百萬個任務），Go 的執行速度約比 Java Virtual Threads 快 54%，不過也要視乎任務性質啦。\nWork Stealing 調度策略簡介 # 昨天深入研究 virtual thread 與 goroutine 的運作後，發現兩者皆使用了一種稱為 Work Stealing 的調度演算法。雖然名稱聽起來有些戲劇化，但其實原理非常實用與高效。以下內容為根據我自身理解整理而成，如有錯誤之處歡迎指正。\nWork Stealing 的核心原理 # 每一個 worker 擁有自己的任務佇列（task queue）。\n當某一條 worker 完成了自己所有的任務（即 task queue 為空），它便會從其他 worker 的 queue 中「偷走」部分任務繼續執行。\n這種設計帶來兩項主要優勢：\n減少對 synchronized 或 thread-safe 操作（例如 read lock、write lock 等）的依賴 自動負載平衡，確保每一條 worker 都持續執行任務，不會有資源閒置，提高 CPU 使用率 goroutine 與 Virtual Thread 在 Work Stealing 上的差異 # Golang 的實作策略 # goroutine 在排程上會使用兩種 queue：\n每個 P（Processor）擁有一個 local queue 系統本身設有一個 global task queue 執行邏輯如下：\n新建立的任務預設會進入 global queue 當某個 worker 的 local queue 清空時，會先從 global queue 中取任務 如果 global queue 也為空，則會隨機選擇其他 worker，從其 queue 中偷取一半任務 📸 圖片：goroutine 的 task queue 概念\nflowchart TD A[開始：P 執行 Goroutine] --\u0026gt; B{本地佇列有任務？} B -- 是 --\u0026gt; C[執行本地佇列 Goroutine] C --\u0026gt; B B -- 否 --\u0026gt; D{全域佇列有任務？} D -- 是 --\u0026gt; E[從全域佇列取 Goroutine] E --\u0026gt; C D -- 否 --\u0026gt; F{其他 P 有任務？} F -- 是 --\u0026gt; G[隨機選一個 P，偷一半 Goroutine] G --\u0026gt; C F -- 否 --\u0026gt; H[進入閒置，等待喚醒] H --\u0026gt; B JVM Virtual Thread 的實作策略 # Java Virtual Thread 沒有設置 global task queue。每條 carrier thread 只擁有自己的 local task queue。\n當其 queue 為空時，會從其他 carrier thread 的 queue 中取任務來執行，並且是從 queue 的相反方向進行任務竊取，提升快取命中率與併發效率。\n📸 圖片：virtual thread 的 task queue 概念\nflowchart TD A[Carrier Thread 執行 Virtual Thread] --\u0026gt; B{本地佇列有任務？} B -- 是 --\u0026gt; C[執行本地任務] C --\u0026gt; B B -- 否 --\u0026gt; D{其他 Carrier Thread 有任務？} D -- 是 --\u0026gt; E[從其他 Carrier Thread 佇列尾端偷取任務] E --\u0026gt; C D -- 否 --\u0026gt; F[進入閒置，等待新任務] F --\u0026gt; B ForkJoinPool 能否替代 Virtual Thread？ # 一開始我以為 Java 8 就已有 ForkJoinPool 的實作，那是否意味著無需升級 Java 版本也能獲得類似 Virtual Thread 的效能提升呢？\n實際上並非如此。Virtual Thread 需配合 JVM 的升級才能實現，單靠 ForkJoinPool 並無法完全取代。\n不過，這裡有個冷知識：Java 8 的 Stream API 背後其實就是使用 ForkJoinPool 來實作的。\n也就是說，早在 Java 8 時期，Work Stealing 的設計已經在標準庫中被應用了。\n","date":"31 May 2025","externalUrl":null,"permalink":"/posts/java-%E8%88%87-golang-%E5%A4%9A%E7%B7%9A%E7%A8%8B%E8%99%95%E7%90%86%E7%9A%84%E8%A8%AD%E8%A8%88%E6%AF%94%E8%BC%83%E8%88%87-work-stealing-%E7%AD%96%E7%95%A5%E6%B7%BA%E8%AB%87/","section":"Posts","summary":"","title":"Java 與 Golang 多線程處理的設計比較與 Work Stealing 策略淺談","type":"posts"},{"content":"","date":"31 May 2025","externalUrl":null,"permalink":"/tags/multithread/","section":"Tags","summary":"","title":"Multithread","type":"tags"},{"content":"","date":"31 May 2025","externalUrl":null,"permalink":"/tags/%E5%A4%9A%E7%B7%9A%E7%A8%8B/","section":"Tags","summary":"","title":"多線程","type":"tags"},{"content":"","date":"31 May 2025","externalUrl":null,"permalink":"/categories/%E7%A2%8E%E7%A2%8E%E5%BF%B5/","section":"Categories","summary":"","title":"碎碎念","type":"categories"},{"content":" 🤖 為什麼需要財經分析助理？ # 在瞬息萬變的金融市場中，即時資訊就是力量。想像一下，每天早上打開信箱，就能收到一份由AI精心分析的市場動態報告，是不是很棒？今天就讓我們一起打造這個智能助理！\n🛠️ 準備工具 # 我們需要以下神器：\nn8n - 你的自動化工作流平台\nFinhub API - 提供最新市場資訊\nGoogle Gemini API - 你的AI分析專家\nGmail API - 負責傳遞分析報告\n🎯 工作原理 # 整個流程非常優雅：\n從Finhub獲取最新10條市場新聞 交給Gemini AI進行深度分析 自動整理成一份精美的email報告 準時發送到你的信箱 🚀 實戰教學 # 1️⃣ Finhub API設置 # 首先訪問 Finnhub.io： - 註冊一個免費帳號 - 獲取你的API金鑰 - 找到Markets News API接口 2️⃣ n8n工作流配置 # 打開n8n儀表板： - 創建新的工作流 - 添加HTTP Request節點來獲取新聞 - 設置時間排序和數量限制 3️⃣ Google Gemini設置 # 準備AI分析引擎： - 註冊Google Cloud帳戶 - 開通Gemini API - 獲取API密鑰 4️⃣ Gmail配置 # 設置郵件發送： - 開啟雙重認證 - 生成應用專用密碼 - 設置SMTP帳戶 💡 進階技巧 # **安全提示：**建議創建專門的Gmail帳戶來處理自動化郵件，這樣可以更好地管理和保護你的主要郵箱。\n🎉 成果展示 # 完成設置後，你將擁有：\n每日自動更新的市場分析報告 AI驅動的智能見解 省時省力的自動化流程 個性化的市場動態追蹤 現在，你已經擁有了自己的智能財經助理！它會24/7為你監控市場，提供及時、專業的分析報告。讓科技為你的投資決策助力吧！\n重要連結 # Finnhub API: https://finnhub.io/ Google Gemini API文件: https://docs.n8n.io/integrations/builtin/credentials/googleai/ Gmail設定文件: https://docs.n8n.io/integrations/builtin/credentials/sendemail/gmail/ n8n部署平台: https://run.claw.cloud/ API端點 # Finnhub Market News API: https://finnhub.io/api/v1/news?category=general\u0026amp;token=YOUR_API_KEY 重要提醒 # Gmail安全設定：建議創建專門的Gmail帳戶處理自動化郵件，以更好地管理和保護主要郵箱。\nn8n部署設定 # 推薦版本：n8nio/n8n:1.92.0 必要環境變數：N8N_RUNNERS_ENABLED=true 本設定可用於自動化：\n整合API資料分析 發送自動化郵件報告 建立AI分析工作流 自動整理財經報表 daily_financial_news.json\n","date":"25 May 2025","externalUrl":null,"permalink":"/%E6%89%93%E9%80%A0%E4%BD%A0%E7%9A%84%E6%99%BA%E8%83%BD%E8%B2%A1%E7%B6%93%E5%8A%A9%E7%90%86%E4%BD%BF%E7%94%A8n8n%E8%87%AA%E5%8B%95%E5%8C%96%E5%B8%82%E5%A0%B4%E5%88%86%E6%9E%90-1/","section":"tech-bro的技術筆記","summary":"","title":"打造你的智能財經助理：使用n8n自動化市場分析 (1)","type":"page"},{"content":" ✅ 你需要準備的東西： # 一個註冊超過 180 天 的 GitHub 帳號（有額外額度） 一雙手 🖐️（真的不誇張，超簡單） 🥇 第一步：前往 Claw Cloud Run 官網註冊帳號 # 👉 官方網站：\nhttps://run.claw.cloud/\n👉 如果你覺得這篇教學對你有幫助，也歡迎使用我的推薦註冊連結：\nhttps://console.run.claw.cloud/signin?link=6049PE85GU5V\n（使用此連結我會獲得一點點額度支持，真的非常感謝你。不使用也完全沒問題～）\n🥈 第二步：使用 GitHub 登入 # [圖片待貼上]\n官方建議使用 GitHub 登入，註冊超過 180 天的帳號 每月會獲得 $5 美金免費額度 沒滿 180 天也沒關係，仍然有一個月的免費試用 沒有 GitHub 的話也可以用 Google 登入，但我還是建議註冊一個 GitHub 帳號。畢竟都 2025 年了，入門開源世界不嫌晚！ 🥉 第三步：快速認識 Claw Cloud Run 介面 # 成功登入後會看到 Claw Cloud Run（以下簡稱 CCR）介面：\n[圖片待貼上]\n我們今天只會用到 App Store 和 App Launchpad，其他功能可以之後再探索！\n🛠️ 第四步：部署 n8n # [圖片待貼上]\n點選左邊選單的 App Store 找到 n8n 並點進去 按下 Deploy App → Confirm 稍等幾分鐘，App 就會自動部署起來！\n（有時平台偶爾會塞車，耐心等待一下即可）\n🔧 第五步：修改 n8n 設定（這步很重要！） # 部署完成後，請依以下步驟進行設定：\n回到 App Launchpad 點進剛剛部署的 n8n App，然後按 Update 修改以下兩個設定： ✅ 1. 更新 n8n 版本 # 將 Image Name 改成：\nn8nio/n8n:1.92.0\nClaw 預設的 n8n 版本較舊，建議手動切換到 1.92.0，目前為社群推薦穩定版本。\n✅ 2. 加入環境變數（Environment Variable） # 在 Environment 區塊新增以下變數：\nN8N_RUNNERS_ENABLED=true\n這樣可以啟用新的工作排程引擎，提高穩定性。\n💡 小技巧：節省資源費用（可選） # 你可以考慮將 CPU 或記憶體調低一些來節省額度，不過會影響執行效率。如果不確定自己在做什麼，建議保留預設值，確保流程能順利跑起來。\n🌐 第六步：啟用網址，開始使用 n8n！ # 部署大約 10~15 分鐘後，Claw 會提供你一個免費網址。\n[圖片待貼上]\n打開後會看到登入頁面，系統會請你設定：\nEmail 密碼（請務必設一組強密碼，因為只要知道你網址的人都能開啟這個頁面） 輸入完畢後，你的 n8n 就完成部署啦 🎉！\n🎉 恭喜你，正式踏上自動化之旅！ # 你現在擁有屬於自己的免費 n8n 雲端平台，可以用來：\n整合 API 資料 發送自動化郵件 建立 ChatGPT 工作流 串接表單、自動整理報表 未來還有更多可能，歡迎你持續探索！\n🙏 最後 # 如果這篇教學對你有幫助，歡迎幫我分享給朋友，或是使用我的 推薦連結 支持一下小弟～\n有任何問題也歡迎留言或私訊我討論！\n","date":"25 May 2025","externalUrl":null,"permalink":"/posts/%E7%94%A8-claw-cloud-run-%E5%85%8D%E8%B2%BB%E9%83%A8%E7%BD%B2-n8n%E5%AE%8C%E6%95%B4%E5%9C%96%E6%96%87%E6%95%99%E5%AD%B82025/","section":"Posts","summary":"","title":"🚀 用 Claw Cloud Run 免費部署 n8n！完整圖文教學（2025）","type":"posts"},{"content":"","date":"25 May 2025","externalUrl":null,"permalink":"/tags/n8n/","section":"Tags","summary":"","title":"N8n","type":"tags"},{"content":"","date":"25 May 2025","externalUrl":null,"permalink":"/tags/self-host/","section":"Tags","summary":"","title":"Self-Host","type":"tags"},{"content":"","date":"25 May 2025","externalUrl":null,"permalink":"/tags/%E5%85%8D%E8%B2%BB/","section":"Tags","summary":"","title":"免費","type":"tags"},{"content":" 🤖 為什麼需要財經分析助理？ # 在瞬息萬變的金融市場中，即時資訊就是力量。想像一下，每天早上打開信箱，就能收到一份由AI精心分析的市場動態報告，是不是很棒？今天就讓我們一起打造這個智能助理！\n🛠️ 準備工具 # 我們需要以下神器：\nn8n - 你的自動化工作流平台\nFinhub API - 提供最新市場資訊\nGoogle Gemini API - 你的AI分析專家\nGmail API - 負責傳遞分析報告\n🎯 工作原理 # 整個流程非常優雅：\n從Finhub獲取最新10條市場新聞 交給Gemini AI進行深度分析 自動整理成一份精美的email報告 準時發送到你的信箱 🚀 實戰教學 # 1️⃣ Finhub API設置 # 首先訪問 Finnhub.io： - 註冊一個免費帳號 - 獲取你的API金鑰 - 找到Markets News API接口 2️⃣ n8n工作流配置 # 打開n8n儀表板： - 創建新的工作流 - 添加HTTP Request節點來獲取新聞 - 設置時間排序和數量限制 3️⃣ Google Gemini設置 # 準備AI分析引擎： - 註冊Google Cloud帳戶 - 開通Gemini API - 獲取API密鑰 4️⃣ Gmail配置 # 設置郵件發送： - 開啟雙重認證 - 生成應用專用密碼 - 設置SMTP帳戶 💡 進階技巧 # **安全提示：**建議創建專門的Gmail帳戶來處理自動化郵件，這樣可以更好地管理和保護你的主要郵箱。\n🎉 成果展示 # 完成設置後，你將擁有：\n每日自動更新的市場分析報告 AI驅動的智能見解 省時省力的自動化流程 個性化的市場動態追蹤 現在，你已經擁有了自己的智能財經助理！它會24/7為你監控市場，提供及時、專業的分析報告。讓科技為你的投資決策助力吧！\n重要連結 # Finnhub API: https://finnhub.io/ Google Gemini API文件: https://docs.n8n.io/integrations/builtin/credentials/googleai/ Gmail設定文件: https://docs.n8n.io/integrations/builtin/credentials/sendemail/gmail/ n8n部署平台: https://run.claw.cloud/ API端點 # Finnhub Market News API: https://finnhub.io/api/v1/news?category=general\u0026amp;token=YOUR_API_KEY 重要提醒 # Gmail安全設定：建議創建專門的Gmail帳戶處理自動化郵件，以更好地管理和保護主要郵箱。\nn8n部署設定 # 推薦版本：n8nio/n8n:1.92.0 必要環境變數：N8N_RUNNERS_ENABLED=true 本設定可用於自動化：\n整合API資料分析 發送自動化郵件報告 建立AI分析工作流 自動整理財經報表 daily_financial_news.json\n","date":"25 May 2025","externalUrl":null,"permalink":"/posts/%E6%89%93%E9%80%A0%E4%BD%A0%E7%9A%84%E6%99%BA%E8%83%BD%E8%B2%A1%E7%B6%93%E5%8A%A9%E7%90%86%E4%BD%BF%E7%94%A8n8n%E8%87%AA%E5%8B%95%E5%8C%96%E5%B8%82%E5%A0%B4%E5%88%86%E6%9E%90/","section":"Posts","summary":"","title":"打造你的智能財經助理：使用n8n自動化市場分析","type":"posts"},{"content":" 🤖 為什麼需要財經分析助理？ # 在瞬息萬變的金融市場中，即時資訊就是力量。想像一下，每天早上打開信箱，就能收到一份由AI精心分析的市場動態報告，是不是很棒？今天就讓我們一起打造這個智能助理！\n🛠️ 準備工具 # 我們需要以下神器：\nn8n - 你的自動化工作流平台\nFinhub API - 提供最新市場資訊\nGoogle Gemini API - 你的AI分析專家\nGmail API - 負責傳遞分析報告\n🎯 工作原理 # 整個流程非常優雅：\n從Finhub獲取最新10條市場新聞 交給Gemini AI進行深度分析 自動整理成一份精美的email報告 準時發送到你的信箱 🚀 實戰教學 # 1️⃣ Finhub API設置 # 首先訪問 Finnhub.io： - 註冊一個免費帳號 - 獲取你的API金鑰 - 找到Markets News API接口 2️⃣ n8n工作流配置 # 打開n8n儀表板： - 創建新的工作流 - 添加HTTP Request節點來獲取新聞 - 設置時間排序和數量限制 3️⃣ Google Gemini設置 # 準備AI分析引擎： - 註冊Google Cloud帳戶 - 開通Gemini API - 獲取API密鑰 4️⃣ Gmail配置 # 設置郵件發送： - 開啟雙重認證 - 生成應用專用密碼 - 設置SMTP帳戶 💡 進階技巧 # **安全提示：**建議創建專門的Gmail帳戶來處理自動化郵件，這樣可以更好地管理和保護你的主要郵箱。\n🎉 成果展示 # 完成設置後，你將擁有：\n每日自動更新的市場分析報告 AI驅動的智能見解 省時省力的自動化流程 個性化的市場動態追蹤 現在，你已經擁有了自己的智能財經助理！它會24/7為你監控市場，提供及時、專業的分析報告。讓科技為你的投資決策助力吧！\n重要連結 # Finnhub API: https://finnhub.io/ Google Gemini API文件: https://docs.n8n.io/integrations/builtin/credentials/googleai/ Gmail設定文件: https://docs.n8n.io/integrations/builtin/credentials/sendemail/gmail/ n8n部署平台: https://run.claw.cloud/ API端點 # Finnhub Market News API: https://finnhub.io/api/v1/news?category=general\u0026amp;token=YOUR_API_KEY 重要提醒 # Gmail安全設定：建議創建專門的Gmail帳戶處理自動化郵件，以更好地管理和保護主要郵箱。\nn8n部署設定 # 推薦版本：n8nio/n8n:1.92.0 必要環境變數：N8N_RUNNERS_ENABLED=true 本設定可用於自動化：\n整合API資料分析 發送自動化郵件報告 建立AI分析工作流 自動整理財經報表 daily_financial_news.json\n","date":"25 May 2025","externalUrl":null,"permalink":"/%E6%89%93%E9%80%A0%E4%BD%A0%E7%9A%84%E6%99%BA%E8%83%BD%E8%B2%A1%E7%B6%93%E5%8A%A9%E7%90%86%E4%BD%BF%E7%94%A8n8n%E8%87%AA%E5%8B%95%E5%8C%96%E5%B8%82%E5%A0%B4%E5%88%86%E6%9E%90/","section":"tech-bro的技術筆記","summary":"","title":"打造你的智能財經助理：使用n8n自動化市場分析","type":"page"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"}]