CLI 基礎知識和安裝
9 個解答了解 PandaVPN CLI 是什麼、它與桌面應用程式有何不同以及如何安裝它。
Q Panda CLI 是甚麼?
Panda CLI 是 Panda 的命令列客戶端,支援透過終端機完成:
- 登入與帳戶管理
- 節點重新整理與節點連線
- PandaVPN / Proxy / WireGuard / Auto 模式切換
- 系統代理設定
- Split rules 分流規則
- Split DNS 設定
- Kill-switch 防護
- Auto-connect
- 記錄和診斷
它適合內測用戶、開發者、進階用戶,以及需要腳本化操作的測試場景。
Q Panda CLI 與桌面用戶端有甚麼區別?
Panda CLI 透過命令列操作,更適合:
- 自動化測試
- 遠端排查
- 腳本化連線
- 查看詳細診斷資訊
- 驗證 Kill-switch、DNS、路由、系統代理等底層行為
桌面客戶端更適合一般用戶日常圖形化操作。
注意:不建議舊 Qt 桌面客戶端和 CLI 同時管理 VPN / 系統代理,以避免互相覆蓋配置。
Q Panda CLI 為甚麼需要 daemon / service?
部分功能需要系統級權限,例如:
- 建立 TUN / WireGuard 網絡介面
- 修改 DNS
- 設定系統代理
- 套用 Kill-switch
- 修復路由
- 管理 packet VPN runtime
因此 CLI 會透過平台對應的 daemon / service 執行這些操作。
不同平台的 daemon 形式:
| 平台 | daemon 形式 |
|---|---|
| macOS | LaunchDaemon / privileged helper |
| Linux | systemd service |
| Windows | Windows Service |
Q Windows / macOS / Linux 的安裝方式有甚麼分別?
核心分別是:Windows 和 macOS 通常會透過安裝包自動安裝服務,Linux 通常需要用戶手動執行 sudo panda service install。
| 平台 | 建議安裝方式 | 是否需要手動安裝 service |
|---|---|---|
| Windows | 安裝包 | 通常不需要;安裝包會提權並註冊 Windows Service |
| macOS | .pkg 安裝包 | 通常不需要;安裝包會安裝 LaunchDaemon / helper |
| Linux | binary + systemd service | 需要執行 sudo panda service install |
Windows 只有在不使用安裝包、手動放置二進制檔案時,才需要以管理員 PowerShell 執行:
panda service install windows
macOS 只有在開發偵錯、未使用 .pkg 安裝包,或 daemon 未自動啟動時,才需要:
sudo panda start
Linux 建議:
sudo panda service install
panda service status
Q Windows ARM64 與 AMD64 / x64 的安裝步驟一樣嗎?
一樣。分別主要在於下載的安裝套件架構不同。
| 架構 | 適用裝置 |
|---|---|
| Windows x64 / AMD64 | 大多數 Intel / AMD Windows 電腦 |
| Windows ARM64 | Windows on ARM 裝置 |
安裝步驟、指令和服務管理方式一致。安裝套件會自動提升權限並註冊 Windows Service。
連接方式和路由
10 個解答了解 CLI 連線模式、路由選項、智慧連線、節點和目前狀態。
Q Panda CLI 支援哪些模式?
主要支援:
| 模式 | 說明 |
|---|---|
auto |
預設模式。按 API / 節點 metadata 推薦 runtime,失敗時回退到 PandaVPN global |
proxy |
本機 SOCKS5 / HTTP / PAC 代理 |
pandavpn |
PandaVPN packet VPN / TUN runtime |
wireguard |
WireGuard packet VPN |
常用設定:
panda mode auto
panda mode pandavpn global
panda mode proxy global
panda mode wireguard
openvpn 目前不建議作為用戶文件中的主線模式展示。
Q auto、proxy、pandavpn、wireguard 應該點樣揀?
建議:
| 場景 | 建議模式 |
|---|---|
| 新用戶 / 日常連線 | auto |
| 想固定使用全局 VPN | pandavpn global |
| 只想讓瀏覽器或系統代理走 Panda | proxy |
| 需要 Kill-switch | auto、pandavpn 或 wireguard |
| 節點提供 WireGuard metadata | auto 或 wireguard |
| 需要 Split rules / Split DNS 深度驗證 | pandavpn |
注意:mode proxy 與 Kill-switch 互斥。
Q mode auto 是甚麼?
mode auto 是新版預設模式。
它的行為是:
- API node / smart connect 會按
meta.protocol優先選擇 runtime; - 如果推薦 WireGuard,會優先嘗試 WireGuard;
- 如果 WireGuard metadata、地址分配、runtime 啟動、handshake 或連通性探測失敗,會回退到由 SS payload 編譯的 PandaVPN global;
SS、OPENVPN、未知或缺失協議會使用 PandaVPN global 兜底;mode auto不接受 policy 參數,解析出的 runtime 恆為 global。
推薦新用戶使用:
panda mode auto
panda connect
Q global、gfwlist、direct-region、proxy-region 有甚麼分別?
| Policy | 含義 |
|---|---|
global | 全部走代理 / 隧道 |
gfwlist | default direct;GFWList 命中走代理 / 隧道 |
direct-region in | default proxy / tunnel;in 兩字母國家碼命中直連 |
proxy-region us | default direct;us 兩字母國家碼命中走代理 / 隧道 |
direct-region 是建議寫法;bypass-region / bypass 是兼容別名。
例如:
panda mode pandavpn direct-region in
等同於兼容別名:
panda mode pandavpn bypass-region in
Q PandaVPN 的顯式 split 長指令是甚麼?
新版支援更完整的 split profile 寫法:
panda mode pandavpn split default direct proxy-region <cc>
panda mode pandavpn split default proxy direct-region <cc>
常見 token:
| Token | 含義 |
|---|---|
default direct |
未命中規則時預設直連 |
default proxy |
未命中規則時預設走隧道 |
proxy-region <cc> |
指定地區走隧道 |
direct-region <cc> |
指定地區直連 |
gfwlist |
啟用 GFWList source |
direct-lan |
LAN 直連 |
proxy-lan |
LAN 也走隧道 |
custom-rules |
啟用自訂 split rules |
exclude-custom-rules |
不載入自訂 split rules |
示例:
panda mode pandavpn split default direct proxy-region us custom-rules
panda mode pandavpn split default proxy direct-region in direct-lan custom-rules
新手文件不建議展示長指令,適合放在進階分流文件中。
Diagnostics and logs
9 個解答將這些問題用於醫生、修復、日誌、系統代理、拆分規則、拆分 DNS 和終止開關行為。
Q panda doctor 是做甚麼的?
doctor 是只讀診斷命令,用於查看目前 Panda CLI 關鍵狀態。
panda doctor
panda doctor --json
短寫:
panda do
重點關注:
runtime
kill_switch
selected_node
vpn_dns
dns_lockdown
split_policy
system_proxy_state
vpn_routes
last_error
Q panda trace 是甚麼?
trace 用於查看某個目標會走哪條規則、DNS action 和 route。
panda trace example.com:443
panda trace 8.8.8.8:53 --json
注意:完整 trace 能力需要 active PandaVPN packet runtime。沒有兼容 runtime 時,只能做有限校驗或回退 legacy trace。
Q 為甚麼會出現兩個 Panda daemon 搶路由?
通常是因為既安裝了正式 service / LaunchDaemon,又手動執行過:
sudo panda start
sudo panda start 會啟動一個 unmanaged / 脫管 daemon,可能與正式 daemon 同時管理:
- VPN 路由
- DNS
- TUN
- 系統代理
- Kill-switch
處理原則是:只保留一個 daemon。
macOS / Linux 常用處理:
panda disconnect
panda kill-switch off
sudo panda stop
panda repair
panda doctor
Linux 如果使用 systemd service,隨後重啟正式服務:
sudo panda service restart
panda doctor
macOS 如果使用 .pkg 安裝,通常讓 LaunchDaemon / helper 管理 daemon,不要長期使用 sudo panda start 作為日常啟動方式。
Q Panda daemon 怎樣退出?
如果只是斷開 VPN,不需要退出 daemon:
panda disconnect
panda kill-switch off
如果確實要停止 daemon:
sudo panda stop
確認:
panda status
如果顯示 panda daemon unavailable,表示主 daemon 已停止。
注意:macOS .pkg 安裝的 LaunchDaemon / helper 可能會由系統管理,不建議普通用戶頻繁手動停止服務。
Q 如何查看日誌?
panda log
panda log --lines 200
panda log --all
清理日誌:
panda log clear
臨時打開 debug:
panda log level debug dns,tcp --ttl 10m
恢復預設:
panda log level reset
Proxy and repair
5 個解答將這些問題用於醫生、修復、日誌、系統代理、拆分規則、拆分 DNS 和終止開關行為。
Q panda repair 和 panda proxy repair 有甚麼區別?
panda repair 更綜合,可能修復:
- VPN route
- DNS 快照
- Kill-switch guard
- 系統代理相關狀態
panda proxy repair 主要修復目前用戶的系統代理漂移。
panda repair
panda proxy repair
Q 系統代理預設會開啟嗎?
Fresh install 預設 proxy system-proxy on。
如果用戶曾明確儲存 off,會保留該配置。
查看或設定:
panda proxy system-proxy on
panda proxy system-proxy off
panda proxy system-proxy lock-on
注意:在 mode auto、pandavpn、wireguard 下,VPN runtime 會忽略持久化的 system proxy 偏好;VPN companion proxy 仍可用並走 scoped egress。
Q Windows 上為甚麼系統代理沒有生效?
Windows 系統代理是目前用戶的 HKCU WinINET 設定,需要 per-user user-agent。
如果是在 SSH 或非互動式會話中,proxy repair 不一定能自動啟動 user-agent。
建議:
panda proxy status
panda proxy repair
panda doctor
如果仍然無效,請在桌面登入會話中重試。
Q Linux 上為甚麼系統代理顯示 unsupported?
Linux Phase 1 主要支援 GNOME gsettings。
KDE / XFCE 等環境可能顯示 unsupported。
這不一定影響 PandaVPN packet runtime,但可能影響系統代理模式體驗。
Q 為甚麼 Kill-switch 不能和 proxy mode 一起用?
Kill-switch 的語義是只允許流量經過 TUN,其他普通流量會被阻斷。
proxy mode 是 standalone 本地代理模式,沒有 packet VPN / TUN,也沒有同等 DNS 和路由保護。因此 Kill-switch 不支援 standalone proxy mode。
需要 Kill-switch 時,請使用:
panda mode auto
panda kill-switch on
或:
panda mode pandavpn global
panda kill-switch on
或:
panda mode wireguard
panda kill-switch on
Split rules and Kill-switch
11 個解答將這些問題用於醫生、修復、日誌、系統代理、拆分規則、拆分 DNS 和終止開關行為。
Q Auto-connect 是斷線自動重連嗎?
不是。
Auto-connect 主要覆蓋 daemon / service 啟動時的 best-effort connect,以及啟動時暫時無網絡時的 pending retry。
開啟:
panda config auto-connect on
關閉:
panda config auto-connect off
它不是通用的 runtime 自動重連機制。
Q Split rules 是甚麼?
Split rules 用於指定某些域名、關鍵字、正則或 IP 走 proxy、direct 或 block。
規則文件:
split/rules/proxy.txt
split/rules/direct.txt
split/rules/block.txt
常用指令:
panda split rules list
panda split rules add proxy suffix:github.com
panda split rules add direct ip-cidr:10.0.0.0/8
panda split rules add block keyword:adservice
Q 登入後會自動觸發 pending auto-connect 嗎?
目前已知限制:login 後不會自動 wake 待重試的 pending auto-connect。
建議登入後手動執行:
panda connect
Q Split rules 支援哪些語法?
- Pattern
- 裸域名
- 示例
example.com- 含義
- 後綴匹配
- Pattern
domain:- 示例
domain:api.example.com- 含義
- 精確主機
- Pattern
suffix:- 示例
suffix:google.com- 含義
- 後綴匹配
- Pattern
- 示例
- 含義
- google.com
- 後綴匹配
- Pattern
keyword:- 示例
keyword:netflix- 含義
- 子串匹配
- Pattern
regexp:- 示例
regexp:.*\.cdn\.example\.com- 含義
- Go 正則
- Pattern
ip-cidr:- 示例
ip-cidr:10.0.0.0/8- 含義
- IP 規則
Q Split DNS 改完需要 reconnect 嗎?
通常不需要。Split DNS 配置變更會熱載入。
常用指令:
panda split dns status
panda split dns local set 223.5.5.5 114.114.114.114
panda split dns policy tunnel-only
panda split dns fake-ip on
如果平台不支援某些 local DNS 來源,doctor 會給出 warning。