使用 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