PHPackages                             cboden/binky - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. cboden/binky

ActiveLibrary[CLI &amp; Console](/categories/cli)

cboden/binky
============

An easy command line utility for spying on RabbitMQ exchanges

v0.3(6y ago)192342[1 issues](https://github.com/cboden/Binky/issues)MITPHPPHP &gt;=5.4.2

Since Mar 29Pushed 6y ago5 watchersCompare

[ Source](https://github.com/cboden/Binky)[ Packagist](https://packagist.org/packages/cboden/binky)[ RSS](/packages/cboden-binky/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (3)Dependencies (4)Versions (4)Used By (0)

Binky
=====

[](#binky)

Binky is a command line application to publish or consume RabbitMQ exchanges through stdin and stdout

### Installation

[](#installation)

```
composer global require cboden/binky

```

### Usage

[](#usage)

```
binky --help

```

Consume all messages from a topic or fanout exchange:

```
binky -b amq.topic

```

Consume all errors and warnings from RabbitMQ's log exchange via routing keys error+warning:

```
binky -b amq.rabbitmq.log:error -b amq.rabbitmq.log:warning

```

Consume all messages on a header exchange with key "header" and value "value"

```
binky -b amq.headers:header:value

```

Consume all messages on a header exchange where all key/val properties have to match:

```
binky -b "amq.headers:header1:value1&header2:value2"

```

Consume all messages on a header exchange where any key/val properties can match:

```
binky -b "amq.headers:header1:value1|header2:value2"

```

Consume all messages from an existing queue (does not re-queue):

```
binky -c "my-queue" -c "another-queue"

```

Publish to an exchange with routing key when ever a file is appended to:

```
tail -0f /var/log/nginx/error.log | binky -w amq.topic:errors.nginx

```

Publish the entire contents of a file to an exchange and disconnect (with messages delimited by new lines):

```
cat myScaffoldingFile | binky -w amq.topic:myKey

```

### Whoops

[](#whoops)

If you see the error `Broken pipe or closed connection` Binky had trouble connecting to the broker while displaying sub-par error reporting. If you tried to run Binky without any params most likely the default guest user is disabled or the defaults don't match; try again with some auth:

```
binky -u admin -p admin

```

### Why Binky?

[](#why-binky)

I was doing so much debugging in RabbitMQ that the methods I was using were becoming too time consuming. The admin panel was cumbersome, consuming via WebSocket was good but the browser console became monotonous, and finally making and editing little scripts became tedious.

I decided to look for a binary online but didn't find what I was looking for after 20 minutes of searching: a simple CLI script to bind to and consume messages from an exchange then writing them to STDOUT.

Secondly, I wanted to try out [Bunny](https://github.com/jakubkulhan/bunny), an alternative to the C extension and the more popular php-amqplib, as it offered both a synchronous and asynchronous implementation with the same interfaces.

An hour of work later and Binky was born. [Bunny](https://github.com/jakubkulhan/bunny) kicked ass!

### What's a Binky?

[](#whats-a-binky)

> An expression of joy from a rabbit. When a rabbit binkies, it jumps into the air, often twisting and flicking its feet and head.

They're weird creatures...

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~677 days

Total

3

Last Release

2392d ago

PHP version history (2 changes)v0.1PHP &gt;=7.0

v0.2PHP &gt;=5.4.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/abeb36727bb30a42ef26abe8e6c1152917648fa2ae7259e0038ac9644218e27a?d=identicon)[cboden](/maintainers/cboden)

---

Top Contributors

[![cboden](https://avatars.githubusercontent.com/u/617694?v=4)](https://github.com/cboden "cboden (45 commits)")[![nicklozon](https://avatars.githubusercontent.com/u/487421?v=4)](https://github.com/nicklozon "nicklozon (2 commits)")

### Embed Badge

![Health badge](/badges/cboden-binky/health.svg)

```
[![Health](https://phpackages.com/badges/cboden-binky/health.svg)](https://phpackages.com/packages/cboden-binky)
```

###  Alternatives

[friendsofphp/php-cs-fixer

A tool to automatically fix PHP code style

13.5k251.2M24.8k](/packages/friendsofphp-php-cs-fixer)[illuminate/console

The Illuminate Console package.

13046.0M6.4k](/packages/illuminate-console)[rector/rector-src

Instant Upgrade and Automated Refactoring of any PHP code

136406.3k14](/packages/rector-rector-src)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
