跳到主要内容
项目档案命令行工具

PortBuddy 端口转发工具完整指南:安装配置、CLI 使用方法和适用场景详解——将本地服务快速安全暴露到公网

PortBuddy 是一款多协议端口暴露工具,支持 HTTP/TCP/UDP 并默认 SSL 加密。本文详细介绍其安装步骤、CLI 命令使用、适用场景及技术架构,帮助开发者快速将本地 Web 应用、数据库或游戏服务器安全暴露至公网,实现高效测试与协作。

535JavaStar 于 2026年1月15日2026年9月4日 更新

AI 总结

PortBuddy 是一款多协议端口转发工具,通过安全隧道将本地或内网服务快速暴露到公网,支持 HTTP/TCP/UDP 并默认 SSL 加密,适用于开发测试、Webhook 调试及数据库共享等场景。

中文项目介绍

PortBuddy 是一个功能强大且简单的端口转发工具,能够将本地主机或私有网络上打开的端口安全地暴露到公共互联网,提供类似 ngrok 的隧道服务,为本地服务生成可公开访问的 URL。 它解决了本地开发环境或私有网络服务需要临时、安全地暴露到公网进行测试、演示或外部协作的问题,无需复杂网络配置即可实现内外网通信。 适用于本地 Web 应用开发与测试、Webhook 回调接收测试、共享本地数据库访问、实时应用(WebSocket)调试,以及游戏服务器(如 Minecraft、Hytale)的临时暴露等场景。 技术实现上,PortBuddy 采用多模块微服务架构,CLI 基于 Java 25 和 GraalVM 构建为原生可执行文件,后端使用 Spring Boot 3.5.7 和 Spring Cloud,支持服务发现与自动 SSL 管理,前端为 React 仪表板,整体提供跨平台、高性能的端口转发解决方案。

详细信息与使用说明

1. 项目定位与用途

PortBuddy 是一款多协议端口暴露工具,定位为开发者和团队提供简单、安全的本地服务公网访问方案。其核心用途是通过建立加密隧道,将运行在本地或内网的服务(如 Web 应用、数据库、游戏服务器)快速映射到公网 URL,无需复杂网络配置。工具提供跨平台 CLI 和 Web 管理仪表板,支持 HTTP/TCP/UDP 协议,所有 HTTP 流量默认启用 SSL 加密,确保传输安全。用户可通过简短命令立即暴露端口,适用于开发调试、测试反馈、临时演示等场景,显著提升协作效率,类似 ngrok 但提供更灵活的订阅模式。

2. 解决的问题

PortBuddy 主要解决本地或私有网络服务无法被外网直接访问的痛点。开发中常需测试 Webhook 回调、移动应用接口或让客户预览本地成果,传统方案需复杂网络配置或不稳定的内网穿透工具。PortBuddy 提供一键式安全隧道,自动处理 NAT 穿透、域名解析和 SSL 证书,避免暴露本地网络风险。同时支持多协议和 WebSocket,满足数据库共享、实时通信等需求,替代 ngrok 等工具,提供更灵活的订阅计划和团队管理功能,让外网访问变得简单可靠。

3. 适用场景

PortBuddy 适用于多种临时暴露本地服务的场景:Web 应用开发与测试,本地运行的服务可生成公网 URL 供团队或客户访问;Webhook 调试,接收 GitHub、Stripe 等第三方回调;数据库共享,安全暴露 PostgreSQL、MySQL 等端口供远程连接;实时应用调试,支持 WebSocket 协议用于聊天、协作工具;游戏服务器测试,如 Minecraft 或 Hytale 服务器的临时外网访问。此外,演示环境搭建、API 测试、IoT 设备调试等场景也可受益,是开发、测试和协作的实用工具。

4. 安装方式

PortBuddy 安装流程简洁:首先访问 portbuddy.dev 官网,根据操作系统(Windows、Linux 或 macOS)下载对应的 `portbuddy` CLI 二进制文件;下载后无需复杂安装,可直接在终端运行。接着进行身份认证:登录官网 Web 仪表板,在用户设置中生成 API Token;然后在终端执行 `portbuddy init {YOUR_API_TOKEN}` 命令完成配置。CLI 基于 GraalVM 原生镜像,通常已捆绑运行环境,可直接执行;但若需从源码构建,则需 Java 25、Maven 等开发环境。具体步骤可能随版本更新,建议参考官网最新文档。

5. 使用方式

使用 PortBuddy 非常简单,通过命令行即可快速暴露端口。默认模式下,`portbuddy 3000` 将本地 3000 端口的 HTTP 服务暴露为 HTTPS 公网地址,自动分配子域名。暴露 TCP 服务(如 PostgreSQL)使用 `portbuddy tcp 5432`,生成形如 `net-proxy-3.portbuddy.dev:43452` 的地址;UDP 服务通过 `portbuddy udp 9000` 暴露。可选参数包括:`-d` 指定静态子域名,`-pc` 添加访问密码,`-pr` 预留特定端口,`-v` 启用详细日志。所有 HTTP 隧道默认启用 SSL 并支持 WebSocket。Web 仪表板还提供隧道管理、订阅升级和团队协作功能,详细命令可通过 `portbuddy --help` 查看。

6. 实现特点

PortBuddy 采用多模块微服务架构确保高可用与可扩展性。CLI 模块基于 Java 25 和 Picocli 框架开发,通过 GraalVM 编译为原生可执行文件,实现跨平台快速启动。后端核心包括:server 模块(Spring Boot 3.5.7,负责隧道管理和用户认证)、net-proxy 模块(高性能 TCP/UDP 代理)、gateway 模块(基于 WebFlux 的 API 网关)、ssl-service 模块(自动化 SSL 证书管理)以及 eureka 模块(服务发现)。前端 web 模块使用 React + TypeScript + TailwindCSS 构建响应式仪表板。所有模块通过 Maven 统一构建,支持 Docker Compose 一键部署。common 模块共享 DTO 和工具类减少重复代码,整体设计确保低延迟转发、自动加密和易于维护。

思维导图

当前仓库信息不足,或结构不够稳定,暂时没有生成可靠的思维导图。

常见问题

PortBuddy 是否免费?

提供免费 Pro 计划(每月 1 个并发隧道)和付费 Team 计划($10/月,10 个并发隧道),额外隧道 $1/月每个。

是否支持自定义域名?

支持,在 Pro 和 Team 计划中均可绑定自定义域名,需在仪表板配置 DNS 解析。

CLI 是否需要 Java 环境?

CLI 基于 GraalVM 原生镜像构建,通常已捆绑运行环境,可直接执行;但开发或自定义构建需 Java 25。

隧道流量是否加密?

所有 HTTP 隧道默认启用 SSL 加密;TCP/UDP 隧道建议配合应用层加密使用。

能否同时暴露多个端口?

免费版仅支持 1 个并发隧道,Team 版支持 10 个,可通过订阅额外隧道扩容。