按 IP 网段 / 域名分流的 WireGuard 内网穿透 · 私钥不出本机 · 三端一致
Windows 10 / 11(64 位) · 更新于 2026-11-02 12:28:48 · 文件 wgpunch-client-windows-amd64-setup.exe
其他版本: windows/amd64(26.31 MB)
Apple Silicon 与 Intel 通用 · 更新于 2026-11-02 12:26:28 · 文件 wgpunch-client-darwin-universal
x86_64 / ARM64 桌面 · 更新于 2026-11-02 12:27:27 · 文件 wgpunch-client-linux-amd64
其他版本: linux/arm64(23.17 MB)
Windows 版已内置 WireGuard(wireguard-go + Wintun 驱动,随程序自动释放),无需再安装 WireGuard for Windows; Linux 需 wireguard-tools,macOS 需 brew install wireguard-tools wireguard-go。 客户端需要管理员 / root 权限才能创建隧道与修改路由。
Windows 无需安装任何 WireGuard 组件(已内置);Linux 安装 wireguard-tools;macOS 执行 brew install wireguard-tools wireguard-go。
下载对应平台安装包,安装后以管理员 / root 身份运行,填写服务端地址、账号密码登录。
点「连接」后,把系统 DNS 设为客户端显示的地址(通常是 127.0.0.1),命中规则的域名即走隧道。
服务端是单二进制(Web 后台已内嵌),可跑在 Docker 或任意 Linux 上;对外只需要放行一个 UDP 端口供客户端回连。
适合家宽 / NAS / 已有 Docker 的环境,升级只需替换镜像。
# 1) 准备配置:WGPUNCH_ENDPOINT 填客户端回连地址 cp .env.example .env vi .env # 2) 启动(首次启动会打印管理员密码) docker compose up -d --build docker compose logs -f wgpunch # 3) 端口:UDP 51212 给 WireGuard 客户端直连; # TCP 8080 给 Web 后台(公网建议经 HTTPS 反代)
纯 Go、无 CGO,任意平台都能交叉编译;适合已有 systemd 的 VPS。
# 1) 编译(在开发机上即可交叉编译) make release # → dist/wgpunch-server-linux-amd64 # 2) 安装为 systemd 服务(幂等) sudo ./deploy/install.sh sudo systemctl status wgpunch-server # 3) 浏览器打开 http://<服务器>:8080/login
完整步骤(创建 wg0 网卡、IP 转发与 NAT、HTTPS 反代、备份升级与排障)见仓库 docs/DEPLOY.md;HTTPS 建议用 Nginx 反代到 8080, 而 WireGuard 的 UDP 端口必须让客户端直连、不要走反向代理。
管理员可填 10.0.0.0/24 这类网段,客户端连接即加路由、访问该网段直通隧道;也可填域名,由内置 DNS 代理命中后加 /32 路由。其余流量继续走默认网关。
WireGuard 密钥对在客户端本地生成,只把公钥上传服务端;服务端数据库里没有任何私钥字段,断开后临时配置立即删除。
管理员在 Web 后台管理账号、分配内网 IP、配置分流规则,实时查看在线状态、握手时间与上下行流量。
Windows 安装包、Linux 桌面、macOS 通用包,同一套 Fyne 界面;断开连接自动清理路由、DNS 代理与临时配置。