Windows 版 Turnout
同一套連線到 WireGuard 伺服器的 VPN 用戶端,現在也在 Windows 11 上:設定檔照 wg-quick 的方式讀取,每條通道要走的網路介面由你選擇,通道還能依排程或 Wi-Fi 網路自己連線。它待在通知區域裡,一份授權就能同時用在你的 Mac 和 Windows 電腦上。
版本 1.1.4,發布 · 版本說明
x64 電腦(Intel 或 AMD)上的 Windows 11 · 試用 7 天 · US$19 一次買斷,三台電腦,Mac 或 Windows 皆可
和 Mac 上一樣
- 你的設定檔,照 wg-quick 的方式讀取。匯入 WireGuard 的
.conf檔和裝著它們的 zip,包括官方 App 匯出的檔案,也能再匯出。編輯器有表單和文字兩種檢視;註解和它不認得的行,都會照你寫的樣子保留。 - 網路介面由你選擇。
#@ BindInterface讓通道的加密流量從你指定的網路介面卡出去,例如Ethernet 2;#@ Route … dev則讓你選的網段改從某個網路介面卡出去,不走通道。每條通道最上方的路徑會顯示是哪個網路介面卡在傳送它的流量。 - 自己連線。排程或你列出的 Wi-Fi 網路會讓通道連線,之後再中斷;這中間你手動做的操作會維持不變。
- Hook。
PreUp、PostUp、PreDown和PostDown和在 Mac 上一樣會執行,但要先經過管理者核准。 - 通知、五種語言和一份授權。同樣的通知、選單和視窗,有 English、繁體中文、日本語、Español 和 한국어 可選;一份授權可以用在三台電腦上,Mac 或 Windows 皆可。
不同之處
- 待在通知區域。按一下 Turnout 的圖示會打開一個面板,列出每條通道和它的開關;視窗裡則有每條通道的路徑、路由、對等端和設定檔,以及各項設定。Windows 可能會把新的圖示收在工作列的 ^ 後面:把它拖到工作列上,或在「設定 › 個人化 › 工作列 › 其他系統匣圖示」中打開 Turnout,它就會一直顯示。
- 全通道的流量留在通道裡。承接所有流量的通道連線期間,Windows 的防火牆會封鎖原本會從通道外送出的流量,以及送往通道 DNS 伺服器以外的 DNS 查詢,做法和官方 WireGuard App 相同。你的繞過路由、區域網路必要的流量(DHCP、loopback),以及通道本身連到伺服器的連線,都會放行。
- 還沒有 Phantun。經由 Phantun 連到伺服器的設定檔會照常顯示,但在 Windows 上不會連線。
- 用命令列取代「捷徑」。
Turnout.exe connect <tunnel>、disconnect <tunnel>和status [tunnel]。 - 只支援 x64 電腦上的 Windows 11。不支援 Windows 10、Arm 版 Windows,也不支援 Windows Server。
下載與安裝
- 從最新版本下載安裝程式
Turnout-<version>-x64.msi。 - 打開它。這個安裝程式沒有用 Windows 的程式碼簽署憑證簽署,所以 Windows SmartScreen 可能會顯示「Windows 已保護您的電腦」:請選擇「其他資訊」,再選「仍要執行」。接著 Windows 會要求管理者核准。
- Turnout 會安裝到
C:\Program Files\Turnout,背景服務隨即啟動,接著 Turnout 會打開。它的歡迎導覽會告訴你圖示在哪裡。
在開啟了「智慧型應用程式控制」的電腦上,Windows 完全不讓沒有程式碼簽署憑證的安裝程式執行。更新則不依賴憑證:每一次更新都帶有 Turnout 自己的簽章,背景服務會先檢查它,才安裝任何東西。
更新
Turnout 的面板或視窗開著時,它最多每小時檢查一次有沒有新版本,你選擇「檢查更新項目⋯」時也會檢查;「一般」中的開關可以把自動檢查關掉。「安裝並重新開啟」會下載安裝程式並交給背景服務,由它檢查大小、檢查碼和 Turnout 的簽章,再用 Windows Installer 安裝。安裝期間通道會中斷連線;新版本會打開它的視窗,並把原本已連線的通道重新連線。
它對你的電腦做了什麼
Turnout 會安裝一個以 SYSTEM 身分執行的背景服務,所以這裡說明它是什麼、改了什麼,每一項都附上檢查的方法。
cc.ctsite.turnout.daemon- 服務本身,在「服務」中顯示為 Turnout:
C:\Program Files\Turnout\turnout-daemon.exe,隨 Windows 啟動,失敗後會重新啟動。App 本身(C:\Program Files\Turnout\App\Turnout.exe)以你的身分執行,沒有任何特殊權限,由它請服務連線或中斷連線。 - Wintun
- 每條已連線的通道都是一個以它命名的 Wintun 網路介面卡,來自 WireGuard 自己的驅動程式,隨 Turnout 一起安裝。WireGuard 在服務中以 GotaTun 執行;GotaTun 是 Mullvad 開發、以 MPL-2.0 授權的實作。
- 位址、路由與 DNS
- 透過 Windows 的 IP Helper 函式設定:通道的位址、導入通道的路由、讓伺服器位址留在實體網路上的路由,以及不走通道的路由。DNS 伺服器設定在通道自己的網路介面卡上,所以不需要還原其他任何東西。
- Windows Filtering Platform
- 只用於承接所有流量的通道,而且只在它連線期間:就是上面說的那些規則。它們放在服務自己的工作階段中,所以通道中斷連線或服務停止時就會消失。
%ProgramData%\cc.ctsite.turnout\tunnels- 你的設定檔(包括私鑰),只有 SYSTEM 和管理者能讀取。只有服務會寫入這裡;儲存一個 hook 是新的或有變動的設定檔時,需要管理者核准。
\\.\pipe\cc.ctsite.turnout.daemon- App 和服務溝通的管道。它只回應這台電腦上的使用者,絕不回應其他電腦。
%ProgramData%\cc.ctsite.turnout\logs\daemon.log- 服務做了什麼,以及它的錯誤。App 自己的記錄檔是
%LOCALAPPDATA%\Turnout\app.log。
Hook 以 SYSTEM 身分透過 cmd.exe /C 執行,%i 換成通道的網路介面卡,%I 換成通道名稱。每一項路由變更在動手之前都會先記錄下來,所以服務下次啟動時會復原當機留下的變更。想自己看看,可以在 PowerShell 中執行:
Get-Service cc.ctsite.turnout.daemon
Get-NetAdapter # 已連線通道的 Wintun 網路介面卡
Get-NetRoute -AddressFamily IPv4 # 它加入的路由
Get-DnsClientServerAddress # 通道網路介面卡的 DNS 伺服器
授權
同一組金鑰可以用在你的 Mac 和 Windows 電腦上,總共三台電腦。每台電腦都會先有 7 天可以使用 Turnout 的全部功能。在 Turnout 視窗的「授權」中貼上金鑰;Windows 上沒有 iCloud 可以把它帶過來,所以要在每台電腦上各自輸入。金鑰存在 Windows 認證管理員中。授權條款 · Windows 上的隱私權
解除安裝
在「設定 › 應用程式 › 已安裝的應用程式」中解除安裝 Turnout,或在 Turnout 視窗的「關於」中選擇「解除安裝Turnout⋯」;在那裡你還可以一併刪除已儲存的通道,並空出這台電腦在授權上的名額。不論用哪種方式,所有通道都會中斷連線,服務和 Wintun 驅動程式會被移除,當機留下的變更會復原,App、它的記錄檔和你的 Turnout 偏好設定也會刪除。除非你選擇刪除,否則已儲存的通道會保留;從命令列執行 msiexec /x 並加上 PURGE=1,也會一併刪除它們。