ngrok
ngrok, Inc. · 通过安全的公共端点公开本地和私有服务,并提供流量策略、检查和请求重放,用于开发与连接。
介绍
AI 翻译查看原文ngrok 是一个命令行代理,通过出站加密连接将本地或私有服务连接到 ngrok 云网络。它提供公共端点,无需更改入站防火墙,也无需在源站机器上拥有公共 IP 地址。开发者用它进行应用预览、Webhook 测试、API 开发,以及受控访问位于 NAT 或防火墙后的服务。
主要功能
- 通过公共端点暴露本地 HTTP 和 HTTPS 服务,并将流量转发到选定的上游端口。
- 为受支持的非 HTTP 用例创建 TCP 或 TLS 端点,具体取决于你的账户权益。
- 应用 Traffic Policy 在流量到达上游之前对请求进行身份验证、路由流量、重写请求或限制访问速率。
- 检查 HTTP 流量,并重放捕获的请求,以调试 Webhook 和复现故障。
- 在配置文件中配置端点和代理行为,自动化受支持的命令,或将代理作为操作系统服务运行。
- 使用端口 443 上的一个出站 TLS 连接,将流量从 ngrok 的网络传回源站。
安装与首次使用
安装 brew install --cask ngrok。该软件包会安装 ngrok 可执行文件和 shell 补全,而不是图形化 Mac 应用。创建 ngrok 账户,获取你自己的 agent authtoken,并用 ngrok config add-authtoken <YOUR_AUTHTOKEN> 进行配置。启动本地应用,然后运行 ngrok http 8080,并将 8080 替换为其监听端口。使用代理打印出的端点。此代理创建的端点在代理会话运行期间存在;单独的 Cloud Endpoint 具有不同的生命周期行为。
要求、依赖项和冲突
独立代理没有外部运行时依赖。Homebrew 在此快照中未声明额外的 formula 依赖项、没有显式 cask 冲突,也没有显式的最低 macOS 版本要求。它为 Apple Silicon 和 Intel Mac 提供单独的原生下载。该元数据并不表明支持所有历史 macOS 版本;请查阅供应商下载页面以获取兼容的构建。
供应商文档说明最低内存为 64 MB,推荐 128 MB,磁盘约 25 MB;实际资源使用量会随并发流量增长。这些是运行时指南,不是压缩下载大小。你的上游应用必须正在运行,并且可从代理访问。云端点需要互联网访问以及到 ngrok 的出站 TLS 连接;企业代理、防火墙或账户控制可能会影响连接。
官方代理的独立构建支持 macOS x86-64/arm64、Windows x86-64/x86、Linux 的 x86、ARM、MIPS、PowerPC 和 s390x 系列,以及 FreeBSD x86-64/x86/ARM。请下载相应构建,而不要在其他操作系统上使用 Mac ZIP。Agent SDKs、容器和反向 SSH 是单独的部署选择。上游服务使用的工具会保留其自身的要求。
账户、费用和许可
使用 ngrok 云代理需要账户和 agent authtoken。提供有限制的免费套餐;付费或按用量计费套餐提供不同的额度和功能。域名、身份验证选项、端点协议、流量保留和用量费用取决于当前套餐。下载二进制文件并不会使每个 ngrok 服务功能都免费或不受限制。
当前代理和云服务受 ngrok 的服务条款约束。现代分布式代理不是旧的开源 ngrok v1 项目。官方社区仓库用于反馈和问题跟踪;它不是此代理的完整源代码。开源 SDK 和其他 ngrok 组件有各自的许可证。
新版本 3.39.11 更新内容 1年1月1日 · OpenNavo 编辑 · AI 翻译
- 依赖项将 ngrok-go 更新到 2.1.1。