輕鬆架一套類 IFTTT 的自動化工作流「n8n」

​ 應該不少人都有玩過 IFTTT 的服務,可以建立起非常強大且方便的自動化工作流 它的主要原理跟工作流程是「如果 OOO 變成 YYY 以後,就進行 XXX 的動作」 舉例來說可以是「如果明天天氣預報會下雨,就發簡訊或者郵件通知我」、「如果收到某人訊息,就加到重要代辦事項」等等 IFTTT 目前可以免費試用,最多開三個 Applets,且每個 Applets 檢查更新頻率在一小時 如果你想要解除限制的話,就需要訂閱他們的 IFTTT Pro 服務,可以享有無限 Applets 且每五分鐘就能更新一次的服務 ​ 不過今天要介紹的是另外一款有類似功能的工具 n8n,支援的服務也相當多 而且是免費開源,也能自己架設在自己伺服器上,甚至可以跑自己寫的腳本,所以可自定義性更強,相當的不錯 ​ n8n 介紹影片: ​ 前段時間我自己也架了一套出來玩玩,觀察幾天運作相當穩定,所以寫一篇記錄一下 不過因為 n8n 自定義功能強大,玩法相當多,無法靠三言兩語講完,所以這篇只會有 RSS to Telegram 的例子 其他部分留待自己開發出更適合你自身的玩法 😚 大概流程分為以下兩部分: 使用 Docker 快速建立一套開箱即用 n8n 監測某 RSS Feed 出現關鍵字時,用 Telegram 私訊通知你,或者發送到某 Telegram 群組 or 頻道裡面 ​ ...

September 16, 2021 · 4 min · jkgtw

用 Docker 搭一個無人值守全自動領 Epic 免費遊戲的小幫手

​ Epic Games 這家公司很神奇,從以前就一直頗受個資爭議,直到最近還跟 Apple 大打官司還意外牽扯出不少業界祕辛 其中一個就是 Epic Games 每個禮拜送遊戲能帶來多少好處與成本? 官司是非對錯就留待法官去判,我只知道既然他免費送,就應該想辦法領好領滿才是 😚 ​ epicgames-claimer 「小眾軟件」有介紹這個比較簡單容易的 Docker 能跑起來,只要一行指令並寫上你的 Epic 帳號跟密碼即可馬上領遊戲 docker run -d --restart=unless-stopped -e AUTO_UPDATE=false -e TZ Asia/Taipei luminoleon/epicgames-claimer -u [email protected] -p somepasswords 溫馨提示:以上需要替換掉帳號跟密碼的部份,直接拷貝粘貼是不行的 ​ 不過這個容器簡單是簡單,如果你有些進階需求就暫時還沒辦法處理 像是目前還不支援雙步驗證的登入、系統觸發 hCaptcha 時也無解 不過如果你沒這類需求煩惱,可以直接用上面的指令直接就跑起來,群暉 NAS 的話「小眾軟件」也有介紹到如何設定 ​ epicgames-freegames-node 而本篇這邊介紹的是另外一個作者開發相同功能的 Docker 容器,可選的選項比較多 支援雙步驗證跟遇到 hCaptcha 時的解決方案,遇到登入疑難雜症時甚至可以直接匯入瀏覽器上的 cookie 等等 項目的網址: https://hub.docker.com/r/charlocharlie/epicgames-freegames ​ 如果你跟我一樣有遇到登入困難,可以依照下面步驟快速部署這個容器 首先要先建一個設定檔「config.json」,下面是範例(直接拷貝是沒用的) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 { "searchStrategy": "promotion", "runOnStartup": true, "cronSchedule": "35 6 * * *", "logLevel": "info", "hcaptchaAccessibilityUrl": "https://accounts.hcaptcha.com/verify_email/96e9d77b-21eb-463d-9a21-75237fb27b6c", "webPortalConfig": { "baseUrl": "https://epic.exmaple.com", }, "accounts": [ { "email": "[email protected]", "password": "abc1234", "totp": "EMNCF83ULU3K3PXPJBSWY3DPEHPK3PXPJWY3DPEHPK3YI69R39NE" }, ], "notifiers": [ { "type": "telegram", "token": "644739147:AAGMPo-Jz3mKRnHRTnrPEDi7jUF1vqNOD5k", "chatId": "-987654321", } ], } 第 6 行的 hCaptcha 輔助可以直接戳這邊留下 email,收到驗證 email 後,拷貝 email 裡面按鈕的連結,貼上即可 ...

