https://github.com/godaner/brokerc
brokerc is a cross-platform publish and subscribe command line client tool, including mqtt client, amqp client, kafka client, http client.
https://github.com/godaner/brokerc
amqp amqp-client http http-client https kafka kafka-client mqtt mqtt-client mqtt-protocol rabbit rabbitmq rabbitmq-client
Last synced: about 5 hours ago
JSON representation
brokerc is a cross-platform publish and subscribe command line client tool, including mqtt client, amqp client, kafka client, http client.
- Host: GitHub
- URL: https://github.com/godaner/brokerc
- Owner: godaner
- License: apache-2.0
- Created: 2021-02-07T09:14:33.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-02-25T02:02:14.000Z (about 5 years ago)
- Last Synced: 2026-01-14T23:14:59.713Z (3 months ago)
- Topics: amqp, amqp-client, http, http-client, https, kafka, kafka-client, mqtt, mqtt-client, mqtt-protocol, rabbit, rabbitmq, rabbitmq-client
- Language: Go
- Homepage:
- Size: 111 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Brokerc
brokerc is a cross-platform publish and subscribe command line client tool, including mqtt client, amqp client, kafka client, http client.
# Install
To install the library, follow the classical:
$ go get github.com/godaner/brokerc
Or get it from the released version:
https://github.com/godaner/brokerc/releases
> Note: curl -LJO https://github.com/godaner/brokerc/releases/download/v1.0.2/brokerc_linux-amd64.tar.gz, tar -zxvf brokerc_linux-amd64.tar.gz
# Supported platforms
This library works (and is tested) on the following platforms:
Platform
Architecture
Status
Linux
amd64
✅
386
✅
Windows
amd64
✅
386
✅
Others
Others
⏳
# Usage
```
$ ./brokerc --help
NAME:
brokerc - brokerc is a cross-platform publish and subscribe command line client tool, including mqtt client, amqp client, kafka client, http client.
USAGE:
brokerc [global options] command [command options] [arguments...]
VERSION:
v1.0.2
COMMANDS:
mqttpub publish mqtt message
mqttsub subscribe mqtt message
amqpsub subscribe amqp message
amqppub publish amqp message
kafkapub publish kafka message
kafkasub subscribe kafka message
httppub publish http message
httpsub subscribe http message
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help show help
--version print the version
```
## MQTT
#### Publish
./brokerc mqttpub \
tcp://system:manager@192.168.2.60:1883 \
-t "/a/b" \
-i "mqttpub" \
-m 'cas' \
--will-payload 'pub bye' \
--will-topic 'will'
#### Publish with tls
./brokerc mqttpub \
ssl://system:manager@localhost:1883 \
-t "/a/b" \
-i "mqttpub" \
-m 'cas' \
--will-payload 'pub bye' \
--will-topic 'will' \
-insecure \
-cafile '/opt/OmniVista_2500_NMS/data/cert/wma/ca.cer' \
-cert /opt/OmniVista_2500_NMS/data/cert/wma/wma.pem \
-key /opt/OmniVista_2500_NMS/data/cert/wma/wma.key
#### Subscribe
./brokerc mqttsub \
tcp://system:manager@192.168.2.60:1883 \
-t "/a/b" \
-i "mqttsub" \
--will-payload 'sub bye' \
--will-topic 'will'
#### Subscribe with tls
./brokerc mqttsub \
ssl://system:manager@localhost:1883 \
-t "/a/b" \
-i "mqttsub" \
--will-payload 'sub bye' \
--will-topic 'will' \
-insecure \
-cafile '/opt/OmniVista_2500_NMS/data/cert/wma/ca.cer' \
-cert /opt/OmniVista_2500_NMS/data/cert/wma/wma.pem \
-key /opt/OmniVista_2500_NMS/data/cert/wma/wma.key
## AMQP
#### Publish
./brokerc amqppub \
amqp://system:manager@192.168.2.60:5672 \
-t "/a/b" \
-i "amqpsubclient" \
--exchange "amqpexchange" \
-m 'hey man!'
#### Subscribe
./brokerc amqpsub \
amqp://system:manager@192.168.2.60:5672 \
-t "/a/b" \
-i "amqpsubclient" \
--queue "amqpqueue" \
--exchange "amqpexchange" \
--exchange-type "direct" \
--queue-ad \
--exchange-ad
## HTTP
#### Publish
./brokerc httppub \
http://127.0.0.1:2222/apiv1/do \
-H "K1:A=C;K2:B=D;K1:E=F;" \
-m 'hey man!'
#### Subscribe
./brokerc httpsub \
-h :2222
## Kafka
#### Publish
./brokerc kafkapub \
192.168.2.10:9092 \
-t "ktopic" \
-m 'test message'
#### Subscribe
./brokerc kafkasub \
192.168.2.10:9092 \
-t "ktopic" \
-p 3 \
-r 1 \
-q "kqueue"