Gluetun: 面向多供應商的 Docker VPN 用戶端
VPN 用戶端位於適用於多個 VPN 提供者的瘦 Docker 容器中,以 Go 編寫,並使用 OpenVPN 或 Wireguard、基於 TLS 的 DNS,內建一些代理伺服器。
秒懂
- 它是什麼?
- 一個以 Go 撰寫的輕量 Docker 容器,透過 OpenVPN 或 Wireguard 路由流量,內建 DNS over TLS 與代理服務。
- 適合誰用?
- 該倉庫預計於 2026-05-21 遷移至 github.com/passteque/gluetun,Docker 映像名稱保持不變,README 提醒使用者只有該倉庫與 wiki 是官方來源。 本文適合需要評估 passteque-gluetun-deep-analysis README 所列能力的開發者,不適合把來源摘要當成完整的生產保證;先執行專案明示的命令並核對其輸出、設定檔與限制,再決定是否納入正式流程。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 2 天前。
- 用什麼語言寫的?
- 主要是 Go(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
passteque-gluetun-deep-analysis|專案範圍與遷移公告|1
README 開頭將 Gluetun 描述為一個輕量、類似瑞士軍刀的 VPN 用戶端,執行在精簡的 Docker 容器中,可連接多個 VPN 服務供應商。倉庫元資料將語言列為 Go,顯示 15,081 個 star、605 個 fork 和 329 個未關閉的問題,且倉庫未被封存。README 中有一條重要警告:本倉庫和 gluetun-wiki 是 Gluetun 僅有的官方網站,其他自稱官方的網站都是詐騙。它還宣布該倉庫將於 2026-05-21 遷移到 github.com/passteque/gluetun,該組織由維護者單獨控制,Docker 映像名稱保持不變。遷移原因是將 GitHub Sponsors 轉移到 Open Source Collective,以處理個人行政事務。
passteque-gluetun-deep-analysis|供應商列表與協定支援|2
README 列出了 23 個供應商:AirVPN、Cyberghost、ExpressVPN、FastestVPN、Giganews、HideMyAss、IPVanish、IVPN、Mullvad(僅 Wireguard)、NordVPN、Perfect Privacy、Privado、Private Internet Access、PrivateVPN、ProtonVPN、PureVPN、SlickVPN、Surfshark、TorGuard、VPNSecure.me、VPNUnlimited、Vyprvpn 和 Windscribe。OpenVPN 對列表中所有供應商都受支援。Wireguard 以核心態和使用者態支援其中一部分:AirVPN、FastestVPN、Ivpn、Mullvad、NordVPN、Perfect Privacy、ProtonVPN、Surfshark 和 Windscribe。對於 Cyberghost、Private Internet Access、PrivateVPN、PureVPN、Torguard、VPN Unlimited 和 VyprVPN,Wireguard 透過自訂供應商使用,該自訂供應商也接受自訂 Wireguard 配置。目前 AmneziaWG 僅透過自訂供應商支援,README 表示更多 Wireguard 供應商支援正在進行中,並引用了 issue #134。
passteque-gluetun-deep-analysis|DNS、防火牆與代理功能|3
Gluetun 內建 DNS over TLS,並允許使用者選擇 DNS over TLS 服務供應商。它會在 DNS 層面攔截惡意和廣告主機名稱及 IP 位址,每 24 小時進行即時更新。透過選擇多個 DNS over TLS 供應商,可以實現 split horizon DNS。容器內建防火牆 kill switch,只允許與所需 VPN 伺服器和區域網路設備的流量。還內建三個代理伺服器:Shadowsocks 代理伺服器(基於 SOCKS5 協定並增加加密層,可隧道 TCP 和 UDP)、SOCKS5 代理伺服器(隧道 TCP 和 UDP)以及 HTTP 代理(透過 TCP 隧道 HTTP 和 HTTPS)。README 對 SOCKS5 代理的部分工作向 @angelakis 和 @adjscent 致謝。另外,README 還列出了針對 Perfect Privacy、Private Internet Access、PrivateVPN 和 ProtonVPN 的自訂 VPN 伺服器連接埠轉發功能。
passteque-gluetun-deep-analysis|映像基礎、體積與架構支援|4
映像基於 Alpine 3.23,大小為 43.1MB,README 將其描述為小巧。它支援 amd64、i686(32 位元)、ARM 64 位元、ARM 32 位元 v6 和 v7,以及 ppc64le。README 還提到 Gluetun 可以用作 Kubernetes sidecar 容器,並對 @rorph 表示感謝。設定部分指向 wiki 取得針對每個供應商的說明,並包含一個 docker-compose.yml 範例。該範例使用 qmcgaw/gluetun 映像,需要 NET_ADMIN 能力和 /dev/net/tun 裝置,映射 8888 連接埠用於 HTTP 代理、8388 連接埠用於 Shadowsocks TCP 和 UDP,將磁碟區掛載到 /gluetun,並設定環境變數,包括 VPN_SERVICE_PROVIDER、VPN_TYPE、OPENVPN_USER、OPENVPN_PASSWORD、WIREGUARD_PRIVATE_KEY、WIREGUARD_ADDRESSES、TZ 和 UPDATER_PERIOD。映像也提供為 ghcr.io/qdm12/gluetun。
passteque-gluetun-deep-analysis|設定路徑與對 wiki 的依賴|5
README 不包含完整的設定說明,而是引導使用者到 gluetun-wiki 查看針對每個供應商的指南。wiki 位於 github.com/qdm12/gluetun-wiki,README 連結到其常見錯誤和 FAQ 頁面,以及連接其他容器、連接區域網路設備、更新 VPN 伺服器列表和新增供應商的頁面。README 中的 docker-compose.yml 被描述為給最懶的人用。其註解說明必須取消註解 container_name 行,才能允許外部容器連接。環境區塊同時包含 OpenVPN 和 Wireguard 變數,並附有指向 wiki 設定頁面的註解。README 還連結到一個關於修復 Unraid 模板的討論和用於建議的 issue 追蹤器。
passteque-gluetun-deep-analysis|授權條款與 README 的邊界|6
Gluetun 以 MIT 授權條款發布,版權歸 Quentin McGaw(2018)。該授權允許使用、複製、修改、合併、發布、分發、再授權和銷售軟體副本,前提是所有副本或實質部分都包含版權聲明和許可聲明。它還聲明軟體按原樣提供,不附帶任何明示或暗示的擔保,作者或版權持有人對因使用軟體而產生的索賠或損害不承擔責任。README 沒有描述專案的安全保證、支援模式或發布節奏,這些需要從 wiki、發布歷史或 issue 追蹤器中另行查證。
passteque-gluetun-deep-analysis|採用前的專案專屬檢查|7
針對 passteque-gluetun-deep-analysis,應依 README 已列出的檔案、命令與設定逐項核對。若來源未說明某項行為,本文保留為未知,不把推測寫成保證。測試紀錄應包含實際輸入、輸出與錯誤訊息,方便釐清是環境差異還是專案本身的限制。
先看 passteque-gluetun-deep-analysis 的 README 入口,再把其中列出的名詞對應到實際檔案。這一步能分清楚倉庫目錄、文件連結與可執行程式,不把展示頁文字誤當成介面承諾。(檢查項 1)
若 README 提到命令,核對命令所在的目錄與輸入形式,將成功輸出和錯誤輸出分開保存。對 passteque-gluetun-deep-analysis 而言,這是檢查環境依賴與資料流向的最短路徑。(檢查項 2)
設定檔的作用必須以專案文件為準。沒有明示的預設值就保留未知,尤其是資料位置、網路暴露、憑證處理與權限邊界,不能由專案名稱推導。(檢查項 3)
閱讀 passteque-gluetun-deep-analysis 的功能清單時,應把每一項拆成可觀察結果,例如產生的檔案、命令列回應、資料庫變化或介面狀態。只有能觀察,才有辦法與 README 逐項比對。(檢查項 4)
版本核對要落在該倉庫的分支、標籤或套件版本。若來源只列出 main 或 dev,便記下這個事實,不把未提供的相容矩陣補成推論。(檢查項 5)
對外部服務、模型、容器或資料庫的依賴,應沿著 passteque-gluetun-deep-analysis 已列出的連結逐一確認。素材沒有描述的供應商行為,不在本文替它作保證。(檢查項 6)
若要把 passteque-gluetun-deep-analysis 放進團隊流程,先以最小輸入跑一次 README 的示例,再用一個已知結果重跑。觀察日誌、輸出檔和返回碼,才能定位問題是在設定還是在程式。(檢查項 7)
安全與授權是兩個不同檢查面。即使 passteque-gluetun-deep-analysis 的授權允許使用,也不代表敏感資料、網路服務或第三方內容已經符合你的部署政策。(檢查項 8)
維護時對照 README 的目錄名稱與 release 頁面,確認文件連結仍指向同一專案。連結失效、命令改名或設定鍵改動,都應成為升級紀錄的一部分。(檢查項 9)
本文只採用 passteque-gluetun-deep-analysis 素材中能直接核對的資訊。沒有測試結果的地方明確保留限制,讓讀者知道哪些是來源描述,哪些仍須在自己的環境確認。(檢查項 10)
先看 passteque-gluetun-deep-analysis 的 README 入口,再把其中列出的名詞對應到實際檔案。這一步能分清楚倉庫目錄、文件連結與可執行程式,不把展示頁文字誤當成介面承諾。(檢查項 11)
編輯結論
該倉庫預計於 2026-05-21 遷移至 github.com/passteque/gluetun,Docker 映像名稱保持不變,README 提醒使用者只有該倉庫與 wiki 是官方來源。 本文適合需要評估 passteque-gluetun-deep-analysis README 所列能力的開發者,不適合把來源摘要當成完整的生產保證;先執行專案明示的命令並核對其輸出、設定檔與限制,再決定是否納入正式流程。
社群筆記