September 5, 2021 · 2 min · jkgtw

使用 Docker 快速搭建 Telegram 專用代理 MTProxy-Go

​ 之前有一篇使用一鍵快速腳本搭建 Telegram 專用代理 MTProxy-Go,不過好像原作者被抓去喝茶還是什麼鬼的 🥸 反正那個腳本已經年久失修,不太能正常使用了 有些上游來源路徑已經改過,所以在 build 過程會失敗,於是另外找了 Docker 版本 Docker 版本跟之前腳本相比起來搭建出錯機率小很多,因為整個都幫你包好了,日後更新起來也很容易 另外可能還會有人問 Telegram 不就直接可以正常使用嗎?為什麼還要翻牆代理? 在台灣確實可以正常使用,但是台灣手機號碼註冊分配到 Telegram 的新加坡機房速度時好時壞,有時候圖片或者影片會跑好久 為了要有更好的使用體驗,如果能自己搭一個海外 VPS 會改善非常多,像是 GCP 的台灣或者 AWS 的日本都能有不錯的連線穩定度 ​ 安裝 Docker Community 穩定版 雖然這安裝 Docker 的部分已經講過很多次,不過還是再寫一遍 如果你已經有 Docker 執行環境就可以跳過 ​ 一樣先 SSH 連到伺服器上,安裝 Docker 跟需要的軟體,以下適用於 Debian 與 Ubuntu # 先完整更新一下系統 $ sudo apt update && sudo apt full-upgrade -y # 安裝一下等下會需要用到的軟體 $ sudo apt install curl -y ​ 更新好以後,使用 Docker 官方的一鍵安裝腳本 $ curl -fsSL https://get.docker.com/ | sh 接著稍等片刻,他會自動安裝到最新穩定版的 Docker ...

April 15, 2021 · 2 min · jkgtw

使用 Docker 快速將 Ivacy VPN 轉換成 SOCKS 代理

​ 上一篇介紹到快速使用 Docker 連線 OpenVPN 搭建本地 SOCKS 代理 文中是使用 KeepSolid VPN Unlimited 來範例,不過貌似有許多人說他買的是 Ivacy VPN 不能用。。 🤷‍♂️ ​ Ivacy VPN 提供的 OpenVPN 其實也是可以使用同一個 Docker Image 的 不過需要跟 Ivacy 技術支援先拿到你的 Ivacy ID,因為他們家 OpenVPN 登入帳號是用 Ivacy ID 這個 ID 並不是你在 Ivacy 官網註冊的 eMail,所以如果你直接使用 OpenVPN 方式與自己 eMail 信箱來登入的話 永遠都會出現 AUTH FAILED 的錯誤 比較麻煩的是目前這個 Ivacy ID 並不能自己透過官網查詢,所以只能透過官網的 Live Chat 來取得 先打開 Ivacy 官網支援網頁: https://support.ivacy.com ​ ​ Tickets 跟 Live Chat 兩個選一個就可以了,建議直接用 Live Chat 比較快 附上簡易範本,快速讓技術支援搞懂你遇到的問題 ​ I try to use OpenVPN protocol connect to Ivacy's server, but always showing up "AUTH FAILED"? My Ivacy Account:[email protected] Please help, Thanks! ​ ...

December 3, 2020 · 2 min · jkgtw

使用 Docker 快速將 OpenVPN 轉換成本地 SOCKS 代理

