Терминальный API-клиент, который хранит запросы HTTP, GraphQL, gRPC, WebSocket и SSE в обычных .http-файлах, пригодных для версионирования в git.
fullstorydev/grpcurl
CLI-инструмент для вызова gRPC-серверов: принимает JSON, как curl, и находит схемы через server reflection или proto-файлы.
Open source альтернатива:Postman
- Звёзды
- 12,861
- Форки
- 589
- Открытые issues
- 121
- Последний коммит
- 9 дней назад
Что это?
grpcurl позволяет вызывать RPC-методы gRPC-серверов из командной строки. Поскольку gRPC передаёт по сети бинарные Protocol Buffers, обычный curl не может взаимодействовать с такими серверами. grpcurl принимает тела запросов в формате JSON, преобразует их в protobuf и выводит ответы в удобочитаемом виде.
Инструмент получает схемы сервисов тремя способами: запрашивает сервер, поддерживающий gRPC server reflection, читает исходные .proto-файлы или загружает скомпилированные protoset-файлы. grpcurl поддерживает унарные и потоковые методы, в том числе двунаправленные потоки, которыми можно управлять интерактивно из терминала. Он работает с серверами, использующими TLS или обычное текстовое соединение, включая mutual TLS с клиентскими сертификатами.
Помимо CLI, в репозитории есть библиотечный пакет для Go с вспомогательными средствами, которые позволяют создавать другие инструменты для динамического вызова gRPC-эндпоинтов.
Ключевые возможности
- 01Отправляет тела запросов в формате JSON и автоматически преобразует их в protobuf.
- 02Поддерживает унарные методы, потоковую передачу от сервера, потоковую передачу от клиента и двунаправленную потоковую передачу.
- 03Находит схемы через server reflection, .proto-файлы или protoset-файлы.
- 04Поддерживает соединения без шифрования, TLS и mutual TLS.
- 05Выводит список сервисов и описания символов, а также позволяет экспортировать proto- и protoset-файлы.
Сценарии использования
- Отладка gRPC-сервиса с помощью тестовых запросов из терминала.
- Вызов gRPC-методов в shell-пайплайнах, например с генерацией тел запросов через jq.
- Изучение незнакомого gRPC API: просмотр списка его сервисов и методов.
- Создание внутренних инструментов для динамического вызова gRPC-эндпоинтов через библиотеку для Go.
Быстрый старт
- 1
Установите grpcurl на macOS с помощью Homebrew
brew install grpcurl - 2
Или установите из исходного кода с помощью цепочки инструментов Go
go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest - 3
Выведите список сервисов на сервере с поддержкой reflection
grpcurl localhost:8787 list
Что важно знать
- Для вызова необходим сервер gRPC; чтобы понять схему, нужны server reflection, файлы proto или protoset.
Темы
Частые вопросы
- Что такое grpcurl?
- CLI-инструмент для вызова gRPC-серверов: принимает JSON, как curl, и находит схемы через server reflection или proto-файлы. grpcurl позволяет вызывать RPC-методы gRPC-серверов из командной строки. Поскольку gRPC передаёт по сети бинарные Protocol Buffers, обычный curl не может взаимодействовать с такими серверами. grpcurl принимает тела запросов в формате JSON, преобразует их в protobuf и выводит ответы в удобочитаемом виде.
- grpcurl можно использовать бесплатно? Какая у него лицензия?
- grpcurl распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- grpcurl всё ещё поддерживается?
- Активно поддерживается. Последний коммит в grpcurl — 13 окт. 2026 г..
- Для чего можно использовать grpcurl?
- Отладка gRPC-сервиса с помощью тестовых запросов из терминала. Вызов gRPC-методов в shell-пайплайнах, например с генерацией тел запросов через jq. Изучение незнакомого gRPC API: просмотр списка его сервисов и методов. Создание внутренних инструментов для динамического вызова gRPC-эндпоинтов через библиотеку для Go.
- Как установить grpcurl?
- Установите grpcurl на macOS с помощью Homebrew: brew install grpcurl Или установите из исходного кода с помощью цепочки инструментов Go: go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest Выведите список сервисов на сервере с поддержкой reflection: grpcurl localhost:8787 list
- Где скачать grpcurl?
- Исходный код и инструкции по установке — на GitHub: https://github.com/fullstorydev/grpcurl
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Hurl — CLI-инструмент для выполнения и тестирования HTTP-запросов, записанных в текстовом файле.
Удобный и быстрый HTTP-клиент для командной строки: поддерживает большую часть синтаксиса HTTPie и запускается быстрее.
CLI и HTTP-сервер, который превращает файлы OpenAPI v2/v3 и Postman Collection в mock API с валидацией запросов и прокси для проверки соответствия.
HTTP-клиент с TUI для создания и выполнения REST-запросов из коллекций YAML, которые можно хранить в системе контроля версий.
Консольный HTTP API-клиент и альтернатива Postman и Insomnia, который хранит запросы в обычных YAML-файлах.