{
  "added_at": "2026-11-04",
  "additional_evidence_urls": [
    "https://github.com/bradleyjkemp/grpc-tools/blob/928b1b952d0d1345f0ef8fd2702e2df5240068bd/grpc-dump/README.md",
    "https://github.com/bradleyjkemp/grpc-tools/blob/928b1b952d0d1345f0ef8fd2702e2df5240068bd/grpc-proxy/README.md",
    "https://github.com/bradleyjkemp/grpc-tools/blob/928b1b952d0d1345f0ef8fd2702e2df5240068bd/grpc-replay/README.md",
    "https://github.com/bradleyjkemp/grpc-tools/blob/928b1b952d0d1345f0ef8fd2702e2df5240068bd/grpc-fixture/README.md",
    "https://github.com/bradleyjkemp/grpc-tools/blob/928b1b952d0d1345f0ef8fd2702e2df5240068bd/CHANGELOG.md",
    "https://github.com/bradleyjkemp/grpc-tools/blob/928b1b952d0d1345f0ef8fd2702e2df5240068bd/go.mod",
    "https://github.com/bradleyjkemp/grpc-tools/blob/928b1b952d0d1345f0ef8fd2702e2df5240068bd/.goreleaser.yml",
    "https://github.com/bradleyjkemp/grpc-tools/blob/928b1b952d0d1345f0ef8fd2702e2df5240068bd/LICENSE",
    "https://github.com/bradleyjkemp/grpc-tools/tree/928b1b952d0d1345f0ef8fd2702e2df5240068bd/integration_test",
    "https://github.com/bradleyjkemp/grpc-tools/releases/tag/v0.2.6"
  ],
  "category": "protocol-analysis",
  "description_en": "Bradley Kemp's suite of gRPC debugging tools, described as Fiddler or Charles for gRPC. grpc-dump runs as a local HTTP(S) proxy that logs every gRPC and gRPC-Web call an application makes as a JSON stream with service and method names, metadata, any error status and each message both raw and parsed; without the .proto files it decodes messages heuristically. grpc-replay re-sends the recorded requests and checks the server's responses, grpc-fixture answers clients from a saved dump, and the grpc-proxy Go library underlies them.",
  "description_zh": "Bradley Kemp 编写的一套 gRPC 调试工具，自称相当于 gRPC 版的 Fiddler 或 Charles。grpc-dump 作为本地 HTTP(S) 代理运行，把应用发出的每次 gRPC 与 gRPC-Web 调用记录为 JSON 流，包含服务名、方法名、元数据、可能出现的错误状态，以及每条消息的原始与解析形式；没有 .proto 文件时，它会以启发式方法解码消息。grpc-replay 重新发送记录下的请求并核对服务器响应，grpc-fixture 用保存的转储应答客户端，它们都构建在 grpc-proxy Go 库之上。",
  "entry_url": "https://awesomerea.org/resources/grpc-tools/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/grpc-tools/",
  "evidence_url": "https://github.com/bradleyjkemp/grpc-tools/blob/928b1b952d0d1345f0ef8fd2702e2df5240068bd/README.md",
  "group": "tools",
  "id": "grpc-tools",
  "json_url": "https://awesomerea.org/resources/grpc-tools/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/grpc-tools/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/grpc-tools/index.md",
  "name": "grpc-tools",
  "name_zh": "grpc-tools gRPC 流量调试工具集",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Reviewed at master commit 928b1b9 (2023-11-14), the last push. The latest release is v0.2.6 (2020-06-30), and master has six later commits, mostly dependency bumps plus a 64 MB message-size limit. The README calls the tools alpha and warns of breaking changes between releases.",
    "Install through the author's Homebrew tap, the release zips (amd64 builds for Linux, macOS and Windows) or go install; go.mod declares Go 1.13 and requires grpc-go v1.26.0, golang/protobuf v1.4.2 and protoreflect v1.7.0. The application under test must be pointed at the proxy, and the README notes that clients connecting to localhost usually ignore proxy settings; the system_proxy option is documented for macOS.",
    "Clients that expect TLS need a certificate they trust for the intercepted domains; the README recommends mkcert-generated certificates installed on the user's own machine. Supplying .proto roots or descriptors gives exact decoding instead of the heuristic one. The integration tests use a small test.proto and their own recorded dump and fixture files; CircleCI configuration is included.",
    "MIT license. Dumps contain full message contents and metadata, including any credentials in headers, so they should be treated as sensitive."
  ],
  "requirements_zh": [
    "审阅对象为 master 分支提交 928b1b9（2023-11-14），也是最后一次推送。最新发行版为 v0.2.6（2020-06-30），master 在其后另有六个提交，主要是依赖升级，另将消息大小上限提高到 64 MB。README 称这些工具仍处于 alpha 阶段，并提醒各版本之间可能有不兼容的改动。",
    "可通过作者的 Homebrew tap、发行版压缩包（Linux、macOS 和 Windows 的 amd64 构建）或 go install 安装；go.mod 声明 Go 1.13，并要求 grpc-go v1.26.0、golang/protobuf v1.4.2 和 protoreflect v1.7.0。被测应用需要指向该代理；README 提醒，连接 localhost 的客户端通常会忽略代理设置。system_proxy 选项的说明针对 macOS。",
    "要求 TLS 的客户端需要信任为被拦截域名准备的证书；README 推荐用 mkcert 生成证书，并安装在用户自己的机器上。提供 .proto 根目录或描述符后可以精确解码，而不必依赖启发式解码。集成测试使用一个小型 test.proto 以及项目自己录制的转储和 fixture 文件；仓库附带 CircleCI 配置。",
    "采用 MIT 许可证。转储包含完整的消息内容和元数据，其中也包括请求头里的凭据，因此应作为敏感数据处理。"
  ],
  "targets": [
    "app",
    "protocol"
  ],
  "url": "https://github.com/bradleyjkemp/grpc-tools",
  "verification": "source-reviewed",
  "verified_at": "2026-10-27"
}