​ 最近一、兩年各類 VPN 廣告鋪天蓋地,而且還有終身訂閱的 VPN,價格不貴 不過有些低價到讓人懷疑他們會不會隨時就跑路了?! 🤔 我覺得只要該公司能撐到三~五年,就已經算是賺到了,至今能經營超過百年的公司都算厲害了~ 根本不期待他們能運作超過十年。。 😂 VPN 偶而拿來跨區看其他國家影片或者拿來臨時加速上網還是挺不錯的 不過使用他們官方提供的 App 來連線使用的話,通常都是全域網路都會被帶入到 VPN 隧道裡面 雖然簡單無腦,但是不適合需要進階一點的使用方式 ​ 所幸他們這些 VPN 服務商有些都有提供 OpenVPN、IKEv2 or WireGuard 等其他連線方法 這篇主要是讓你透過 Docker 快速將 OpenVPN 轉換成本地內網可用的 SOCKS 代理 轉換成 SOCKS 代理後,你就可以使用 Proxy.pac、瀏覽器的外掛 SwitchyOmega 或者 Surge。。等等 來達到進階自由的代理模式,例如你可以設定遇到 Netflix 域名時,就透過日本代理去連線 遇到 Disney+ 時候,就透過美國代理去連線,遇到沒有設定的域名,就還是維持你原本的網路去上網 全自動無需每次都要手動開關 VPN,非常的方便 ​ 下載 OpenVPN.ovpn 設定檔 以下使用 KeepSolid VPN Unlimited 來搭配使用(各家公司 OpenVPN 提供的連線方式有可能不同) 首先先到 VPN Unlimited 官網的管理後台登入 https://my.keepsolid.com/products/vpn/ ​ 這邊可以手動下載到他們家有提供的各種協議 VPN,你選好需要的國家跟協議以後 就可以直接下載設定檔使用 ​ ​ 可以多選幾個常用國家一起下載回來,每個國家都會是獨立的 ovpn 檔案 下載的檔案請妥善保存,稍等要把這檔案掛入 Docker 裡面 ​ 利用 Docker 快速部屬 在 Docker Hub 上面找到有人實作的現成 image ...

December 1, 2020 · 2 min · jkgtw

最佳無人值守的 Let's Encrypt 簽 SSL 憑證與續期方案

​ Let’s Encrypt 真是一家佛心公司,從 2015 年 12 月開始就對外提供免費的 SSL 憑證服務 至今已經是網路上最常見的憑證機構之一了! ​ 剛開始使用 LE 服務時候,一直是使用 LE 官方推薦的 Certbot 來獲取簽名 去年的時候意外在某個項目看到推薦使用 acme.sh 來簽憑證,於是我當時也跟著換 一用也超過半年以上了,異常穩定 100% 無人值守,至今也沒出問任何問題,非常推薦~ ​ 有時候臨時跑個 docker 之類小服務跟反代,會直接用 CaddyServer 或者 Traefik 起一個自動服務出來用 但是用 nginx 或者打算把憑證用在其他用途上,就還是推薦用 acme.sh 來自動續期比較好 ​ acme.sh 強大的優勢如下: 100% 使用 Shell 語言撰寫,完整支援 ACME Protocol 本體無任何依賴,無需 Python 環境或者安裝 LE 客戶端 支援上百家 DNS API 驗證方式 全自動完成簽憑證、續期跟安裝憑證,以及可以自訂簽憑證後的指定工作 無需 roots 或 sudo 權限 ​ 下面快速記錄一下安裝與設定過程,我環境是使用 debian + CloudFlare DNS ​ 安裝 acme.sh ssh 進目標主機,一行指令快速安裝 curl https://get.acme.sh | sh ​ 他會把本體以及相關設定都安裝在 ~/.acme.sh/ 之下,所以無需 root 相關權限 ...

May 25, 2020 · 2 min · jkgtw

微軟開發者福利:免費 Office 辦公軟體 + 5TB 雲端硬碟無限續期

