Repolode
fullstorydev

fullstorydev/grpcurl

JSON 입력과 서버 reflection 또는 proto 파일을 통한 스키마 탐색을 지원하는 gRPC 서버 호출용 CLI 도구입니다.

대체할 수 있는 제품:Postman

스타
12,861
포크
589
열린 이슈
121
마지막 커밋
9일 전

어떤 프로젝트인가요?

grpcurl을 사용하면 명령줄에서 gRPC 서버의 RPC 메서드를 호출할 수 있습니다. gRPC는 네트워크에서 바이너리 Protocol Buffers를 사용하므로 일반적인 curl로는 이런 서버와 통신할 수 없습니다. grpcurl은 요청 본문으로 JSON을 받아 protobuf로 변환하고, 응답은 읽기 쉬운 형식으로 출력합니다.

이 도구는 세 가지 방식으로 서비스 스키마를 탐색합니다. gRPC server reflection을 지원하는 서버에 질의하거나, .proto 소스 파일을 읽거나, 컴파일된 protoset 파일을 불러올 수 있습니다. 단항 및 스트리밍 메서드를 처리하며, 터미널에서 대화형으로 입력하는 양방향 스트림도 지원합니다. TLS와 평문 서버 모두에서 사용할 수 있고, 클라이언트 인증서를 사용하는 상호 TLS도 지원합니다.

CLI 외에도 저장소에는 gRPC 엔드포인트를 동적으로 호출하는 다른 도구를 만들 때 사용할 수 있는 헬퍼를 제공하는 Go 라이브러리 패키지가 포함되어 있습니다.

핵심 기능

  • 01JSON 요청 본문을 전송하고 protobuf로 자동 변환합니다.
  • 02단항, 서버 스트리밍, 클라이언트 스트리밍 및 양방향 스트리밍 메서드를 지원합니다.
  • 03server reflection, .proto 파일 또는 protoset 파일을 통해 스키마를 탐색합니다.
  • 04평문, TLS 및 상호 TLS 연결을 지원합니다.
  • 05서비스 목록과 심볼 설명을 제공하고, proto 또는 protoset 파일을 내보낼 수 있습니다.

활용 사례

  • 터미널에서 테스트 요청을 전송해 gRPC 서비스를 디버깅합니다.
  • 예를 들어 jq로 요청 본문을 생성하는 등 셸 파이프라인에서 gRPC 호출을 스크립트로 실행합니다.
  • 서비스와 메서드를 나열해 익숙하지 않은 gRPC API를 살펴봅니다.
  • Go 라이브러리를 사용해 gRPC 엔드포인트를 동적으로 호출하는 내부 도구를 만듭니다.

빠른 시작

  1. 1

    Homebrew로 macOS에 grpcurl 설치

    brew install grpcurl
  2. 2

    또는 Go 툴체인으로 소스에서 설치

    go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
  3. 3

    리플렉션을 지원하는 서버의 서비스 목록 표시

    grpcurl localhost:8787 list

사용 전 알아둘 점

  • 호출하려면 gRPC 서버가 필요합니다. 스키마를 파악하려면 서버 리플렉션, proto 파일 또는 protoset 파일이 필요합니다.

토픽

자주 묻는 질문

grpcurl은(는) 무엇인가요?
JSON 입력과 서버 reflection 또는 proto 파일을 통한 스키마 탐색을 지원하는 gRPC 서버 호출용 CLI 도구입니다. grpcurl을 사용하면 명령줄에서 gRPC 서버의 RPC 메서드를 호출할 수 있습니다. gRPC는 네트워크에서 바이너리 Protocol Buffers를 사용하므로 일반적인 curl로는 이런 서버와 통신할 수 없습니다. grpcurl은 요청 본문으로 JSON을 받아 protobuf로 변환하고, 응답은 읽기 쉬운 형식으로 출력합니다.
grpcurl은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
grpcurl은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
grpcurl은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. grpcurl의 마지막 커밋은 2026년 10월 13일입니다.
grpcurl은(는) 어디에 사용할 수 있나요?
터미널에서 테스트 요청을 전송해 gRPC 서비스를 디버깅합니다. 예를 들어 jq로 요청 본문을 생성하는 등 셸 파이프라인에서 gRPC 호출을 스크립트로 실행합니다. 서비스와 메서드를 나열해 익숙하지 않은 gRPC API를 살펴봅니다. Go 라이브러리를 사용해 gRPC 엔드포인트를 동적으로 호출하는 내부 도구를 만듭니다.
grpcurl는 어떻게 설치하나요?
Homebrew로 macOS에 grpcurl 설치: brew install grpcurl 또는 Go 툴체인으로 소스에서 설치: go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest 리플렉션을 지원하는 서버의 서비스 목록 표시: grpcurl localhost:8787 list
grpcurl은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/fullstorydev/grpcurl

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트