
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...

微軟向來對開發者很友好,為了要 誘騙 吸引眾多開發者來自家平台開發軟體應用
早期給過很多福利,不過現在有些都已經絕版了~
但今天要特別介紹的是目前還存在,而且目前還有效的 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...

最近在編譯一些 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 參數把執行檔放到目前目錄下...

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

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....