​ 微軟向來對開發者很友好,為了要 誘騙 吸引眾多開發者來自家平台開發軟體應用 早期給過很多福利,不過現在有些都已經絕版了~ 但今天要特別介紹的是目前還存在,而且目前還有效的 Microsoft 365 E5 開發者計劃 以前錯過的 A1、E3。。等等已經不會再有,所以這次 E5 你不要再錯過了啦! ​ 先來看看 Office 365 E5 包含哪些東西? ​ ​ 前三套大家應該都不陌生,基本上是每個上班族必備的辦公軟體 後面幾套比較少用到沒關係,但其中 OneDrive 雲端硬碟這真的超好用,台灣連的速度很快,吃滿寬頻是基本 而且今天介紹的 E5 開發者計劃的 OneDrive 直接見面就是 5TB 容量不囉嗦~ 每個開發者計劃的還能再開 25 個子帳號,也就等於 5TB x 25 啦!數字太多零我不會算,你自己慢慢算。。。 🥺 ​ 另外這個 E5 開發者計劃還有包含自訂域名的 Exchange Server 服務,你可以把自己的域名設定進去 你就會有一個屬於你自己域名超讚的電子郵件服務啦!以上通通免費!不用再去用其他爛爛的託管服務啦~ 而且在 iOS 上面使用內建 Mail.app 設定 Exchange Mail 服務是可以收到即時推送的 不像 GMail 推送屬於半殘狀態喔! ​ 註冊 Microsoft 365 E5 開發計劃 廢話不多說,直接打開瀏覽器的「隱私模式」來到微軟 E5 開發者計劃申請網頁: https://developer.microsoft.com/zh-cn/microsoft-365/dev-program ​ 👆 點選「立即加入」就開始填資料啦! ​ 建議不要跟自己之前的帳號混在一起,所以推薦使用瀏覽器的隱私模式重新註冊一個新帳號 註冊過程就不多說,能看懂中文就會寫,依照提示填寫就行,國家 / 地區可以填台灣、香港或者美國都可以~ ...

April 29, 2020 · 3 min · jkgtw

免安裝 Golang 環境快速編譯 Golang 多平台的執行檔

​ 最近在編譯一些 Golang 的時候被環境設定搞快瘋掉,有次編譯過程還把我一台甲骨文機器搞掛掉 只能手動去甲骨文網站後台強制重開機才恢復,差點吐血。。。 之後在推特上面咆哮了一下,吸引了幾個技術大神空投解決方案,萬事問推友真是一點都沒說錯~ 😀 ​ https://t.co/IYspQcWy0D — 一阁 (@yegle) April 24, 2020 ​ 稍微看一下 GoBinaries 說明書,這玩意真神器,只要一行指令就能直接產出編譯好的 Go 執行檔 什麼 Go 環境、依賴都不用管啦~速度之快,人都還沒反應過來就已經完成了~ 😱 ​ ​ GoBinaries 30 秒快速解決方案 下面以之前介紹過的 MTProxy-Go 為例,有時候作者原始碼已經更新加入新功能,但是 Releases 裡面不見得馬上放出來 這時候想要享受新功能就必須自己抓原始碼下來自己編譯了~ MTProxy-Go 項目的網址是: https://github.com/9seconds/mtg 我們只要拷貝 github.com 網址後面的部分即可,也就是 9seconds/mtg 接著在你想要執行的機器上,使用下面一行指令即可完成執行檔的下載 curl -sf https://gobinaries.com/9seconds/mtg | sh ​ 也可以下載指定的 tag 版本 curl -sf https://gobinaries.com/9seconds/[email protected] | sh ​ 執行時,他會根據你的 CPU 與系統,網路速度不差的話很快就下載下來,並且還幫你安裝到 /usr/local/bin 資料夾裡面 馬上就能開始用了,超方便! ​ 如果你有權限問題,沒辦法寫入 /usr/local/bin 的話,也可以加個 PREFIX 參數把執行檔放到目前目錄下 curl -sf https://gobinaries.com/9seconds/mtg | PREFIX=. sh ​ ​ 完整 Docker 版萬解方案 此方案來自另外一位推友技術大神 ​ docker pull golang:alpine 编译啊 环境都准备好的 ...

