在過去幾個月中,Proton VPN 一直致力於開發 Proton 協定,這是一個全新的用戶端 VPN 協定代碼庫。這個在內部代號為 ProTUN 的全新代碼架構是用 Rust 編寫的。雖然我們從 Cloudflare 的 BoringTun(新視窗) 專案中分支了加密代碼,但完全重新設計的架構是屬於 Proton 的。

為什麼我們需要全新的 VPN 核心

WireGuard® 是一種先進的 VPN 協定,與 OpenVPN 一樣安全,但速度更快、功能更強大。這就是為什麼我們開始從官方應用程式中移除對 OpenVPN 的支援,以便轉而專注於 WireGuard。

然而,我們的應用程式目前使用的是官方的 wireguard-go WireGuard 實作。這是一個非常出色的實作,其優雅極簡的設計使其與傳統的 VPN 協定相比,速度更快、更安全且更容易稽核。

然而,wireguard-go 無法與我們在支援的多個平台(例如 Android 上的 Kotlin 和 iOS 上的 Swift)上原生開發 Proton VPN 所使用的語言良好整合。這減慢了開發速度,使偵錯變得複雜,並帶來了穩定性挑戰。

Proton 協定解決了這些問題。

Proton 協定是一個基於 WireGuard 的全新用戶端 VPN 架構。因為它是用 Rust 編寫的,並且被設計為一個共享的、可擴充的核心,所以 ProTUN 可以一致地部署在各個平台上,並適應不同的網路環境。這將使我們能夠更快地診斷問題、提高穩定性,並將進階功能直接建置到 VPN 堆疊中。

最重要的是,Proton 協定使我們能夠靈活地快速應對審查和網路干擾,我們預期這將是帶來最大長期收益的領域。

底層機制

使用全新 WireGuard 核心加密流量

Proton 協定專案的核心是 libpvpnclient,這是一個用 Rust 編寫的、乾淨且獨立的 WireGuard 協定實作。它的任務簡單但至關重要:加密您的網際網路流量並保持您的連線安全。

與 wireguard-go 的不同之處在於其建置方式。wireguard-go 只是一個簡單的 WireGuard 用戶端,而 libpvpnclient 則是一個全新的架構,我們可以在其上開發先進的新功能。

而且,libpvpnclient 不是緊密繫結至特定的作業系統,而是被設計為一個純粹、與平台無關的核心。這使我們能夠在任何地方(電腦、行動裝置等)重複使用相同的高品質實作。這種分離在幕後帶來了巨大的差異。它讓我們能夠:

  • 在受控且可重複的環境中測試和偵錯複雜的極端情況
  • 在各平台間更快、更一致地推出改進功能
  • 嘗試新技術以抵制審查和流量阻擋

對您而言,這意味著更快的更新、更少特定於平台的特定問題,以及一個能夠隨著網路狀況和審查方法的變化而更快速適應的 VPN。ProTUN 本身是我們對 libpvpnclient 包裝器的命名,它使這個基於 Rust 的函式庫能夠適應我們支援的每個作業系統。

它與 LocalAgent 攜手合作。這是我們內部的控制頻道,可讓我們實作基於憑證的驗證,而且我們剛將其簡化並以 Rust 重新編寫。

這個全新的 VPN 核心現在已開放測試執行,在以下平台上作為測試版(搶先體驗)功能提供:

讓連線至 Proton VPN 伺服器變得更容易

我們也正在開發 Proton 協定的第二階段。代號為 muon,這是一個靈活的網路層,可安全地將我們的應用程式連線至 Proton 的 VPN 應用程式介面,即使在 Proton 應用程式介面本身受到審查的情況下也是如此。

在 VPN 能夠保護您的流量之前,它首先必須安全地連線至 Proton 應用程式介面。而這正變得越來越困難。在某些國家和網路中,應用程式介面連線在 DNS 層級遭到封鎖或監控,或者透過檢查伺服器名稱(一種稱為 SNI 探查的技術)來進行識別。

為了解決這個問題,我們正在建置 muon,這是我們應用程式與 Proton 應用程式介面之間的全新閘道。同樣以 Rust 編寫以確保安全性和效能,muon 會處理您應用程式發出的最起初網路請求,然後將其安全地路由至 Proton VPN 的 WireGuard 協定(長期而言,此功能將取代我們現有的替代路由(新視窗)防審查解決方案)。

具體而言,這意味著在已知存取受審查的國家,從您開啟 Proton VPN 應用程式的那一刻起,您與 Proton 應用程式介面的通訊就已經受到保護(甚至在系統層級的 VPN 連線完全建立之前)。在受限制的國家,您的 ISP 甚至不會知道您正在連線至 Proton 應用程式介面。

此保護將是自動且對您不可見的,這意味著您在受審查的國家中更有可能獲得可用的連線。事實上,muon 對於突破審查非常有用,我們將在所有 Proton 應用程式(不僅僅是 VPN)上使用它,從一開始就在我們的整個生態系統中為您提供內建的防審查保護。我們很快就會推出,敬請期待。

為下一步奠定堅實的基礎

libpvpnclient(連同 Proton 協定包裝器)和 muon 共同構成了一個全新的平台,為我們的工程師提供了更大的靈活性。這使我們能夠安全地對連線穩定性、電池消耗和彈性方面的改進進行實驗,並為未來的技術(如更強大的抗審查技術和後量子密碼學)奠定基礎。

我們將其視為向每個人提供更便於存取、可靠且私有的網際網路所邁出的重要一步。而這僅僅是個開始。我們很高興能看到這個新基礎在 2026 年及以後為 Proton VPN 帶來怎樣的發展。

“WireGuard” 是 Jason A. Donenfeld 的註冊 商標(新視窗)