April 25, 2020 · 1 min · jkgtw

Docker 全自動無人值守升級 WatchTower

​ Docker 的好不用我再多說,用過的都知道~ 我早期接觸 Docker 是在群暉 DSM 裡面,當時都是傻傻手動更新 後來有發現一個可以全自動幫你升級到最新映像檔的工具「WatchTower」,完完全全無人值守,非常方便好用 ​ 而且啟用非常簡單,基本上就是一行指令就能完成部屬 下面是簡單範例: docker run -d --restart=always \ --name watchtower \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --cleanup --remove-volumes \ --interval 43200 ​ 第五行是每次更新完後,會自動幫你刪掉舊的映像檔跟匿名磁碟空間,可以幫你節省硬碟空間 這在一些空間不是很多的機器上很有用,基本是必加的參數 WatchTower 官方預設是不刪除舊的映像檔,上次我沒加這參數,結果在一台樹莓派裡面某個映像檔作者更新太頻繁 一個禮拜就把我 64GB 記憶卡容量吃光了。。。 🤣 ​ 第六行可加可不加,官方預設是 86400 秒(24 小時)檢查一次,覺得太頻繁或者太少的話可以自己調整數字 ​ 如果你還需要更進階的使用方法,可以參考: 官方說明書 https://containrrr.github.io/watchtower/ ​ 上面指令輸入完畢後,WatchTower 就會啓動並開始幫你監控機器上所有正在執行的容器 每隔一段時間發現有新的映像檔後,它就會幫你下載最新映像檔 並且使用你當初建立該容器時的相同環境設定去幫你重新啓動容器 ​ 當然如果你是在生產環境或者不放心讓它自動更新的話,也可以使用 monitor-only 參數來監控就好 並用 Notifications 來主動通知你有更新了~ 🖖

April 11, 2020 · 1 min · jkgtw

完全 Docker 化搭建 FreshRSS + Traefik 反向代理

​ Docker 真的是一個越用越上癮的應用,目前我在效能可以勝任的時候都會盡量 Docker 化 隨便亂搞一通,壞掉了就刪掉,重新再啓動一個容器又能繼續玩~ 不會因為手賤搞砸了某東西就影響到整台機器的系統,備份跟搬家也是輕輕鬆鬆~ 上次介紹的 Minflux + RSSHub 與 Caddy 反向代理搭配,可以很快搭出一套屬於你自己的 RSS 閱讀器 今天來介紹另外一種也是很夯的反向代理與負載平衡服務「Traefik」,特點是 Go 語言與 Docker 深度結合 這篇就來搭配使用搭建另外一套開源的 FreshRSS 閱讀器吧! ​ 他就像一個交通警察在路口指揮交通~ 如果你跑許多應用跟服務,Traefik 可以輕鬆的幫你管理網路應該怎麼走不塞車 而且 Traefik 可以做到類似熱插拔的功能,不需要關閉甚至重新啟動任何服務 只要新增新服務時候貼上對應標籤,Traefik 會自動接管並啓動,完全不影響內部其他服務 ​ ​ Traefik 設定與啓動 廢話不多說,在裝好 Docker 環境以後,我們就可以開始設定 Traefik # 先在 Docker 內部建立一個專屬網路 $ docker network create reverse-proxy ​ 接著建立安裝會需要用到的資料夾與 docker-compose 設定檔 # traefik 會放 docker-compose, certs 會放自動申請的 SSL 憑證 $ mkdir ~/traefik && mkdir ~/traefik/certs && cd ~/traefik $ nano docker-compose.yml ​ 拷貝以下內容,貼上後需要修改 16、25 行的 email 跟 volumes 的 certs 路徑,其他可以不用動,保存然後退出 ...

March 10, 2020 · 3 min · jkgtw